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.template
to.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 docs
npm install
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
- 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)