mcpField
C
create-mcp-servers

create-mcp-servers

github.com/glittercowboy開発2.0k159 回インストール30 週間前に更新
リポジトリ

create-mcp-servers について

Claude Code で MCP サーバーを作成・保守する開発者向けスキルです。操作数に応じた構成選択に加え、認証情報の安全管理、OAuth、レスポンス最適化、検証の手順を扱います。

主な機能

  1. 01新規作成・更新・トラブル対応の手順
  2. 02操作数に応じた構成選択
  3. 03Python と TypeScript のテンプレート
  4. 04環境変数と認証情報の安全管理
  5. 05OAuth、レスポンス最適化、検証の案内

活用シーン

  1. 01API を基に MCP サーバーを構築
  2. 02既存の MCP サーバーを拡張
  3. 03接続や実行時の問題を診断

MCP 対応

Claude クライアントにツール、リソース、プロンプトを公開する MCP サーバーの作成を支援し、Claude Code と Claude Desktop への導入手順も扱います。

インストール

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

$npx skills add https://github.com/glittercowboy/taches-cc-resources --skill create-mcp-servers

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

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

references/
adaptive-questioning-guide.md
api-research-template.md
auto-installation.md
best-practices.md
creation-workflow.md
large-api-pattern.md
oauth-implementation.md
python-implementation.md
response-optimization.md
testing-and-deployment.md
tools-and-resources.md
traditional-pattern.md
typescript-implementation.md
validation-checkpoints.md
scripts/
setup-python-project.sh
setup-typescript-project.sh
templates/
operations.json
python-server.py
typescript-server.ts
workflows/
create-new-server.md
troubleshoot-server.md
update-existing-server.md

詳細

MCP サーバーは、ツール、リソース、プロンプトを公開することで Claude の機能を拡張します。このスキルでは、API 連携、OAuth 認証、レスポンスの最適化、Claude Code と Claude Desktop への適切なインストールを備えた、本番環境向け MCP サーバーの作成方法を説明します。

<essential_principles>

<the_5_rules> すべての MCP サーバーは、次のルールに従う必要があります。

  1. シークレットをハードコードしない - 設定では ${VAR} 展開を使用し、コードでは環境変数を使用します
  2. cwd プロパティを使用する - 依存関係を分離します(引数に --cwd を指定するのではありません)
  3. 常に絶対パスを使用する - which uv でパスを確認し、相対パスは使用しません
  4. ディレクトリごとにサーバーを1つ配置する - ~/Developer/mcp/{server-name}/
  5. Python では uv を使用する - pip より優れており、仮想環境を自動で処理します </the_5_rules>

<security_checklist>

  • ユーザーにシークレットをチャットに貼り付けるよう求めないでください
  • 認証情報には常に環境変数を使用してください
  • 設定では ${VAR} 展開を使用してください
  • ユーザーがターミナルで実行する正確なコマンドを提示してください
  • 値を表示せずに、環境変数の有無を確認してください
  • API キーをコードや設定にハードコードしないでください </security_checklist>

<architecture_decision> 操作の数によってアーキテクチャが決まります。

  • 操作が1~2個 → 従来型パターン(フラットなツール)
  • 操作が3個以上 → オンデマンド検出パターン(メタツール)

従来型:各操作を個別のツールにします オンデマンド型:4つのメタツール(discover、get_schema、execute、continue)+ operations.json </architecture_decision>

MCP サーバーが公開するもの: - **ツール**:Claude が呼び出せる関数(API リクエスト、ファイル操作、計算) - **リソース**:Claude が読み取れるデータ(ファイル、データベースのレコード、API レスポンス) - **プロンプト**:引数付きの再利用可能なプロンプトテンプレート

標準の配置場所:~/Developer/mcp/{server-name}/

</essential_principles>

ユーザーの意図に基づいて、適切なワークフローに振り分けます。

