MCP Demo Project
README.md
# MCP Demo Project
A collection of Model Context Protocol (MCP) servers demonstrating different capabilities including math operations, weather data, and LangGraph workflows.
## ๐ Quick Start
### Prerequisites
- Python 3.8+
- Node.js (for MCP Inspector)
- Virtual environment activated
### Installation
1. **Clone and setup:**
```bash
git clone https://github.com/vaibhavGala262/MCP_servers.git
cd mcp_demo2
```
2. **Create and activate virtual environment:**
```bash
python -m venv .venv
# Windows:
.venv\Scripts\activate
# Mac/Linux:
source .venv/bin/activate
```
3. **Install dependencies:**
```bash
pip install -r requirements.txt
```
4. **Install MCP Inspector (globally):**
```bash
npm install -g @modelcontextprotocol/inspector
```
## ๐งช Testing Your MCP Servers
### Method 1: Using MCP Inspector (Recommended)
```bash
# Make sure your virtual environment is activated first
.venv\Scripts\activate
# Test any of your servers
npx @modelcontextprotocol/inspector python mathserver.py
npx @modelcontextprotocol/inspector python weather.py
npx @modelcontextprotocol/inspector python workflow.py
```
This opens a web interface at `http://localhost:5173` where you can:
- View available tools
- Test tool calls interactively
- Debug issues in real-time
### Method 2: Direct Python Testing
```bash
# Run the server directly (will wait for stdin input)
python mathserver.py
# Or run tests
python test_mcp.py
```
## ๐ Project Structure
```
mcp_demo2/
โโโ .venv/ # Virtual environment
โโโ .env # Environment variables (API keys)
โโโ .gitignore # Git ignore file
โโโ requirements.txt # Python dependencies
โโโ mathserver.py # Math operations MCP server
โโโ weather.py # Weather data MCP server
โโโ workflow.py # LangGraph workflow MCP server
โโโ test_mcp.py # Test scripts
โโโ README.md # This file
```
## ๐ง Available MCP Servers
### 1. Math Server (`mathserver.py`)
Simple arithmetic operations:
- `add(a, b)` - Add two numbers
- `subtract(a, b)` - Subtract two numbers
- `multiply(a, b)` - Multiply two numbers
**Test example:**
```bash
npx @modelcontextprotocol/inspector python mathserver.py
# Try: add(10, 5) โ returns 15
```
### 2. Weather Server (`weather.py`)
Weather data operations (if implemented):
- Weather fetching tools
### 3. Workflow Server (`workflow.py`)
LangGraph-powered content generation:
- `run_langgraph(input)` - Generate jokes, stories, poems, or general responses
**Test example:**
```bash
npx @modelcontextprotocol/inspector python workflow.py
# Try: run_langgraph("tell me a joke about cats")
```
## ๐ Integrating with Claude Desktop
1. **Locate your Claude Desktop config:**
- **Windows:** `%APPDATA%/Claude/claude_desktop_config.json`
- **Mac:** `~/Library/Application Support/Claude/claude_desktop_config.json`
2. **Add your MCP server:**
```json
{
"mcpServers": {
"math": {
"command": "python",
"args": ["C:\\full\\path\\to\\mcp_demo2\\mathserver.py"],
"env": {
"PATH": "C:\\full\\path\\to\\mcp_demo2\\.venv\\Scripts;%PATH%"
}
},
"workflow": {
"command": "python",
"args": ["C:\\full\\path\\to\\mcp_demo2\\workflow.py"],
"env": {
"PATH": "C:\\full\\path\\to\\mcp_demo2\\.venv\\Scripts;%PATH%"
}
}
}
}
```
3. **Restart Claude Desktop** and test:
- "What tools do you have available?"
- "Add 15 and 25 for me"
- "Tell me a joke about programming"
## ๐ Troubleshooting
### Common Issues:
**"Module not found" error:**
```bash
# Make sure virtual environment is activated
.venv\Scripts\activate
pip install fastmcp
```
**Inspector shows empty tools:**
- Check that your server file has `@mcp.tool()` decorators
- Verify the file runs without Python errors
- Make sure you're using `transport="stdio"` for Claude Desktop
**Encoding errors (emojis in console):**
- Remove emoji characters from print statements
- Or add UTF-8 encoding at the top of your Python files
**Claude Desktop not finding tools:**
- Use absolute paths in config file
- Make sure the virtual environment path is correct
- Restart Claude Desktop after config changes
## ๐ Learn More
- [MCP Documentation](https://docs.anthropic.com)
- [FastMCP Documentation](https://github.com/jlowin/fastmcp)
- [LangGraph Documentation](https://langchain-ai.github.io/langgraph/)
## ๐ค Contributing
1. Fork the repository
2. Create a feature branch
3. Make your changes
4. Test with MCP Inspector
5. Submit a pull request
## ๐ License
This project is open source. See LICENSE file for details.
This server cannot be deployed
Maintenance
ActivityInactive
ResponsivenessNo issues