Skip to main content
Glama

@friday-ai-codes/mcp

Friday AI 的 MCP(Model Context Protocol)server。把 Friday 的代码索引、Graph RAG、编码计划与 PR / MR 工具暴露给 Cursor / Claude Code / Codex 等 AI 编码助手。

配置(一条命令)

在 Friday Web 控制台「个人资料 → 访问令牌」创建 PAT(明文只显示一次),然后:

npx -y @friday-ai-codes/mcp setup

交互式中文向导一条龙:凭证问答 → 自动注册进本机 agent → 连通性测速(延迟 ms 高亮)→ 能力演示(随机介绍一个已索引仓库)。

脚本 / CI 场景用命令式 init

npx -y @friday-ai-codes/mcp init --base-url https://friday.example.com --token <你的访问令牌>

配置写入 ~/.friday/config.json(权限 0600)。也可以用环境变量 FRIDAY_BASE_URL / FRIDAY_ACCESS_TOKEN 覆盖。

Related MCP server: codesight

注册到 IDE

一条命令,自动探测已安装的 agent 并幂等注册:

npx -y @friday-ai-codes/mcp register
  • Cursor:写入 ~/.cursor/mcp.json--project 时写 ./.cursor/mcp.json

  • Claude Code:执行 claude mcp add friday -- npx -y @friday-ai-codes/mcp

  • Codex:追加 [mcp_servers.friday]~/.codex/config.toml

只新增 friday 条目,不覆盖既有配置;已注册则跳过。用 --agent cursor|claude-code|codex(可重复)指定目标,--all 注册全部。

命令

命令

作用

friday-mcp(无参数)

启动 stdio MCP server

friday-mcp setup

交互式中文向导:凭证 → 注册 → 测速 → 能力演示

friday-mcp init

写入配置(带 --base-url / --token 为命令式,否则交互式问答)

friday-mcp register [--agent <name>] [--all] [--project]

把 friday MCP server 注册进 agent 配置(幂等)

friday-mcp doctor

检查配置、注册状态与连通性测速(不回显令牌)

工具集

