๐Ÿš€ MCPOmni Connect - Universal Gateway to MCP Servers

๐Ÿš€ MCPOmni Connect - Universal Gateway to MCP Servers

MCPOmni Connect is a versatile command-line interface (CLI) client designed to connect to various Model Context Protocol (MCP) servers using stdio transport. It provides seamless integration with OpenAI models and supports dynamic tool and resource management across multiple servers.

Abiorh001

Developer Tools
Visit Server

README

๐Ÿš€ MCPOmni Connect - Universal Gateway to MCP Servers

Python Version License Tests PyPI version Last Commit Open Issues Pull Requests

MCPOmni Connect is a powerful, universal command-line interface (CLI) that serves as your gateway to the Model Context Protocol (MCP) ecosystem. It seamlessly integrates multiple MCP servers, AI models, and various transport protocols into a unified, intelligent interface.

โœจ Key Features

๐Ÿ”Œ Universal Connectivity

  • Multi-Protocol Support
    • Native support for stdio transport
    • Server-Sent Events (SSE) for real-time communication
    • Docker container integration
    • NPX package execution
    • Extensible transport layer for future protocols

๐Ÿง  AI-Powered Intelligence

  • Advanced LLM Integration
    • Seamless OpenAI models integration
    • Seamless OpenRouter models integration
    • Seamless Groq models integration
    • Dynamic system prompts based on available capabilities
    • Intelligent context management
    • Automatic tool selection and chaining
    • Universal model support through custom ReAct Agent
      • Handles models without native function calling
      • Dynamic function execution based on user requests
      • Intelligent tool orchestration

๐Ÿ”’ Security & Privacy

  • Explicit User Control
    • All tool executions require explicit user approval
    • Clear explanation of tool actions before execution
    • Transparent disclosure of data access and usage
  • Data Protection
    • Strict data access controls
    • Server-specific data isolation
    • No unauthorized data exposure
  • Privacy-First Approach
    • Minimal data collection
    • User data remains on specified servers
    • No cross-server data sharing without consent
  • Secure Communication
    • Encrypted transport protocols
    • Secure API key management
    • Environment variable protection

๐Ÿ’ฌ Prompt Management

  • Advanced Prompt Handling
    • Dynamic prompt discovery across servers
    • Flexible argument parsing (JSON and key-value formats)
    • Cross-server prompt coordination
    • Intelligent prompt validation
    • Context-aware prompt execution
    • Real-time prompt responses
    • Support for complex nested arguments
    • Automatic type conversion and validation

๐Ÿ› ๏ธ Tool Orchestration

  • Dynamic Tool Discovery & Management
    • Automatic tool capability detection
    • Cross-server tool coordination
    • Intelligent tool selection based on context
    • Real-time tool availability updates

๐Ÿ“ฆ Resource Management

  • Universal Resource Access
    • Cross-server resource discovery
    • Unified resource addressing
    • Automatic resource type detection
    • Smart content summarization

๐Ÿ”„ Server Management

  • Advanced Server Handling
    • Multiple simultaneous server connections
    • Automatic server health monitoring
    • Graceful connection management
    • Dynamic capability updates

๐Ÿ—๏ธ Architecture

Core Components

MCPOmni Connect
โ”œโ”€โ”€ Transport Layer
โ”‚   โ”œโ”€โ”€ Stdio Transport
โ”‚   โ”œโ”€โ”€ SSE Transport
โ”‚   โ””โ”€โ”€ Docker Integration
โ”œโ”€โ”€ Session Management
โ”‚   โ”œโ”€โ”€ Multi-Server Orchestration
โ”‚   โ””โ”€โ”€ Connection Lifecycle Management
โ”œโ”€โ”€ Tool Management
โ”‚   โ”œโ”€โ”€ Dynamic Tool Discovery
โ”‚   โ”œโ”€โ”€ Cross-Server Tool Routing
โ”‚   โ””โ”€โ”€ Tool Execution Engine
โ””โ”€โ”€ AI Integration
    โ”œโ”€โ”€ LLM Processing
    โ”œโ”€โ”€ Context Management
    โ””โ”€โ”€ Response Generation

๐Ÿš€ Getting Started

Prerequisites

  • Python 3.10+
  • LLM API key
  • UV package manager (recommended)

Install using package manager

# with uv recommended
uv add mcpomni-connect
# using pip
pip install mcpomni-connect

Start CLI

# start the cli running the command ensure your api key is export or create .env
mcpomni_connect

๐Ÿงช Testing

Running Tests

# Run all tests with verbose output
pytest tests/ -v

# Run specific test file
pytest tests/test_specific_file.py -v

# Run tests with coverage report
pytest tests/ --cov=src --cov-report=term-missing

Test Structure

tests/
โ”œโ”€โ”€ unit/           # Unit tests for individual components

Development Quick Start

  1. Installation

    # Clone the repository
    git clone https://github.com/Abiorh001/mcp_omni_connect.git
    cd mcp_omni_connect
    
    # Create and activate virtual environment
    uv venv
    source .venv/bin/activate
    
    # Install dependencies
    uv sync
    
  2. Configuration

    # Set up environment variables
    echo "LLM_API_KEY=your_key_here" > .env
    
    # Configure your servers in servers_config.json
    
  3. ** Start Client**

    # Start the cient
    uv run src/main.py pr python src/main.py
    

Server Configuration Examples

