Slim MCP
by webdevtodayjason
Verified
# Slim-MCP: Claude Tools š¤
[](https://www.python.org/downloads/)
[](https://opensource.org/licenses/MIT)
[](https://github.com/webdevtodayjason/slim-MCP/stargazers)
[](https://twitter.com/webdevtodayjason)
> š 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](#-installation)
- [Usage](#-usage)
- [Integrations](#-integrations)
- [Development](#-development)
- [Contributing](#-contributing)
- [License](#-license)
## š Installation
### Prerequisites
- Python 3.11+
- Conda (recommended)
### Setup with Conda (Recommended)
```bash
# 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:
```json
{
"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
1. Create a new Python file in `src/claude_tools/`:
```python
# 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)
```
2. Import and register your tool in `__init__.py`:
```python
# 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
```
3. Restart the server and your new tool is ready to use!
## š„ 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/amazing-feature`)
3. Commit your changes (`git commit -m 'Add some amazing feature'`)
4. Push to the branch (`git push origin feature/amazing-feature`)
5. Open a Pull Request
## š License
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
---
<p align="center">
Made with ā¤ļø by <a href="https://github.com/webdevtodayjason">Jason Brashear</a>
</p>