MCP Sample Server
シンプルなModel Context Protocol (MCP)サーバーのサンプル実装です。
関連プロジェクト
- MCPクライアント: このサーバーと対話するための自然言語クライアント
- OpenAI APIを使用して自然言語でMCPツールを実行
- GitHubリポジトリ: yukinaka/mcp-client
- ローカルパス:
../mcp-client/
機能
このMCPサーバーは以下の機能を提供します:
ツール
-
get_current_time - 現在の時刻を取得
- パラメータ:
timezone(オプション) - タイムゾーン(例: Asia/Tokyo, UTC)
- パラメータ:
-
calculate - 簡単な計算を実行
- パラメータ:
operation- 演算の種類(add, subtract, multiply, divide)a- 最初の数値b- 2番目の数値
- パラメータ:
リソース
- サンプルノートへのアクセス(
note:///welcome,note:///example)
インストール
前提条件
- Node.js (v18以上)
- npm または yarn
ローカル開発
# リポジトリをクローン
git clone https://github.com/yukinaka/mcp-sample-server.git
cd mcp-sample-server
# 依存関係をインストール
npm install
# ビルド
npm run build
npmパッケージとしてインストール(公開後)
npm install -g @odenalexbs/mcp-sample-server
使い方
MCPクライアントで使用する(推奨)
このサーバーには、OpenAI APIを使用した自然言語クライアントが付属しています。
cd ../mcp-client
npm install
npm start
詳細はmcp-client/README.mdを参照してください。
Claude Codeで使用する
.claude/settings.local.json に以下の設定を追加します:
開発版(ローカル)を使用する場合
{
"mcpServers": {
"sample": {
"command": "node",
"args": ["/path/to/mcp-sample-server/dist/index.js"]
}
}
}
GitHubから直接使用する場合
{
"mcpServers": {
"sample": {
"command": "npx",
"args": ["-y", "github:yukinaka/mcp-sample-server"]
}
}
}
npmパッケージとして使用する場合(公開後)
{
"mcpServers": {
"sample": {
"command": "npx",
"args": ["-y", "@odenalexbs/mcp-sample-server"]
}
}
}
他のMCPクライアントで使用する
Claude Desktop等の他のMCPクライアントでも同様に設定できます。クライアントの設定ファイルに上記のような設定を追加してください。
開発
ウォッチモード
npm run watch
テスト実行
# サーバーを直接実行してテスト
npm run build
npm start
GitHub公開手順
- GitHubで新しいリポジトリを作成
- ローカルでGitリポジトリを初期化:
git init
git add .
git commit -m "Initial commit: MCP sample server"
git branch -M main
git remote add origin https://github.com/yukinaka/mcp-sample-server.git
git push -u origin main
- (オプション)npmに公開:
npm login
npm publish
カスタマイズ
このサンプルをベースに、独自のツールやリソースを追加できます:
src/index.tsのtools配列に新しいツールを追加CallToolRequestSchemaハンドラーに実装を追加- リソースを追加する場合は
resources関連のハンドラーを修正
ライセンス
MIT
