MCP Nest

MCP Nest

🚀 NestJS MCP 模块

NestJS MCP 模块为 NestJS 应用提供了 MCP 服务器的集成能力,可帮助开发者快速搭建具备特定功能的服务器,实现工具注册、拦截器配置等功能。

🚀 快速开始

要开始使用 NestJS MCP 模块,请按照以下步骤进行:

📦 安装模块

通过 npm 或 yarn 安装模块:

npm install @rekog/mcp-nest
# 或者
yarn add @rekog/mcp-nest

🔧 初始化 MCP 服务器

在您的 NestJS 应用中初始化 MCP 服务器:

import { Module } from '@nestjs/common';
import { McpModule } from '@rekog/mcp-nest';

@Module({
imports: [
McpModule.forRoot({
name: 'my-mcp-server',
version: '1.0.0',
}),
],
})
export class AppModule {}

💻 使用示例

基础用法

创建一个工具

import { McpTool, McpContext } from '@rekog/mcp-nest';

export class MyAwesomeTool implements McpTool {
async execute(context: McpContext): Promise<void> {
// 在此处实现您的工具逻辑
}
}

注册工具

import { Module } from '@nestjs/common';
import { McpModule } from '@rekog/mcp-nest';

@Module({
imports: [
McpModule.forRoot({
name: 'my-mcp-server',
version: '1.0.0',
}),
],
})
export class AppModule {}

高级用法

创建拦截器

import { McpInterceptor } from '@rekog/mcp-nest';

export class MyAwesomeInterceptor implements McpInterceptor {
intercept(context: any, next: Function): any {
// 在此处实现您的拦截逻辑
return next();
}
}

注册拦截器

import { Module } from '@nestjs/common';
import { McpModule } from '@rekog/mcp-nest';

@Module({
imports: [
McpModule.forRoot({
name: 'my-mcp-server',
version: '1.0.0',
}),
],
})
export class AppModule {}

📚 详细文档

详细文档请访问 NestJS MCP 模块官方文档

🔍 Playground

playground 目录包含快速测试 MCP 和 @rekog/mcp-nest 功能的示例。请参考 了解更多细节。

📄 配置选项

McpModule.forRoot() 方法接受一个 McpOptions 对象来配置服务器。以下是可用的选项:

属性 详情
名称 必需。您的 MCP 服务器名称。
版本 必需。您的 MCP 服务器版本。
能力 可选的 MCP 服务器能力,用于 advertise。See @modelcontextprotocol/sdk
指令 可选的指令,供客户端了解如何与服务器交互。
传输类型 指定要启用的传输类型。
上下文工厂 自定义上下文工厂。
工具列表 注册的工具列表。
拦截器列表 注册的拦截器列表。
配置器列表 配置器列表,用于自定义 MCP 服务器行为。

🛠️ 开发指南

创建工具

创建一个简单的工具:

import { McpTool, McpContext } from '@rekog/mcp-nest';

export class HelloTool implements McpTool {
async execute(context: McpContext): Promise<void> {
await context.send('Hello, World!');
}
}

注册工具:

import { Module } from '@nestjs/common';
import { McpModule } from '@rekog/mcp-nest';

@Module({
imports: [
McpModule.forRoot({
name: 'my-mcp-server',
version: '1.0.0',
tools: [HelloTool],
}),
],
})
export class AppModule {}

创建拦截器

创建一个简单的拦截器:

import { McpInterceptor } from '@rekog/mcp-nest';

export class LoggingInterceptor implements McpInterceptor {
intercept(context: any, next: Function): any {
console.log('请求开始');
const result = next();
console.log('请求结束');
return result;
}
}

注册拦截器:

import { Module } from '@nestjs/common';
import { McpModule } from '@rekog/mcp-nest';

@Module({
imports: [
McpModule.forRoot({
name: 'my-mcp-server',
version: '1.0.0',
interceptors: [LoggingInterceptor],
}),
],
})
export class AppModule {}

📄 许可证

项目在 MIT License 下开源。

维护者

  • 0 关注
  • 0 收藏,8 浏览
  • system 提出于 2025-09-18 19:45

相似服务问题