Labsco
getfounded logo

MCP Tool Kit

β˜… 109

from getfounded

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

πŸ”₯πŸ”₯πŸ”₯βœ“ VerifiedFreeAdvanced setup

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

πŸ”§ 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:

Copy & paste β€” that's it
enabled_tools:
  filesystem: true
  time_tools: true
  brave_search: true
  # ... more tools

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

πŸ”Œ Connecting to Claude Desktop

  1. Start the server in stdio mode using the launcher
  2. Add to Claude Desktop configuration:
    Copy & paste β€” that's it
    {
      "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:

Copy & paste β€” that's it
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

Copy & paste β€” that's it
# 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