23 个工具,对应 Friday /api/mcp/tools/* 端点:仓库发现(route_repositories)、Graph RAG 检索(search_rag_chunksfind_related_chunks)、精确文本检索(grep_repository)、仓库浏览(get_repository / list_repository_files / get_repository_file)、分析与计划(analyze_repository / create_coding_plan / improve_coding_plan)、执行与 MR(execute_coding_plan / get_coding_execution / summarize_branch / create_merge_request)、飞书工作项(get_feishu_work_item_context / create_feishu_technical_plan / create_work_item_repo_tasks / execute_work_item_repo_tasks)、学习案例(create_learning_case / search_learning_cases)、交付知识图谱(search_delivery_knowledge / get_entity_timeline / get_related_entities)。

每个工具都带 MCP 标准 annotations(中文 title 按「阶段 · 动作」分组 + readOnlyHint / idempotentHint / openWorldHint 行为提示)。

配合 Friday AI skills(4 个技能:friday / friday-code / friday-feishu / friday-memory)使用效果最佳,一键全装:

npx @friday-ai-codes/skills

License

MIT

Available Tools

23 tools
analyze_repository分析 · 结构化仓库分析A

对仓库做结构化分析(架构、风险、测试建议),可带 focus 聚焦特定主题,返回 analysis_id 供 create_coding_plan 复用证据。

ParametersJSON Schema
NameRequiredDescriptionDefault
focusNo聚焦主题(<=1000 字符),如某个需求或模块
branchNo分支名,省略用默认分支
max_filesNo分析文件数上限
repository_idYes仓库 UUID
context_chunksNo补充上下文 chunk 列表(来自 search_rag_chunks 结果,<=20 条)

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations indicate readOnlyHint=false and destructiveHint=false, so the description adds value by revealing that the tool returns an analysis_id for reuse in create_coding_plan, implying a side effect (saving analysis results). However, it does not detail permissions or what gets modified.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences, front-loaded with the core action and followed by key details (focus, output usage). No redundant information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity (5 parameters, no output schema), the description covers main points: analysis type, focus, return ID and its use. However, it omits details on the format of the analysis result and the role of parameters like branch, max_files, and context_chunks.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3. The description adds context about the overall purpose (architecture/risk/test) and highlights the focus parameter, but does not elaborate on the interplay of parameters beyond what the schema provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it performs structured analysis (architecture, risks, test suggestions) on a repository, mentions the optional focus parameter, and links the output to a specific sibling tool (create_coding_plan). This distinguishes it from other tools like summarize_branch or get_repository.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage when structured analysis is needed, but does not explicitly exclude scenarios or mention alternatives. For example, it does not contrast with other analysis tools like search_rag_chunks or find_related_chunks.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

create_coding_plan计划 · 生成编码计划A

根据需求与代码证据生成结构化编码计划(分步骤、含风险与测试建议),返回 plan_id / version_id。执行编码前的必经步骤。

ParametersJSON Schema
NameRequiredDescriptionDefault
branchNo分支名,省略用默认分支
max_stepsNo计划步骤数上限
analysis_idNoanalyze_repository 返回的分析 ID(可选,复用证据)
requirementYes需求描述(<=8000 字符)
repository_idYes仓库 UUID
context_chunksNo补充上下文 chunk 列表(<=20 条)

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations indicate this is a mutation (not readOnly) and not destructive. The description adds that it creates a plan and returns IDs, but does not elaborate on side effects like overwriting existing plans. No contradiction with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences, concise, and front-loaded with the core purpose. No unnecessary words, and every sentence adds value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the moderate complexity (6 params, no output schema), the description captures the purpose, role in workflow, and key output fields. It could detail the return structure more, but it is sufficiently complete for an agent to understand the tool's use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 100% schema description coverage, the schema already explains all parameters. The description mentions 'code evidence' relating to analysis_id/context_chunks but adds no new semantics beyond the schema. Baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool generates a structured coding plan with steps, risks, and test suggestions, returning plan_id/version_id. It specifies it is a mandatory pre-execution step, distinguishing it from siblings like execute_coding_plan and improve_coding_plan.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage before executing coding and optionally reuses analysis from analyze_repository, but does not explicitly state when not to use it or provide direct alternatives. Siblings imply differentiation, but the description lacks explicit guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

create_feishu_technical_plan飞书 · 生成技术方案并回写A

基于工作项上下文与代码证据生成技术方案,可写回飞书文档与评论。返回 technical_plan_id 供建任务 / 执行。

ParametersJSON Schema
NameRequiredDescriptionDefault
titleNo方案标题(<=240 字符,可选)
context_idYesget_feishu_work_item_context 返回的 context UUID
repo_hintsNo仓库提示词(<=20 个,可选,辅助路由)
folder_tokenNo飞书文档目录 token(可选)
similar_casesNo相似历史案例(来自 search_learning_cases,<=20 条)
write_commentNo是否写回工作项评论
context_chunksNo补充代码证据 chunk(<=30 条)
repository_idsNo限定仓库 UUID 列表(<=10 个,可选)
create_documentNo是否创建飞书文档

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate write capability and external state changes. The description adds context about writing back to Feishu and returning an ID. However, it does not disclose behavior when boolean flags are false or potential failure modes.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is only two sentences, efficiently conveying the primary action and return value. It is front-loaded and contains no superfluous information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description explains the return value (technical_plan_id) and the main behavior. It is mostly complete given the absence of an output schema, but lacks details on error handling or behavior when write_comment and create_document are both false.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents each parameter. The description does not add significant new meaning beyond mapping 'context' to parameters like context_id. The return value is mentioned but not in parameter context.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool generates a technical plan based on work item context and code evidence, and can write back to Feishu documents and comments. It distinguishes itself from siblings like 'create_coding_plan' by specifying the output and target platform.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage after obtaining context from 'get_feishu_work_item_context' but does not explicitly state when to use this tool over alternatives like 'create_coding_plan'. No exclusion criteria or alternative suggestions are provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

create_learning_case记忆 · 沉淀学习案例A

把一次技术方案 / 执行的经验沉淀为学习案例(根因、解法、测试),供未来相似需求检索复用。

ParametersJSON Schema
NameRequiredDescriptionDefault
testsNo相关测试列表(<=50 条)
outcomeNo结果标签(如 success / failed / unknown)unknown
root_causeNo根因记录(<=5000 字符)
solution_notesNo解法笔记(<=10000 字符)
technical_plan_idYes技术方案 UUID

TDQS

A4.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations show non-readonly, non-destructive, which is consistent. Description adds that it creates a case with specific fields, but does not disclose details like whether it overwrites existing cases or any side effects. Adequate but not extensive.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence, efficient, and front-loaded with purpose. No wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 5 parameters with full schema coverage and no output schema, the description sufficiently explains what the tool does. It is complete enough for understanding the tool's purpose and usage.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3. Description adds value by linking parameters to the three aspects of a learning case (root cause, solution, tests), providing context beyond the schema descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool creates a learning case from a technical plan/execution, capturing root cause, solution, and tests. It distinguishes from sibling 'search_learning_cases' which retrieves cases.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for depositing experience for future retrieval, and the sibling list includes search_learning_cases for retrieval. However, it does not explicitly state when to use or not use this tool, nor provide alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

create_merge_request交付 · 创建 PR/MRA

在 GitHub / GitLab 创建 PR / MR。提供 execution_id,或同时提供 repository_id + source_branch + target_branch。title/description 省略时复用 summarize_branch 草稿。

ParametersJSON Schema
NameRequiredDescriptionDefault
titleNoMR 标题(<=200 字符,可选)
descriptionNoMR 描述(<=20000 字符,可选)
execution_idNo执行 UUID(与 repository_id 组合二选一)
repository_idNo仓库 UUID
source_branchNo源分支
target_branchNo目标分支
reviewer_usernamesNo评审人用户名列表(<=20 个)
remove_source_branchNo合并后删除源分支

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Discloses that title/description reuse summarize_branch draft when omitted, adding behavior beyond annotations. Annotations already indicate non-readOnly, non-idempotent, non-destructive, so description complements well.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences, front-loaded main action, then options, then default behavior. No fluff.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Covers main goal, parameter relationships, and default behavior. No output schema needed. Minor gap: missing explanation if no draft exists when title/description omitted.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Adds conditional grouping and default draft reuse beyond the schema descriptions. Schema coverage is 100%, but description adds valuable context.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly states '在 GitHub / GitLab 创建 PR / MR', specifying the action and platforms. Distinct from sibling tools that focus on analysis or planning.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides two parameter options (execution_id or repository_id+source_branch+target_branch) and explains default behavior for title/description. Implicitly clear when to use, but lacks explicit when-not or alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

create_work_item_repo_tasks飞书 · 拆解多仓任务矩阵A

把技术方案拆解为按仓库划分的任务矩阵(跨仓需求拆分)。

ParametersJSON Schema
NameRequiredDescriptionDefault
technical_plan_idYes技术方案 UUID

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate this is not read-only and not destructive. The description adds that it creates a task matrix, but does not disclose additional behavioral traits such as permissions, reversibility, or impact on existing plans.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence that efficiently conveys the core purpose. It could be slightly expanded for clarity, but it is concise and fits the tool's simplicity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple tool with one parameter and no output schema, the description covers the main purpose. However, it lacks any indication of return value or behavior when tasks already exist, which would be helpful for completeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with one parameter (technical_plan_id) fully described as '技术方案 UUID'. The description does not add extra meaning beyond what the schema provides, so baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action (拆解/分解), the resource (技术方案 -> 任务矩阵), and the grouping by repository. It distinguishes from sibling tools like execute_work_item_repo_tasks and create_coding_plan by focusing on cross-repo task decomposition.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies this tool is used for cross-repo requirement splitting, but it does not explicitly state when to use it versus alternatives, nor does it provide any exclusions or prerequisites.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

execute_coding_plan执行 · 运行编码计划(长耗时,需用户确认)A

在 Friday Runner 的隔离容器中执行已确认的编码计划(Claude Code 实际写代码、跑测试、推分支)。耗时长(默认超时 1 小时),返回 execution_id 供轮询。执行前必须先经用户确认计划内容。

ParametersJSON Schema
NameRequiredDescriptionDefault
plan_idYes计划 UUID
version_idNo计划版本 UUID(可选,默认最新版本)
branch_nameNo工作分支名(可选,默认自动生成)
target_branchNo目标分支(可选,默认仓库默认分支)
timeout_secondsNo执行超时秒数
retry_of_execution_idNo重试来源 execution UUID(可选)

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

描述补充了注释未包含的行为细节:耗时较长(默认超时1小时)、在隔离容器中运行、返回execution_id供轮询、需要用户确认。无注释矛盾。

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

两句话简明扼要,关键信息前置(执行、隔离容器、耗时长、用户确认)。无冗余内容。

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

无输出模式,但描述了返回execution_id和耗时行为,足以让代理理解异步轮询流程。结合输入模式,信息完整。

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

输入模式覆盖100%参数且已有描述,描述未额外增加参数含义。基线3分合理。

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

明确指定操作动词(执行)、资源(编码计划)和范围(隔离容器,Claude Code实际写代码/跑测试/推分支)。与create_coding_plan、improve_coding_plan等兄弟工具明显区分。

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

强调执行前必须经用户确认计划内容,并说明耗时长、返回execution_id供轮询。未明确列出何时不使用或替代工具,但上下文已足够引导正确使用。

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

execute_work_item_repo_tasks飞书 · 批量执行与回写(长耗时,需用户确认)A

批量执行技术方案下的仓库任务(派发编码、建 MR、回写飞书)。technical_plan_id 与 task_ids 至少提供一个。耗时长,执行前必须经用户确认。

ParametersJSON Schema
NameRequiredDescriptionDefault
dispatchNo是否实际派发编码执行
task_idsNo指定任务 UUID 列表(<=20 个,二选一)
write_backNo结果回写飞书
create_missingNo缺任务时自动补建
timeout_secondsNo单任务超时秒数
technical_plan_idNo技术方案 UUID(与 task_ids 二选一)
reviewer_usernamesNoMR 评审人用户名列表(<=20 个)
create_merge_requestsNo完成后自动建 MR

TDQS

A3.7/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description discloses that the tool is long-running and requires user confirmation, complementing annotations (readOnlyHint=false, openWorldHint=true). It adds behavioral context about dispatching coding and creating MRs, which is not captured in annotations. No contradiction found.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences long, front-loading the core action and then adding constraints. Every sentence provides essential information with no redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 8 parameters and no output schema, the description covers the main purpose and input constraint. However, it lacks details on success/failure behavior, monitoring, or expected output, leaving some gaps for a complex batch operation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Input schema has 100% coverage, so baseline is 3. The description adds context for key parameters (technical_plan_id, task_ids) but does not elaborate on other properties like dispatch, write_back, or timeout_seconds beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description explicitly states the tool executes batches of repository tasks under a technical plan, including dispatching coding, creating merge requests, and writing back to Feishu. It distinguishes from sibling tools like execute_coding_plan by mentioning Feishu integration and MR creation, but does not directly contrast with them.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description notes that technical_plan_id or task_ids must be provided and warns about long duration and user confirmation. However, it does not specify when to use this tool versus alternatives like execute_coding_plan or create_merge_request.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_coding_execution执行 · 查询执行状态与产物A
Read-onlyIdempotent

查询编码执行状态与产物(status / commit_sha / file_changes / test_results / last_diff / runner_logs / recovery_state)。执行后轮询与失败诊断用。

ParametersJSON Schema
NameRequiredDescriptionDefault
execution_idYes执行 UUID

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, indicating safe, idempotent reads. The description adds value by listing the exact return fields (status, commit_sha, file_changes, test_results, last_diff, runner_logs, recovery_state), which enhances behavioral understanding beyond what annotations provide.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description consists of two concise sentences. The first enumerates the return fields, and the second specifies usage context. There is no unnecessary information, and key details are front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given a single parameter with full schema coverage, annotations, and no output schema, the description enumerates return fields adequately. It does not address pagination or error handling, but for a straightforward query tool, this is sufficient for the agent to use effectively.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema covers the single parameter 'execution_id' with format 'uuid' and description '执行 UUID'. The description does not add further detail about the parameter, but schema coverage is 100%, so a baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses the verb '查询' (query) and specifies the resource '编码执行状态与产物' (coding execution status and artifacts). It lists the specific fields returned, making it distinct from sibling tools like execute_coding_plan. This provides clear, specific action and resource identification.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description states '执行后轮询与失败诊断用' (for polling after execution and failure diagnosis), which explicitly indicates when to use this tool. Although it does not explicitly exclude other scenarios, the context is clear and sufficient for an AI agent to decide.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_entity_timeline知识 · 实体版本时间线A
Read-onlyIdempotent

查询知识实体的完整迭代轨迹:方案 v1→vN 与各次编码按时间排序的时间线(纯版本链,不依赖向量库)。

ParametersJSON Schema
NameRequiredDescriptionDefault
as_ofNo历史时点查询(ISO8601,可选)
entity_idYes知识实体 UUID(来自 search_delivery_knowledge 结果)
include_supersededNo是否包含被取代的旧版本

TDQS

A3.8/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false. The description adds that the timeline is a pure version chain not relying on vector DB, providing extra behavioral context beyond the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single sentence that front-loads the main purpose. It is efficient, though the structure could be slightly improved with separate clauses.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema, so the description should provide more details on the return format. It hints at a timeline of plans and codings but lacks explicit structure. Annotations are rich, but for a query tool, more completeness is needed.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3. The description mentions 'v1→vN' and '各次编码' implying version details, but does not add significant meaning beyond what the schema already describes for each parameter.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states it queries the complete iteration trajectory of a knowledge entity, listing plans and codings in a timeline. This is a specific verb-resource combination and distinguishes it from siblings like search_delivery_knowledge.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied for tracing version history, but no explicit guidance on when to use versus siblings like get_related_entities or when not to use.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_feishu_work_item_context飞书 · 聚合工作项上下文A
Read-onlyIdempotent

聚合飞书工作项上下文:字段、关系、关联文档与评论,返回 context_id 供 create_feishu_technical_plan 使用。project_id 与 project_key 至少提供一个。

ParametersJSON Schema
NameRequiredDescriptionDefault
fieldsNo需要拉取的字段列表(<=80 个,空为默认字段)
project_idNoFriday 项目 UUID(与 project_key 二选一)
project_keyNo飞书项目 key(二选一)
work_item_idYes飞书工作项 ID
work_item_typeNo工作项类型,默认 storystory
include_commentsNo是否包含评论

TDQS

A4.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, openWorldHint=true, and destructiveHint=false. The description adds that it aggregates multiple data types (fields, relations, docs, comments) and returns a context_id, which is helpful but does not contradict annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences covering purpose, output, and a key constraint. No redundant information; every sentence adds value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite no output schema, the description explains the output (context_id) and its downstream use, and lists what data is aggregated. Together with annotations and schema, this is sufficient for a read-only aggregation tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with clear descriptions for each parameter. The description adds a cross-parameter constraint ('project_id and project_key at least one') that is not in the schema, improving parameter understanding.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool aggregates Feishu work item context (fields, relationships, documents, comments) and returns a context_id for use by create_feishu_technical_plan. This specific verb-resource combination distinguishes it from siblings like get_related_entities or get_entity_timeline.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly states the condition that project_id or project_key must be provided, and implies usage for creating technical plans via the mentioned sibling. However, it does not explicitly compare to other search or get tools in the sibling list.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_repository仓库 · 元数据与索引状态A
Read-onlyIdempotent

查询单个仓库的元数据与索引状态(默认分支、索引健康度等)。

ParametersJSON Schema
NameRequiredDescriptionDefault
repository_idYes仓库 UUID

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, so the description is not required to repeat these. It adds value by specifying what is returned (metadata, index status with examples) and is consistent with the annotations. No contradictions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence, front-loaded with the core purpose, and contains no unnecessary words. It is concise and effective.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has one parameter, no output schema, and annotations covering safety, the description adequately explains the return focus (metadata and index status) with examples. It could mention what happens if the repository does not exist, but this is a minor gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% (one parameter, repository_id, with a description). The tool description does not add any additional semantics beyond the schema. Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool queries a single repository's metadata and index status, with specific examples like default branch and index health. It is a specific verb-resource combination that distinguishes from sibling tools like analyze_repository or get_repository_file.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for retrieving repository metadata/index status, but does not explicitly state when to use it over alternatives or provide exclusions. Sibling tools exist (e.g., analyze_repository), and no guidance is given on choosing between them.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_repository_file仓库 · 读取文件A
Read-onlyIdempotent

读取仓库内单个文件内容(支持行范围截取)。优先从本地 git 镜像读取完整文件(source="git",行号精确),镜像不可用时回退索引 chunk 拼接(source="index")。

ParametersJSON Schema
NameRequiredDescriptionDefault
branchNo分支名,省略用默认分支
end_lineNo结束行(>= start_line)
file_pathYes文件路径(相对仓库根,<=1000 字符)
max_linesNo最大返回行数
start_lineNo起始行(1-based)
repository_idYes仓库 UUID

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, destructiveHint=false, and idempotentHint=true. The description goes beyond by detailing the fallback behavior (git mirror first, then index chunks) and the source indicator in responses. This adds useful context not present in annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences that are front-loaded and contain no redundant information. Every word adds value, explaining the core function, line-range support, and fallback mechanism.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity, strong annotations, and complete schema, the description covers all necessary behavioral details (fallback, line ranges). No output schema is needed for a file-read operation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with each parameter described. The description does not add meaning beyond the schema; it simply restates the line-range capability. Baseline 3 is appropriate as the schema carries the burden.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool reads a single file within a repository with optional line range support. It also explains the two fallback sources (git mirror vs. index chunks), distinguishing it from sibling tools like grep_repository or list_repository_files.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for reading file content with line ranges but does not explicitly state when to prefer this tool over alternatives (e.g., grep_repository for searching content, list_repository_files for listing). No exclusions or when-not-to-use guidance is provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

grep_repository分析 · 精确文本检索(grep)A
Read-onlyIdempotent

在仓库本地 git 镜像快照上做精确文本检索(ripgrep / git grep,确定性全量结果)。与 search_rag_chunks 的语义召回互补:「穷举所有出现位置」类问题(字面量 / 符号引用 / 跳转路径枚举)必须用这个,语义检索保证不了全量。默认单仓(repository_id);跨仓需显式 opt-in(repository_ids 数组或 all_repositories=true),结果按仓库分组。默认锁定到与 RAG 索引一致的 commit 快照(matches_index=true)。建议先用 output_mode=files_only 看命中分布,再用 content + context_lines 取关键上下文。

ParametersJSON Schema
NameRequiredDescriptionDefault
pathsNo限定路径前缀列表(如 "apps/home",<=10 个)
regexNo是否按正则解释 pattern
branchNo分支名(仅单仓检索可指定),省略用默认分支
patternYes检索模式(<=512 字符);默认按字面量精确匹配,regex=true 时按正则解释
max_reposNo跨仓检索的仓库数上限
max_tokensNocontent 模式的输出 token 预算(超出截断并置 truncated=true)
max_matchesNo每仓命中行数上限(超出时 truncated=true)
output_modeNo输出模式:content 命中行+上下文 / files_only 逐文件命中计数(看分布)/ count 仅统计content
context_linesNo每个命中行附带的上下文行数(仅 content 模式生效)
exclude_globsNo排除 glob 列表(如 "**/dist/**",<=10 个)
include_globsNo包含 glob 列表(如 "**/*.ts",<=10 个)
repository_idNo仓库 UUID(单仓检索,来自 route_repositories / get_repository)
case_sensitiveNo是否大小写敏感
repository_idsNo跨仓检索的仓库 UUID 列表(<=10 个,显式 opt-in)
all_repositoriesNo对全部已索引仓库检索(显式 opt-in,受 max_repos 限制)

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false. Description adds value by explaining deterministic snapshot behavior (matches_index), cross-repo result grouping, and truncation details (max_tokens, max_matches with truncated=true flag). No contradictions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Description is well-structured: purpose first, then sibling comparison, then details on defaults and usage tips. Every sentence adds value. Slightly lengthy but appropriate given tool complexity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with 15 parameters and no output schema, description covers purpose, sibling differentiation, default behaviors, output modes, cross-repo opt-in, and snapshot consistency. Does not describe return format but that may be assumed from tool type. Adequately complete for agent decision-making.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so baseline is 3. Description adds minimal per-parameter insight beyond schema; it mentions output_mode and cross-repo parameters but mostly restates schema info. The description does provide context for overall parameter usage but doesn't significantly deepen individual parameter understanding.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states verb ('精确文本检索'), resource ('仓库本地 git 镜像快照'), and method ('ripgrep / git grep, 确定性全量结果'). Explicitly distinguishes from sibling 'search_rag_chunks' by stating the complementary relationship and when to use each.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides explicit when-to-use ('穷举所有出现位置' problems) and when-not-to-use (semantic recall insufficient for exhaustive coverage). Mentions default behavior (single repo, matches_index=true), cross-repo opt-in requirement, and suggests using output_mode=files_only first for distribution analysis.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

