-
Notifications
You must be signed in to change notification settings - Fork 1.3k
Open
Labels
P3Nice to haves, rare edge casesNice to haves, rare edge casesPR WelcomePRs from the community to resolve this issue are welcomePRs from the community to resolve this issue are welcomebugSomething isn't workingSomething isn't workingready for workEnough information for someone to start working onEnough information for someone to start working on
Description
Describe the bug
I've created an MCPServer
instance connected to a Client
via an InMemoryTransport
. If the server has not has registerPrompt
called on it, the client raises an error when calling listPrompts()
.
To Reproduce
Steps to reproduce the behavior:
-
Make sure you're using the latest version of Bun. I don't know if this reproduces in other runtimes—I've only tested it in Bun.
-
Install
@modelcontextprotocol/sdk
viabun add @modelcontextprotocol/sdk
. -
Create a file named
example.ts
with the following content:import { Client } from "@modelcontextprotocol/sdk/client/index.js"; import { InMemoryTransport } from "@modelcontextprotocol/sdk/inMemory.js"; import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js"; const server = new McpServer({ name: "example", version: "0.0.0", }); // Don't register any prompts const [clientTransport, serverTransport] = InMemoryTransport.createLinkedPair(); const client = new Client({ name: "example", version: "0.0.0", }); await Promise.all([server.connect(serverTransport), client.connect(clientTransport)]); console.log(await client.listPrompts());
-
Run the file using Bun:
bun run example.ts
.
Expected behavior
The script should output []
Actual behavior
The script produces this error:
1300 | CallToolResultSchema,
1301 | ListToolsResultSchema,
1302 | ]);
1303 | export class McpError extends Error {
1304 | constructor(code, message, data) {
1305 | super(`MCP error ${code}: ${message}`);
^
McpError: MCP error -32601: Method not found
code: -32601,
data: undefined,
at new McpError (/Users/landon/Development/mcp/node_modules/@modelcontextprotocol/sdk/dist/esm/types.js:1305:9)
at _onresponse (/Users/landon/Development/mcp/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/protocol.js:223:27)
at <anonymous> (/Users/landon/Development/mcp/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/protocol.js:84:22)
at send (/Users/landon/Development/mcp/node_modules/@modelcontextprotocol/sdk/dist/esm/inMemory.js:42:34)
at send (/Users/landon/Development/mcp/node_modules/@modelcontextprotocol/sdk/dist/esm/inMemory.js:37:16)
at _onrequest (/Users/landon/Development/mcp/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/protocol.js:133:101)
at <anonymous> (/Users/landon/Development/mcp/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/protocol.js:87:22)
at send (/Users/landon/Development/mcp/node_modules/@modelcontextprotocol/sdk/dist/esm/inMemory.js:42:34)
at send (/Users/landon/Development/mcp/node_modules/@modelcontextprotocol/sdk/dist/esm/inMemory.js:37:16)
at <anonymous> (/Users/landon/Development/mcp/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/protocol.js:308:29)
Bun v1.2.21 (macOS arm64)
Metadata
Metadata
Assignees
Labels
P3Nice to haves, rare edge casesNice to haves, rare edge casesPR WelcomePRs from the community to resolve this issue are welcomePRs from the community to resolve this issue are welcomebugSomething isn't workingSomething isn't workingready for workEnough information for someone to start working onEnough information for someone to start working on