mcpField
M
MCP Connector

MCP Connector

ローカル
github.com/TypingMindAI・エージェント3729 週間前に更新

MCP Connector について

MCP Connector は、複数の MCP サーバーを実行・管理する軽量サーバーで、TypingMind との連携を想定しています。ローカルPCやリモートサーバーで動作し、REST API を通じて利用できます。

主な機能

  1. 01REST API による複数クライアントの起動と管理
  2. 02Bearer トークンによる認証
  3. 03証明書ファイルによる HTTPS 設定
  4. 04ツール呼び出しのタイムアウト設定
  5. 05fetch リクエストを中継するプロキシエンドポイント

活用シーン

  1. 01ローカルPCで MCP サーバーを実行し TypingMind に接続
  2. 02リモートサーバーで MCP サーバーを常時稼働
  3. 03Docker を使ったコネクターのデプロイ

MCP 対応

本プロジェクトは MCP サーバーの実行・管理層として動作し、/start や /clients で起動・一覧取得・停止を行い、/clients/:id/call_tools でツールを呼び出します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"typingmind": {
"command": "npx",
"args": [
"-y",
"@typingmind/mcp"
]
}
}
}
起動コマンドnpx -y @typingmind/mcp

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npm@typingmind/mcp

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

MCP Connector

MCP Connectorは、複数のModel Context Protocol(MCP)サーバーを実行、管理できる軽量サーバーで、TypingMindとの連携を目的として設計されています。ローカルコンピューターまたはリモートサーバーでMCPサーバーを簡単に実行でき、シンプルなREST APIを通じて、カスタムAIモデルやツールをTypingMindに接続できます。


ローカルデバイスでの実行方法

npxを使って、MCP Connectorをすぐに起動できます(インストール不要です)。

npx @typingmind/mcp@latest <auth-token>
  • <auth-token>を、TypingMindから提供された認証トークンに置き換えてください。

認証トークンは、環境変数を使って指定することもできます。

MCP_AUTH_TOKEN=<auth-token> npx @typingmind/mcp@latest

TypingMindを使用している間は、プロセスを実行したままにしてください。

HTTPSのサポート

HTTPSを有効にするには、次の環境変数を設定してください。

CERTFILE=./path/to/certificate.crt KEYFILE=./path/to/privatekey.key npx @typingmind/mcp@latest <auth-token>
  • CERTFILE:SSL証明書ファイルのパス
  • KEYFILE:SSL秘密鍵ファイルのパス

両方の変数を設定すると、サーバーはHTTPではなくHTTPSを使用します。


サーバーでの実行方法

MCP Connectorをリモートサーバーで実行する場合は、次の手順に従ってください。

  1. Node.jsをインストールします(バージョン14以降)。

  2. npxを使ってサーバーを実行します。

    npx @typingmind/mcp@latest <auth-token>
    

    HTTPSで実行するには、次のようにします。

    CERTFILE=./path/to/certificate.crt KEYFILE=./path/to/privatekey.key npx @typingmind/mcp@latest <auth-token>
    

    または、プロセスを継続的に実行する場合(例:SSH接続を閉じた後も実行する場合)は、pm2やscreen/tmuxなどのプロセスマネージャーを使用できます。

    pm2 start npx -- @typingmind/mcp@latest <auth-token>
    

Dockerでの実行方法

Dockerを使ってMCP Connectorを実行することもできます。

  1. Dockerイメージをビルドします: プロジェクトのルートディレクトリ(Dockerfileがある場所)に移動し、次のコマンドを実行します。

    docker build -t mcp-connector .
    

    (イメージタグは、mcp-connectorを任意の名前に置き換えることができます。)

  2. Dockerコンテナを実行します:

    • 基本的な実行(HTTP): <auth-token>を実際のトークンに置き換えてください。このコマンドはコンテナをデタッチモード(-d)で実行し、コンテナのデフォルトポート50880をホストマシンの同じポートにマッピングします。

      docker run -d -p 50880:50880 --name mcp-connector-instance mcp-connector <auth-token>
      
    • 別のポートを使用する場合: 異なるポートを使用する必要がある場合(例:ホスト側の8080をコンテナ内の12345にマッピングする場合)は、マッピングに-pフラグを、環境変数に-e PORTを使用します。

      docker run -d -p 8080:12345 -e PORT=12345 --name mcp-connector-instance mcp-connector <auth-token>
      
    • HTTPSで実行する場合: HTTPSを有効にするには、証明書ファイルと鍵ファイルを指定し、CERTFILEとKEYFILEの環境変数を設定する必要があります。ホストの証明書ファイルをコンテナにマウントし(例:/certsディレクトリ内)、環境変数でそのパスを指定してください。適切なポートをマッピングすることも忘れないでください。

      docker run -d \
        -p 50880:50880 \
        -e PORT=50880 \
        -e CERTFILE=/certs/certificate.crt \
        -e KEYFILE=/certs/privatekey.key \
        -v /path/to/your/certificate.crt:/certs/certificate.crt:ro \
        -v /path/to/your/privatekey.key:/certs/privatekey.key:ro \
        --name mcp-connector-instance \
        mcp-connector <auth-token>
      

      (/path/to/your/certificate.crtと/path/to/your/privatekey.keyは、ホストマシン上の実際のパスに置き換えてください。:roフラグを指定すると、読み取り専用としてマウントされます。)

    • ログの表示: 実行中のコンテナのログを確認するには、次のコマンドを実行します。

      docker logs mcp-connector-instance
      
    • コンテナの停止:

      docker stop mcp-connector-instance
      
    • コンテナの削除:

      docker rm mcp-connector-instance
      