improve_coding_plan计划 · 修订编码计划A

根据反馈修订既有编码计划,生成新版本(返回新 version_id 与 change_summary / risk_delta)。

ParametersJSON Schema
NameRequiredDescriptionDefault
plan_idYes计划 UUID(来自 create_coding_plan)
feedbackYes修订反馈(<=8000 字符)
max_stepsNo计划步骤数上限
context_chunksNo补充上下文 chunk 列表(<=20 条)

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations indicate non-readOnly and non-destructive. Description adds that it generates a new version and returns specific fields (version_id, change_summary, risk_delta), providing behavioral context beyond annotations. However, it does not discuss permissions or whether the original plan is modified.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence that is front-loaded with the action and result. Every part adds value, no fluff.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Description explains purpose and return fields, but lacks explicit guidance on parameters like max_steps or context_chunks beyond what schema provides. Despite no output schema, it mentions key return values, making it fairly complete for a revision tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Input schema has 100% description coverage. Description does not add meaning beyond the schema for parameters like plan_id or feedback. The output mentioned is not parameter-level detail. Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states it revises an existing coding plan based on feedback and returns a new version with version_id, change_summary, and risk_delta. This distinguishes it from siblings like create_coding_plan (create new) and execute_coding_plan (execute).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Description implies use when feedback is available to revise a plan, but does not explicitly state when to use vs alternatives or when not to use. No exclusions or context for selection are provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_repository_files仓库 · 目录浏览A
Read-onlyIdempotent

