Skip to main content
Glama
sp-acc

my-mcp-server

by sp-acc

my-mcp-server

TypeScript で MCP (Model Context Protocol) サーバーを構築するためのプレイグラウンド兼実験プロジェクトです。stdio トランスポートを介して AI エージェントや言語モデルにツールとリソースを公開する方法を示します。

このサーバーは、シンプルなユーザーデータベース(ローカル JSON ファイルでバックアップ)を管理し、AI エージェントがユーザーレコードを読み取ったり作成したりするために呼び出せるエンドポイントを公開します。


特徴

  • ツール — my-create-tool: name、address、email、phone フィールドを受け取り、レコードを src/users.json に永続化して新しいユーザーを作成します。

  • リソース — users://all: モックデータベースからユーザーの完全なリストを JSON として返します。

  • リソース — users://{userId}/profile: userId で識別される単一ユーザーのプロフィールを返します。


Related MCP server: FastMCP Example Server

前提条件


インストール

npm install

サーバーの実行

開発モード(tsx を使用、ビルドステップなし)

npm run server:dev

コンパイル済み出力のビルドと実行

npm run server:build   # compiles TypeScript → JavaScript
node dist/server.js    # run the compiled server

ウォッチモード(変更時に自動再コンパイル)

npm run server:build:watch

MCP Inspector UI で検査

MCP Inspector を使用すると、ブラウザ UI でツールを対話的に呼び出し、リソースを閲覧できます。

npm run server:inspect

注: server:inspect は DANGEROUSLY_OMIT_AUTH=true を設定します。これはローカル開発専用です。


エージェント環境での MCP サーバーの読み込み

エージェント CLI(例: Claude Code CLI)

.mcp.json が存在すると、エージェントがそれを検出してサーバーの読み込みを促します。それ以外の場合は、他のサーバーと一緒に設定に追加する必要がある単純な MCP サーバー設定です。


プロジェクト構造

my-mcp-server/
├── src/
│   ├── server.ts      # MCP server entry point (tools & resources)
│   └── users.json     # Mock user database (read/written at runtime)
├── package.json
└── tsconfig.json

技術スタック

パッケージ

役割

@modelcontextprotocol/sdk

MCP サーバー SDK(ツール、リソース、stdio トランスポート)

zod

ツールの入力スキーマ検証

tsx

ビルドステップなしで TypeScript を直接実行

typescript

TypeScript コンパイラ

@modelcontextprotocol/inspector

ブラウザベースの MCP デバッグ UI


ライセンス

ISC

Related MCP Connectors

Related MCP Servers