mcp-hub 0.1.0

Fast hub for MCP tools
Documentation
# MCP Hub Aggregator Configuration
# This file demonstrates various configuration options for the MCP Hub

# Example 1: Search server with API key and filtering
[[server]]
name = "search"
cmd = "exa_mcp"
args = ["--model", "gpt-4o-mini"]
whitelist = ["web_search", "image_search", "news_search"]
prefix = "exa_"
description_suffix = " (powered by Exa API)"

[server.env]
OPENAI_API_KEY = "${OPENAI_API_KEY}"
EXA_API_KEY = "${EXA_API_KEY}"

# Example 2: Local filesystem tools
[[server]]
name = "filesystem"
cmd = "python"
args = ["-m", "mcp_filesystem", "--root", "/home/user/projects"]
blacklist = ["delete_file", "rm"]  # Exclude dangerous operations
prefix = "fs_"
description_prefix = "📁 "
description_suffix = " (local filesystem)"

# Example 3: Git operations server
[[server]]
name = "git"
cmd = "./tools/git_mcp_server"
args = ["--safe-mode"]
prefix = "git_"
description_prefix = "🔧 Git: "

[server.env]
GIT_AUTHOR_NAME = "${GIT_AUTHOR_NAME:-MCP Hub}"
GIT_AUTHOR_EMAIL = "${GIT_AUTHOR_EMAIL:-mcp@example.com}"

# Example 4: Database server with connection details
[[server]]
name = "database"
cmd = "node"
args = ["db-mcp-server.js"]
whitelist = ["query_table", "list_tables", "describe_table"]
prefix = "db_"
description_suffix = " (PostgreSQL connection)"

[server.env]
DATABASE_URL = "${DATABASE_URL}"
DB_CONNECTION_TIMEOUT = "30000"

# Example 5: Weather API server
[[server]]
name = "weather"
cmd = "weather-mcp"
args = ["--units", "metric"]
prefix = "weather_"
description_prefix = "🌤️ "
description_suffix = " (OpenWeatherMap API)"

[server.env]
WEATHER_API_KEY = "${WEATHER_API_KEY}"

# Example 6: Browser automation server
[[server]]
name = "browser"
cmd = "puppeteer-mcp"
args = ["--headless"]
blacklist = ["navigate_to_url"]  # Exclude navigation for security
prefix = "browser_"
description_prefix = "🌐 Browser: "
description_suffix = " (Puppeteer automation)"

[server.env]
BROWSER_TIMEOUT = "30000"
DISPLAY = "${DISPLAY:-:0}"

# Example 7: Code analysis server
[[server]]
name = "code"
cmd = "rust-analyzer-mcp"
args = ["--workspace", ".", "--features", "all"]
prefix = "code_"
description_prefix = "💻 "
description_suffix = " (Rust analyzer)"

# Example 8: Simple calculator (no filtering)
[[server]]
name = "calc"
cmd = "calculator-mcp"
# No prefix - will use original tool names unless there are conflicts
description_prefix = "🧮 "

# Example 9: Network utilities with comprehensive filtering
[[server]]
name = "network"
cmd = "network-mcp-server"
whitelist = ["ping", "traceroute", "nslookup", "whois"]
blacklist = ["port_scan"]  # Exclude potentially dangerous operations
prefix = "net_"
description_prefix = "🌐 Network: "
description_suffix = " (safe networking tools)"

[server.env]
NETWORK_TIMEOUT = "10"
DNS_SERVER = "${DNS_SERVER:-8.8.8.8}"

# Example 10: Development tools server
[[server]]
name = "devtools"
cmd = "dev-mcp-server"
args = ["--language", "rust", "--format", "json"]
prefix = "dev_"
description_prefix = "🛠️ Dev: "
description_suffix = " (development utilities)"

[server.env]
CARGO_HOME = "${CARGO_HOME}"
RUSTUP_HOME = "${RUSTUP_HOME}"
PATH = "${PATH}"