ClaudeMCPServer
Language:
Python
Stars:
20
Forks:
2
Claude MCP Server Collection
This repository contains a collection of Model Context Protocol (MCP) servers designed to enhance Claude's desktop application capabilities. Each server provides specific functionality that allows Claude to interact with your computer in different ways.
Latest Addition: DuckDB Integration! 🚀
New DuckDB FastAPI server for efficient large-scale data analysis:
Example Queries and Results
Query 1: Analysis
Query 2: Aggregated Results
DuckDB Server Features
- Analyze multiple CSV files (>1GB) directly in Claude Desktop
- Lightning-fast SQL queries with DuckDB
- Memory-efficient data processing
- Connection pooling and caching
- Automatic cleanup of unused connections
Overview
The project consists of several MCP servers:
- Screen Capture Server - Captures and processes screenshots
- Computer Control Server - Enables keyboard and mouse automation
- FastAPI Integration Server - Handles data processing and API endpoints
- Curl Server - Provides HTTP request capabilities
- DuckDB Server - Enables large-scale data analysis
Prerequisites
- Python 3.8 or higher
- Node.js and npm (for filesystem server)
- Claude Desktop Application
- Git
Installation
- Clone the repository:
git clone https://github.com/syedazharmbnr1/ClaudeMCPServer.git
cd ClaudeMCPServer
- Create and activate a virtual environment:
python3 -m venv .env
source .env/bin/activate # On Windows: .env\Scripts\activate
- Install dependencies:
pip install -r requirements.txt
Server Components
1. DuckDB Server
Enables Claude to analyze large CSV files efficiently.
Setup and Usage:
cd fastapi/duckdb
python main.py
Features:
-
Process multiple CSV files simultaneously
-
Handle files larger than 1GB
-
Fast SQL querying with DuckDB
- Memory-efficient processing
-
Connection pooling
2. Screen Capture Server
Enables Claude to capture and process screenshots of your screen.
Setup and Usage:
python mcp_screen_server.py
Features:
- Real-time screen capture
- Dynamic image compression
- WebP format support for optimal file size
- Customizable save locations
3. Computer Control Server
Allows Claude to control mouse and keyboard actions.
Setup and Usage:
python ComputerUse/mcp_computer_server.py
Features:
- Mouse movement and clicks
- Keyboard shortcuts and text input
- Screen position tracking
- Clipboard operations
4. FastAPI Integration Server
The FastAPI server provides a robust API interface for data processing and integration.
Setup and Configuration:
- Navigate to the FastAPI directory:
cd fastapi
- Configure environment variables:
export PYTHONPATH=/path/to/mcp-server-py
export PORT=8000
- Start the server:
python main.py
5. Curl Server
Provides HTTP request capabilities to Claude.
Setup:
cd Curl_Server
./start_server.sh # For the basic server
./start_mcp_server.sh # For the MCP integration
Claude Desktop Integration
Configuration
-
Copy the
claude_desktop_config.json
to your Claude Desktop app configuration directory -
Update the paths in the configuration to match your system:
{
"mcpServers": {
"filesystem": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-filesystem",
""
]
},
"duckdb": {
"command": "/path/to/python",
"args": [
"/path/to/fastapi/duckdb/main.py"
],
"cwd": "/path/to/fastapi/duckdb",
"env": {
"PYTHONPATH": "/path/to/mcp-server-py",
"PORT": "8010"
}
}
}
}
Testing
Each component has its own test suite:
# Test screen capture
python test_screen_server.py
# Test computer control
python ComputerUse/test_computer_control.py
# Test integration
python ComputerUse/test_client.py
Troubleshooting
Common Issues
- Python Path Issues:
- Ensure PYTHONPATH is set correctly
- Verify virtual environment is activated
- Permission Errors:
- Make sure script files are executable:
chmod +x *.py
chmod +x Curl_Server/*.sh
- Port Conflicts:
- Screen Server: Default port 8767
- FastAPI Server: Default port 8000
- DuckDB Server: Default port 8010
- Integration Server: Default port 8768
Logging
- Check
debug.log
for detailed error messages - Each server component writes to its own log file
Security Notes
- GitHub Integration:
- Store your GitHub token securely
- Never commit tokens to the repository
- File System Access:
- Configure filesystem paths carefully
- Limit access to necessary directories only
Contributing
- Fork the repository
- Create a feature branch
- Submit a pull request
License
This project is licensed under the MIT License - see the LICENSE file for details.