SuperAPI AI 工具集

dust-mcp-server

编程与开发

查看项目

更新于 10-15 21:35

技能介绍

用途:这是 Dust 仓库内的开发 Runbook,指导工程师新建连接远程平台(如 Jira、HubSpot、Salesforce)的内部 MCP 服务器集成。

主要能力与结构:为每个 provider 建立 front/lib/api/actions/servers/{provider}/ 目录,包含 metadata.ts(工具元数据数组与服务器信息)、tools/index.ts(基于 Zod schema 推断的处理器与已构建工具)、index.ts(createServer 创建与注册),以及可选的 client.ts(API 客户端)与 helpers.ts(辅助函数)。

MVP 快速路径:先用字面量元数据数组与桩处理器搭出可运行骨架,再实现真实 API 调用;需在 constants.ts 与 servers/index.ts 注册,并把服务器加入 bm25_tool_search_utils.test.ts 的 SERVER_SOURCES,且在 bm25_tool_search.test.ts 至少加一个 BM25 查询用例。

实现要点:工具名用 snake_case 与 verb_noun 约定(如 list_warehouses);描述以裸不定式动词开头(List、Get、Search、Create、Update、Retrieve),包含平台专有名词与常见同义词,避免位置限定词噪声,以利 BM25 检索;内部工具必须定义 displayLabels、toolCostCategory、freeUsage 与 stake;通过 extra.authInfo?.token 获取 OAuth 令牌,用 Result 类型(Ok/Err)做错误处理,可用 withAuth 模式自动刷新令牌。

OAuth 前提:平台若需 OAuth,须已存在 core/src/oauth/providers/{provider}.rs 与 front/lib/api/oauth/providers/{provider}.ts,并配置相应 scope,服务器 authorization 字段引用该 provider。

常见注意:勿忘把服务器名加入 AVAILABLE_INTERNAL_MCP_SERVER_NAMES;server ID 部署后不可更改;BM25 描述需经测试,若自身 server 索引中得分不大于 0 说明描述过于泛化。

限制:资料未提供具体平台 endpoint 细节、收费与定价、实际效果或完整示例代码;部分内容以省略号结尾,未完整给出响应渲染等最佳实践细节。