mcp-proxy

MCP Proxy Serverは、複数のMCPリソースサーバーを単一のHTTPサーバーを通じて集約し、提供するプロキシサーバーです。リアルタイム更新を提供するSSEやHTTPストリーミングインターフェースをサポートし、柔軟な設定が可能です。これにより、異なるクライアントタイプに対応し、効率的なワークフローを実現します。

GitHubスター

514

ユーザー評価

未評価

お気に入り

0

閲覧数

9

フォーク

61

イシュー

9

インストール方法
難易度
中級
推定所要時間
10-20
必要な環境
Go: 1.16以上

インストール方法

インストール方法

前提条件

必要なソフトウェアとバージョンを明記してください。
Go: 1.16以上

インストール手順

1. リポジトリのクローン

bash
git clone https://github.com/TBXark/mcp-proxy.git
cd mcp-proxy

2. ビルド

bash
make build
./build/mcp-proxy --config path/to/config.json

3. Goを使用したインストール

bash

最新版のmcp-proxyをインストール

go install github.com/TBXark/mcp-proxy@latest

安定版をインストール

go install github.com/TBXark/mcp-proxy

4. Dockerを使用したインストール

bash
docker run -d -p 9090:9090 -v /path/to/config.json:/config/config.json ghcr.io/tbxark/mcp-proxy:latest

または

docker run -d -p 9090:9090 ghcr.io/tbxark/mcp-proxy:latest --config https://example.com/path/to/config.json

設定方法

設定方法

基本設定

サーバーはJSONファイルを使用して設定されます。以下は設定ファイルの例です。
jsonc
{
  "mcpProxy": {
    "baseURL": "https://mcp.example.com",
    "addr": ":9090",
    "name": "MCP Proxy",
    "version": "1.0.0",
    "type": "streamable-http",
    "options": {
      "panicIfInvalid": false,
      "logEnabled": true,
      "authTokens": [
        "DefaultTokens"
      ]
    }
  },
  "mcpServers": {
    "github": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-github"
      ],
      "env": {
        "GITHUB_PERSONAL_ACCESS_TOKEN": ""
      },
      "options": {
        "toolFilter": {
          "mode": "block",
          "list": [
            "create_or_update_file"
          ]
        }
      }
    },
    "fetch": {
      "command": "uvx",
      "args": [
        "mcp-server-fetch"
      ],
      "options": {
        "panicIfInvalid": true,
        "logEnabled": false,
        "authTokens": [
          "SpecificTokens"
        ]
      }
    },
    "amap": {
      "url": "https://mcp.amap.com/sse?key="
    }
  }
}

使用例

使用例

基本的な使用方法

MCPサーバーの基本的な使用方法を以下に示します:

プログラムでの使用

javascript
// JavaScript例(Node.js)
const { MCPClient } = require('@modelcontextprotocol/client');

const client = new MCPClient();
await client.connect();

// ツールの実行
const result = await client.callTool('toolName', {
  parameter1: 'value1',
  parameter2: 'value2'
});

console.log(result);

自動化スクリプト

bash
#!/bin/bash

バッチ処理の例

for file in *.txt; do mcp-tool process "$file" done

API統合

python

Python例

import requests import json def call_mcp_tool(tool_name, params): response = requests.post( 'http://localhost:3000/mcp/call', json={ 'tool': tool_name, 'parameters': params } ) return response.json()

使用例

result = call_mcp_tool('analyze', { 'input': 'sample data', 'options': {'format': 'json'} })

使用ケース

複数のMCPリソースサーバーを一元管理するためのプロキシサーバーとしての利用
リアルタイムデータを必要とするアプリケーションでの使用
異なるクライアントタイプを持つMCPクライアントとの統合
開発環境でのMCPサーバーのテストとデバッグ