5fc7277c3c
零 u6u 洩漏(leo 要求 1):connector tool 清單只剩 arcrun_*,並移除壞掉/
重複的 u6u_ workflow tool(deploy/execute/get/list_workflows 由 arcrun_
push/run/get/list_workflows 取代);MCP server name 也由 u6u-mcp-server
改 arcrun-mcp-server。
前綴單一真相源(leo 要求 2):新增 mcp/src/brand.ts(TOOL_PREFIX + toolName()
helper),所有 server.tool() 註冊一律走 toolName("suffix"),前綴不再明碼散寫。
未來 rebrand 只改 brand.ts 一行。
- 12 個獨有能力 tool rename(component/tag/gui/search_workflows)
- 4 個重複/壞掉 tool 移除
- inter-tool hint、描述字串、註解內 u6u_ 名字全數更新
- tsc exit 0;vitest 19/19 綠
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015d5jDbuqT5Htwv3Q88XXKk
55 lines
3.4 KiB
TypeScript
55 lines
3.4 KiB
TypeScript
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
|
||
import { Env } from "../types.js";
|
||
import { registerSearchComponents } from "./arcrun_search_components.js";
|
||
import { registerPublishComponent } from "./arcrun_publish_component.js";
|
||
import { registerSearchWorkflows } from "./arcrun_search_workflows.js";
|
||
import { registerListComponents } from "./arcrun_list_components.js";
|
||
import { registerGetComponent } from "./arcrun_get_component.js";
|
||
import { registerGetComponentGuide } from "./arcrun_get_component_guide.js";
|
||
import { registerCreateTag } from "./arcrun_create_tag.js";
|
||
import { registerListTags } from "./arcrun_list_tags.js";
|
||
import { registerDeleteTag } from "./arcrun_delete_tag.js";
|
||
import { registerTagResource } from "./arcrun_tag_resource.js";
|
||
import { registerUntagResource } from "./arcrun_untag_resource.js";
|
||
import { registerGetGuiContext } from "./arcrun_get_gui_context.js";
|
||
import { registerReportFeedback } from "./arcrun_report_feedback.js";
|
||
import { registerAllIntrospectionTools } from "./arcrun_introspection.js";
|
||
import { registerAllWorkflowCrudTools } from "./arcrun_workflow_crud.js";
|
||
import { registerAllSkillExampleTools } from "./arcrun_skills_examples.js";
|
||
import { registerAllRecipeTools } from "./arcrun_recipe.js";
|
||
import { registerAllKbdbDataTools } from "./kbdb_data.js";
|
||
import { registerWhoami } from "./arcrun_whoami.js";
|
||
|
||
export function registerAllTools(server: McpServer, env: Env, orgNamespace: string, partnerToken: string) {
|
||
registerSearchComponents(server, env, orgNamespace);
|
||
registerPublishComponent(server, env, orgNamespace);
|
||
registerSearchWorkflows(server, env, orgNamespace, partnerToken); // workflow-discovery R2
|
||
registerListComponents(server, env, orgNamespace);
|
||
registerGetComponent(server, env, orgNamespace);
|
||
registerGetComponentGuide(server, env, orgNamespace);
|
||
registerCreateTag(server, env, orgNamespace);
|
||
registerListTags(server, env, orgNamespace);
|
||
registerDeleteTag(server, env, orgNamespace);
|
||
registerTagResource(server, env, orgNamespace);
|
||
registerUntagResource(server, env, orgNamespace);
|
||
registerGetGuiContext(server, env, orgNamespace);
|
||
// LI SDD M1.3: explicit feedback tool(arcrun_* 命名規範)
|
||
registerReportFeedback(server, env, orgNamespace);
|
||
// LI SDD M2.2: introspection tools (validate / paused / trace / recent executions)
|
||
registerAllIntrospectionTools(server, env);
|
||
// LI SDD M2.2: workflow CRUD (push / list / get / delete / run)
|
||
// 取代早期壞掉的 deploy_workflow(打不存在的 /workflows/deploy endpoint),
|
||
// 以及重複的 list/get workflow(改直問 cypher-executor 真實狀態,不從 KBDB 撈 metadata)。
|
||
registerAllWorkflowCrudTools(server, env);
|
||
// LI SDD M3.2: skills + examples lookup(KBDB-backed)
|
||
// 走 sync-registry-to-kbdb.py 把 registry/{skills,examples} 同步進 KBDB
|
||
registerAllSkillExampleTools(server, env);
|
||
// kbdb-base §7.5.i: recipe 公庫/私庫工具(與 CLI 六能力對齊,rule 07 §5 MCP 不落後)
|
||
registerAllRecipeTools(server, env);
|
||
// kbdb-base Phase 9.1: KBDB 資料層薄殼(template/record/query/search,HANDOFF §2)
|
||
// 鐵律:不提供建表/SQL tool,AI 只有 template+slot 可用(類 Supabase 萬用表)
|
||
registerAllKbdbDataTools(server, env);
|
||
// §7.8 P1 D2: whoami(與 CLI acr whoami 對齊,AI 不繞 CLI 自己 curl 猜帳號)
|
||
registerWhoami(server, env, orgNamespace);
|
||
}
|