MCP JSON-RPC Server

remote-capable server

The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.

MCP JSON-RPC クライアントとサーバーの例

このリポジトリには、MCPに着想を得たJavaScriptで実装された、シンプルで初心者にも分かりやすいJSON-RPCクライアントとサーバーのサンプルが含まれています。このプロジェクトでは、外部依存関係を一切使用せずに、Node.jsの組み込みモジュールを用いた基本的な通信フローを実証しています。

概要

  • サーバー ( server.js ):
    • TCP ポート 4000 をリッスンします。
    • 2 つの JSON-RPC メソッドを実装します。
      • initialize : 基本機能オブジェクト (「エコー」ツールをアドバタイズ) を返します。
      • echo : クライアントから提供されたパラメータをエコーバックします。
  • クライアント ( client.js ):
    • ポート 4000 でサーバーに接続します。
    • initialize要求を送信し、その後にecho要求を送信します。
    • サーバーから受信した応答をログに記録します。

前提条件

  • システムにNode.jsがインストールされていること (v10 以降を推奨)。

はじめる

Smithery経由でインストール

Smithery経由で Claude Desktop 用の MCP JSON-RPC クライアントおよびサーバーの例を自動的にインストールするには:

npx -y @smithery/cli install @melvincarvalho/mcpjs --client claude

手動インストール

  1. リポジトリをクローンします。
    git clone https://github.com/sandy-mount/mcpjs.git cd mcp-jsonrpc-example
  2. サーバーを実行します。ターミナル ウィンドウを開いて、次を実行します。
    node server.js
    次のようなメッセージが表示されます。
    Server listening on port 4000
  3. クライアントを実行します。別のターミナル ウィンドウを開いて、次を実行します。
    node client.js
    クライアントはサーバーに接続し、初期化要求とエコー要求を送信し、応答を表示します。

仕組み

  • サーバーはポート 4000 で着信 TCP 接続をリッスンします。JSON-RPC メッセージ (それぞれ改行で終了) を受信すると、リクエストを処理します。
    • initializeメソッドでは、基本機能とサーバー情報を含む JSON-RPC 応答を返します。
    • echoメソッドの場合、リクエストで送信されたパラメータを返します。
    • 不明なメソッドが要求された場合は、JSON-RPC エラーで応答します。
  • クライアントはサーバーに接続し、JSON-RPCのinitializeリクエストを送信し、しばらく待機してからechoリクエストを送信します。サーバーからの応答はコンソールに表示されます。

ファイル

  • server.js — JSON-RPC サーバーの実装。
  • client.js — JSON-RPC クライアント実装。

カスタマイズ

この例は次のように拡張できます。

  • サーバーに JSON-RPC メソッドを追加します。
  • 追加のエラー処理とログ記録を実装します。
  • さまざまなトランスポート プロトコルを試したり、TLS サポートを追加したりします。

ライセンス

このプロジェクトはMITライセンスの下で提供されています。詳細はLICENSEファイルをご覧ください。

貢献

お気軽に問題を開いたり、改善点や提案を記載したプル リクエストを送信してください。


楽しいコーディングを!

-
security - not tested
A
license - permissive license
-
quality - not tested

Node.js で構築された、初心者に優しい MCP 風の JSON-RPC サーバー。「initialize」機能ハンドシェイクと「echo」関数を通じて基本的なクライアント サーバー インタラクションを提供します。

  1. Overview
    1. Prerequisites
      1. Getting Started
        1. Installing via Smithery
        2. Manual Installation
      2. How It Works
        1. Files
          1. Customization
            1. License
              1. Contributing
                ID: p33upo55dp