Skip to main content
Glama
Wenjia Home-Fix Diagnosis MCP Server

Wenjia Home-Fix Diagnosis MCP Server

find_symptom

Converts a plain-language household appliance or repair complaint into ranked candidate symptoms with relevance scores, so users can identify likely issues without knowing a category ID.

Instructions

【精确入口】已知大致是哪类设备时用它:把用户的一句人话直接丢进来(「空调不凉」「热水器打不着火」「马桶堵了」),返回候选症状与相关度打分,不需要先知道 category_id。不知道是哪类故障时先用 diagnose,别先用我。

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "query": "<query>"
    },
    "name": "find_symptom"
  }
}

Input Schema

NameRequiredDescriptionDefault
limitNo候选条数,默认 3,最大 10
queryYes用户原话或症状描述,中英文均可

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.2.3

TDQS

A4.4/5.0
Behavior4/5

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

With no annotations provided, the description carries the burden and does disclose the return shape (candidate symptoms plus relevance scores) and that no category_id prerequisite exists, so it is implicitly a lookup, not a mutation. It doesn't state permissions, result cardinality behavior beyond the schema's limit, or what happens with no matches — modest gaps for an unannotated tool.

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?

Front-loaded with the routing condition, then the input style, then the output, then the exclusion — a sensible ordering with no filler. The bracketed tag and the closing "别先用我" are slightly informal/ornamental but still carry routing 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?

There is no output schema, and the description compensates by naming what comes back (candidate symptoms with relevance scores). With a two-parameter schema fully documented elsewhere, nothing an agent needs to invoke this correctly is missing.

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% and both parameters are documented there, so the baseline applies. The description reinforces how `query` should be filled (raw user utterance, multi-word colloquial phrasing) with concrete examples, but adds little on `limit` and mostly restates the 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?

States a concrete verb+resource: takes a natural-language utterance and returns candidate symptoms with relevance scores. It explicitly distinguishes itself from the sibling `diagnose` and notes the hydrated input requirement (no category_id needed), so an agent can pick it without opening the schema.

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?

Gives an explicit when-to-use condition ("已知大致是哪类设备时"), an explicit when-not-to-use condition (unknown fault type → use diagnose first), and names the alternative tool. It even warns against using itself first, which is unusually direct routing guidance.

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