-
Couldn't load subscription status.
- Fork 1.4k
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/sdkviabun add @modelcontextprotocol/sdk. -
Create a file named
example.tswith 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)