列出仓库目录结构(支持分页与递归)。用于浏览项目布局。

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo页码
pathNo起始目录路径,默认仓库根
branchNo分支名,省略用默认分支
page_sizeNo每页条数
recursiveNo是否递归列出子目录
repository_idYes仓库 UUID

TDQS

A4.4/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate readOnly, idempotent, and non-destructive behavior. The description adds transparency about pagination and recursion support, and confirms it lists directory structure, not file contents, extending beyond annotation coverage.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence that efficiently conveys the core functionality and key features without extraneous content.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description is adequate for a straightforward listing tool, but the absence of an output schema means the agent lacks information about the return format (e.g., file names, sizes, types). This is a minor gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 100% schema description coverage, each parameter is already well-documented. The description does not add significant extra meaning beyond the scope already provided by the input schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb (列出) and resource (仓库目录结构), and specifies key features (支持分页与递归). It distinguishes from siblings like get_repository_file (which retrieves a single file) and grep_repository (text search) by focusing on directory structure browsing.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description indicates usage for browsing project layout, providing clear context. However, it does not explicitly exclude alternative uses or compare with siblings, leaving some guidance implicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

route_repositories仓库 · 路由发现A
Read-onlyIdempotent

根据需求描述路由到最相关的已索引仓库,返回排序后的候选仓库与索引健康度。仓库发现的第一步。

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYes需求 / 问题描述(<=1000 字符)
top_kNo返回候选仓库数

