Skip to content

Simple MCP Chatbot: A Python-based chatbot using Anthropic's Claude API with Model Context Protocol (MCP) integration

License

Notifications You must be signed in to change notification settings

htondro/simple-python-mcp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Model Context Protocol (MCP) Implementation

Python Version License: MIT Code style: black

A robust implementation of the Model Context Protocol (MCP) that enables AI models to interact with external tools and services through a standardized protocol.

InstallationUsageHow It WorksContributing

🌟 Features

  • 🚀 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)

📋 Prerequisites

  • Python 3.11 or higher
  • Anthropic API key
  • pip (Python package installer)

🚀 Installation

  1. Clone the repository:
git clone <your-repository-url>
cd <repository-name>
  1. Install the required dependencies:
pip install -r requirements.txt
  1. Create a .env file in the root directory and add your Anthropic API key:
ANTHROPIC_API_KEY=your_api_key_here

📁 Project Structure

.
├── chatbot.py          # Main client implementation
├── mcp_server.py      # Server implementation
├── requirements.txt   # Python dependencies
└── .env              # API key configuration (not in repo)

💻 Usage

  1. Start the chatbot:
python chatbot.py
  1. Interact with the chatbot in the terminal:
    • Ask questions that might require tool usage
    • Type "exit" to quit the program

📝 Example Interaction

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.

🔧 How It Works

  1. The MCPClient class manages communication with the MCP server using JSON-RPC
  2. When a user sends a message, it's processed by Claude
  3. If Claude determines a tool is needed, it makes a tool call
  4. The tool call is executed by the MCP server
  5. The result is sent back to Claude for final response generation

🔒 Security

  • 🔑 API keys are stored in .env file and not committed to the repository
  • 🚫 The .env file is included in .gitignore to prevent accidental commits

🤝 Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

📄 License

This project is licensed under the MIT License - see the LICENSE file for details.

🙏 Acknowledgments

  • Anthropic for the Claude AI model
  • The Model Context Protocol specification

About

Simple MCP Chatbot: A Python-based chatbot using Anthropic's Claude API with Model Context Protocol (MCP) integration

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages