Skip to content

Client#listPrompts results in MCP error -32601: Method not found #929

@LandonSchropp

Description

@LandonSchropp

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:

  1. 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.

  2. Install @modelcontextprotocol/sdk via bun add @modelcontextprotocol/sdk.

  3. 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());
  4. 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

No one assigned

    Labels

    P3Nice to haves, rare edge casesPR WelcomePRs from the community to resolve this issue are welcomebugSomething isn't workingready for workEnough information for someone to start working on

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions