modelcontextprotocol / modelcontextprotocol/servers
Python MCP ENOENT {"context":"connection","stack":"Error: spawn uv ENOENT
Nobody has claimed this yet.
- 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.
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
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- 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