TDQS

A3.8/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, which indicate safe, read-only behavior. The description adds value by disclosing the output (sorted candidates and index health) and its role as an initial discovery step, providing context beyond annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences long, front-loaded with the primary action and outcome. Every sentence is meaningful, with no redundant or unnecessary information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (2 parameters, no output schema, no nested objects), the description covers its purpose and output role. However, it does not explain what 'index health' means or the exact format of the returned candidates, but this is not critical for understanding the tool's function.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, with both parameters ('query' and 'top_k') fully described in the schema. The description does not add additional meaning or constraints beyond what the schema provides, so a baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool routes to the most relevant repositories based on a requirement description, returning sorted candidates and index health. It also identifies itself as the first step in repository discovery, but does not explicitly differentiate from sibling tools like 'get_repository' or 'analyze_repository'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage context by calling it the 'first step in repository discovery', suggesting it should be used before other repository tools. However, it lacks explicit guidance on when not to use it or alternatives, such as when the user already knows the repository.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_delivery_knowledge知识 · 交付知识检索A
Read-onlyIdempotent

在交付知识图谱中检索相似历史需求 / 方案 / 代码变更(向量召回 + 图扩散 + 时间衰减),返回带出处与关联实体的结果。问"以前做过类似需求吗"用这个。

