MCP JSON-RPC Server
MCP JSON-RPC クライアントとサーバーの例
このリポジトリには、MCPに着想を得たJavaScriptで実装された、シンプルで初心者にも分かりやすいJSON-RPCクライアントとサーバーのサンプルが含まれています。このプロジェクトでは、外部依存関係を一切使用せずに、Node.jsの組み込みモジュールを用いた基本的な通信フローを実証しています。
概要
サーバー (
server.js):TCP ポート 4000 をリッスンします。
2 つの JSON-RPC メソッドを実装します。
initialize: 基本機能オブジェクト (「エコー」ツールをアドバタイズ) を返します。echo: クライアントから提供されたパラメータをエコーバックします。
クライアント (
client.js):ポート 4000 でサーバーに接続します。
initialize要求を送信し、その後にecho要求を送信します。サーバーから受信した応答をログに記録します。
Related MCP server: Echo MCP Server
前提条件
システムにNode.jsがインストールされていること (v10 以降を推奨)。
はじめる
Smithery経由でインストール
Smithery経由で Claude Desktop 用の MCP JSON-RPC クライアントおよびサーバーの例を自動的にインストールするには:
npx -y @smithery/cli install @melvincarvalho/mcpjs --client claude手動インストール
リポジトリをクローンします。
git clone https://github.com/sandy-mount/mcpjs.git cd mcp-jsonrpc-exampleサーバーを実行します。
ターミナル ウィンドウを開いて、次を実行します。
node server.js次のようなメッセージが表示されます。
Server listening on port 4000クライアントを実行します。
別のターミナル ウィンドウを開いて、次を実行します。
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ファイルをご覧ください。
貢献
お気軽に問題を開いたり、改善点や提案を記載したプル リクエストを送信してください。
楽しいコーディングを!
This server cannot be deployed
Maintenance
Related MCP Connectors
MCP server for understanding Javascript internals from ECMAScript specification.
A simple MCP server built with FastMCP and python
Remote MCP server exposing your Node Command fleet (files, shell, processes, browser) to AI hosts.
1
Related MCP Servers
- AlicenseCqualityDmaintenanceA Node.js-based MCP server implementing JSON-RPC 2.0, allowing users to generate random US State and signature soup combinations through a fun and simple tool.129 npm1ISC
- FlicenseNot gradedqualityDmaintenanceA simple demonstration MCP server that provides an echo tool and resource for learning how to build MCP servers. Serves as a starting point and template for creating custom MCP server implementations.1-
- FlicenseNot gradedqualityDmaintenanceA Model Context Protocol (MCP) server designed for learning and experimentation. It provides a foundational setup for developers to build, run, and debug MCP server implementations using Node.js.-
- FlicenseNot gradedqualityDmaintenanceAn educational MCP server that teaches implementing the Model Context Protocol from scratch, enabling AI models to discover and invoke tools via JSON-RPC over stdio.-