Omega Tools MCP
A production-grade MCP server that provides a centralized microservice toolkit for LLM agents, enabling web search and extensible tool integration.
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
- Synchronize your virtual environment:
uv sync
- 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):
- Add Configuration Properties: Declare environment variables inside
src/omega_mcp/core/config.py. - Build the Infrastructure Core: Write the pure functional driver code inside
src/omega_mcp/clients/. - 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. - 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 loggeromega_mcp.core.loggerrouting pipeline, which channels output strictly tosys.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
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.