ParametersJSON Schema
NameRequiredDescriptionDefault
as_ofNo历史时点查询(ISO8601,可选,如 "2026-05-01T00:00:00+08:00")
queryYes需求 / 问题描述(<=4000 字符)
top_kNo返回结果数
project_idsNo限定项目 ID 列表(<=50 个,可选,只能收窄权限范围)
entity_kindsNo实体类型过滤(work_item / tech_plan / code_change / document,<=20 个,可选)
repository_idsNo限定仓库 ID 列表(<=50 个,可选)
include_supersededNo是否包含被取代的旧版本(标注 superseded by vN)

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate read-only and idempotent; description adds details about the retrieval mechanism (vector recall, graph diffusion, time decay) and output format (with sources and entities), enhancing transparency beyond annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences that are front-loaded and to the point. No redundancy, every word adds value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Covers purpose, usage, and high-level behavior. No output schema exists, but description mentions return type. Could be more complete about result ordering or pagination, but sufficient.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema covers 100% of parameters with descriptions. The tool description does not add further parameter-level details, so baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states the tool retrieves historical requirements/plans/code changes from a delivery knowledge graph using advanced techniques. It distinguishes from siblings by providing a typical use case ('Have we done similar requirements before?').

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives explicit usage context with the query example, but does not mention when not to use or list alternatives. Still provides clear guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_learning_cases记忆 · 检索学习案例A
Read-onlyIdempotent

