MCP Tool Kit Server

A modular server for building AI agents with a unified interface for tools like file operations, web search, browser automation, and financial data.

Documentation

MCP Tool Kit

A comprehensive toolkit for the Model Context Protocol (MCP) with automatic tool discovery and multiple transport options.

PyPI version Python versions License

๐Ÿ“š Official Documentation | ๐ŸŒ Website | ๐Ÿ’ฌ Community


๐Ÿš€ Built by UsefulAI | ๐Ÿ“– From GitHub to Commercial Success

๐Ÿš€ Quick Install - No Git Required!

Choose your platform and run ONE command:

๐Ÿ–ฅ๏ธ Windows (PowerShell)

irm https://raw.githubusercontent.com/getfounded/mcp-tool-kit/main/install.ps1 | iex

๐ŸŽ macOS (Terminal)

bash <(curl -s https://raw.githubusercontent.com/getfounded/mcp-tool-kit/main/install.sh)

๐Ÿง Linux (Terminal)

bash <(wget -qO- https://raw.githubusercontent.com/getfounded/mcp-tool-kit/main/install.sh)

That's it! The installer will:

  • โœ… Download MCP Tool Kit (no Git needed!)
  • โœ… Check for Docker (helps install if missing)
  • โœ… Create desktop shortcuts
  • โœ… Set up everything automatically

๐Ÿ“ฆ Alternative Installation Methods

Manual Download
  1. Download the latest release:

  2. Extract and run:

    • Windows: Run install.bat
    • Mac/Linux: Run ./install.sh
Git Installation (for developers)
  1. Clone the repository

    git clone https://github.com/getfounded/mcp-tool-kit.git
    cd mcp-tool-kit
    
  2. Run the launcher

    • Windows: Double-click launch.bat
    • Mac/Linux: Run ./launch.sh
Docker-Only Installation
docker run -it --name mcp-toolkit ghcr.io/getfounded/mcp-tool-kit:latest

๐Ÿ”ง Features

Dynamic Tool Registration

Tools are automatically discovered and registered at runtime - no manual configuration needed!

Multiple Transport Options

  • stdio: For Claude Desktop integration
  • SSE (Server-Sent Events): For web-based access

120+ Available Tools

  • ๐Ÿ“ File System: Read, write, and manage files
  • ๐Ÿ• Time Tools: Timezone conversions and time operations
  • ๐ŸŒ Web Search: Brave Search integration
  • ๐Ÿค– Browser Automation: Playwright-based browser control
  • ๐Ÿ“Š Data Analysis: Yahoo Finance, FRED, World Bank data
  • ๐Ÿ“„ Document Tools: PDF, Excel, PowerPoint manipulation
  • ๐ŸŽฏ And many more!

Easy Configuration

Control everything through a simple config.yaml file:

enabled_tools:
  filesystem: true
  time_tools: true
  brave_search: true
  # ... more tools

tool_config:
  filesystem:
    allowed_directories: ["~/Documents", "~/Downloads"]
  brave_search:
    max_results: 10

๐Ÿ“‹ Environment Setup

  1. Copy .env.template to .env
  2. Add your API keys:
    BRAVE_SEARCH_API_KEY=your_key_here
    NEWS_API_KEY=your_key_here
    FRED_API_KEY=your_key_here
    # ... other keys
    

๐Ÿ’พ Storage Setup

MCP Tool Kit uses a dedicated storage directory for file operations:

  • Windows: C:\Users\{Username}\mcp-tool-kit-storage
  • Mac/Linux: ~/mcp-tool-kit-storage

Automatic Setup

The storage directory is automatically created when you first run the Docker container. You can also manually set it up:

Windows (PowerShell):

.\scripts\setup-storage.ps1

Mac/Linux:

./scripts/setup-storage.sh

Storage Structure

mcp-tool-kit-storage/
โ”œโ”€โ”€ documents/     # For document files
โ”œโ”€โ”€ downloads/     # For downloaded files
โ””โ”€โ”€ workspace/     # For temporary work files

All file operations through the filesystem tool will be restricted to this directory for security.

๐Ÿ”Œ Connecting to Claude Desktop

  1. Start the server in stdio mode using the launcher
  2. Add to Claude Desktop configuration:
    {
      "mcpServers": {
        "mcp-tool-kit": {
          "command": "docker",
          "args": ["exec", "-i", "mcp-server", "python", "mcp_server_v2.py"]
        }
      }
    }
    

๐ŸŒ Using SSE Mode

  1. Start the server in SSE mode using the launcher
  2. Access the server at http://localhost:8080
  3. Use the SSE endpoints:
    • /sse - Server-Sent Events stream
    • /messages - Send messages to the server

๐Ÿ› ๏ธ Creating Custom Tools

Tools now use a standardized base class system:

from app.tools.base_tool import BaseTool

class MyCustomTool(BaseTool):
    def get_name(self) -> str:
        return "My Custom Tool"
        
    def get_tools(self) -> Dict[str, Callable]:
        return {
            "my_function": self.my_function
        }
        
    async def my_function(self, param: str, ctx: Context = None) -> str:
        return f"Processed: {param}"

See the developer documentation for detailed guides.

๐Ÿ“š Documentation

Full documentation is available at https://docs.mcp-tool-kit.com.

To run documentation locally:

  1. cd docs
  2. npm install
  3. npm start

๐Ÿณ Docker Commands

Using the Launcher (Recommended)

The launcher scripts handle all Docker operations automatically.

Manual Commands

# Start server
docker-compose up -d

# View logs
docker-compose logs -f

# Stop server
docker-compose down

# Rebuild after changes
docker-compose build --no-cache

๐Ÿค Contributing

  1. Fork the repository
  2. Create your feature branch
  3. Add your tool to app/tools/
  4. Submit a pull request

๐Ÿ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

๐Ÿ†˜ Support