A robust implementation of the Model Context Protocol (MCP) that enables AI models to interact with external tools and services through a standardized protocol.
- 🚀 Implementation of the Model Context Protocol (MCP)
- 🤖 Integration with Anthropic's Claude AI model
- 🛠️ Tool execution system with JSON-RPC communication
- 🔐 Environment variable configuration for API keys
- ⏰ Example tool implementation (get_current_time)
- Python 3.11 or higher
- Anthropic API key
- pip (Python package installer)
- Clone the repository:
git clone <your-repository-url>
cd <repository-name>
- Install the required dependencies:
pip install -r requirements.txt
- Create a
.env
file in the root directory and add your Anthropic API key:
ANTHROPIC_API_KEY=your_api_key_here
.
├── chatbot.py # Main client implementation
├── mcp_server.py # Server implementation
├── requirements.txt # Python dependencies
└── .env # API key configuration (not in repo)
- Start the chatbot:
python chatbot.py
- Interact with the chatbot in the terminal:
- Ask questions that might require tool usage
- Type "exit" to quit the program
User: What time is it?
Assistant: Let me check the current time for you.
Found 1 tool calls
Tool get_current_time result: 2024-03-26 15:30:45
Assistant: The current time is 2024-03-26 15:30:45.
- The
MCPClient
class manages communication with the MCP server using JSON-RPC - When a user sends a message, it's processed by Claude
- If Claude determines a tool is needed, it makes a tool call
- The tool call is executed by the MCP server
- The result is sent back to Claude for final response generation
- 🔑 API keys are stored in
.env
file and not committed to the repository - 🚫 The
.env
file is included in.gitignore
to prevent accidental commits
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature
) - Commit your changes (
git commit -m 'Add some AmazingFeature'
) - Push to the branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- Anthropic for the Claude AI model
- The Model Context Protocol specification