检索历史学习案例(按语义 + 仓库 / 文件 / 符号提示),在生成新方案前查相似经验。

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo返回上限
queryNo检索语句(<=2000 字符)
file_hintsNo文件路径提示(<=50 个)
repo_hintsNo仓库提示(<=20 个)
symbol_hintsNo符号名提示(<=50 个)
work_item_typeNo工作项类型过滤(可选)

TDQS

A3.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate read-only and idempotent behavior. Description adds that search is semantic with hints but does not disclose any additional behavioral aspects beyond what annotations provide.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single, concise sentence that front-loads the action and context with no wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema exists, and description does not explain what the tool returns (e.g., list of cases, details). Lacks information on pagination or result format, leaving gaps for an agent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema covers all parameters with descriptions (100% coverage). The description only repeats the hint types already in schema, adding no new semantic meaning for parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description specifies verb '检索' (retrieve), resource '学习案例' (learning cases), and context '在生成新方案前查相似经验' (before generating new plans), clearly distinguishing it from sibling tools like 'create_learning_case' or 'analyze_repository'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly states when to use: before generating new plans to look up similar experiences. Implies usage context but does not explicitly state when not to use or mention alternatives among siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_rag_chunks分析 · GraphRAG 混合检索A
Read-onlyIdempotent

