slim-MCP
0
Slim-MCP is a project that enhances Claude with various Python-based tools utilizing the MCP protocol. It features tools for calculations, weather forecasts, time management, and is extensible through custom Python functions. The project integrates with multiple platforms including the Claude Desktop and Cursor IDE.
Slim-MCP: Claude Tools 🤖
🚀 Supercharge Claude with powerful Python-based tools via the MCP protocol
✨ Features
- 🧮 Calculator: Perform complex math calculations
- 🌦️ Weather: Get current weather forecasts and alerts
- 🕒 DateTime: Access current time in local and UTC formats
- 🔌 Extensible: Easily add custom tools with simple Python functions
- 💻 Desktop Integration: Seamless integration with Claude Desktop app
- 🖱️ Cursor IDE: Native integration with Cursor IDE for developers
📋 Table of Contents
🚀 Installation
Prerequisites
- Python 3.11+
- Conda (recommended)
Setup with Conda (Recommended)
# Create conda environment with Python 3.11
conda create -n mcp-tools python=3.11
# Activate environment
conda activate mcp-tools
# Clone the repository
git clone https://github.com/webdevtodayjason/slim-MCP.git
cd slim-MCP
# Install with uv (preferred)
uv pip install -e .
# OR install with standard pip
pip install -e .
🎮 Usage
Configure Claude
Add this to your Claude configuration file:
{
"mcpServers": {
"claude-tools": {
"command": "/path/to/conda/envs/mcp-tools/bin/python",
"args": ["-m", "claude_tools.main"]
}
}
}
Configure Cursor IDE
NAME: claude-tools
TYPE: command
COMMAND: /path/to/conda/envs/mcp-tools/bin/python -m claude_tools.main
Example Prompts
Can you calculate 25^3 + sqrt(196)?
What's the current time in UTC?
What's the weather like in Austin, TX?
🔌 Integrations
- Claude AI Desktop: Primary integration via MCP protocol
- Cursor IDE: Direct integration for development workflows
- Claude Web: Compatible with Claude Web through configuration
💻 Development
Project Structure
slim-MCP/
├── src/
│ └── claude_tools/
│ ├── __init__.py
│ ├── calculator.py # Math calculation tool
│ ├── datetime_tool.py # Date and time utilities
│ ├── main.py # Entry point
│ └── weather.py # Weather forecasting tool
├── http_server.py # HTTP server for MCP
├── pyproject.toml # Project configuration
├── .gitignore # Git ignore file
└── LICENSE # MIT License
Creating a New Tool
- Create a new Python file in
src/claude_tools/
:
# src/claude_tools/my_tool.py
def my_awesome_function(param: str) -> str:
"""Description of what this tool does.
Args:
param: Description of the parameter
Returns:
A string with the result
"""
result = f"Processed: {param}"
return result
def register_my_tools(mcp):
"""Register all my tools with the MCP server."""
mcp.tool()(my_awesome_function)
- Import and register your tool in
__init__.py
:
# In src/claude_tools/__init__.py
from .calculator import register_calculator_tools
from .datetime_tool import register_datetime_tools
from .weather import register_weather_tools
from .my_tool import register_my_tools # Add this line
def register_all_tools(mcp):
register_calculator_tools(mcp)
register_datetime_tools(mcp)
register_weather_tools(mcp)
register_my_tools(mcp) # Add this line
- Restart the server and your new tool is ready to use!
👥 Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature
) - Commit your changes (
git commit -m 'Add some amazing feature'
) - Push to the branch (
git push origin feature/amazing-feature
) - Open a Pull Request
📄 License
This project is licensed under the MIT License - see the file for details.
Made with ❤️ by Jason Brashear