Skip to content

fix(session): return -32601 for unknown request methods#2225

Open
lavish0000 wants to merge 3 commits intomodelcontextprotocol:mainfrom
lavish0000:fix/invalid-method-code-1561
Open

fix(session): return -32601 for unknown request methods#2225
lavish0000 wants to merge 3 commits intomodelcontextprotocol:mainfrom
lavish0000:fix/invalid-method-code-1561

Conversation

@lavish0000
Copy link

Closes #1561

Summary:

  • derive the known request method names from the request union types used by each session class
  • return METHOD_NOT_FOUND when request validation fails because the method itself is unknown
  • preserve INVALID_PARAMS for known methods whose payload shape is invalid
  • add a regression test covering an unknown request method end to end

Testing:

  • python3 -m uv run pytest tests/issues/test_1561_invalid_method_code.py tests/issues/test_malformed_input.py
  • python3 -m uv run ruff check src/mcp/shared/session.py src/mcp/server/session.py src/mcp/client/session.py tests/issues/test_1561_invalid_method_code.py
  • python3 -m uv run ruff format --check src/mcp/shared/session.py src/mcp/server/session.py src/mcp/client/session.py tests/issues/test_1561_invalid_method_code.py
  • python3 -m uv run pyright src/mcp/shared/session.py src/mcp/server/session.py src/mcp/client/session.py tests/issues/test_1561_invalid_method_code.py

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Invalid method names return error code -32602 instead of -32601

1 participant