act_enrich
【通路富集(GO/KEGG)】 用户有一批基因要做 GO/KEGG 富集、找通路 返回:富集通路与 P 值 (真实算法引擎执行,非大模型生成)
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| db_filter | No | 数据库:GO_BP/GO_CC/GO_MF/KEGG | |
| gene_list | Yes | 基因列表 | |
| project_id | No | 项目 id |
【通路富集(GO/KEGG)】 用户有一批基因要做 GO/KEGG 富集、找通路 返回:富集通路与 P 值 (真实算法引擎执行,非大模型生成)
| Name | Required | Description | Default |
|---|---|---|---|
| db_filter | No | 数据库:GO_BP/GO_CC/GO_MF/KEGG | |
| gene_list | Yes | 基因列表 | |
| project_id | No | 项目 id |
Changes observed during successful MCP inspections.
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=false, so safety is covered. The description adds a genuinely useful non-annotation claim: the computation runs on a real algorithmic engine rather than being LLM-generated, plus it discloses the return shape (pathways + P values). It stops short of disclosing background/p-value correction method or gene-ID requirements.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Very compact: a bracketed topic label, one sentence of use case, one sentence of return values, and a one-clause trust note. It is front-loaded and every clause carries information, though the bracketed title duplication of the annotation title is slightly redundant.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 3-parameter read-only analysis tool with no output schema, the description covers purpose and return values adequately. It is missing practical preconditions an agent would need to call it correctly — organism/species, gene identifier namespace, and how many genes are needed — which matter for an enrichment engine.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with db_filter (GO_BP/GO_CC/GO_MF/KEGG), gene_list, and project_id each documented inline, so the schema carries the parameter burden. The description adds no extra semantics such as accepted gene ID types, minimum list size, or default db_filter behavior, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb+resource: GO/KEGG pathway enrichment on a gene list, returning enriched pathways with P values. The GO/KEGG qualifier implicitly separates it from the metabolomic (act_metabo_enrichment) and protein (act_protein_enrichment) enrichment siblings, though it never explicitly names or contrasts with act_gene_pathway, which is the closest neighbor.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied in the phrasing 'users with a batch of genes wanting GO/KEGG enrichment / finding pathways', which tells the agent the input precondition (a gene list) and the goal. There is no explicit when-not guidance, no named alternative, and no mention of prerequisites such as species or gene ID format, so the agent must infer routing among the several enrichment tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Add one secure layer between your agents and this server.