View Full Documentation - Comprehensive guides, API reference, and examples
A regular MCP Server but working over queues :
https://github.com/user-attachments/assets/4b775ff8-02ae-4730-a822-3e1cedf9d744
Another MCP Server that sends async responses via Webhooks :
https://github.com/user-attachments/assets/22f15a96-13bf-4038-8e80-938d9ee490c9
Quoting from the official description :
MCP is an open protocol that standardizes how applications provide context to LLMs.
But a lot of this context is not always readily available and takes time for the applications to process - think batch processing APIs, webhooks or queues. In these cases with the current transport layers, the MCP server would have to expose a light-weight polling wrapper in the MCP layer to allow waiting and polling for the tasks to be done. Although SSE does provide async functionalities but it comes with caveats.
asyncmcp explores supporting more of the async transport layer implementations for MCP clients and servers, beyond the officially supported stdio and Streamable Http transports.
The whole idea of an MCP server with async transport layer is that it doesn't have to respond immediately to any requests. It can choose to direct them to internal queues for processing and the client doesn't have to stick around for the response.
# Using uv (recommended)
uv add asyncmcp
# Using pip
pip install asyncmcp
For detailed setup instructions and requirements, see the Installation Guide.
Check out the Quickstart Guide to get running in 5 minutes.
Complete working examples are available in the /examples directory and documented in the Examples Guide.
We welcome contributions! Please see our Contributing Guide for details.
git clone https://github.com/bh-rat/asyncmcp.git
cd asyncmcp
uv sync
Apache License 2.0 - see LICENSE file for details.
$ claude mcp add asyncmcp \
-- python -m otcore.mcp_server <graph>