getfounded/mcp-tool-kit
If you are the rightful owner of mcp-tool-kit and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.
The MCP Tool Kit is a modular server implementation designed for building high precision vertical AI agents, reducing code usage by over 50% compared to the Python MCP SDK alone.
MCP Tool Kit
A comprehensive toolkit for the Model Context Protocol (MCP) with automatic tool discovery and multiple transport options.
š 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
-
Download the latest release:
-
Extract and run:
- Windows: Run
install.bat - Mac/Linux: Run
./install.sh
- Windows: Run
Git Installation (for developers)
-
Clone the repository
git clone https://github.com/getfounded/mcp-tool-kit.git cd mcp-tool-kit -
Run the launcher
- Windows: Double-click
launch.bat - Mac/Linux: Run
./launch.sh
- Windows: Double-click
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
- Copy
.env.templateto.env - 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
- Start the server in stdio mode using the launcher
- Add to Claude Desktop configuration:
{ "mcpServers": { "mcp-tool-kit": { "command": "docker", "args": ["exec", "-i", "mcp-server", "python", "mcp_server_v2.py"] } } }
š Using SSE Mode
- Start the server in SSE mode using the launcher
- Access the server at
http://localhost:8080 - 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:
cd docsnpm installnpm 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
- Fork the repository
- Create your feature branch
- Add your tool to
app/tools/ - Submit a pull request
š License
This project is licensed under the MIT License - see the LICENSE file for details.
š Support
- GitHub Issues
- Documentation
- Discord Community (coming soon)