本文へ移動
cccskills
無料GitHub で公開日本語紹介

mcp-builder

外部サービスのAPIをAIエージェントから扱うMCPサーバーの設計・実装を支援します。PythonのFastMCPやNode/TypeScriptのSDKを使い、ツール、認証、エラー処理、ページネーションを整える手順を案内します。

原文原文の説明を見る

Guide for creating high-quality MCP (Model Context Protocol) servers that enable LLMs to interact with external services through well-designed tools. Use when building MCP servers to integrate external APIs or services, whether in Python (FastMCP) or Node/TypeScript (MCP SDK).

dp-archive/archiveスター 1,107(GitHub 1,107 + cccskills 0)

実行スコア 未検証

インストール方法を見る

こんなときに便利

  • 外部API連携用のMCPサーバーを作りたいとき
  • MCPツールの設計とスキーマを決めたいとき
  • PythonやTypeScriptで実装・登録したいとき

日本語での紹介

できること

外部サービスのAPIをAIエージェントから利用するためのMCP(Model Context Protocol)サーバーを、調査・設計から実装、テスト、設定登録まで順に組み立てる手引きです。APIの認証方式やデータ構造を確認し、エージェントが見つけやすいツール名、入力・出力スキーマ、ページネーション、実行可能なエラー案内を設計します。PythonのFastMCPとNode/TypeScriptのSDKそれぞれについて、プロジェクト構成やツール実装の参考資料を案内します。実装後はビルドやMCP Inspectorで確認し、設定ファイルへサーバー情報を登録する流れも扱います。

こんなときに便利

社内外のAPIをエージェントから操作できるようにしたい開発者や、MCPサーバーのツール設計から登録までを一通り進めたい人に向いています。評価用の質問を作り、複数ツールを使う現実的なタスクで有効性を確かめる方法も含まれます。

使い方の例

  • 「このサービスのAPIを使うMCPサーバーの設計を手伝ってください」
  • 「Pythonで認証とページネーションに対応するツールを実装してください」
  • 「TypeScriptのMCPサーバーをテストし、設定へ登録してください」

注意点

MCPの仕様や対象API、SDKのドキュメントを参照して進めます。手順にはWebFetchやWeb検索による資料確認、TypeScriptではnpm run buildとMCP Inspector、Pythonでは構文確認が含まれます。設定登録にはプロジェクトのconfig/mcp.jsonが必要です。ライセンス条件はLICENSE.txtを参照してください。

この紹介文は、公開されている SKILL.md をもとに AI(OpenAI Codex)が作成しました。正確な仕様は下の原文を確認してください。

含まれるファイル(11)

  • SKILL.md11.5 KB
  • LICENSE.txt11.1 KB
  • reference/evaluation.md21.2 KB
  • reference/mcp_best_practices.md7.2 KB
  • reference/node_mcp_server.md27.9 KB
  • reference/python_mcp_server.md24.5 KB
  • reference/skills-api-integration.md6.3 KB
  • scripts/connections.py4.8 KB
  • scripts/evaluation.py12.3 KB
  • scripts/example_evaluation.xml1.2 KB
  • scripts/requirements.txt29 B

SKILL.md(原文)

インストールする前に、エージェントに与えられる指示の中身を確認できます。

MCP Server Development Guide

Overview

Create MCP (Model Context Protocol) servers that enable LLMs to interact with external services through well-designed tools. The quality of an MCP server is measured by how well it enables LLMs to accomplish real-world tasks.


Process

🚀 High-Level Workflow

Creating a high-quality MCP server involves four main phases:

Phase 1: Deep Research and Planning

1.1 Understand Modern MCP Design

API Coverage vs. Workflow Tools: Balance comprehensive API endpoint coverage with specialized workflow tools. Workflow tools can be more convenient for specific tasks, while comprehensive coverage gives agents flexibility to compose operations. Performance varies by client—some clients benefit from code execution that combines basic tools, while others work better with higher-level workflows. When uncertain, prioritize comprehensive API coverage.

