modelcontextprotocol / modelcontextprotocol/typescript-sdk
MCP servers deployed on AWS Lambda Function URLs stopped working after upgrading from v1.24.2 to v1.25.0+
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 13.4k
- Forks
- 2.2k
- Avg merge
- 3d 15h
- Merged PRs (30d)
- 4
Description
1.25.0: Connection fails
1.25.3: Connection works but tool calls return null
(didn't test 1.25.1-1.25.2)
Suspect PR #1209's fetch transport doesn't play well with Lambda + serverless-express which expects Node.js-style streaming.
To Reproduce
- Deploy MCP server to Lambda Function URL with StreamableHTTPServerTransport + @codegenie/serverless-express
- Connect with Claude Code
- Call any tool
Expected behavior
Tool calls return results (works fine on 1.24.2).
Logs
1.25.0:
Failed to reconnect to test-mcp-server.
1.25.3:
{"code":"invalid_union","errors":[[{"expected":"object","code":"invalid_type","path":[],"message":"Invalid input: expected object, received null"}]],"path":[],"message":"Invalid input"}
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
Reproduce the failure with an AWS Lambda Function URL, StreamableHTTPServerTransport, @codegenie/serverless-express, and Claude Code across versions 1.24.2, 1.25.0, and 1.25.3. Start by inspecting the fetch transport introduced in PR #1209 and compare its behavior with the Node.js-style streaming expected by serverless-express. Done means connections succeed and tool calls return results rather than null.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- aws, node.js, typescript
- Domain
- api, backend, cloud
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 48/100