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
This commit is contained in:
parent
1a60e1b7c7
commit
60e9c7a0d7
1 changed files with 210 additions and 10 deletions
2
uv.lock
generated
2
uv.lock
generated
|
|
@ -163,7 +163,7 @@ wheels = [
|
|||
|
||||
[[package]]
|
||||
name = "mcp-python"
|
||||
version = "0.3.0.dev0"
|
||||
version = "0.5.0.dev0"
|
||||
source = { editable = "." }
|
||||
dependencies = [
|
||||
{ name = "anyio" },
|
||||
|
|
|
|||
Loading…
Reference in a new issue