modelcontextprotocol / modelcontextprotocol/servers

Python MCP ENOENT {"context":"connection","stack":"Error: spawn uv ENOENT

Open
#1,448 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug
Dominant language
TypeScript
Stars
90.5k
Forks
11.7k
Avg merge
2d 2h
Merged PRs (30d)
5

Description

Describe the bug
A clear and concise description of what the bug is.

Image

To Reproduce
Steps to reproduce the behavior:
1.

Expected behavior
A clear and concise description of what you expected to happen.

Logs

[info] Initializing server...
2025-04-16T08:32:29.358Z [devtest] [error] spawn uv ENOENT {"context":"connection","stack":"Error: spawn uv ENOENT\n at ChildProcess._handle.onexit (node:internal/child_process:285:19)\n at onErrorNT (node:internal/child_process:483:16)\n at process.processTicksAndRejections (node:internal/process/task_queues:82:21)"}
2025-04-16T08:32:29.360Z [devtest] [error] spawn uv ENOENT {"stack":"Error: spawn uv ENOENT\n at ChildProcess._handle.onexit (node:internal/child_process:285:19)\n at onErrorNT (node:internal/child_process:483:16)\n at process.processTicksAndRejections (node:internal/process/task_queues:82:21)"}
2025-04-16T08:32:29.390Z [devtest] [info] Server transport closed
2025-04-16T08:32:29.390Z [devtest] [info] Client transport closed
2025-04-16T08:32:29.391Z [devtest] [info] Server transport closed unexpectedly, this is likely due to the process exiting early. If you are developing this MCP server you can add output to stderr (i.e. console.error('...') in JavaScript, print('...', file=sys.stderr) in python) and it will appear in this log.
2025-04-16T08:32:29.391Z [devtest] [error] Server disconnected. For troubleshooting guidance, please visit our debugging documentation {"context":"connection"}
2025-04-16T08:34:34.748Z [devtest] [info] Initializing server...
2025-04-16T08:34:34.758Z [devtest] [error] spawn uv ENOENT {"context":"connection","stack":"Error: spawn uv ENOENT\n at ChildProcess._handle.onexit (node:internal/child_process:285:19)\n at onErrorNT (node:internal/child_process:483:16)\n at process.processTicksAndRejections (node:internal/process/task_queues:82:21)"}
2025-04-16T08:34:34.759Z [devtest] [error] spawn uv ENOENT {"stack":"Error: spawn uv ENOENT\n at ChildProcess._handle.onexit (node:internal/child_process:285:19)\n at onErrorNT (node:internal/child_process:483:16)\n at process.processTicksAndRejections (node:internal/process/task_queues:82:21)"}
2025-04-16T08:34:34.761Z [devtest] [info] Server transport closed
2025-04-16T08:34:34.761Z [devtest] [info] Client transport closed
2025-04-16T08:34:34.762Z [devtest] [info] Server transport closed unexpectedly, this is likely due to the process exiting early. If you are developing this MCP server you can add output to stderr (i.e. console.error('...') in JavaScript, print('...', file=sys.stderr) in python) and it will appear in this log.
2025-04-16T08:34:34.762Z [devtest] [error] Server disconnected. For troubleshooting guidance, please visit our debugging documentation {"context":"connection"}

Additional context
The debugger runs fine but when I connect it with my claude, it somehow throws an error.

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.

Research direction

Start with the MCP server launch configuration and the reported spawn uv ENOENT logs; check how the Python server is started when connecting through Claude rather than the debugger. Reproduce the connection failure and trace the missing uv executable. Done means the Python MCP server connects through Claude without the ENOENT error.

Written by the indexing model from the issue text.

Assessment

Tech stack
python, typescript
Domain
api, backend
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.