Skip to main content
Glama
README.md
# Slim-MCP: Claude Tools šŸ¤–

[![Python 3.11+](https://img.shields.io/badge/python-3.11+-blue.svg)](https://www.python.org/downloads/)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
[![GitHub stars](https://img.shields.io/github/stars/webdevtodayjason/slim-MCP?style=social)](https://github.com/webdevtodayjason/slim-MCP/stargazers)
[![Twitter Follow](https://img.shields.io/twitter/follow/webdevtodayjason?style=social)](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>

TDQS

B3.3/5.0

Scored across 5 tools

Disambiguation4/5

Most tools have distinct purposes (math calculation, weather alerts, time, weather forecast), but get_current_time and get_current_utc_time could be confused as they both retrieve time information with only a timezone difference. The descriptions clarify this, but the overlap exists.

Naming Consistency5/5

All tools follow a consistent verb_noun naming pattern (calculate, get_alerts, get_current_time, get_current_utc_time, get_forecast). The naming is predictable and readable throughout the set.

Tool Count3/5

With 5 tools, the count is reasonable, but it feels slightly thin for a server named 'Slim MCP' that mixes math, weather, and time domains. The scope is broad, yet the tool count is minimal, which might indicate under-coverage or a mismatch in purpose.

Completeness2/5

There are significant gaps in coverage across the implied domains. For math, only calculation is provided without other operations (e.g., graphing, unit conversion). For weather, alerts and forecast exist but lack current conditions or historical data. For time, two similar tools are included without broader time-related functions. This incompleteness will likely cause agent failures in extended tasks.

Maintenance

ActivityInactive
ResponsivenessNo issues