Mirror of https://github.com/modelcontextprotocol/python-sdk — The official Python SDK for Model Context Protocol servers and clients
  • Python 99.8%
  • Shell 0.2%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Nick Merrill 60e9c7a0d7
Add in-memory transport (#25)
## Goal

Support running an MCP server in the same process as the client, while preserving MCP abstractions.

## Details

1. **(core change)** Adds a new `memory` transport module that enables in-process client-server communication.
This includes:
   - `create_client_server_memory_streams()` to create bidirectional memory streams
   - `create_connected_server_and_client_session()` to establish an in-process client-server connection

3. (minor) Enhances error handling and timeout support:
   - Adds configurable read timeouts to sessions via `read_timeout_seconds` parameter
   - Improves exception handling in the server with a new `raise_exceptions` flag to control whether errors are returned to clients or raised directly
   - Ensures proper cleanup of request context tokens in error cases

4. (minor) Makes server improvements:
   - Adds built-in ping handler support
2024-11-05 15:42:41 -08:00
.devcontainer Initial import 2024-09-24 22:04:19 +01:00
.github/workflows github: add workflows to check formatting and typecheck 2024-10-11 16:17:04 +01:00
mcp_python Add in-memory transport (#25) 2024-11-05 15:42:41 -08:00
tests Add in-memory transport (#25) 2024-11-05 15:42:41 -08:00
.gitignore Initial import 2024-09-24 22:04:19 +01:00
.python-version python-version: Pin our python version 2024-10-11 12:09:17 +01:00
pyproject.toml Add in-memory transport (#25) 2024-11-05 15:42:41 -08:00
README.md Initial import 2024-09-24 22:04:19 +01:00
RELEASE.md A short overview of how to do a release 2024-10-21 15:54:17 +01:00
uv.lock Add in-memory transport (#25) 2024-11-05 15:42:41 -08:00

mcp-python

Model Context Protocol implementation for Python