mcpField
E
Exemplo de Servidor MCP

Exemplo de Servidor MCP

ローカル
github.com/gabrielfroes開発ツール8268 週間前に更新

Exemplo de Servidor MCP について

Exemplo de Servidor MCP は、教育目的で作成された Node.js と TypeScript による MCP サーバーのサンプルです。米国国立気象局 NWS API を利用する 2 つの天気ツールを提供し、入力の検証には Zod を使用します。コードは Domain-Driven Design を参考にした階層構造で構成されています。

主な機能

  1. 01州ごとの有効な気象警報を取得する get-alerts ツール
  2. 02緯度経度による予報を取得する get-forecast ツール
  3. 03Zod による入力値の検証
  4. 04MCP SDK を用いた stdio 経由の通信

活用シーン

  1. 01外部 API を呼び出す MCP サーバーの構築方法の学習
  2. 02TypeScript の MCP プロジェクトの階層構成の参照

MCP 対応

MCP サーバーとして、get-alerts と get-forecast の 2 つのツールを stdio トランスポート経由で MCP クライアントに公開します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

MCP サーバーの例

Código Fonte TV チャンネルの教育目的で作成されたこのプロジェクトでは、外部 API との連携とデータ検証を備えた MCP サーバーの構築方法を紹介します。

このリポジトリには、米国の National Weather Service(NWS)API を使用して気象情報を取得する 2 つのツールを提供する、Node.js/TypeScript での MCP(Model Context Protocol)サーバー実装例が含まれています。

機能

  • get-alerts:州のコード(2 文字、例:CA、NY)を指定して、現在有効な気象警報を取得します。
  • get-forecast:地理座標(緯度、経度)を指定して、天気予報を取得します。
  • Zod を使用して入力を検証します。
  • fetch を使用して NWS API と連携します(インフラストラクチャ層)。
  • MCP プロトコル(@modelcontextprotocol/sdk)を使用して stdio 経由で通信します。

アーキテクチャ

このプロジェクトでは、ドメイン駆動設計(DDD)のパターンを参考にしたレイヤードアーキテクチャを採用しています。

  • ドメイン(src/domain): データ構造(例:AlertFeature、ForecastPeriod、AlertsResponse)を表すインターフェースと型を定義します。

  • インフラストラクチャ(src/infrastructure): 外部サービスを実装します。たとえば、NWS API への HTTP リクエストを担当する NWSApiService があります。

  • アプリケーション(src/application): インフラストラクチャから渡されるデータを処理、整形する WeatherService にビジネスロジックを実装します。

  • インターフェース(src/interface): WeatherToolsController などのコントローラーが含まれます。これらは MCP サーバーにツールを登録し、検証スキーマを定義して結果を返します。

  • エントリーポイント(src/main.ts): McpServer を初期化し、トランスポート(StdioServerTransport)を設定して、サービスとコントローラーをインスタンス化し、stdio での待ち受けを開始します。

フォルダー構成は次のとおりです。

src/
├── domain/
│   └── models/           # Interfaces de domínio
├── infrastructure/
│   └── services/         # Implementações da API externa (NWS)
├── application/
│   └── services/         # Lógica de negócio e formatação de dados
├── interface/
│   └── controllers/      # Registro das ferramentas MCP e validação
└── main.ts               # Ponto de entrada do servidor
build/                     # Código JavaScript compilado

インストール

git clone <REPOSITÓRIO_URL>
cd mcp-server-sample
npm install
npm run build

使用方法

ビルド後、サーバーを直接実行できます。

node build/main.js

または、バイナリ(weather)として登録されている場合は、次のように実行できます。

npm link
weather

サーバーは標準出力(stdio)で起動し、MCP リクエストを待ち受けます。

コントリビューション

プルリクエストを歓迎します。お気軽に issue を作成し、改善についてご相談ください。

Código Fonte TV

実装の詳細については、Código Fonte TV チャンネルの動画をご覧ください。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。