{   
    "LLM": {
        "provider": "openai",  // Supports: "openai", "openrouter", "groq"
        "model": "gpt-4",      // Any model from supported providers
        "temperature": 0.5,
        "max_tokens": 5000,
        "top_p": 0
    },
    "mcpServers": {
        "filesystem-server": {
            "command": "npx",
            "args": [
                "@modelcontextprotocol/server-filesystem",
                "/path/to/files"
            ]
        },
        "sse-server": {
            "type": "sse",
            "url": "http://localhost:3000/mcp",
            "headers": {
                "Authorization": "Bearer token"
            },
        },
        "docker-server": {
            "command": "docker",
            "args": ["run", "-i", "--rm", "mcp/server"]
        }
    }
}

๐ŸŽฏ Usage

Interactive Commands

  • /tools - List all available tools across servers
  • /prompts - View available prompts
  • /prompt:<name>/<args> - Execute a prompt with arguments
    # Example: Weather prompt
    /prompt:weather/location=tokyo/units=metric
    
    # Alternative JSON format
    /prompt:weather/{"location":"tokyo","units":"metric"}
    
  • /resources - List available resources
  • /resource:<uri> - Access and analyze a resource
  • /debug - Toggle debug mode
  • /refresh - Update server capabilities

Prompt Management

# List all available prompts
/prompts

# Basic prompt usage
/prompt:weather/location=tokyo

# Prompt with multiple arguments depends on the server prompt arguments requirements
/prompt:travel-planner/from=london/to=paris/date=2024-03-25

# JSON format for complex arguments
/prompt:analyze-data/{
    "dataset": "sales_2024",
    "metrics": ["revenue", "growth"],
    "filters": {
        "region": "europe",
        "period": "q1"
    }
}

# Nested argument structures
/prompt:market-research/target=smartphones/criteria={
    "price_range": {"min": 500, "max": 1000},
    "features": ["5G", "wireless-charging"],
    "markets": ["US", "EU", "Asia"]
}

Advanced Prompt Features

  • Argument Validation: Automatic type checking and validation
  • Default Values: Smart handling of optional arguments
  • Context Awareness: Prompts can access previous conversation context
  • Cross-Server Execution: Seamless execution across multiple MCP servers
  • Error Handling: Graceful handling of invalid arguments with helpful messages
  • Dynamic Help: Detailed usage information for each prompt

AI-Powered Interactions

The client intelligently:

  • Chains multiple tools together
  • Provides context-aware responses
  • Automatically selects appropriate tools
  • Handles errors gracefully
  • Maintains conversation context

Model Support

  • OpenAI Models
    • Full support for all OpenAI models
    • Native function calling for compatible models
    • ReAct Agent fallback for older models
  • OpenRouter Models
    • Access to all OpenRouter-hosted models
    • Unified interface for model interaction
    • Automatic capability detection
  • Groq Models
    • Support for all Groq models
    • Ultra-fast inference capabilities
    • Seamless integration with tool system
  • Universal Model Support
    • Custom ReAct Agent for models without function calling
    • Dynamic tool execution based on model capabilities
    • Intelligent fallback mechanisms

๐Ÿ”ง Advanced Features

Tool Orchestration

# Example of automatic tool chaining if the tool is available in the servers connected
User: "Find charging stations near Silicon Valley and check their current status"

# Client automatically:
1. Uses Google Maps API to locate Silicon Valley
2. Searches for charging stations in the area
3. Checks station status through EV network API
4. Formats and presents results

Resource Analysis

# Automatic resource processing
User: "Analyze the contents of /path/to/document.pdf"

# Client automatically:
1. Identifies resource type
2. Extracts content
3. Processes through LLM
4. Provides intelligent summary

Demo

mcp_client_new1-MadewithClipchamp-ezgif com-optimize

๐Ÿค Contributing

We welcome contributions! See our Contributing Guide for details.

๐Ÿ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

๐Ÿ“ฌ Contact & Support

  • Author: Abiola Adeshina
  • Email: abioladedayo1993@gmail.com
  • GitHub Issues: Report a bug

<p align="center">Built with โค๏ธ by the MCPOmni Connect Team</p>

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
MCP Package Docs Server

MCP Package Docs Server

Facilitates LLMs to efficiently access and fetch structured documentation for packages in Go, Python, and NPM, enhancing software development with multi-language support and performance optimization.

Featured
Local
TypeScript
Claude Code MCP

Claude Code MCP

An implementation of Claude Code as a Model Context Protocol server that enables using Claude's software engineering capabilities (code generation, editing, reviewing, and file operations) through the standardized MCP interface.

Featured
Local
JavaScript
@kazuph/mcp-taskmanager

@kazuph/mcp-taskmanager

Model Context Protocol server for Task Management. This allows Claude Desktop (or any MCP client) to manage and execute tasks in a queue-based system.

Featured
Local
JavaScript
Linear MCP Server

Linear MCP Server

Enables interaction with Linear's API for managing issues, teams, and projects programmatically through the Model Context Protocol.

Featured
JavaScript
mermaid-mcp-server

mermaid-mcp-server

A Model Context Protocol (MCP) server that converts Mermaid diagrams to PNG images.

Featured
JavaScript
Jira-Context-MCP

Jira-Context-MCP

MCP server to provide Jira Tickets information to AI coding agents like Cursor

Featured
TypeScript
Linear MCP Server

Linear MCP Server

A Model Context Protocol server that integrates with Linear's issue tracking system, allowing LLMs to create, update, search, and comment on Linear issues through natural language interactions.

Featured
JavaScript
Sequential Thinking MCP Server

Sequential Thinking MCP Server

This server facilitates structured problem-solving by breaking down complex issues into sequential steps, supporting revisions, and enabling multiple solution paths through full MCP integration.

Featured
Python