Expand KOC LOOP MCP operations
This commit is contained in:
@@ -1,5 +1,9 @@
|
||||
import { env } from "cloudflare:workers";
|
||||
import { createMcpHandler, McpServer } from "@modelcontextprotocol/server";
|
||||
import {
|
||||
createMcpHandler,
|
||||
McpServer,
|
||||
type McpRequestContext,
|
||||
} from "@modelcontextprotocol/server";
|
||||
import { z } from "zod/v4";
|
||||
import {
|
||||
FeishuSourceError,
|
||||
@@ -9,10 +13,12 @@ import {
|
||||
buildClaimUrl,
|
||||
createDistributionTask,
|
||||
} from "../../../lib/task-service";
|
||||
import { registerMcpOperationTools } from "../../../lib/mcp-tools";
|
||||
import type { CollectionMcpBindings } from "../../../lib/mcp-collection-client";
|
||||
|
||||
export const runtime = "edge";
|
||||
|
||||
type McpBindings = FeishuBindings & {
|
||||
type McpBindings = FeishuBindings & CollectionMcpBindings & {
|
||||
KOC_MCP_API_KEY?: string;
|
||||
KOC_PORTAL_URL?: string;
|
||||
};
|
||||
@@ -32,12 +38,16 @@ function getBindings() {
|
||||
return env as unknown as McpBindings;
|
||||
}
|
||||
|
||||
function createServer() {
|
||||
function createServer(context: McpRequestContext) {
|
||||
const bindings = getBindings();
|
||||
const origin = context.requestInfo
|
||||
? new URL(context.requestInfo.url).origin
|
||||
: "";
|
||||
const server = new McpServer(
|
||||
{ name: "koc-loop", version: "1.0.0" },
|
||||
{ name: "koc-loop", version: "2.0.0" },
|
||||
{
|
||||
instructions:
|
||||
"用于创建 KOC 内容分发任务。调用前先确认飞书表格链接、任务名称和截止日期;截止日期转换为北京时间 YYYY-MM-DD。相同参数的重试会返回原任务,不会重复创建。",
|
||||
"用于创建和管理 KOC 内容分发任务、数据回收、公开数据采集与账号资源。创建任务前确认飞书链接、任务名和北京时间截止日期;写操作应先向用户说明影响。相同参数的任务创建和采集计划设置支持安全重试。",
|
||||
},
|
||||
);
|
||||
|
||||
@@ -130,6 +140,8 @@ function createServer() {
|
||||
},
|
||||
);
|
||||
|
||||
registerMcpOperationTools(server, { bindings, origin });
|
||||
|
||||
return server;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user