act_ddi_check
【药物相互作用检查】 用户问两个药能不能一起用、有没有相互作用 返回:相互作用等级与机制 (真实算法引擎执行,非大模型生成)
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| drug_a | Yes | 药物 A | |
| drug_b | Yes | 药物 B |
【药物相互作用检查】 用户问两个药能不能一起用、有没有相互作用 返回:相互作用等级与机制 (真实算法引擎执行,非大模型生成)
| Name | Required | Description | Default |
|---|---|---|---|
| drug_a | Yes | 药物 A | |
| drug_b | Yes | 药物 B |
Changes observed during successful MCP inspections.
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already establish the safety profile (readOnlyHint=true, destructiveHint=false, openWorldHint=false), so the bar is lower. The description adds genuine context beyond them: results come from a real algorithmic engine rather than LLM generation, which tells the agent the output is deterministic and citable. It stops short of describing input expectations (generic vs. brand names, handling of unknown drugs) or any failure mode.
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?
Three compact segments — bracketed purpose, user trigger, return value — with the most important information first and no filler. Every clause carries signal, including the provenance note at the end.
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?
There is no output schema, so the description must say what comes back; it does, specifying interaction severity level plus mechanism. That covers the essential contract for a two-parameter lookup tool. The remaining gap is input conventions for drug names, which an agent would have to guess.
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%, but the two field descriptions are only '药物 A' and '药物 B', so the schema itself adds little meaning. The tool description likewise says nothing about what form the drug identifiers should take. Baseline 3 applies because the schema nominally covers both parameters, but no real semantic value is added on top.
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 names a specific operation and resource — drug-drug interaction checking — and states the concrete question it answers ('can these two drugs be used together, is there an interaction'). That is far more than a restatement of the name. It does not, however, explicitly contrast itself with neighboring clinical tools such as act_tox_eval or act_pkpd_eval, so it falls short of full sibling differentiation.
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?
The trigger condition is stated plainly: use it when a user asks whether two drugs are compatible or whether an interaction exists. This gives an agent a clear selection context rather than implying one. No exclusions or alternative tools are named, which keeps it at a 4 rather than a 5.
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.