mirror of
https://github.com/aljazceru/mcp-python-sdk.git
synced 2025-12-24 01:04:20 +01:00
## 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
46 lines
789 B
TOML
46 lines
789 B
TOML
[build-system]
|
|
requires = ["hatchling"]
|
|
build-backend = "hatchling.build"
|
|
|
|
[project]
|
|
name = "mcp-python"
|
|
version = "0.5.0dev"
|
|
description = "Model Context Protocol implementation for Python"
|
|
readme = "README.md"
|
|
requires-python = ">=3.10"
|
|
dependencies = [
|
|
"anyio",
|
|
"httpx",
|
|
"httpx-sse",
|
|
"pydantic>=2.0.0",
|
|
"starlette",
|
|
"sse-starlette",
|
|
]
|
|
|
|
[tool.hatch.build.targets.wheel]
|
|
packages = ["mcp_python"]
|
|
|
|
[tool.pyright]
|
|
include = ["mcp_python", "tests"]
|
|
venvPath = "."
|
|
venv = ".venv"
|
|
|
|
[tool.ruff.lint]
|
|
select = ["E", "F", "I"]
|
|
ignore = []
|
|
|
|
[tool.ruff]
|
|
line-length = 88
|
|
target-version = "py38"
|
|
|
|
[tool.ruff.lint.per-file-ignores]
|
|
"__init__.py" = ["F401"]
|
|
|
|
[tool.uv]
|
|
dev-dependencies = [
|
|
"pyright>=1.1.384",
|
|
"pytest>=8.3.3",
|
|
"ruff>=0.6.9",
|
|
"trio>=0.26.2",
|
|
]
|