TypingMind への接続方法

MCP Connector を TypingMind に接続するには、次の手順に従います。

  1. www.typingmind.com/mcp の手順に従います。
  2. MCP Connector サーバーのアドレス(http://localhost:<port> またはサーバーの IP アドレスとポート)と認証トークンを、TypingMind の MCP 統合ページに貼り付けます。

ツール呼び出しのタイムアウト設定

TIMEOUT 環境変数を使用すると、ツール呼び出しのカスタムタイムアウト(ミリ秒単位)を設定できます。

# Set timeout to 2 minutes (120000ms)
TIMEOUT=120000 npx @typingmind/mcp@latest <auth-token>

# Or combine with auth token environment variable
TIMEOUT=120000 MCP_AUTH_TOKEN=<auth-token> npx @typingmind/mcp@latest

# Default timeout is 60 seconds (60000ms) if not specified
npx @typingmind/mcp@latest <auth-token>

REST API エンドポイント

すべての API エンドポイントでは、サーバーの起動時に指定した Bearer トークンによる認証が必要です。

エンドポイントメソッド説明
/pingGETヘルスチェック。{ status: "ok" } を返します
/startPOST1 つ以上の MCP クライアントを起動します。本文:{ mcpServers: { ... } }
/restart/:idPOST特定のクライアントを再起動します
/clientsGET実行中のすべての MCP クライアントとそのツールを一覧表示します
/clients/:idGET特定のクライアントに関する情報を取得します
/clients/:id/toolsGETクライアントで利用可能なツールを一覧表示します
/clients/:id/call_toolsPOSTクライアントのツールを呼び出します。本文:{ name, arguments }
/clients/:idDELETEクライアントを停止して削除します
/mcp-connectPOSTfetch リクエストをプロキシします。本文:{ url, options? }

注意:

  • すべてのリクエストに Authorization: Bearer <auth-token> ヘッダーが必要です。
  • 利用可能なポート:サーバーはポート 50880 または 50881 を選択します。システムでこれらのポートが利用可能であることを確認してください。PORT 環境変数を使用して、別のポートを指定することもできます。
/mcp-connect エンドポイント

/mcp-connect エンドポイントは fetch リクエストのプロキシとして機能し、MCP Connector サーバー経由で HTTP リクエストを実行できます。リモート MCP サーバーへの接続や、クロスオリジンリクエストに便利です。

リクエスト本文:

  • url(必須):取得する URL
  • options(任意):Fetch オプションオブジェクト(メソッド、ヘッダー、本文など)

レスポンス:

  • このエンドポイントは、ステータスコード、ヘッダー、本文を含む、対象 URL からのレスポンスをストリーミングします
  • デコードの問題を防ぐため、一部のヘッダー(Content-Encoding、Content-Length、Transfer-Encoding、CORS ヘッダー)は除外されます
  • CORS との互換性のため、プロキシされたすべてのヘッダーは Access-Control-Expose-Headers 経由で公開されます

例:

curl -X POST http://localhost:50880/mcp-connect \
  -H "Authorization: Bearer <auth-token>" \
  -H "Content-Type: application/json" \
  -d '{
    "url": "https://example.com/api/endpoint",
    "options": {
      "method": "POST",
      "headers": {
        "Content-Type": "application/json"
      },
      "body": "{\"key\": \"value\"}"
    }
  }'

ライセンス

MIT

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。