Skip to main content

A unified router for Model Context Protocol (MCP) servers that supports multiple transport types (SSE, HTTP, stdio) and provides tool routing capabilities.

Project description

Strata MCP Router

A unified router for Model Context Protocol (MCP) servers that supports multiple transport types (SSE, HTTP, stdio) and provides tool routing capabilities.

Quick Start

Installation

pipx install strata-mcp

Or with pip:

pip install strata-mcp

For development:

pip install -e .

Tool Integration

Strata can automatically configure itself in various AI assistants and IDEs that support MCP.

Add Strata to Claude Code

# Add to user configuration (default)
strata tool add claude

# Add to project-specific configuration
strata tool add claude --scope project

Add Strata to Gemini

strata tool add gemini

Add Strata to VSCode

strata tool add vscode

Add Strata to Cursor

# Add to user configuration (~/.cursor/mcp.json)
strata tool add cursor --scope user

# Add to project configuration (.cursor/mcp.json)
strata tool add cursor --scope project

Supported scopes:

  • user: Global configuration (default)
  • project: Project-specific configuration
  • local: Same as project (for Cursor)

Note: VSCode doesn't support scope parameter and will use its default behavior.

Add MCP Servers

Add Servers

Stdio Server:

strata add --type stdio playwright npx @playwright/mcp@latest

SSE Server:

strata add --type sse server-name http://localhost:8080/mcp/ --env API_KEY=your_key

HTTP Server:

strata add --type http github https://api.githubcopilot.com/mcp/ --header "Authorization=Bearer token"

Add server with OAuth

strata add --type http notion https://mcp.notion.com/mcp --auth_type oauth

List Servers

strata list

Enable/Disable Servers

strata enable server-name
strata disable server-name

Remove Servers

strata remove server-name

Running the Router

Stdio Mode (Default)

Run without arguments to start in stdio mode for direct MCP communication:

python -m strata
# or
strata

HTTP/SSE Server Mode

Run with port to start as HTTP/SSE server:

strata run --port 8080

Configuration

Configuration is stored in ~/.config/strata/servers.json by default. You can specify a custom config path:

strata --config-path /path/to/config.json add --type stdio ...

Config Format

{
  "mcp": {
    "servers": {
      "github": {
        "command": "npx",
        "args": ["-y", "@modelcontextprotocol/server-github"],
        "env": {
          "GITHUB_TOKEN": "your_token"
        },
        "enabled": true
      },
      "api-server": {
        "type": "http",
        "url": "https://api.example.com/mcp",
        "headers": {
          "Authorization": "Bearer token"
        },
        "enabled": true
      }
    }
  }
}

Available Tools

When running as a router, the following tools are exposed:

  • discover_server_actions - Discover available actions from configured servers
  • get_action_details - Get detailed information about a specific action
  • execute_action - Execute an action on a target server
  • search_documentation - Search server documentation
  • handle_auth_failure - Handle authentication issues

Development

Running Tests

pytest

Project Structure

  • src/strata/ - Main source code
    • cli.py - Command-line interface
    • server.py - Server implementation (stdio/HTTP/SSE)
    • tools.py - Tool implementations
    • mcp_client_manager.py - MCP client management
    • config.py - Configuration management

Examples

Running GitHub MCP Server through Router

# Add GitHub server (official HTTP server)
strata add --type http github https://api.githubcopilot.com/mcp/

# Run router in stdio mode
strata

# Or run as HTTP server
strata run --port 8080

Running Multiple Servers

# Add multiple servers
strata add --type stdio playwright npx @playwright/mcp@latest
strata add --type http github https://api.githubcopilot.com/mcp/

# List all servers
strata list

# Run router with all enabled servers
strata run --port 8080

Environment Variables

  • MCP_CONFIG_PATH - Custom config file path
  • MCP_ROUTER_PORT - Default port for HTTP/SSE server (default: 8080)

More MCP Servers

For more MCP servers, visit: Klavis AI (YC X25)

License

Apache License 2.0

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

strata_mcp-0.9.2.tar.gz (113.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

strata_mcp-0.9.2-py3-none-any.whl (42.3 kB view details)

Uploaded Python 3

File details

Details for the file strata_mcp-0.9.2.tar.gz.

File metadata

  • Download URL: strata_mcp-0.9.2.tar.gz
  • Upload date:
  • Size: 113.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.8.18

File hashes

Hashes for strata_mcp-0.9.2.tar.gz
Algorithm Hash digest
SHA256 b681a048c5f6e4b94b33257dba261f56c5ce4afe7e5175d6e0f6f08db8a52bd3
MD5 ab0b0c44aacf5df119790d38e1aaebc7
BLAKE2b-256 f506a8f7adf4b0be0fcaceba69cf96093b7fbc4e2a949c783b2bb9370f54bc37

See more details on using hashes here.

File details

Details for the file strata_mcp-0.9.2-py3-none-any.whl.

File metadata

  • Download URL: strata_mcp-0.9.2-py3-none-any.whl
  • Upload date:
  • Size: 42.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.8.18

File hashes

Hashes for strata_mcp-0.9.2-py3-none-any.whl
Algorithm Hash digest
SHA256 326e611bb3b8dc9e880e73776f6d57156d5d873059706b7a8aed1996ad05569e
MD5 08707e5e076a44acd291c37b1fd54a77
BLAKE2b-256 364fc620ee30894044829ce1f7b6a5da1007a282edf6e9c94d888de0c1cdb90e

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page