MCP (Modelo de Contexto de Protocolo) について
Node.js と TypeScript で構築されたローカル MCP サーバーで、天気を調べるツールを提供します。型付きインターフェースや例外処理、コード品質設定も含みます。
主な機能
- 01天気検索ツール
- 02TypeScript インターフェース
- 03例外処理
- 04ESLint と Prettier の設定
活用シーン
- 01MCP クライアントから天気を調べる
- 02TypeScript でローカル MCP サーバーを開発する
MCP 対応
MCP クライアントに天気検索ツールを公開します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ツール一覧はまだ取得されていません
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
MCP(プロトコルコンテキストモデル)
このプロジェクトは、開発のベストプラクティスに従ったプロトコルコンテキストモデル(MCP)の実装です。
テクノロジーとツール
- Node.js - ランタイム環境
- TypeScript - 静的型付けプログラミング言語
- pnpm - パッケージマネージャー
- ESLint - コード内の問題を特定するリンター
- Prettier - コードフォーマッター
- Zod - スキーマ検証ライブラリ
コード品質の設定
このプロジェクトでは、コード品質を確保するために以下のツールを設定しています。
TypeScript
tsconfig.json ファイルには、以下の設定が含まれています。
- 厳格モードを有効化
- 高度な型チェック
- ES モジュールのサポート
ESLint
eslint.config.mjs の ESLint 設定では、新しいフラット設定形式(Flat Config)を使用しており、以下が含まれています。
- JavaScript と TypeScript の推奨ルール
- Prettier 連携プラグイン
- ベストプラクティスに関する個別ルール:
- 未使用の変数を使用しない
- 可能な場合は let より const を優先する
- 制御構造では常にブロックを使用する
- 厳密等価演算子(===)を使用する
Prettier
.prettierrc の設定では、以下を定義しています。
- シングルクォートの使用
- 文末のセミコロン
- 最大行長
- 一貫したフォーマットに関するその他の設定
利用可能なコマンド
# Iniciar en modo desarrollo
pnpm dev
# Construir el proyecto
pnpm build
# Iniciar en modo producción
pnpm start
# Verificar el código con ESLint
pnpm lint
# Corregir problemas automáticamente con ESLint
pnpm lint:fix
# Formatear el código con Prettier
pnpm format
# Inspeccionar el MCP utilizando el inspector
npx @modelcontextprotocol/inspector npx -y tsx src/main.ts
プロジェクト構成
src/main.ts- 天気を照会するツールを備えた MCP サーバーを実装するメインエントリーポイントsrc/interfaces.ts- 可読性とドキュメントを向上させるためのインターフェース定義dist/- コンパイル済みコード(build の実行時に生成)eslint.config.mjs- 最新形式(Flat Config)の ESLint 設定.prettierrc- Prettier の設定tsconfig.json- TypeScript の設定
実装されているベストプラクティス
- 型の処理:可読性とドキュメントを向上させるインターフェース
- エラー処理:try/catch による例外の捕捉
- セキュリティ:
encodeURIComponentによる URL パラメーターのエスケープ - クリーンコード:説明的なコメント、分かりやすい変数名
- リンティングとフォーマット:一貫性を保つための最新の ESLint と Prettier の設定
コメント
Markdown 対応
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。