🧠 MCP Server con NestJS について
NestJS製のモジュール型MCPサーバーで、Zodによる入力検証を備えた宣言的なツールをHTTP経由でLLMや外部クライアントに提供します。計算、温度、ファイル操作、コード分析のツールが含まれます。
主な機能
- 01モジュール型ツール構成
- 02Zodによる入力検証
- 03計算・温度ツール
- 04ファイルの読み取り・書き込み・削除
- 05コード分析とMarkdown生成
活用シーン
- 01HTTP経由で基本的な計算を実行
- 02ファイルの読み取り・書き込み・削除
- 03プロジェクトディレクトリを分析して文書を生成
MCP 対応
POST /mcpを通じて、LLMや外部クライアントにMCPツールを提供します。ツールの引数はZodで検証されます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
🧠 MCP Server con NestJS
効率的でスケーラブルなサーバーサイドアプリケーションを構築するための、先進的なNode.jsフレームワークです。
このプロジェクトは、NestJS で構築された拡張可能なモジュラーサーバーで、MCP(Model Context Protocol)サーバーとして機能します。 LLM(Claude、GPT など)や外部クライアントが、HTTP リクエストを介して専門ツールのコレクションを利用できるようにすることを目的としています。 各ツールは、名前、Zod で検証された入力スキーマ、および処理ロジックを実行するハンドラー関数とともに動的に登録されます。
🚀 特徴
- ✨ モジュラーアーキテクチャ(ツールベース)。
- 📦 再利用可能なツール:
calculator、temperature、filesystem、code-analyzer-local。 - 🧠 LLM との統合に対応しています。
- 📝 コードの説明を含む Markdown ファイルを自動生成します。
- 📁 ファイルの読み取り/書き込み/削除に対応しています。
- 🔧
.envと動的ルートで設定できます。
📁 プロジェクト構成
src/
├── docs/ # Resultados en Markdown
├── mcp/ # Módulo MCP con controlador y servicio
├── tools/ # Herramientas disponibles
│ ├── calculator.tool.ts
│ ├── code-analyzer-local.tool.ts
│ ├── filesystem.tool.ts
│ ├── temperature.tool.ts
│ └── index.ts
├── app.module.ts
├── main.ts
🧰 利用可能なツール
すべてのツールは次のエンドポイントから利用できます:
POST /mcp
🔹 calculator
- 説明:基本的な数学演算を実行します。
- パラメーター:
a(number)b(number)operation:「add」、「subtract」、「multiply」、「divide」
- 例:
{
"toolName": "calculator",
"params": {
"a": 10,
"b": 2,
"operation": "multiply"
}
}
🔹 temperature
- 説明:プロンプトに基づいて架空の温度を返します。
- パラメーター:
prompt(string)
- 例:
{
"toolName": "temperature",
"params": {
"prompt": "Temperatura en Madrid"
}
}
🔹 filesystem
- 説明:システムのファイルを読み取り、書き込み、または削除します。
- パラメーター:
path(string)action:「read」、「write」、「delete」content(string、任意):action = writeの場合に必須です
- 例:
{
"toolName": "filesystem",
"params": {
"path": "src/main.ts",
"action": "read"
}
}
🔹 code-analyzer-local
- 説明: プロジェクトのファイルを分析し、説明用の
.mdを生成します。 - パラメーター:
directory(string): 分析するフォルダー。outputName(string, opcional): 出力ファイル名。
- 例:
{
"toolName": "code-analyzer-local",
"params": {
"directory": "mcp-server/src"
}
}
🛡️ Zod による検証
Zod とは?
Zod は、TypeScript 用のスキーマ検証・解析ライブラリです。データ構造を宣言的に定義し、その後、データがスキーマに準拠しているか検証できます。出力が変化したり、厳密な構造に従わなかったりする可能性がある 言語モデル(LLM) を扱う際に、特に役立ちます。
このプロジェクトでは何に使われますか?
Zod は、LLM モデルが生成した応答を検証し、期待される形式に準拠していることを確認するために使用されます。これにより、次のことが可能になります。
- 実行時に構造上のエラーを検出します。
- 受け取った情報がシステムの他の部分で処理可能であることを保証します。
- LLM ベースのエージェントやパイプラインの堅牢性を高めます。
📦 インストール
npm install zod
---
Usamos Zod para definir y validar esta estructura:
import { z } from "zod";
// Definición del esquema esperado
const TaskSchema = z.object({
title: z.string(),
completed: z.boolean(),
});
// Ejemplo de salida de un LLM (como texto JSON)
const llmOutput = `{
"title": "Escribir documentación",
"completed": false
}`;
try {
const parsed = TaskSchema.parse(JSON.parse(llmOutput));
console.log("✅ Datos válidos:", parsed);
} catch (err) {
console.error("❌ Validación fallida:", err);
}
## ⚙️ Configuración `.env`
```env
PORT=3000
ANALYSIS_DIR=./src/docs
🧪 サーバーをテストする
npm install
$ npm run start:dev
ツールを確認する:
curl -X POST http://localhost:3000/mcp -H "Content-Type: application/json" -d '{"toolName":"calculator","params":{"a":5,"b":3,"operation":"add"}}'
デプロイ
NestJS アプリケーションを本番環境にデプロイする準備ができたら、可能な限り効率よく実行できるようにするための重要な手順がいくつかあります。詳しくは、デプロイのドキュメントをご覧ください。
NestJS アプリケーションをデプロイするクラウドベースのプラットフォームをお探しの場合は、NestJS アプリケーションを AWS にデプロイする公式プラットフォームの Mauをご覧ください。Mau を使えば、わずかな手順で簡単かつ迅速にデプロイできます。
$ npm install -g @nestjs/mau
$ mau deploy
Mau を使えば、数回クリックするだけでアプリケーションをデプロイできるため、インフラストラクチャの管理ではなく、機能の構築に集中できます。
リソース
NestJS を使う際に役立つリソースをいくつかご紹介します。
- フレームワークについて詳しくは、NestJS ドキュメントをご覧ください。
- 質問やサポートについては、Discord チャンネルをご覧ください。
- さらに深く学び、実践的な経験を積むには、公式の動画コースをご覧ください。
- NestJS Mauを使えば、数回クリックするだけでアプリケーションを AWS にデプロイできます。
- NestJS Devtoolsを使うと、アプリケーションのグラフを可視化し、NestJS アプリケーションをリアルタイムで操作できます。
- プロジェクトのサポートが必要ですか(パートタイムからフルタイムまで)?公式のエンタープライズサポートをご覧ください。
- 最新情報を入手するには、XとLinkedInをフォローしてください。
- 仕事をお探しの方、または求人を掲載したい方は、公式の求人掲示板をご覧ください。
🧑💻 作者
klever が開発 - 2025
📝 ライセンス
Nest はMIT ライセンスの下で提供されています。 このプロジェクトは MIT ライセンスの下で提供されています。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。