コンテキストが提示されていない(説明なしでスキルが呼び出された場合): AskUserQuestion を使用します:

  • header:「モード」
  • question:「何をしますか?」
  • options:
    • 「新しい MCP サーバーを作成する」→ workflows/create-new-server.md
    • 「既存の MCP サーバーを更新する」→ workflows/update-existing-server.md
    • 「サーバーのトラブルシューティングを行う」→ workflows/troubleshoot-server.md

コンテキストが提示されている(ユーザーが希望する内容を説明した場合): workflows/create-new-server.md に直接振り分けます

<workflows_index>

ワークフロー目的
create-new-server.md初回確認から検証までの全8ステップのワークフロー
update-existing-server.md既存サーバーの変更または拡張
troubleshoot-server.md接続や実行時の問題の診断と修正
</workflows_index>

<templates_index>

テンプレート目的
python-server.pyPython 用の従来型パターンのひな形
typescript-server.tsTypeScript 用の従来型パターンのひな形
operations.jsonオンデマンド検出用の操作定義
</templates_index>

<scripts_index>

スクリプト目的
setup-python-project.shuv を使用して Python MCP プロジェクトを初期化
setup-typescript-project.shnpm を使用して TypeScript MCP プロジェクトを初期化
</scripts_index>

<references_index> コアワークフロー:

  • creation-workflow.md - 正確なコマンドを含む、手順をすべて記載したワークフロー

アーキテクチャパターン:

  • traditional-pattern.md - 操作が1~2個の場合(フラットなツール)
  • large-api-pattern.md - 操作が3個以上の場合(オンデマンド検出)

言語別の実装:

  • python-implementation.md - 非同期パターン、型ヒント
  • typescript-implementation.md - 型安全性、SDK の機能

高度なトピック:

  • oauth-implementation.md - stdio 分離を使用した OAuth
  • response-optimization.md - フィールドの切り詰め、ページネーション
  • tools-and-resources.md - Resources API、プロンプト、ストリーミング
  • testing-and-deployment.md - 単体テスト、パッケージ化、公開
  • validation-checkpoints.md - すべての検証チェック
  • adaptive-questioning-guide.md - 初回確認用の質問テンプレート
  • api-research-template.md - API 調査ドキュメントの形式 </references_index> <quick_reference>
# List servers
claude mcp list

# Add server (Python)
claude mcp add --transport stdio <name> \
  --env API_KEY='${API_KEY}' \
  -- uv --directory ~/Developer/mcp/<name> run python -m src.server

# Add server (TypeScript)
claude mcp add --transport stdio <name> \
  --env API_KEY='${API_KEY}' \
  -- node ~/Developer/mcp/<name>/build/index.js

# Remove server
claude mcp remove <name>

# Check logs
tail -f ~/Library/Logs/Claude/mcp-server-<name>.log

# Find paths
which uv && which node && which python

</quick_reference>

<troubleshooting_quick> サーバーが表示されない場合: claude mcp list を確認し、~/.claude/settings.json の設定を確認してください。

「command not found」と表示される場合: which uv / which node で確認した絶対パスを使用してください。

環境変数が見つからない場合:

echo $MY_API_KEY  # Check if set
echo 'export MY_API_KEY="value"' >> ~/.zshrc && source ~/.zshrc

会話内にシークレットが表示された場合: 作業を中止してください。会話を削除し、認証情報をローテーションしてください。チャットにシークレットを貼り付けないでください。

トラブルシューティングの詳細:workflows/troubleshoot-server.md </troubleshooting_quick>

<success_criteria> 本番環境に対応した MCP サーバーには、以下が備わっています:

  • Claude Code の設定が有効である(claude mcp list に ✓ Connected と表示される)
  • Claude Desktop の設定が有効である
  • 環境変数が ~/.zshrc で安全に設定されている
  • アーキテクチャが操作数に適合している
  • 該当する場合、OAuth stdio が分離されている
  • リスト/検索操作の応答が最適化されている
  • すべての検証チェックポイントに合格している
  • ログにエラーがない </success_criteria>

コメント