feat(wecom): 企微 API 插件增加 MCP Streamable HTTP 端点

与 REST/OpenAPI 并存,按实例权限自动 tools/list,免手填工具。

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-09-08 16:57:42 +08:00
parent cae426fbc2
commit 976bde37cc
23 changed files with 1212 additions and 63 deletions
@@ -0,0 +1,27 @@
import { Controller, Delete, Get, Post, Req, Res, UseGuards } from '@nestjs/common';
import type { Request, Response } from 'express';
import { CurrentWecomPlugin } from './wecom-plugin.decorators';
import { WecomPluginGuard } from './wecom-plugin.guard';
import { WecomPluginMcpFactory } from './wecom-plugin-mcp.factory';
import type { WecomPluginRuntime } from './wecom-plugin.types';
@Controller('wecom/plugin/mcp')
@UseGuards(WecomPluginGuard)
export class WecomPluginMcpController {
constructor(private readonly mcp: WecomPluginMcpFactory) {}
@Post()
post(@CurrentWecomPlugin() plugin: WecomPluginRuntime, @Req() req: Request, @Res() res: Response) {
return this.mcp.handle(req, res, plugin);
}
@Get()
get(@CurrentWecomPlugin() plugin: WecomPluginRuntime, @Req() req: Request, @Res() res: Response) {
return this.mcp.handle(req, res, plugin);
}
@Delete()
delete(@CurrentWecomPlugin() plugin: WecomPluginRuntime, @Req() req: Request, @Res() res: Response) {
return this.mcp.handle(req, res, plugin);
}
}