Server definition
- Hash
- sha256:86cbf37da6b75407ae27b86463bf5697e106bcef156277502f7b252e6d2a3029
- What it is
- What a remote MCP server returned when asked what it offers: 18 tools
The blob, as servednamed by its sha256
{
"instructions": null,
"tools": [
{
"description": "执行一个岗位动作(如 AICare 的 preflight / list_checks / gen_report / run_detection / resolve_user)。参数:slug、action 必填;params 按 list_actions 的 schema 填;session_id 想让结果落在某次会话里就带;hostUserId 宿主用户标识可选。返回 {ok, mode:\"sync\", data} 直接用;{ok, mode:\"job\", jobId, pollSec} 用 get_job 轮询。代价:list_actions 标 paid 的会从岗位出资人余额扣 credits(出报告 5 / 跑检测 2),失败不扣;同键(如同对象同一天)重复调用返回缓存结果(cached 标记)不重复扣,用户催第二次可放心重试。典型编排:list_actions → canvas_action(preflight) 拿背景 → canvas_action(gen_report) → get_job → 用自然语言讲给用户。公共岗位:gaia-academy(龙虾学院 · Agent 进修)的动作标 public:true——任何持有效 Key 的调用方都能跑,不需要拥有该岗位;学员身份取调用方 Key 的用户,非 public 动作对非归属方仍 403。典型用法:canvas_action(gaia-academy, search_courses → start_exam → submit_exam → get_principle)。",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"action": {
"description": "动作 id,见 list_actions",
"type": "string"
},
"hostUserId": {
"description": "宿主用户标识,可选",
"type": "string"
},
"params": {
"additionalProperties": {},
"description": "按 list_actions 给的 JSON Schema 填",
"propertyNames": {
"type": "string"
},
"type": "object"
},
"session_id": {
"description": "可选,open_canvas 给的会话 ID,动作记录会挂到该会话",
"type": "string"
},
"slug": {
"type": "string"
}
},
"required": [
"slug",
"action"
],
"type": "object"
},
"name": "canvas_action",
"outputSchema": null
},
{
"description": "按 job_id 查长任务:queued / running / done(带 result) / failed(带 error)。建议每 3 秒查一次。error 是人话(如\"关爱对象不存在或已删除\"),照原话转述给用户,不要改写成\"系统繁忙\",也不要拿同参数重试。",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"job_id": {
"type": "string"
}
},
"required": [
"job_id"
],
"type": "object"
},
"name": "get_job",
"outputSchema": null
},
{
"description": "单个会话按时间正序的完整流水:用户消息 / AI 回复(带 tokens) / 埋点 / 动作调用 / 推屏。参数:slug 和 session_id 两个都必填(slug 用于显式鉴权)。调用前先从 list_sessions 或 open_canvas 拿到合法 session_id。隐私边界:只能读自己岗位的记录。需要有效 Key,匿名不开。",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"session_id": {
"type": "string"
},
"slug": {
"type": "string"
}
},
"required": [
"slug",
"session_id"
],
"type": "object"
},
"name": "get_session_log",
"outputSchema": null
},
{
"description": "读岗位配置:personaPrompt / serviceFlow / promotionConfig / productSources / contextMode / layoutStyle / templateId / llmMode(只说是否 BYOK,不给密钥)/ tts。参数:slug 必填。改之前先读,否则会用\"想当然的人设\"覆盖客户调过的版本。",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"slug": {
"type": "string"
}
},
"required": [
"slug"
],
"type": "object"
},
"name": "get_staff_config",
"outputSchema": null
},
{
"description": "岗位一段时间的汇总:会话数、真人对话轮数、埋点数、动作调用数、tokens、按日曲线。参数:slug 必填;from/to ISO 时间,默认最近 30 天。用户问\"这岗位最近怎么样/今天多少人来\"就用它,不要靠聊天历史猜数字。需要有效 Key,匿名不开。",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"from": {
"type": "string"
},
"slug": {
"type": "string"
},
"to": {
"type": "string"
}
},
"required": [
"slug"
],
"type": "object"
},
"name": "get_stats",
"outputSchema": null
},
{
"description": "开一个新的数字员工岗位。参数:templateId 必填(list_templates 里 canOpen=true 的,如 kb-assistant 知识库问答员);name 员工名字;kbs 开岗时就配上的知识库。返回 slug、画布链接 canvasUrl(发给顾客 / 挂服务号的就是它)和实际配上的知识库 kbs(名下没有的库名会被忽略,以返回为准)。代价:新岗位先免费试用几天,之后按月从主人余额扣 Token,对话按次另计——开之前跟用户确认;每个账号岗位数有上限,到上限会报错,让用户先删掉不用的。",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"kbs": {
"description": "开岗时就配上的知识库名(必须是我名下已发布的)",
"items": {
"type": "string"
},
"type": "array"
},
"name": {
"description": "员工名字,顾客会看到",
"type": "string"
},
"templateId": {
"description": "岗位模板,从 list_templates 里挑 canOpen=true 的",
"type": "string"
}
},
"required": [
"templateId"
],
"type": "object"
},
"name": "hire_staff",
"outputSchema": null
},
{
"description": "列出这个岗位(按其模板)能做的动作:id / title / description / cost / credits / anonymous / job / params(JSON Schema)。参数:slug 必填。调 canvas_action 前先调它,不要猜 action 名——各岗位动作集不同,params 按它给的 schema 填。",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"slug": {
"type": "string"
}
},
"required": [
"slug"
],
"type": "object"
},
"name": "list_actions",
"outputSchema": null
},
{
"description": "列出我名下已发布的知识库(库名 / 版本 / 发布时间 / 篇数 / 每页的 path 与标题),以及我名下每个岗位各自配了哪些库。用户问\"我有哪些知识库\"\"这个岗位用的什么资料\"时用。知识库是数字员工回答业务问题的依据:岗位配了库,访客问到时它会先查库再答。",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {},
"type": "object"
},
"name": "list_kbs",
"outputSchema": null
},
{
"description": "列出我名下的数字员工岗位(slug / 名称 / 模板 / 画布链接)。用户问\"我有哪些岗位\"用它;后续所有按岗位操作的工具都要 slug,slug 一律从这里拿,不要凭记忆拼。参数:无。",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {},
"type": "object"
},
"name": "list_my_staff",
"outputSchema": null
},
{
"description": "岗位的访客会话列表(最近优先):session_id、宿主用户标识、轮数、时间。参数:slug 必填;q 按宿主用户标识模糊搜;from/to;limit;cursor 翻页传上一页返回的 nextCursor。想看\"最近都服务了哪些人\"用它,再拿 session_id 看明细。需要有效 Key,匿名不开。",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"cursor": {
"type": "string"
},
"from": {
"type": "string"
},
"limit": {
"maximum": 200,
"minimum": 1,
"type": "integer"
},
"q": {
"type": "string"
},
"slug": {
"type": "string"
},
"to": {
"type": "string"
}
},
"required": [
"slug"
],
"type": "object"
},
"name": "list_sessions",
"outputSchema": null
},
{
"description": "列出可开岗的数字员工模板。用于:想知道\"系统能开哪些岗位\"、或用户要开通新岗位时。返回每个模板的 templateId / 名称 / 说明 / canOpen / missingHandlers / 动作清单。别用它找\"已开好的岗位\"——那是 list_my_staff。canOpen=false 的模板不可开通(缺实现),别推荐用户选。参数:无。",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {},
"type": "object"
},
"name": "list_templates",
"outputSchema": null
},
{
"description": "为岗位生成画布链接 + 会话 ID。用于用户需要\"看得见的界面\"(看报告/看商品/做检测)。参数:slug 必填;hostUserId 宿主用户标识(强烈建议带,会话归属和离线补推都靠它);targetId 关爱/业务对象;app 指定画布页(如 aicare-kf)。返回 {url, session_id}——把 session_id 存下来,get_session_log / push_screen 都用它。会话在返回时已建立:现在就能 push_screen 给\"还没来的人\"备卡片,用户打开链接即补推;人打开后聊天/埋点都归到同一个 session_id。",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"app": {
"description": "画布页面,默认岗位配置的;AICare 康护可传 aicare-kf",
"type": "string"
},
"hostUserId": {
"description": "宿主系统的用户标识,如 AICare 的 userId",
"type": "string"
},
"slug": {
"description": "岗位 slug(见 list_my_staff)",
"type": "string"
},
"targetId": {
"description": "关爱对象/服务对象 ID(AICare 类岗位用)",
"type": "string"
}
},
"required": [
"slug"
],
"type": "object"
},
"name": "open_canvas",
"outputSchema": null
},
{
"description": "局部修改岗位配置,patch 只放要改的字段:personaPrompt(人设) / serviceFlow(服务流程,一行一步) / promotionConfig(只放要改的键,其余保留:categories:[{name,priority,url}] 主推;look:{brandName,slogan,intro,avatarUrl,theme(ember|green|blue|purple),particles,startText,footer,placeholder,emptyTitle,emptyHint,showPhoto} 画布外观与文案;sell:{sop,pdd} 是否推荐服务包 / 拼多多商品;kbs:[库名] 用哪些知识库,也可用 set_staff_kbs)/ productSources([{key,label,searchUrl,weAppId?,weAppUsername?}]) / layoutStyle(split|pip|classic) / contextMode(inline|webhook) / contextWebhookUrl / name。参数:slug、patch 都必填。这是写操作,改的是客户的岗位,改完立刻生效;不确定用户真要改时先复述一遍再调。",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"patch": {
"additionalProperties": {},
"description": "要改的字段",
"propertyNames": {
"type": "string"
},
"type": "object"
},
"slug": {
"type": "string"
}
},
"required": [
"slug",
"patch"
],
"type": "object"
},
"name": "patch_staff_config",
"outputSchema": null
},
{
"description": "把一套整理好的 Markdown 发布成知识库(发布到我名下;带 slug 则同时配给那个岗位)。结构:wiki/index.md 是总目录(每篇一行:链接 + 一句摘要 + 更新日期,数字员工靠它挑页,摘要要准);其余 wiki/<主题>/<文章>.md,一个概念一篇,标题用访客会问的说法,单篇别超过 6000 字。规矩:①数字、日期、引文必须照原始资料逐字写,不改写不推算;②只收 wiki/ 下的 .md,原始资料不要发上来;③同名再发是整库替换,更新前先 read_kb 把现有页面读回来合并;④发布等于公开——岗位是匿名访客都能聊的,个人隐私、客户资料、令牌、内部运维内容一律不放(平台会拦身份证号和令牌,其它靠你自检)。checked 必须为 true 才会发。上限 200 个文件 / 单个 64KB / 合计 2MB。参数示例:{\"name\":\"选课指南\",\"checked\":true,\"files\":[{\"path\":\"wiki/index.md\",\"content\":\"# Knowledge Base Index\\n...\"},{\"path\":\"wiki/xuanke/rules.md\",\"content\":\"# 选课时间与学分上限\\n...\"}]}(files 是数组,每项一个 {path, content},不是 {路径: 内容} 的对象)。这是写操作,发之前跟用户确认库名和要不要配给岗位。",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"checked": {
"description": "自检通过才填 true:每个数字 / 日期 / 引文都能在原始资料里逐字找到;没有个人隐私、客户资料、令牌、内部运维内容",
"type": "boolean"
},
"files": {
"description": "这个库的全部页面,数组,每项 {path, content}:必须含 wiki/index.md;其余是 wiki/<主题>/<文章>.md",
"items": {
"properties": {
"content": {
"type": "string"
},
"path": {
"type": "string"
}
},
"required": [
"path",
"content"
],
"type": "object"
},
"type": "array"
},
"kbName": {
"description": "name 的别名",
"type": "string"
},
"name": {
"description": "库名:中英文、数字、- _,40 字以内。同名再发 = 整库替换",
"type": "string"
},
"slug": {
"description": "可选:发布后顺手配给这个岗位",
"type": "string"
}
},
"required": [
"files",
"checked"
],
"type": "object"
},
"name": "publish_kb",
"outputSchema": null
},
{
"description": "把内容推到某个画布会话的屏上。参数:session_id 必填(来自 open_canvas 或 list_sessions);content 必填,写成一条\"助手回复\"文本,可含 ```canvas-md(Markdown 卡片)/ ```canvas-html(完整 HTML 文档)/ ```canvas(JSON 块)围栏,围栏外文字显示为字幕;speak=true 朗读字幕;title 可选。会话在线立即上屏;不在线(含还没人打开过的)存为待展示,该会话或同岗位同一 hostUserId 下次打开自动补推。屏属于会话不属于人:别复用别人的 session_id;要执行有副作用的动作(出报告/跑检测)用 canvas_action。需要有效 Key,匿名不开。",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"content": {
"description": "含围栏的回复文本",
"type": "string"
},
"session_id": {
"type": "string"
},
"speak": {
"description": "是否朗读围栏外文字",
"type": "boolean"
},
"title": {
"type": "string"
}
},
"required": [
"session_id",
"content"
],
"type": "object"
},
"name": "push_screen",
"outputSchema": null
},
{
"description": "跨会话按类型拉事件(倒序):type = chat_user / chat_assistant / track / action_call / page_open / push。参数:slug 必填;type、from/to、limit(≤500)。每条带 source(mcp / page / server,看得出谁发起的);action_call 的 payload 有 params/ok/ms/credits/cached/jobId——计费与排障的证据链;push 的 payload 有 preview。需要有效 Key,匿名不开。",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"from": {
"type": "string"
},
"limit": {
"maximum": 500,
"minimum": 1,
"type": "integer"
},
"slug": {
"type": "string"
},
"to": {
"type": "string"
},
"type": {
"type": "string"
}
},
"required": [
"slug"
],
"type": "object"
},
"name": "query_events",
"outputSchema": null
},
{
"description": "读一个知识库。参数名是 name(库名,就是 list_kbs 返回里的 kbName)和 page(页面路径,取自页面清单里的 path)。只传 name → 这个库的版本和页面清单;再传 page(如 wiki/index.md)→ 那一页的原文。要更新一个库之前先用它把现有页面读回来——publish_kb 是整库替换,没带上的页面会消失。",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"kbName": {
"description": "name 的别名",
"type": "string"
},
"name": {
"description": "库名(list_kbs 返回里的 kbName)",
"type": "string"
},
"page": {
"description": "页面路径,如 wiki/index.md、wiki/topic/article.md;不传 = 只看这个库有哪些页",
"type": "string"
},
"path": {
"description": "page 的别名",
"type": "string"
}
},
"type": "object"
},
"name": "read_kb",
"outputSchema": null
},
{
"description": "设定一个岗位用哪些知识库(整体替换)。参数:slug 必填;kbs 是库名数组,只能填我名下已发布的库(list_kbs 里有的),别人的库名会被忽略;传 [] = 这个岗位不用任何库。改完立刻生效。",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"kbs": {
"description": "这个岗位要用的全部库名(整体替换,传 [] = 一个都不用)",
"items": {
"type": "string"
},
"type": "array"
},
"slug": {
"type": "string"
}
},
"required": [
"slug",
"kbs"
],
"type": "object"
},
"name": "set_staff_kbs",
"outputSchema": null
}
]
}Verify it yourself
curl -s https://api.teppi.xyz/v1/evidence/sha256:86cbf37da6b75407ae27b86463bf5697e106bcef156277502f7b252e6d2a3029 | sha256sum