oh-my-mcp
A powerful MCP server with 116 practical tools across 9 categories including compression, web, file system, data processing, text, system, utilities, subagent AI, and browser automation.
README
oh-my-mcp
A powerful Model Context Protocol (MCP) server with 116 practical tools across 9 categories, built using FastMCP.
๐ Features
oh-my-mcp provides tools for:
- ๐ฆ Compression (5 tools): ZIP/TAR compression and extraction with security features
- ๐ Web & Network (18 tools): Web search, page fetching, HTML parsing, downloads, HTTP API client, DNS lookup
- ๐ File System (12 tools): Read, write, search files and directories, file comparison
- ๐ Data Processing (15 tools): JSON, CSV, XML, YAML, TOML parsing and manipulation
- ๐ Text Processing (9 tools): Regex, encoding, email/URL extraction, text similarity
- ๐ป System (8 tools): System info, CPU/memory monitoring, environment variables
- ๐ ๏ธ Utilities (10 tools): UUID, hashing, date/time operations, math, password generation
- ๐ค Subagent AI (6 tools): Delegate subtasks to external AI models (OpenAI/Anthropic), parallel execution, conditional branching, persistent config
- ๐ Browser Automation (33 tools): Selenium-based browser control, page navigation, element interaction, screenshots, JavaScript execution, multi-tab management
Note: Python Development, UV Package Manager, and Pylance/Pyright tools have been removed from the packaged version as they require external Python interpreters and package managers. All remaining tools work completely standalone.
๐ Documentation
- ๐ Documentation Index - Complete documentation hub (ไธญๆ)
- ๐๏ธ Project Structure - Detailed project organization
- ๐ฏ Setup Guide - Interactive configuration wizard guide
- ๐ฆ Build Guide - Package for Windows/Linux distribution
- ๐๏ธ Architecture Guide - System architecture and design
- ๐งช Subagent Guide - AI orchestration features
โก ๅฟซ้ๅฎ่ฃ ไธ้ ็ฝฎ
- ๅฎ่ฃ ไพ่ตๅนถๅผๅๆจกๅผๅฎ่ฃ ๏ผ
pip install -e .
- ่ฟ่กไบคไบๅผ้ ็ฝฎๅๅฏผ๏ผๆจ่๏ผ๏ผ
uv run configure.py
ๆ็ดๆฅไธบClaude Desktop็ๆ้ ็ฝฎ๏ผ
python -m mcp_server.cli.config --claude
ๆๅฏๅจHTTP้ ็ฝฎๆๅก๏ผ
python -m mcp_server.cli.config --http-server --port 8765
่ฏฆ็ป้ ็ฝฎ่ฏดๆ่ง๏ผdocs/zh/SETUP_GUIDE.md
- ๅฏๅจMCPๆๅก๏ผ
python -m mcp_server.main
ๅฏๅจๅๅฏ้่ฟClaude DesktopๆMCPๅฎขๆท็ซฏ่ฟๆฅไฝฟ็จใ
๐ฆ Installation
Prerequisites
- Python 3.12 or higher
- pip package manager
๐ Tool Reference
For the full list of tools, usage examples, and API details, see docs/en/TOOL_REFERENCE.md.
๐ง Configuration
Logging
Logs are configured in mcp_server/utils.py. You can adjust:
- Log level (INFO, DEBUG, WARNING, ERROR)
- Output destinations (console, file)
- Log format
File Size Limits
File operations have safety limits:
read_file: 10MB max file sizesafe_write_file: Creates parent directories automatically
Security Features
- Path validation: Prevents path traversal attacks
- Safe evaluation: Math expressions only allow safe operations
- Masked values: Sensitive environment variables are masked
- Confirmation required: File deletion requires
confirm=True - Retry logic: Network operations retry up to 3 times
๐ก๏ธ Error Handling
All tools include comprehensive error handling:
- ValidationError: Invalid input parameters
- NetworkError: Network request failures
- FileOperationError: File system errors
- DataProcessingError: Data parsing/conversion errors
Errors are returned as JSON with descriptive messages.
๐ Development
Project Structure
oh-my-mcp/
โโโ pyproject.toml # Dependencies
โโโ configure.py # Interactive setup wizard
โโโ README.md # Documentation
โโโ src/
โโโ mcp_server/
โโโ __init__.py # Package init
โโโ main.py # Server entry point
โโโ utils.py # Infrastructure & utilities
โโโ command_executor.py # Secure command execution
โโโ cli/
โ โโโ config.py # Configuration generator
โโโ tools/ # Tool plugins (9 categories)
โโโ __init__.py # Plugin auto-discovery
โโโ registry.py # @tool_handler & ToolPlugin
โโโ search_engine.py # Web search backend
โโโ subagent_config.py # Subagent config manager
โโโ compression/ # Compression tools (5)
โโโ web/ # Web & Network tools (18)
โโโ file/ # File System tools (12)
โโโ data/ # Data Processing tools (15)
โโโ text/ # Text Processing tools (9)
โโโ system/ # System tools (8)
โโโ utility/ # Utility tools (10)
โโโ subagent/ # AI Orchestration tools (6)
Adding New Tools
Create a new tool in the appropriate plugin's handlers.py:
from mcp_server.tools.registry import tool_handler
@tool_handler
def your_tool(param: str) -> str:
"""Tool description.
Args:
param: Parameter description
Returns:
Return value description
"""
try:
# Your implementation
return result
except Exception as e:
logger.error(f"Tool failed: {e}")
return f"Error: {str(e)}"
Testing
Start the server and test tools using an MCP client or the FastMCP testing utilities.
๐ค Contributing
Contributions are welcome! Areas for improvement:
- Additional tool categories
- Enhanced error handling
- Performance optimizations
- More comprehensive tests
- Additional external API integrations
๐ License
This project is provided as-is for educational and practical use.
๐ Links
๐ Additional Resources
Documentation
- ๐ Documentation Hub - Complete documentation index (ไธญๆ)
- ๐๏ธ Project Structure - Project organization guide
- ๐๏ธ Architecture - System architecture and design
- ๐ Test Report - Test suite
Configuration & Setup
- โ๏ธ Configuration Guide (CN) - Complete configuration reference
- ๐ฏ Setup Guide - Step-by-step setup instructions
Build & Deploy
- ๐ฆ Build Guide - Package for Windows/Linux
- ๐ Installation Guide - Installation details
Advanced Features
- ๐ค Subagent Configuration - AI task delegation setup
- ๐ง Subagent Guide - AI orchestration features
- ๐ Advanced Search - Search functionality details
Developer Resources
- ๐๏ธ Architecture Guide - System architecture and design
- ๐ค Contributing Guide - How to contribute
- ๐ Changelog - Version history
๐ง Configuration Management
Configuration Generator Tool
The python -m mcp_server.cli.config command provides multiple ways to configure MCP clients:
# Quick install to Claude Desktop
python -m mcp_server.cli.config --claude
# Run HTTP server on custom port
python -m mcp_server.cli.config --http-server --port 9000
# Generate config file with custom server name
python -m mcp_server.cli.config --server-name my-tools --output config.json
# Show configuration in console
python -m mcp_server.cli.config --show-config
Configuration Server Endpoints
When running with --http-server:
| Endpoint | Description |
|---|---|
GET /config |
Returns MCP configuration JSON |
GET /info |
Returns server information and paths |
GET /health |
Health check endpoint |
Example usage:
# Start server on port 8765
python -m mcp_server.cli.config --http-server
# Get configuration
curl http://localhost:8765/config
# Get server info
curl http://localhost:8765/info
Enjoy oh-my-mcp! ๐
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.