{"id":"pymcp-sse","name":"pymcp-sse","homepage":"https://pypi.org/project/pymcp-sse/","repo_url":"https://github.com/rvirgilli/pymcp-sse","category":"api-gateway","subcategories":[],"tags":["mcp","model-context-protocol","sse","server-sent-events","fastapi","uvicorn","httpx","async-python","tools","agents"],"what_it_does":"pymcp-sse is an asynchronous Python library to build Model Context Protocol (MCP) servers and clients that communicate over HTTP/SSE. It provides base classes for server/client, tool registration and discovery, server push/notification support with keep-alives, and a multi-server client abstraction. It also includes an LLM client abstraction for integration with LLM providers (e.g., an Anthropic Claude example).","use_cases":["Building MCP tool servers backed by FastAPI/Uvicorn that use Server-Sent Events for streaming/notifications","Creating MCP clients that discover tools and invoke registered MCP tools over SSE","Orchestrating connections to multiple MCP servers from a single client process","Implementing server-initiated notifications and keep-alive mechanisms in agent/chatbot ecosystems","Integrating MCP tool calling with an LLM provider via a provided LLM client abstraction"],"not_for":["High-assurance/regulated deployments that require documented security controls like auth, audit logging, and formal threat modeling (not evidenced here)","Environments that require GraphQL/gRPC interfaces or standard OpenAPI contracts for the API surface (not evidenced here)","Use cases needing strict idempotency guarantees or transactional semantics for tool calls (not evidenced here)"],"best_when":"You want a lightweight Python MCP server/client implementation where SSE transport and async concurrency are convenient, and you can rely on your surrounding infrastructure for security controls.","avoid_when":"You need comprehensive, explicitly documented auth, rate limiting semantics, retry/idempotency guidance, or production-grade operational guarantees that are clearly documented in the repository/docs.","alternatives":["Official/community MCP implementations in other languages/frameworks (if available in your ecosystem)","FastAPI-based REST tool endpoints combined with a separate SSE/websocket channel","Generic SSE streaming libraries plus your own MCP protocol wiring","Other MCP SDKs/transport layers (language dependent)"],"af_score":55.8,"security_score":45.8,"reliability_score":30.0,"package_type":"mcp_server","discovery_source":["pypi"],"priority":"low","status":"evaluated","version_evaluated":null,"last_evaluated":"2026-04-04T21:47:15.558058+00:00","interface":{"has_rest_api":true,"has_graphql":false,"has_grpc":false,"has_mcp_server":true,"mcp_server_url":null,"has_sdk":true,"sdk_languages":["Python"],"openapi_spec_url":null,"webhooks":false},"auth":{"methods":["None explicitly documented for MCP server/client in provided README","Anthropic API key (example for LLM integration via ANTHROPIC_API_KEY)"],"oauth":false,"scopes":false,"notes":"No explicit authentication mechanism for the MCP HTTP/SSE transport is described in the README content provided. LLM provider authentication is mentioned only for an example client (ANTHROPIC_API_KEY)."},"pricing":{"model":null,"free_tier_exists":false,"free_tier_limits":null,"paid_tiers":[],"requires_credit_card":false,"estimated_workload_costs":null,"notes":"Pricing for the library itself is not described; it is MIT licensed. Runtime costs depend on your hosted server and any LLM provider used."},"requirements":{"requires_signup":false,"requires_credit_card":false,"domain_verification":false,"data_residency":[],"compliance":[],"min_contract":null},"agent_readiness":{"af_score":55.8,"security_score":45.8,"reliability_score":30.0,"mcp_server_quality":72.0,"documentation_accuracy":60.0,"error_message_quality":0.0,"error_message_notes":null,"auth_complexity":90.0,"rate_limit_clarity":20.0,"tls_enforcement":80.0,"auth_strength":30.0,"scope_granularity":10.0,"dependency_hygiene":55.0,"secret_handling":60.0,"security_notes":"Security controls for the MCP transport (authz/authn, TLS requirements, rate limiting, etc.) are not explicitly documented in the provided README content. SSE over HTTP typically relies on HTTPS/TLS in deployment, but this is not stated as a requirement. The library uses common web/async dependencies (FastAPI/Uvicorn/httpx/SSE helpers); no dependency vulnerability status is provided here. LLM provider secrets are suggested via environment variables (ANTHROPIC_API_KEY), which is a positive signal, but comprehensive secret-handling/logging guarantees are not documented in the provided content.","uptime_documented":0.0,"version_stability":55.0,"breaking_changes_history":20.0,"error_recovery":45.0,"idempotency_support":"false","idempotency_notes":null,"pagination_style":"none","retry_guidance_documented":false,"known_agent_gotchas":["Tool registration relies on type hints for describe_tools; missing/incorrect type hints may reduce tool schema quality.","SSE timeouts require alignment with keep-alive/ping intervals (README suggests read timeout > ping interval); misconfiguration can cause disconnects.","No explicit auth/rate-limit/idempotency/retry semantics were documented in the provided content, so agents may need to implement conservative retry/backoff and safety checks at the application layer."]}}