Files
mcp-python-sdk/pyproject.toml
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

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",
]