droid.monster — specs

Specs of commercially available robots, each figure citing its source document.

Should I use this

Quality & Safety

A
Description quality
94%
Schema completeness
88%
Naming quality
94%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~1,277Tokens (tool definitions)
~1.1 KBTypical response size
Moderate attention impact (1.00% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "specs": {
      "url": "https://api.droid.monster/mcp"
    }
  }
}

Remote endpoints

https://api.droid.monster/mcpstreamable-http

What it can do

Tool inventory

Tools (7)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟢search_robots(query, limit)

Find robots by name, maker or kind of robot. Returns each robot's reference for the other tools, and how many specs we hold for it.

Input Schema

{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200,
      "description": "Free text, e.g. \"unitree go2\" or \"universal robots\""
    },
    "limit": {
      "default": 10,
      "type": "integer",
      "minimum": 1,
      "maximum": 50
    }
  },
  "required": [
    "query"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢find_robots(category, maker, filters, sort_by, order, ...)

Filter robots by published figures, e.g. payload at least 20 kg and reach at least 1300 mm, optionally within a category or maker, sorted by a figure. Only robots that publish every filtered figure can match; the answer says, per figure, how many robots in scope publish it, so a short list is never mistaken for everything that can do the job. Values are compared in the attribute's canonical unit; give `unit` to convert (e.g. 40 lb).

Input Schema

{
  "type": "object",
  "properties": {
    "category": {
      "description": "e.g. \"cobot\", \"quadruped\", \"humanoid\", \"amr\", \"end-effector\"",
      "type": "string",
      "maxLength": 64
    },
    "maker": {
      "description": "Maker slug, e.g. \"universal-robots\"",
      "type": "string",
      "maxLength": 100
    },
    "filters": {
      "default": [],
      "maxItems": 8,
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "attribute": {
            "type": "string",
            "maxLength": 64,
            "description": "Attribute key from list_attributes, e.g. payload_kg"
          },
          "min": {
            "type": "number"
          },
          "max": {
            "type": "number"
          },
          "equals": {
            "description": "For text, enum or yes/no figures",
            "anyOf": [
              {
                "type": "string",
                "maxLength": 100
              },
              {
                "type": "boolean"
              }
            ]
          },
          "unit": {
            "description": "Unit of min/max if not the canonical one, e.g. lb",
            "type": "string",
            "maxLength": 16
          }
        },
        "required": [
          "attribute"
        ]
      }
    },
    "sort_by": {
      "description": "Attribute key to sort by",
      "type": "string",
      "maxLength": 64
    },
    "order": {
      "default": "desc",
      "type": "string",
      "enum": [
        "desc",
        "asc"
      ]
    },
    "limit": {
      "default": 20,
      "type": "integer",
      "minimum": 1,
      "maximum": 50
    },
    "offset": {
      "default": 0,
      "type": "integer",
      "minimum": 0,
      "maximum": 10000
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢get_robot(robot)

Everything we hold on one robot: each spec in its canonical unit, the value as the maker published it, and the document it came from.

Input Schema

{
  "type": "object",
  "properties": {
    "robot": {
      "type": "string",
      "maxLength": 201,
      "description": "A robot as \"maker/model\", e.g. \"unitree/go2\""
    }
  },
  "required": [
    "robot"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢compare_robots(robots)

Two to four robots side by side, one row per figure any of them publishes. A robot that doesn't publish a figure shows null (unknown).

Input Schema

{
  "type": "object",
  "properties": {
    "robots": {
      "minItems": 2,
      "maxItems": 4,
      "type": "array",
      "items": {
        "type": "string",
        "maxLength": 201,
        "description": "A robot as \"maker/model\", e.g. \"unitree/go2\""
      }
    }
  },
  "required": [
    "robots"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢list_attributes(category)

The figures we record (the keys find_robots filters on), with canonical units, allowed values, and how many robots publish each. Give a category to see only the figures that apply to it.

Input Schema

{
  "type": "object",
  "properties": {
    "category": {
      "type": "string",
      "maxLength": 64
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢lookup_error_code(maker, code)

What a robot maker's error code means: its title, the likely causes the maker lists, and a link to the page of the maker's document. Currently Universal Robots and ABB.

Input Schema

{
  "type": "object",
  "properties": {
    "maker": {
      "type": "string",
      "maxLength": 100,
      "description": "Maker slug, e.g. \"universal-robots\" or \"abb\""
    },
    "code": {
      "type": "string",
      "minLength": 1,
      "maxLength": 40,
      "description": "The code as shown, e.g. \"C204A3\" or \"50204\""
    }
  },
  "required": [
    "maker",
    "code"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢find_parts(robot)

Spare parts that fit a robot, each with the part number, the document that says it fits (the maker's catalogue or manual, or an authorised seller), and the series it is scoped to.

Input Schema

{
  "type": "object",
  "properties": {
    "robot": {
      "type": "string",
      "maxLength": 201,
      "description": "A robot as \"maker/model\", e.g. \"unitree/go2\""
    }
  },
  "required": [
    "robot"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded7 tools