Slim-MCP: Claude Tools ๐ค
March 12, 2025 ยท View on GitHub
๐ 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 LICENSE file for details.
Made with โค๏ธ by Jason Brashear