mcpField
M
mcp-builder

mcp-builder

github.com/moizibnyousafエージェントワークフロー1.2k117 回インストール6 週間前に更新
リポジトリ

mcp-builder について

LLM がツールを通じて外部サービスを利用できる MCP サーバーを開発するためのガイドスキルです。設計、実装、テスト、評価を扱い、TypeScript と Python の手順も紹介します。

主な機能

  1. 01目的に沿った MCP ツール設計
  2. 02プロトコルとトランスポートの選択
  3. 03サーバー実装の構成
  4. 04TypeScript と Python プロジェクトのテスト
  5. 05実践的なサーバー評価の作成

活用シーン

  1. 01外部サービス連携ツールの設計
  2. 02新しい MCP サーバープロジェクトの構築
  3. 03実際的な質問による動作テスト

MCP 対応

MCP クライアントにツールを提供する MCP サーバーの開発を案内します。ツールスキーマ、トランスポートの選択、テスト、評価に関する指針を含みます。

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/moizibnyousaf/ai-agent-skills --skill mcp-builder

インストール後、Claude Code で/mcp-builderを入力して読み込まれたか確認します。

詳細

MCP サーバー開発ガイド

適切に設計されたツールを通じて、LLM が外部サービスを利用できるようにする MCP サーバーを作成します。

大まかなワークフロー

フェーズ 1:調査と計画

最新の MCP 設計を理解する:

  • API を網羅することと、特定のワークフローに特化したツールを用意することのバランスを取ります
  • 一貫したプレフィックスを使い、明確で説明的なツール名を付けます(例:github_create_issue)
  • 焦点を絞った、関連性の高いデータを返すツールを設計します
  • 実行可能なエラーメッセージを提供します

MCP プロトコルを調べる:

  • サイトマップから始めます:https://modelcontextprotocol.io/sitemap.xml
  • 主要なページ:仕様、トランスポートの仕組み、ツールの定義
フェーズ 2:実装

推奨スタック:

  • 言語:TypeScript(SDK のサポートが最も充実)
  • トランスポート:リモートには Streamable HTTP、ローカルには stdio

プロジェクト構成:

my-mcp-server/
├── src/
│   ├── index.ts      # Server entry point
│   ├── tools/        # Tool implementations
│   └── utils/        # Shared utilities
├── package.json
└── tsconfig.json

ツール実装パターン:

server.registerTool({
  name: "github_create_issue",
  description: "Create a new GitHub issue",
  inputSchema: z.object({
    repo: z.string().describe("Repository name (owner/repo)"),
    title: z.string().describe("Issue title"),
    body: z.string().optional().describe("Issue body")
  }),
  outputSchema: z.object({
    id: z.number(),
    url: z.string()
  }),
  annotations: {
    readOnlyHint: false,
    destructiveHint: false,
    idempotentHint: false
  },
  handler: async (input) => {
    // Implementation
    return { id: 123, url: "https://..." };
  }
});
フェーズ 3:テスト
# TypeScript
npm run build
npx @modelcontextprotocol/inspector

# Python
python -m py_compile your_server.py
フェーズ 4:評価の作成

MCP サーバーをテストするため、複雑で現実的な質問を 10 個作成します。

<evaluation>
  <qa_pair>
    <question>Find all open issues labeled 'bug' in the repo</question>
    <answer>5</answer>
  </qa_pair>
</evaluation>

ツール設計のベストプラクティス

  • スキーマには Zod(TS)または Pydantic(Python)を使用します
  • フィールドの説明に制約と例を含めます
  • 構造化データには outputSchema を定義します
  • 該当する場合はページネーションをサポートします
  • ツールアノテーション(readOnly、destructive、idempotent)を追加します

コメント