python-mcp-server-generator
Python を使って tools・resources・適切な設定を含む MCP サーバープロジェクトを丸ごと生成します。プロジェクト構成から設定ファイルまで一括で出力されるため、MCP サーバー開発をすぐに始められます。
description の原文を見る
Generate a complete MCP server project in Python with tools, resources, and proper configuration
SKILL.md 本文
Python MCP サーバーを生成
以下の仕様に従って、完全な Model Context Protocol (MCP) サーバーを Python で作成します:
要件
- プロジェクト構造: uv を使用して適切な構造を持つ新しい Python プロジェクトを作成
- 依存関係: uv で mcp[cli] パッケージをインクルード
- トランスポートタイプ: stdio (ローカル用) または streamable-http (リモート用) から選択
- ツール: 適切な型ヒント付きで、最低 1 つの有用なツールを作成
- エラーハンドリング: 包括的なエラーハンドリングと入力検証をインクルード
実装の詳細
プロジェクトセットアップ
uv init project-nameで初期化- MCP SDK を追加:
uv add "mcp[cli]" - メインサーバーファイルを作成 (例:
server.py) - Python プロジェクト用の
.gitignoreを追加 if __name__ == "__main__"で直接実行できるように構成
サーバー構成
mcp.server.fastmcpからFastMCPクラスを使用- サーバー名と任意の指示を設定
- トランスポートを選択: stdio (デフォルト) または streamable-http
- HTTP の場合: ホスト、ポート、ステートレスモードをオプションで構成
ツール実装
- 関数に
@mcp.tool()デコレータを使用 - 常に型ヒントをインクルード - スキーマを自動生成
- わかりやすいドキュメント文字列を記述 - ツールの説明になる
- 構造化されたアウトプットに Pydantic モデルまたは TypedDict を使用
- I/O バウンドなタスクの非同期操作をサポート
- 適切なエラーハンドリングをインクルード
リソース/プロンプト設定 (オプション)
@mcp.resource()デコレータでリソースを追加- 動的リソースに URI テンプレートを使用:
"resource://{param}" @mcp.prompt()デコレータでプロンプトを追加- プロンプトから文字列またはメッセージリストを返す
コード品質
- すべての関数パラメータと戻り値に型ヒントを使用
- ツール、リソース、プロンプトのドキュメント文字列を記述
- PEP 8 スタイルガイドに従う
- 非同期操作に async/await を使用
- リソースクリーンアップにコンテキストマネージャーを実装
- 複雑なロジックにはインラインコメントを追加
考慮するツールタイプの例
- データ処理と変換
- ファイルシステム操作 (読み込み、分析、検索)
- 外部 API インテグレーション
- データベースクエリ
- テキスト分析またはジェネレーション (サンプリング付き)
- システム情報取得
- 数学または科学計算
構成オプション
-
stdio サーバーの場合:
- シンプルな直接実行
uv run mcp dev server.pyでテスト- Claude にインストール:
uv run mcp install server.py
-
HTTP サーバーの場合:
- 環境変数によるポート構成
- スケーラビリティのためのステートレスモード:
stateless_http=True - JSON レスポンスモード:
json_response=True - ブラウザクライアント向け CORS 構成
- 既存の ASGI サーバー (Starlette/FastAPI) へのマウント
テストガイダンス
- サーバーの実行方法を説明:
- stdio:
python server.pyまたはuv run server.py - HTTP:
python server.pyを実行し、http://localhost:PORT/mcpに接続
- stdio:
- MCP Inspector でテスト:
uv run mcp dev server.py - Claude Desktop にインストール:
uv run mcp install server.py - ツール呼び出しの例を含める
- トラブルシューティングのヒントを追加
考慮する追加機能
- ロギング、プログレス、通知のためのコンテキスト使用
- AI パワード ツール用の LLM サンプリング
- インタラクティブワークフロー向けのユーザー入力要求
- 共有リソース (データベース、接続) 向けのライフサイクル管理
- Pydantic モデルを使用した構造化アウトプット
- UI 表示用のアイコン
- Image クラスを使用した画像処理
- より優れた UX のための補完サポート
ベストプラクティス
- 型ヒントをあらゆる場所で使用 - オプションではない
- 可能な限り構造化されたデータを返す
- stderr にログ出力 (またはコンテキストロギングを使用) - stdout を汚さない
- リソースを適切にクリーンアップ
- 早期に入力を検証
- 明確なエラーメッセージを提供
- LLM インテグレーション前にツールを個別にテスト
完全で本番対応の MCP サーバーを、型安全性、適切なエラーハンドリング、包括的なドキュメント付きで生成します。
ライセンス: MIT(寛容ライセンスのため全文を引用しています) · 原本リポジトリ
詳細情報
- 作者
- github
- ライセンス
- MIT
- 最終更新
- 不明
Source: https://github.com/github/awesome-copilot / ライセンス: MIT
関連スキル
doubt-driven-development
重要な判断はすべて、本番環境への展開前に新しい視点から対抗的レビューを実施します。速度より正確性が重要な場合、不慣れなコードを扱う場合、本番環境・セキュリティに関わるロジック・取り消し不可の操作など影響度が高い場合、または後でバグを修正するよりも今検証する方が効率的な場合に活用してください。
apprun-skills
TypeScriptを使用したAppRunアプリケーションのMVU設計に関する総合的なガイダンスが得られます。コンポーネントパターン、イベントハンドリング、状態管理(非同期ジェネレータを含む)、パラメータと保護機能を備えたルーティング・ナビゲーション、vistestを使用したテストに対応しています。AppRunコンポーネントの設計・レビュー、ルートの配線、状態フローの管理、AppRunテストの作成時に活用してください。
desloppify
コードベースのヘルスチェックと技術負債の追跡ツールです。コード品質、技術負債、デッドコード、大規模ファイル、ゴッドクラス、重複関数、コードスメル、命名規則の問題、インポートサイクル、結合度の問題についてユーザーが質問した場合に使用してください。また、ヘルススコアの確認、次の改善項目の提案、クリーンアップ計画の作成をリクエストされた際にも対応します。29言語に対応しています。
debugging-and-error-recovery
テストが失敗したり、ビルドが壊れたり、動作が期待と異なったり、予期しないエラーが発生したりした場合に、体系的な根本原因デバッグをガイドします。推測ではなく、根本原因を見つけて修正するための体系的なアプローチが必要な場合に使用してください。
test-driven-development
テスト駆動開発により実装を進めます。ロジックの実装、バグの修正、動作の変更など、あらゆる場面で活用できます。コードが正常に動作することを証明する必要がある場合、バグ報告を受けた場合、既存機能を修正する予定がある場合に使用してください。
incremental-implementation
変更を段階的に実施します。複数のファイルに影響する機能や変更を実装する場合に使用してください。大量のコードを一度に書こうとしている場合や、タスクが一度では完結できないほど大きい場合に活用します。