AM

adamwattis/mcp-proxy-server

Developer tools

Эта страница переведена автоматически. Технические детали смотрите в оригинале. Открыть оригинал

202 stars 44 forks Качество 68 Тренд 17MIT

adamwattis/mcp-proxy-server — это кандидат на MCP-сервер, импортированный из https://github.com/adamwattis/mcp-proxy-server.

Обзор

adamwattis/mcp-proxy-server — это кандидат на MCP-сервер, импортированный из https://github.com/adamwattis/mcp-proxy-server.

Обзор (машинный перевод)

MCP-прокси-сервер, который агрегирует и обслуживает несколько ресурсных серверов MCP через один интерфейс. Этот сервер выступает в роли центрального хаба, который может:

  • Подключение и управление несколькими ресурсными серверами MCP
  • Раскрывать их объединённые возможности через унифицированный интерфейс
  • Обработка маршрутизации запросов к соответствующим серверам
  • Агрегированные ответы из нескольких источников

Особенности

Управление ресурсами

  • Обнаружение и подключение к нескольким серверам ресурсов MCP
  • Агрегировать ресурсы со всех подключённых серверов
  • Поддерживать согласованные схемы URI на всех серверах
  • Обработка маршрутизации и разрешения ресурсов

Агрегация инструментов

  • Отображать инструменты со всех подключённых серверов
  • Маршрутизация вызовов инструментов на соответствующие серверы
  • Поддержание состояния инструмента и обработка ответов

Оперативная обработка

  • Агрегировать запросы со всех подключённых серверов
  • Маршрутизация запросов на соответствующие бэкенды
  • Обработка многосерверных ответов на запросы

Конфигурация

Сервер требует конфигурационного файла JSON, который указывает MCP-серверы для подключения. Скопируйте пример конфигурации и измените его под свои нужды:

Пример конфигурационной структуры:

Конфигурационный файл должен быть предоставлен при запуске сервера:

Развитие

Эта страница переведена автоматически. Технические детали смотрите в оригинале.

README

MCP Proxy Server

An MCP proxy server that aggregates and serves multiple MCP resource servers through a single interface. This server acts as a central hub that can:

  • Connect to and manage multiple MCP resource servers
  • Expose their combined capabilities through a unified interface
  • Handle routing of requests to appropriate backend servers
  • Aggregate responses from multiple sources

Features

Resource Management

  • Discover and connect to multiple MCP resource servers
  • Aggregate resources from all connected servers
  • Maintain consistent URI schemes across servers
  • Handle resource routing and resolution

Tool Aggregation

  • Expose tools from all connected servers
  • Route tool calls to appropriate backend servers
  • Maintain tool state and handle responses

Prompt Handling

  • Aggregate prompts from all connected servers
  • Route prompt requests to appropriate backends
  • Handle multi-server prompt responses

Configuration

The server requires a JSON configuration file that specifies the MCP servers to connect to. Copy the example config and modify it for your needs:

cp config.example.json config.json

Example config structure:

{
  "servers": [
    {
      "name": "Server 1",
      "transport": {
        "command": "/path/to/server1/build/index.js"
      }
    },
    {
      "name": "Server 2",
      "transport": {
        "command": "server2-command",
        "args": ["--option1", "value1"],
        "env": ["SECRET_API_KEY"]
      }
    },
    {
      "name": "Example Server 3",
      "transport": {
        "type": "sse",
        "url": "http://localhost:8080/sse"
      }
    }
  ]
}

The config file must be provided when running the server:

MCP_CONFIG_PATH=./config.json mcp-proxy-server

Development

Install dependencies:

npm install

Build the server:

npm run build

For development with auto-rebuild:

npm run watch

For development with continuous run:

# Stdio
npm run dev
# SSE
npm run dev:sse

Installation

To use with Claude Desktop, add the server config:

On MacOS: ~/Library/Application Support/Claude/claude_desktop_config.json On Windows: %APPDATA%/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "mcp-proxy": {
      "command": "/path/to/mcp-proxy-server/build/index.js",
      "env": {
        "MCP_CONFIG_PATH": "/absolute/path/to/your/config.json",
        "KEEP_SERVER_OPEN": "1"
      }
    }
  }
}
  • KEEP_SERVER_OPEN will keep the SSE running even if a client disconnects. Useful when multiple clients connects to the MCP proxy.

Debugging

Since MCP servers communicate over stdio, debugging can be challenging. We recommend using the MCP Inspector, which is available as a package script:

npm run inspector

The Inspector will provide a URL to access debugging tools in your browser.

Открыть полный README на GitHub

Установка

This server does not publish a one-line install command.

Open the repository installation guide Новичок в MCP? Начните с руководства на mcpskill.org →

Конфигурация

{ "mcpServers": { "mcp-proxy": { "command": "/path/to/mcp-proxy-server/build/index.js", "env": { "MCP_CONFIG_PATH": "/absolute/path/to/your/config.json", "KEEP_SERVER_OPEN": "1" } } } }