modelcontextprotocol / modelcontextprotocol/ext-apps

MCP Apps - start server issue

Open
#420 7 comments 0 reactions 1 assignee View on GitHub

@jonathanhefner is already working on this.

Since Feb 2, 2026.

bug
Dominant language
TypeScript
Stars
2.9k
Forks
387
Avg merge
3h 21m
Merged PRs (30d)
6

Description

Following the MCP Apps Quickstart guide.

At "Step 4 See it in action", I run the npm start command. Instead of getting MCP server listening on http://localhost:3001/mcp I error out with Error: INPUT environment variable is not set.

Running W11, nodejs v22.19.0. Created files using VS Code.

Checked through the code to try and problem solve, but couldn't come to any conclusions.

Logs

PS C:\dev\learning\mcp_app> npm start

> mcp_app@1.0.0 start
> concurrently 'cross-env NODE_ENV=development INPUT=mcp-app.html vite build --watch' 'tsx watch main.ts'

[0] ''cross-env' is not recognized as an internal or external command,
[0] operable program or batch file.
[1] 'NODE_ENV' is not recognized as an internal or external command,
[1] operable program or batch file.
[2] 'INPUT' is not recognized as an internal or external command,
[2] operable program or batch file.
[4] 'build' is not recognized as an internal or external command,
[4] operable program or batch file.
[5] 'watch' is not recognized as an internal or external command,
[5] operable program or batch file.
[5] watch exited with code 1
[4] build exited with code 1
[2] INPUT=mcp-app.html exited with code 1
[1] NODE_ENV=development exited with code 1
[0] 'cross-env exited with code 1
[6] 'main.ts'' is not recognized as an internal or external command,
[6] operable program or batch file.
[6] main.ts' exited with code 1
[3] failed to load config from C:\dev\learning\mcp_app\vite.config.ts
[3] error when starting dev server:
[3] Error: INPUT environment variable is not set
[3]     at file:///C:/dev/learning/mcp_app/node_modules/.vite-temp/vite.config.ts.timestamp-1770031400901-820ec7360d816.mjs:6:9
[3]     at ModuleJob.run (node:internal/modules/esm/module_job:345:25)
[3]     at async onImport.tracePromise.__proto__ (node:internal/modules/esm/loader:651:26)
[3]     at async loadConfigFromBundledFile (file:///C:/dev/learning/mcp_app/node_modules/vite/dist/node/chunks/config.js:35909:12)
[3]     at async bundleAndLoadConfigFile (file:///C:/dev/learning/mcp_app/node_modules/vite/dist/node/chunks/config.js:35797:17)
[3]     at async loadConfigFromFile (file:///C:/dev/learning/mcp_app/node_modules/vite/dist/node/chunks/config.js:35764:42)
[3]     at async resolveConfig (file:///C:/dev/learning/mcp_app/node_modules/vite/dist/node/chunks/config.js:35413:22)
[3]     at async _createServer (file:///C:/dev/learning/mcp_app/node_modules/vite/dist/node/chunks/config.js:25362:67)
[3]     at async CAC.<anonymous> (file:///C:/dev/learning/mcp_app/node_modules/vite/dist/node/cli.js:572:18)
[3] vite exited with code 1

Also noticed a package-lock.json is created, when the quickstart doesn't mention that.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.