在指定仓库做 Graph RAG 混合检索(语义 + 关键词 + 图谱扩散),返回相关代码块与关系边。代码证据收集的主力工具。

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYes检索语句(<=1000 字符)
top_kNo召回 chunk 数
branchNo分支名,省略用默认分支
max_tokensNo返回内容 token 预算
repository_idYes仓库 UUID(来自 route_repositories / get_repository)

TDQS

A3.8/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, destructiveHint=false, and idempotentHint=true. The description adds useful behavioral context: the hybrid retrieval method (semantic+keyword+graph diffusion) and the output type (code chunks + edges). No contradictions noted.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise: two sentences clearly stating the core functionality and its role as the main evidence collection tool. No extraneous words, front-loaded with key information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the 5 parameters, no output schema, and annotations present, the description provides adequate context for a search tool. It explains the search technique and return types. Minor gap: does not detail the structure of returned chunks and edges, but still sufficient for typical use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all parameters. The tool description does not add extra semantic detail beyond the schema, meeting the baseline expectation for high coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool performs Graph RAG hybrid search in a repository, returning code chunks and relationship edges. It identifies itself as 'the main tool for code evidence collection', which distinguishes its purpose among sibling tools, though not by explicitly naming alternatives.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage when needing code evidence via hybrid search, but it does not explicitly state when to use this tool over siblings like grep_repository or find_related_chunks, nor does it provide exclusions or alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

summarize_branch交付 · 分支摘要与 MR 草稿A

对比分支差异并生成可读摘要与 MR 草稿。提供 execution_id,或同时提供 repository_id + source_branch + target_branch。

ParametersJSON Schema
NameRequiredDescriptionDefault
max_filesNo摘要文件数上限
execution_idNo执行 UUID(与下三项二选一)
repository_idNo仓库 UUID
source_branchNo源分支
target_branchNo目标分支

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description clarifies that the tool generates a summary and draft, implying a read/compute operation without side effects. This adds context beyond the annotations, which only indicate non-destructive and non-readOnly.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two concise sentences that front-load the purpose and method, with no redundant or extraneous information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with 5 parameters and no output schema, the description adequately explains the invocation patterns and purpose. It does not cover return format or error behavior, but that is acceptable given the tool's simplicity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description adds the logical grouping and mutual exclusivity of parameters, which is not evident from the schema alone. Since schema coverage is 100%, baseline is 3, but the added clarity merits a 4.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool compares branch differences and generates a readable summary and MR draft, using specific verbs and resources. It distinguishes itself from siblings like analyze_repository and create_merge_request.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly provides two invocation patterns (execution_id vs repository_id+source+target), guiding the agent on input options. However, it lacks explicit when-not or comparisons to alternative tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

TDQS

A4.1/5.0
Disambiguation5/5

All tools have clearly distinct purposes with detailed descriptions. Even similar tools like grep_repository and search_rag_chunks are explicitly differentiated (exact text vs semantic search). Overlap is minimal and intentional.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern in snake_case (e.g., analyze_repository, create_coding_plan, search_rag_chunks). No mixing of camelCase or other conventions.

Tool Count4/5

23 tools is slightly above the ideal range but well-justified given the comprehensive domain coverage (code analysis, planning, execution, knowledge management). No obvious bloat.

Completeness4/5

The tool surface covers the full lifecycle from repository discovery to code execution and knowledge persistence. Minor gaps exist (e.g., no direct file editing or issue/PR commenting outside Feishu), but core workflows are complete.

Maintenance

ActivityActive
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables AI agents to search code by meaning, explore codebase structure, store and query knowledge with temporal facts, and read source code through a set of MCP tools.
    481
    7
    MIT
  • A
    license
    Not graded
    quality
    A
    maintenance
    Provides 13 MCP tools for codebase analysis, wiki generation, and knowledge mapping, enabling AI assistants to understand project structure and context efficiently.
    1,400
    1,391
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables AI coding agents to retrieve and manage code context with hybrid search, project memory, and observability via MCP tools.
    29
    MIT
  • A
    license
    Not graded
    quality
    A
    maintenance
    Provides code intelligence for AI coding agents by indexing repositories into a hybrid knowledge graph, enabling agents to query dependencies, impact, and context through 28 MCP tools.
    3
    Apache 2.0

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/friday-ai-codes/mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server