Skip to main content
Glama
README.md
# oh-my-mcp

English | [δΈ­ζ–‡](README.zh.md)

A powerful Model Context Protocol (MCP) server with **154 practical tools**
across 11 categories, built using [FastMCP](https://github.com/jlowin/fastmcp).

[![Build and Release](https://github.com/quyansiyuanwang/oh-my-mcp/actions/workflows/build-release.yml/badge.svg)](https://github.com/quyansiyuanwang/oh-my-mcp/actions/workflows/build-release.yml)
[![Tests](https://github.com/quyansiyuanwang/oh-my-mcp/actions/workflows/tests.yml/badge.svg)](https://github.com/quyansiyuanwang/oh-my-mcp/actions/workflows/tests.yml)
[![Lint](https://github.com/quyansiyuanwang/oh-my-mcp/actions/workflows/lint.yml/badge.svg)](https://github.com/quyansiyuanwang/oh-my-mcp/actions/workflows/lint.yml)
[![Python 3.12+](https://img.shields.io/badge/python-3.12+-blue.svg)](https://www.python.org/downloads/)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
[![Platform](https://img.shields.io/badge/platform-Windows%20%7C%20Linux%20%7C%20macOS-lightgrey.svg)](https://github.com/quyansiyuanwang/oh-my-mcp)

## πŸš€ Features

oh-my-mcp provides tools for:

<!-- DOCGEN:readme-features:start -->
- **🌐 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
<!-- DOCGEN:readme-features:end -->

## πŸ“š Documentation

The full index lives in **[docs/README.md](docs/README.md)** β€” every topic is
available in English (`X.md`, default) and Chinese (`X.zh.md`). Highlights:

| Document | |
|---|---|
| Installation | [INSTALLATION.md](docs/INSTALLATION.md) / [δΈ­ζ–‡](docs/INSTALLATION.zh.md) |
| Tool Reference (all 146 tools) | [TOOL_REFERENCE.md](docs/TOOL_REFERENCE.md) / [δΈ­ζ–‡](docs/TOOL_REFERENCE.zh.md) |
| Computer Use Guide | [COMPUTER_USE_GUIDE.md](docs/COMPUTER_USE_GUIDE.md) / [δΈ­ζ–‡](docs/COMPUTER_USE_GUIDE.zh.md) |
| Setup Guide (Claude Desktop) | [SETUP_GUIDE.md](docs/SETUP_GUIDE.md) / [δΈ­ζ–‡](docs/SETUP_GUIDE.zh.md) |
| Command Execution | [CONFIGURATION.md](docs/CONFIGURATION.md) Β· see Tool Reference |
| Build Guide | [BUILD.md](docs/BUILD.md) / [δΈ­ζ–‡](docs/BUILD.zh.md) |
| Architecture | [ARCHITECTURE.md](docs/ARCHITECTURE.md) / [δΈ­ζ–‡](docs/ARCHITECTURE.zh.md) |
| Subagent Guide | [SUBAGENT_GUIDE.md](docs/SUBAGENT_GUIDE.md) / [δΈ­ζ–‡](docs/SUBAGENT_GUIDE.zh.md) |
| Contributing | [CONTRIBUTING.md](docs/CONTRIBUTING.md) / [δΈ­ζ–‡](docs/CONTRIBUTING.zh.md) |
| Changelog | [CHANGELOG.md](docs/CHANGELOG.md) / [δΈ­ζ–‡](docs/CHANGELOG.zh.md) |

Tool counts and descriptions in the docs are generated from code β€” see
[Documentation Generation](#documentation-generation).

## πŸ“¦ Installation

```bash
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:

```bash
python -m mcp_server.cli.config --claude
```

Start the server:

```bash
python -m mcp_server.main
```

Details: [Installation Guide](docs/INSTALLATION.md) and
[Setup Guide](docs/SETUP_GUIDE.md).

## πŸ”§ 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](docs/PROJECT_STRUCTURE.md).

### Adding New Tools

```python
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:

```bash
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](docs/CONTRIBUTING.md). Client configuration details:
[SETUP_GUIDE.md](docs/SETUP_GUIDE.md).

## πŸ“„ License

This project is provided as-is for educational and practical use.

## πŸ”— Links

- [FastMCP Documentation](https://github.com/jlowin/fastmcp)
- [Model Context Protocol (MCP)](https://modelcontextprotocol.io/)

---

Enjoy oh-my-mcp! πŸš€

TDQS

B3.2/5.0

Scored across 116 tools

Disambiguation4/5

Most tools have distinct purposes, especially in the browser and subagent groups. However, there is some overlap between similar tools like fetch_webpage/fetch_webpage_text, parse_csv/csv_to_json, and multiple search tools (web_search, web_search_advanced, web_search_news). Descriptions help but some boundaries are blurry.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern in snake_case (e.g., browser_navigate, parse_csv, get_system_info). No mixed conventions or irregular naming, making the set predictable for an agent.

Tool Count2/5

With 116 tools, the server is extremely large for an MCP server. While it aims to be a comprehensive toolkit, the sheer number likely overwhelms agents and increases selection errors. A more focused scope or modularization would improve coherence.

Completeness4/5

The tool set covers a wide range of domains (browser, file, text, system, web search, subagent) with good depth. Minor gaps exist, such as lack of in-place file editing or image processing, but overall the surface is quite complete for its stated purpose.

Maintenance

ActivityMaintained
ResponsivenessNo issues