typescript-mcp-server-generator
TypeScript を使って、ツール・リソース・各種設定を含む完全な MCP サーバープロジェクトを生成します。プロジェクトの雛形から設定ファイルまで一括で作成されるため、MCP サーバー開発をすぐに始められます。
description の原文を見る
Generate a complete MCP server project in TypeScript with tools, resources, and proper configuration
SKILL.md 本文
TypeScript MCP サーバーの生成
次の仕様に従って、完全な Model Context Protocol (MCP) サーバーを TypeScript で作成します:
要件
- プロジェクト構造: 適切なディレクトリ構造を持つ新しい TypeScript/Node.js プロジェクトを作成
- NPM パッケージ: @modelcontextprotocol/sdk、zod@3、および HTTP 用の express または stdio サポートを含める
- TypeScript 構成: ES モジュールをサポートする適切な tsconfig.json
- サーバータイプ: HTTP (Streamable HTTP transport を使用) または stdio ベースのサーバーから選択
- ツール: 適切なスキーマ検証を備えた有用なツールを少なくとも 1 つ作成
- エラーハンドリング: 包括的なエラーハンドリングと検証を含める
実装詳細
プロジェクト設定
npm initで初期化し、package.json を作成- 依存関係をインストール:
@modelcontextprotocol/sdk、zod@3、トランスポート固有のパッケージ - TypeScript を設定: package.json に
"type": "module"を設定 - 開発依存関係を追加: 開発用に
tsxまたはts-node - 適切な .gitignore ファイルを作成
サーバー構成
- 高レベルの実装に
McpServerクラスを使用 - サーバー名とバージョンを設定
- 適切なトランスポートを選択 (StreamableHTTPServerTransport または StdioServerTransport)
- HTTP の場合: 適切なミドルウェアとエラーハンドリングを備えた Express をセットアップ
- stdio の場合: StdioServerTransport を直接使用
ツール実装
registerTool()メソッドを説明的な名前で使用- 入出力検証に zod を使用してスキーマを定義
- 明確な
titleとdescriptionフィールドを提供 - 結果に
contentとstructuredContentの両方を返す - try-catch ブロックで適切なエラーハンドリングを実装
- 必要に応じて非同期操作をサポート
リソース/プロンプト設定 (オプション)
- 動的 URI に ResourceTemplate を使用して
registerResource()でリソースを追加 - 引数スキーマを使用して
registerPrompt()でプロンプトを追加 - より良い UX のため completion サポートの追加を検討
コード品質
- 型安全性のために TypeScript を使用
- async/await パターンを一貫して使用
- トランスポート close イベント時に適切なクリーンアップを実装
- 構成に環境変数を使用
- 複雑なロジックにはインラインコメントを追加
- 関心事の明確な分離を備えたコード構造
検討すべきツールタイプの例
- データ処理と変換
- 外部 API 統合
- ファイルシステム操作 (読み取り、検索、分析)
- データベースクエリ
- テキスト分析または要約 (サンプリング付き)
- システム情報の取得
構成オプション
-
HTTP サーバーの場合:
- 環境変数経由のポート設定
- ブラウザクライアント向けの CORS セットアップ
- セッション管理 (ステートレス vs ステートフル)
- ローカルサーバー向けの DNS リバインディング保護
-
stdio サーバーの場合:
- 適切な stdin/stdout ハンドリング
- 環境ベースの構成
- プロセスライフサイクル管理
テスト ガイダンス
- サーバーの実行方法を説明 (
npm startまたはnpx tsx server.ts) - MCP Inspector コマンドを提供:
npx @modelcontextprotocol/inspector - HTTP サーバーの場合、接続 URL を含める:
http://localhost:PORT/mcp - ツール呼び出しの例を含める
- 一般的な問題のトラブルシューティングのヒントを追加
検討すべき追加機能
- 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
変更を段階的に実施します。複数のファイルに影響する機能や変更を実装する場合に使用してください。大量のコードを一度に書こうとしている場合や、タスクが一度では完結できないほど大きい場合に活用します。