Skip to main content
Glama

oh-my-mcp

A powerful Model Context Protocol (MCP) server with 116 practical tools across 9 categories, built using FastMCP.

Build and Release Tests Lint Python 3.12+ License: MIT Platform

๐Ÿš€ 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

โšก ๅฟซ้€Ÿๅฎ‰่ฃ…ไธŽ้…็ฝฎ

  1. ๅฎ‰่ฃ…ไพ่ต–ๅนถๅผ€ๅ‘ๆจกๅผๅฎ‰่ฃ…๏ผš

pip install -e .
  1. ่ฟ่กŒไบคไบ’ๅผ้…็ฝฎๅ‘ๅฏผ๏ผˆๆŽจ่๏ผ‰๏ผš

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

  1. ๅฏๅŠจ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 size

  • safe_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.



๐Ÿ“– Additional Resources

Documentation

Configuration & Setup

Build & Deploy

Advanced Features

Developer Resources


๐Ÿ”ง 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! ๐Ÿš€

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/quyansiyuanwang/oh-my-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server