Omega Tools MCP

Omega Tools MCP

A production-grade MCP server that provides a centralized microservice toolkit for LLM agents, enabling web search and extensible tool integration.

Category
Visit Server

README

Omega Tools MCP 🌌

A production-grade, highly modular Model Context Protocol (MCP) server that acts as a centralized microservice toolkit for LLM agents (Cline, Cursor, Custom Agents, etc.).

Omega is architected to decouple business logic, external clients, configuration parsing, and semantic AI tool abstractions, allowing you to seamlessly integrate new tools without restructuring your core application footprint. It supports both standard local stdio streams and scalable, production-grade SSE (Server-Sent Events) network deployment.


šŸ—ļø Architectural Overview

The project uses a clean infrastructure layer separation pattern:

src/omega_mcp/
ā”œā”€ā”€ core/         # Unified system configurations, log pipelines, and constants
ā”œā”€ā”€ clients/      # Infrastructure connectors (Pure APIs, Databases, Web Scrapers)
ā”œā”€ā”€ tools/        # Semantic AI-facing interfaces decorated with @mcp.tool()
└── server.py     # Central service orchestrator and protocol router

šŸ› ļø Current Tool Registry

  • omega_web_search: Live internet search functionality powered by optimized, lightweight web parsers.

🧱 System Architecture & Data Flow (Production SSE Mode)

In a production environment, Omega runs inside an isolated Docker container communicating via Server-Sent Events (SSE) over HTTP. This decouples it from your IDE and transforms it into a global tool mesh accessible by local editors and remote agents simultaneously.

  ā”Œā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”      ā”Œā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”
  │   VS Code Client     │      │   External Python Agent       │
  │   (Cline Panel)      │      │     (Google Gen AI SDK)       │
  ā””ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”¬ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”˜      ā””ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”¬ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”˜
             │                                  │
             ā–¼ [HTTP/SSE Network Connection]     ā–¼ [HTTP POST JSON-RPC]
  ā”Œā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”
  │                 NEXUS TOOLS MCP (Docker Container)          │
  │                                                             │
  │  ā”Œā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”      ā”Œā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”       │
  │  │ server.py │ ───> │ tools/web.py                  │       │
  │  ā””ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”˜      │ (Semantic AI Function Layer)  │       │
  │                     ā””ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”¬ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”˜       │
  │                                     │                       │
  │                                     ā–¼                       │
  │                     ā”Œā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”       │
  │                     │ clients/web_search_client.py  │       │
  │                     │ (Raw DDGS API Layer)          │       │
  │                     ā””ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”¬ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”˜       │
  ā””ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”¼ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”˜
                                        │
                                        ā–¼ [HTTPS Network Request]
                               ā”Œā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”
                               │  DuckDuckGo API │
                               ā””ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”˜


🐳 Production Deployment via Docker

1. Build the Docker Image Locally

Run this command inside the omega-tools-mcp project directory to lock down your dependencies and build the isolated engine image:

docker build -t omega-mcp .

2. Integrate with Your Multi-Container Stack (docker-compose.yml)

To add this tool hub to your primary agent project stack (alongside ChromaDB, Neo4j, etc.), map it into your orchestration layout using port 8080 to avoid port collisions with your vector databases:

services:
  omega-mcp:
    image: omega-mcp
    container_name: nexus-tools-mcp
    ports:
      - "8080:8000" # Maps host Mac port 8080 to container internal port 8000
    environment:
      - OMEGA_ENV=production
      - OMEGA_SEARCH_MAX_RESULTS=5
    restart: unless-stopped
    depends_on:
      - redis

Boot the entire ecosystem container grid together:

docker compose up -d


šŸ”Œ Connecting to AI Clients

1. IDE Client Setup (Cline / VS Code Extension)

Once the Docker stack is active on port 8080, your IDE does not need to manage local Python runtime subprocesses. Simply swap your configuration profile inside cline_mcp_settings.json to look up the live web endpoint:

{
  "mcpServers": {
    "omega-tools-docker": {
      "url": "http://localhost:8080/sse"
    }
  }
}

2. External Project Integration (Google Gen AI SDK Agent)

To consume this microservice inside an independent custom Python Agent framework without writing complex setup commands or parameter duplications, define a clean HTTP network pass-through function:

import httpx
from google import genai

ai_client = genai.Client()

def web_search(query: str) -> str:
    """
    Executes a web search by sending an HTTP POST directly to the containerized microservice.
    """
    CONTAINER_URL = "http://localhost:8080/tools/omega_web_search/call"
    try:
        response = httpx.post(
            CONTAINER_URL, 
            json={"arguments": {"query": query}},
            timeout=30.0
        )
        response.raise_for_status()
        return response.json()["content"][0]["text"]
    except Exception as e:
        return f"Tool Error: Could not reach container server. Details: {str(e)}"

# Register straight to your Agent tool array
research_agent = Agent(
    name="ResearchAgent",
    model=ai_client,
    tools=[graph_rag_retrieval, web_search],
    instruction="Your system compliance laws here..."
)


šŸš€ Local Development (Non-Docker Setup)

1. Cline (VS Code Extension)

Open your global cline_mcp_settings.json and append the server into your configuration schema:

{
  "mcpServers": {
    "omega-tools": {
      "command": "uv",
      "args": [
        "--directory",
        "/path/omega-tools-mcp",
        "run",
        "src/omega_mcp/server.py"
      ],
      "env": {
        "OMEGA_SEARCH_MAX_RESULTS": "5",
        "OMEGA_ENV": "dev"
      }
    }
  }
}

2. Cursor or Windsurf

Navigate to Settings -> Features -> MCP, click + Add New MCP Server, select command mode, and set the invocation signature to:

uv --directory /absolute/path/to/your/omega-tools-mcp run omega-tools

Prerequisites

This project relies on uv for lightning-fast environment isolation. Install it on macOS using:

curl -LsSf [https://astral.sh/uv/install.sh](https://astral.sh/uv/install.sh) | sh

Setup & Diagnostic Verification

  1. Synchronize your virtual environment:
uv sync

  1. Run the standalone diagnostic validation check script:
PYTHONPATH=src uv run tests/test_search.py


šŸ“ˆ Scaling Up: Adding More Tools

Omega is built to expand gracefully. To introduce a new tool domain (e.g., database queries or file synchronization actions):

  1. Add Configuration Properties: Declare environment variables inside src/omega_mcp/core/config.py.
  2. Build the Infrastructure Core: Write the pure functional driver code inside src/omega_mcp/clients/.
  3. Draft Semantic Descriptions: Create the interface under src/omega_mcp/tools/ documenting parameters clearly in the docstrings so the LLM understands when to call it.
  4. Link to Orchestration Registry: Anchor it to the service endpoint inside src/omega_mcp/server.py:
from omega_mcp.tools.new_module import execute_action
mcp.tool(name="omega_new_action")(execute_action)


šŸ”’ Security & Logging Guardrails

  • Stdout Safety: Standard print() streams interfere with JSON-RPC. All telemetry or debug trace tracking must use the custom logger omega_mcp.core.logger routing pipeline, which channels output strictly to sys.stderr.
  • Layer Isolation: Keep AI-specific framework concepts out of the clients/ folder to ensure your infrastructure layers remain simple and testable independently.

Recommended Servers

playwright-mcp

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.

Official
Featured
TypeScript
Magic Component Platform (MCP)

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.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

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.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

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.

Official
Featured
TypeScript
Kagi MCP Server

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.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

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.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured