mcpField
🧠
🧠 MCP Server con NestJS

🧠 MCP Server con NestJS

本地服务
github.com/klever24v开发工具077 周前更新

关于 🧠 MCP Server con NestJS

这是一个基于 NestJS 构建的模块化 MCP 服务,通过 HTTP 提供带 Zod 输入校验的声明式工具,供 LLM 或外部客户端调用。内置计算、温度、文件系统和代码分析工具。

主要功能

  1. 01模块化工具架构
  2. 02Zod 输入校验
  3. 03计算器与温度工具
  4. 04文件读取、写入和删除
  5. 05分析代码并生成 Markdown

适用场景

  1. 01通过 HTTP 执行基础计算
  2. 02读取、写入或删除文件
  3. 03分析项目目录并生成说明文档

MCP 相关

通过 POST /mcp 提供 MCP 工具,供 LLM 和外部客户端调用;工具参数使用 Zod 校验。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

🧠 使用 NestJS 构建 MCP 服务

Nest 徽标

一个渐进式 Node.js 框架,用于构建高效、可扩展的服务端应用程序。

NPM 版本 软件包许可证 NPM 下载量 CircleCI Discord Open Collective 支持者 Open Collective 赞助者 向我们捐赠 支持我们 在 Twitter 上关注我们


该项目是一个使用 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 的 Agent 或流水线的稳健性。

📦 安装

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 应用,可以了解我们的官方平台 Mau,它可用于在 AWS 上部署 NestJS 应用。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 许可证。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。