MCP Tool Server
by davidshtian
MCP on AWS Bedrock
A simple and clear example for implementation and understanding Anthropic MCP (on AWS Bedrock, with Nova).
<a href="https://glama.ai/mcp/servers/cuhom1oc17"> <img width="380" height="200" src="https://glama.ai/mcp/servers/cuhom1oc17/badge" /> </a>Overview
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.
Prerequisites
- Python 3.10 or higher
- AWS account with Bedrock access
- Configured AWS credentials
- UV package manager
Project Structure
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
Usage
Run the stdio client with:
Copy
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:
Copy
# server
uv pip install boto3 uvicorn
uv run mcp-simple-tool --transport sse --port 8000
# client
uv run client_sse.py
Features
- Seamless integration with AWS Bedrock runtime
- Tool format conversion for Bedrock compatibility
- Asynchronous communication handling
- Structured logging for debugging
Contributing
Feel free to submit issues and pull requests to improve the implementation.
License
MIT License
References
Facilitates interaction with AWS Bedrock-enabled tools by implementing Anthropic's Model Context Protocol for seamless tool integration and communication.