A simple and clear example for implementation and understanding Anthropic MCP (on AWS Bedrock, with Nova).
This project demonstrates how to implement and use Anthropic's Model Context Protocol (MCP) with AWS Bedrock. It provides a client implementation that can interact with MCP-enabled tools through AWS Bedrock's runtime service.
- Python 3.10 or higher
- AWS account with Bedrock access
- Configured AWS credentials
- UV package manager
client_stdio.py
: Main client implementation for interacting with Bedrock and MCP tools using stdio modeclient_sse.py
: Main client implementation for interacting with Bedrock and MCP tools using sse modemcp_simple_tool/
: Directory containing the MCP tool implementationserver.py
: MCP tool server implementation__main__.py
: Entry point for the tool
pyproject.toml
: Project dependencies and configuration
Run the stdio client with:
uv pip install boto3
uv run client_stdio.py
The client will:
- Initialize a connection to AWS Bedrock
- Start the MCP tool server
- List available tools and convert them to the format required by Bedrock
- Handle communication between Bedrock and the MCP tools
Run the sse client with:
# server
uv pip install boto3 uvicorn
uv run mcp-simple-tool --transport sse --port 8000
# client
uv run client_sse.py
- Seamless integration with AWS Bedrock runtime
- Tool format conversion for Bedrock compatibility
- Asynchronous communication handling
- Structured logging for debugging
Feel free to submit issues and pull requests to improve the implementation.
MIT License