Tool Naming and Discoverability: Clear, descriptive tool names help agents find the right tools quickly. Use consistent prefixes (e.g., github_create_issue, github_list_repos) and action-oriented naming.

Context Management: Agents benefit from concise tool descriptions and the ability to filter/paginate results. Design tools that return focused, relevant data. Some clients support code execution which can help agents filter and process data efficiently.

Actionable Error Messages: Error messages should guide agents toward solutions with specific suggestions and next steps.

1.2 Study MCP Protocol Documentation

Navigate the MCP specification:

Start with the sitemap to find relevant pages: https://modelcontextprotocol.io/sitemap.xml

Then fetch specific pages with .md suffix for markdown format (e.g., https://modelcontextprotocol.io/specification/draft.md).

Key pages to review:

  • Specification overview and architecture
  • Transport mechanisms (streamable HTTP, stdio)
  • Tool, resource, and prompt definitions

1.3 Study Framework Documentation

Recommended stack:

  • Language: TypeScript (high-quality SDK support and good compatibility in many execution environments e.g. MCPB. Plus AI models are good at generating TypeScript code, benefiting from its broad usage, static typing and good linting tools)
  • Transport: Streamable HTTP for remote servers, using stateless JSON (simpler to scale and maintain, as opposed to stateful sessions and streaming responses). stdio for local servers.

Load framework documentation:

For TypeScript (recommended):

  • TypeScript SDK: Use WebFetch to load https://raw.githubusercontent.com/modelcontextprotocol/typescript-sdk/main/README.md
  • ⚡ TypeScript Guide - TypeScript patterns and examples

For Python:

  • Python SDK: Use WebFetch to load https://raw.githubusercontent.com/modelcontextprotocol/python-sdk/main/README.md
  • 🐍 Python Guide - Python patterns and examples

1.4 Plan Your Implementation

Understand the API: Review the service's API documentation to identify key endpoints, authentication requirements, and data models. Use web search and WebFetch as needed.

Tool Selection: Prioritize comprehensive API coverage. List endpoints to implement, starting with the most common operations.


Phase 2: Implementation

2.1 Set Up Project Structure

See language-specific guides for project setup:

2.2 Implement Core Infrastructure

Create shared utilities:

  • API client with authentication
  • Error handling helpers
  • Response formatting (JSON/Markdown)
  • Pagination support

2.3 Implement Tools

For each tool:

Input Schema:

  • Use Zod (TypeScript) or Pydantic (Python)
  • Include constraints and clear descriptions
  • Add examples in field descriptions

Output Schema:

  • Define outputSchema where possible for structured data
  • Use structuredContent in tool responses (TypeScript SDK feature)
  • Helps clients understand and process tool outputs

Tool Description:

  • Concise summary of functionality
  • Parameter descriptions
  • Return type schema

Implementation:

  • Async/await for I/O operations
  • Proper error handling with actionable messages
  • Support pagination where applicable
  • Return both text content and structured data when using modern SDKs

Annotations:

  • readOnlyHint: true/false
  • destructiveHint: true/false
  • idempotentHint: true/false
  • openWorldHint: true/false

Phase 3: Review and Test

3.1 Code Quality

Review for:

  • No duplicated code (DRY principle)
  • Consistent error handling
  • Full type coverage
  • Clear tool descriptions

3.2 Build and Test

TypeScript:

  • Run npm run build to verify compilation
  • Test with MCP Inspector: npx @modelcontextprotocol/inspector

Python:

  • Verify syntax: python -m py_compile your_server.py
  • Test with MCP Inspector

See language-specific guides for detailed testing approaches and quality checklists.


Phase 4: Register MCP Server (REQUIRED)

After building and testing, you MUST register the MCP server in the project configuration to make it available for use.

4.1 Generate Configuration Entry

Based on the tools you implemented, generate a configuration entry for config/mcp.json:

{
  "server-name": {
    "name": "Display Name",
    "description": "Description for Agent to understand when to use this server",
    "command": "node",
    "args": ["./server-directory/dist/index.js"],
    "env": {},
    "defaultEnabled": false,
    "tools": [
      {
        "name": "tool_name",
        "description": "Tool description",
        "inputSchema": {
          "type": "object",
          "properties": {
            "param1": {
              "type": "string",
              "description": "Parameter description"
            }
          },
          "required": ["param1"]
        }
      }
    ]
  }
}

4.2 Update config/mcp.json

  1. Read the current config: Use read to read config/mcp.json
  2. Add your server entry: Insert your server configuration into the mcpServers object
  3. Write the updated config: Use bash with a heredoc to write the complete updated JSON

Example command to update config:

cat > config/mcp.json << 'EOF'
{
  "mcpServers": {
    ... existing servers ...
    "your-server": {
      ... your config ...
    }
  }
}
EOF

4.3 Configuration Guidelines

  • server-name: Use kebab-case (e.g., calculator, weather-api)
  • name: Human-readable display name
  • description: Clear description of what the server does (Agent uses this to decide when to use it)
  • command: Usually node for TypeScript, python or uvx for Python
  • args: Path to the compiled entry point (e.g., ["./my-server/dist/index.js"])
  • env: Environment variables, use ${VAR_NAME} syntax for secrets
  • defaultEnabled: Set to true if this should be enabled by default
  • tools: Array of tool definitions matching your implementation

4.4 Notify User

After updating the config, inform the user:

✅ MCP Server registered in config/mcp.json

To activate the new server:
1. If running in Docker: `docker compose restart api`
2. If running locally: Restart the API server

Then you can select "{Display Name}" in Agent Chat to use the new tools.

Phase 5: Create Evaluations (Optional)

After implementing your MCP server, you can create evaluations to test its effectiveness.

Load ✅ Evaluation Guide for complete evaluation guidelines.

5.1 Understand Evaluation Purpose

Use evaluations to test whether LLMs can effectively use your MCP server to answer realistic, complex questions.

5.2 Create 10 Evaluation Questions

To create effective evaluations, follow the process outlined in the evaluation guide:

  1. Tool Inspection: List available tools and understand their capabilities
  2. Content Exploration: Use READ-ONLY operations to explore available data
  3. Question Generation: Create 10 complex, realistic questions
  4. Answer Verification: Solve each question yourself to verify answers

5.3 Evaluation Requirements

Ensure each question is:

  • Independent: Not dependent on other questions
  • Read-only: Only non-destructive operations required
  • Complex: Requiring multiple tool calls and deep exploration
  • Realistic: Based on real use cases humans would care about
  • Verifiable: Single, clear answer that can be verified by string comparison
  • Stable: Answer won't change over time

5.4 Output Format

Create an XML file with this structure:

<evaluation>
  <qa_pair>
    <question>Find discussions about AI model launches with animal codenames. One model needed a specific safety designation that uses the format ASL-X. What number X was being determined for the model named after a spotted wild cat?</question>
    <answer>3</answer>
  </qa_pair>
<!-- More qa_pairs... -->
</evaluation>

Reference Files

📚 Documentation Library

Load these resources as needed during development:

Skills API Integration (Load First for This Project)

  • 🔌 Skills API Integration Guide - Required for this project:
    • config/mcp.json configuration format
    • stdio transport requirement
    • Environment variables setup
    • Integration checklist
    • Debugging tips

Core MCP Documentation

  • MCP Protocol: Start with sitemap at https://modelcontextprotocol.io/sitemap.xml, then fetch specific pages with .md suffix
  • 📋 MCP Best Practices - Universal MCP guidelines including:
    • Server and tool naming conventions
    • Response format guidelines (JSON vs Markdown)
    • Pagination best practices
    • Transport selection (streamable HTTP vs stdio)
    • Security and error handling standards

SDK Documentation (Load During Phase 1/2)

  • Python SDK: Fetch from https://raw.githubusercontent.com/modelcontextprotocol/python-sdk/main/README.md
  • TypeScript SDK: Fetch from https://raw.githubusercontent.com/modelcontextprotocol/typescript-sdk/main/README.md

Language-Specific Implementation Guides (Load During Phase 2)

  • 🐍 Python Implementation Guide - Complete Python/FastMCP guide with:

    • Server initialization patterns
    • Pydantic model examples
    • Tool registration with @mcp.tool
    • Complete working examples
    • Quality checklist
  • ⚡ TypeScript Implementation Guide - Complete TypeScript guide with:

    • Project structure
    • Zod schema patterns
    • Tool registration with server.registerTool
    • Complete working examples
    • Quality checklist

Evaluation Guide (Load During Phase 4)

  • ✅ Evaluation Guide - Complete evaluation creation guide with:
    • Question creation guidelines
    • Answer verification strategies
    • XML format specifications
    • Example questions and answers
    • Running an evaluation with the provided scripts

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

コメント

ログインなしで書き込めます。使ってみた感想、質問、動かなかった環境などを気軽にどうぞ。

まだコメントはありません。最初のコメントを書いてみませんか。

送信するとすぐに公開されます。メールアドレスや電話番号などの個人情報は書かないでください。URL は 2 つまでです。

0 / 1000 文字

このフォームは reCAPTCHA で保護されており、Google のプライバシーポリシーと利用規約が適用されます。

同じリポジトリのスキル

ai-writing-detection

無料概要あり

文章に含まれる語彙や文の構成、書式、引用の特徴を複数の観点から調べ、AI生成の可能性と根拠を整理します。誤判定を避けるための注意点も示します。

  • 文章のAI生成らしさを複数の観点で調べたいとき
  • 判定の根拠と反証材料を整理したいとき
  • AI文章検出の特徴や限界を知りたいとき
dp-archive/archive1,1072026年3月4日 更新

audio-extractor

無料概要あり

動画や対応サイトの音声を抽出し、MP3やFLACなどに変換して保存します。ポッドキャストやプレイリストの一括取得、曲情報やカバー画像の埋め込みにも使えます。

  • 動画から音声だけを保存したいとき
  • ポッドキャストを音声ファイルにしたいとき
  • プレイリストをまとめてダウンロードしたいとき
dp-archive/archive1,1072026年3月4日 更新

biopython

無料概要あり

DNA・RNA・タンパク質の配列や生物学ファイルをPythonで扱い、配列解析、BLAST、NCBI検索、系統樹作成などの処理を組み立てます。

  • 配列ファイルを読み書き・変換したいとき
  • 配列の統計やアラインメントを調べたいとき
  • NCBIやPubMedの情報をまとめて取得したいとき
dp-archive/archive1,1072026年3月4日 更新

brand-identity

無料概要あり

プロジェクトの説明をもとに、ロゴや配色、書体、名刺、SNSカバー、ブランド仕様書を一貫したビジュアルアイデンティティとしてまとめます。

  • 新しいブランドのロゴを作りたいとき
  • 色と書体のルールを決めたいとき
  • 名刺とSNSカバーをそろえたいとき
dp-archive/archive1,1072026年3月4日 更新

canvas-design

無料概要あり

ポスターや静的なアートを、色・形・余白の方針づくりから制作するスキル。デザイン思想をまとめたMarkdownと、文字を抑えたPNG・PDFの作品を作ります。

  • オリジナルのポスター制作
  • テーマを抽象アートで表現したいとき
  • デザイン方針と作品をそろえたいとき
dp-archive/archive1,1072026年3月4日 更新

code-to-diagram

無料概要あり

ソースコードを読み解き、構成やデータの関係、処理の流れをMermaid.jsの図にしてSVG・PNGで出力するスキルです。

  • コード構成を図で共有したいとき
  • データベースモデルからER図を作りたいとき
  • APIの処理順を可視化したいとき
dp-archive/archive1,1072026年3月4日 更新

dp-archive のスキルをすべて見る

このスキルの問題を報告する