mcp server
oh-my-mcp
A powerful Model Context Protocol (MCP) server offering a broad set of practical tools across multiple categories — built with FastMCP.一款强大的模型上下文协议(MCP)服务器,提供覆盖多个类别的丰富实用工具——基于 FastMCP 构建。
Set up
Runs on your computer. Pick your agent and operating system.
Before you start
- uv (`curl -LsSf https://astral.sh/uv/install.sh | sh`)
{
"mcpServers": {
"oh-my-mcp": {
"command": "uvx",
"args": [
"oh-my-mcp"
]
}
}
}same format Cursor, GitHub Copilot CLI, Junie, JetBrains AI Assistant, Augment (Auggie CLI), Factory Droid, Kiro, Devin CLI +12
Values in angle brackets are placeholders. Restart Claude Desktop after editing its config.Claude Desktop docs
README
synced Oct 14, 2026oh-my-mcp
English | 中文
A powerful Model Context Protocol (MCP) server with 154 practical tools across 11 categories, built using FastMCP.
🚀 Features
oh-my-mcp provides tools for:
- 🌐 Browser Automation (33 tools): Selenium-based browser automation: navigation, interaction, screenshots, JS execution, console logs, cookies, network monitoring, form filling, multi-tab management
- 📦 Compression (5 tools): ZIP/TAR compression and extraction with security features
- 🖥️ Computer Use (26 tools): AI desktop control: screen capture (multi-monitor, base64/file), mouse control (move/click/drag/scroll), keyboard input (typing/keys/hotkeys), clipboard access, window management, safety failsafe configuration
- 📊 Data Processing (15 tools): JSON, CSV, XML, YAML, TOML parsing and manipulation
- ⚡ Command Execution (5 tools): Secure allowlist-based command execution: run whitelisted commands with argument sanitization, timeout protection, output size limits and audit logging; manage the persistent command allowlist
- 📁 File System (16 tools): Read, write, search files and directories, file comparison
- 🤖 Subagent AI Orchestration (6 tools): Delegate subtasks to external AI models with parallel execution and cost tracking
- 💻 System (11 tools): System info, CPU/memory monitoring, environment variables
- 📝 Text Processing (9 tools): Regex, encoding, email/URL extraction, text similarity
- 🛠️ Utilities (10 tools): UUID, hashing, date/time operations, math, password generation
- 🌐 Web & Network (18 tools): Web search, page fetching, HTML parsing, downloads, HTTP API client, DNS lookup
📚 Documentation
The full index lives in docs/README.md — every topic is
available in English (X.md, default) and Chinese (X.zh.md). Highlights:
| Document | |
|---|---|
| Installation | INSTALLATION.md / 中文 |
| Tool Reference (all 146 tools) | TOOL_REFERENCE.md / 中文 |
| Computer Use Guide | COMPUTER_USE_GUIDE.md / 中文 |
| Setup Guide (Claude Desktop) | SETUP_GUIDE.md / 中文 |
| Command Execution | CONFIGURATION.md · see Tool Reference |
| Build Guide | BUILD.md / 中文 |
| Architecture | ARCHITECTURE.md / 中文 |
| Subagent Guide | SUBAGENT_GUIDE.md / 中文 |
| Contributing | CONTRIBUTING.md / 中文 |
| Changelog | CHANGELOG.md / 中文 |
Tool counts and descriptions in the docs are generated from code — see Documentation Generation.
📦 Installation
git clone https://github.com/quyansiyuanwang/oh-my-mcp.git
cd oh-my-mcp
pip install -e . # or: uv sync --all-extras
Configure Claude Desktop:
python -m mcp_server.cli.config --claude
Start the server:
python -m mcp_server.main
Details: Installation Guide and Setup Guide.
🔧 Configuration
Logging
Logs are configured in mcp_server/utils.py — level, destinations and format.
Security Features
- Path validation: prevents path traversal attacks
- Safe evaluation: math expressions only allow whitelisted operations
- Masked values: sensitive environment variables are masked
- Confirmation required: file deletion requires
confirm=True - Allowlisted execution: commands only run after explicit trust
- Retry logic: network operations retry up to 3 times
🛡️ Error Handling
All tools return JSON with descriptive messages instead of raising:
- ValidationError — invalid input parameters
- NetworkError — network request failures
- FileOperationError — file system errors
- DataProcessingError — data parsing/conversion errors
📝 Development
Project Structure
oh-my-mcp/
├── pyproject.toml # Dependencies & tool config
├── configure.py # Interactive setup wizard
└── src/
└── mcp_server/
├── main.py # Server entry point
├── utils.py # Infrastructure & utilities
├── command_executor.py # Secure command execution
├── cli/config.py # Configuration generator
└── tools/ # Tool plugins (11 categories, auto-discovered)
Full layout: PROJECT_STRUCTURE.md.
Adding New Tools
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
"""
...
Documentation Generation
Tool counts and descriptions in the docs are generated from code (AST
analysis of @tool_handler docstrings + each plugin's config.yaml). After
adding, removing, or renaming tools run:
python scripts/docs/generate_docs.py --write
CI verifies docs are fresh with --check and fails if they are out of date.
Generated fragments live between <!-- DOCGEN:...:start/end --> markers; do
not edit inside them.
🤝 Contributing
See CONTRIBUTING.md. Client configuration details: SETUP_GUIDE.md.
📄 License
This project is provided as-is for educational and practical use.
🔗 Links
Enjoy oh-my-mcp! 🚀