# house.device/device-house: tool descriptions scored

- tools/list taken: 2026-11-02 (UTC)
- From: [Official MCP Registry](https://registry.modelcontextprotocol.io/v0/servers/house.device%2Fdevice-house/versions/latest)
- Connected to: https://device-house-mcp.fly.dev/mcp
- Homepage: https://device.house/
- Scoring rules: v2
- Tools: 21
- Average: 18.7 / 100 (Rain)
- Near-identical pairs: 0

This page shows how house.device/device-house's tool descriptions scored, the issues found and the names of its tools and parameters. The descriptions are the server's own: read them where the copy came from.

Forecall asked the URL this server lists in the official MCP Registry for its tools/list once, on the date above, without calling any tool. The server may have changed since.

## Across the server

- Minor: The server has no instructions. Say there, once, what the server is for and when to use it: Claude Code and Gemini CLI read the instructions before the tool descriptions.

## Tools

- `get_bom_csv`: 11 / 100
  - Major: The description only restates the name (8 words).
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: prompt.
  - Minor: String arguments with no constraint or example: prompt.
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `get_pcb_svg`: 11 / 100
  - Major: The description only restates the name (2 words).
  - Major: The description is too short (2 words).
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: prompt.
  - Minor: String arguments with no constraint or example: prompt.
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `parts_list`: 14 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: cat, interface.
  - Minor: String arguments with no constraint or example: cat.
  - Minor: No `required` list, so every argument is optional.
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `autoroute`: 15 / 100
  - Major: The description is too short (1 word).
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: prompt.
  - Minor: String arguments with no constraint or example: prompt.
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `eval_device`: 15 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: prompt.
  - Minor: String arguments with no constraint or example: prompt.
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `fab_order_package`: 15 / 100
  - Major: The description is too short (4 words).
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: prompt, qty.
  - Minor: String arguments with no constraint or example: prompt.
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `get_firmware`: 15 / 100
  - Major: The description is too short (2 words).
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: prompt.
  - Minor: String arguments with no constraint or example: prompt.
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `get_kicad_netlist`: 15 / 100
  - Major: The description is too short (4 words).
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: prompt.
  - Minor: String arguments with no constraint or example: prompt.
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `get_netlist`: 15 / 100
  - Major: The description is too short (1 word).
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: prompt.
  - Minor: String arguments with no constraint or example: prompt.
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `get_placement`: 15 / 100
  - Major: The description is too short (3 words).
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: prompt.
  - Minor: String arguments with no constraint or example: prompt.
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `manufacturing_readiness`: 15 / 100
  - Major: The description is too short (3 words).
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: prompt.
  - Minor: String arguments with no constraint or example: prompt.
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `parts_remove`: 15 / 100
  - Major: The description is too short (1 word).
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: id.
  - Minor: String arguments with no constraint or example: id.
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
  - Minor: Required identifiers whose description does not say where the value comes from: id. Name the tool or the place that returns it, or models look it up first.
- `parts_search`: 15 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: query.
  - Minor: String arguments with no constraint or example: query.
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `parts_update`: 15 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: id, patch, patch.part, patch.cat, patch.desc, patch.interface, patch.unit, patch.src, patch.footprint, patch.keywords.
  - Minor: String arguments with no constraint or example: id, patch.part, patch.cat, patch.desc, patch.interface, patch.src.
  - Minor: The description mentions none of its 3 or more arguments.
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
  - Minor: Required identifiers whose description does not say where the value comes from: id. Name the tool or the place that returns it, or models look it up first.
- `parts_add`: 17 / 100
  - Major: The description is too short (2 words).
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: cat, desc, interface, unit, src, footprint, keywords, id.
  - Minor: String arguments with no constraint or example: part, cat, desc, interface, src, id.
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `parts_get`: 18 / 100
  - Major: The description is too short (1 word).
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: id.
  - Minor: String arguments with no constraint or example: id.
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
  - Minor: Required identifiers whose description does not say where the value comes from: id. Name the tool or the place that returns it, or models look it up first.
- `list_catalog`: 27 / 100
  - Major: The description is too short (2 words).
  - Major: Says nothing about when to use it, or when not to.
  - Minor: No `required` list, so every argument is optional.
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `compliance_check`: 30 / 100
  - Major: The description is too short (4 words).
  - Major: Says nothing about when to use it, or when not to.
  - Minor: String arguments with no constraint or example: prompt.
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `generate_device`: 30 / 100
  - Major: The description is too short (1 word).
  - Major: Says nothing about when to use it, or when not to.
  - Minor: String arguments with no constraint or example: prompt.
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `list_archetypes`: 35 / 100
  - Major: The description is too short (2 words).
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `parts_stats`: 35 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.

Is your server listed here and you would rather it were not? Email support@forecall.dev, and we will take it off within 7 days.

[All scored servers](https://forecall.dev/en/servers)
