Skip to main content
Glama

urdb-mcp

MCP server for URDB. Gives your AI assistant 76 electronics, hardware and firmware calculators — plus the product integrity database tracking downgrades, shrinkflation, warranty cuts and enshittification.

Ask "what UBRR do I need for 9600 baud on a 16 MHz AVR?" and get 103 with the error percentage and the worked derivation, instead of a plausible-sounding guess.

Setup

1. Get an API key at urdb.io/settings/api-keys (free tier available)

2. Add to your MCP host

Claude Desktop config lives at ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows).

{
  "mcpServers": {
    "urdb": {
      "command": "npx",
      "args": ["urdb-mcp"],
      "env": {
        "URDB_API_KEY": "urdb_live_your_key_here"
      }
    }
  }
}

3. Restart your host

Calculators are metered separately from product data — 1,000 calculator calls a day on the free tier, so an agent working through a design won't exhaust your quota on arithmetic.

Related MCP server: OrigeneMCP

Example prompts

  • "Size the current-limiting resistor for a blue LED on 5 V"

  • "Give me every valid CAN bit timing for 500 kbit/s on a 40 MHz clock"

  • "What trace width do I need for 3 A with a 20 °C rise on an external layer?"

  • "Decode this struct's padding for a 32-bit target"

  • "Is 1000 km realistic on LoRa SF12?"

  • "Which laptops have the highest integrity scores?"

  • "Has the KitchenAid Stand Mixer gotten worse over the years?"

Tools

Call tools/list to see the current set — the calculator catalogue is fetched from the server at runtime, so it grows without a package update.

Calculators

76 tools across seven categories, named calc_<name>:

Category

Covers

Components (11)

Resistor and capacitor colour/SMD codes, E-series snapping, LED resistors, RC time constants, series/parallel networks

Circuits (16)

555 timers, op-amps, filters, buck/boost converters, MOSFET gate drive, Ohm's law, zener and LM317 regulators, Schmitt triggers

Power & Wiring (13)

PCB trace width and impedance, wire gauge, voltage drop, fuse sizing, heat sinks, battery packs, solar sizing, via current

Firmware (22)

UART baud rates, CAN bit timing, PLL dividers, timer prescalers, CRC, IEEE 754, struct padding, bitfields, watchdogs, Intel HEX

RF & Signals (7)

Antenna lengths, LoRa airtime, path loss, VSWR, Nyquist, FFT bins, wavelength

Mechanical (4)

Stepper motors, E-steps, gear ratios, tap drill sizes

Reference (3)

Pinouts, logic levels, MCU comparison

Each returns the answer, machine-readable values, the worked derivation and a link to the same tool on the web at https://urdb.io/tools/<name>.

Product data

Tool

Description

urdb_search

Search products by name or keyword, with integrity scores

urdb_get_product

Full integrity breakdown across 7 dimensions

urdb_get_changes

Documented enshittification events for a product

urdb_list_products

List/filter products by category, brand, score

How it works

This package is a thin stdio→HTTPS proxy for https://urdb.io/api/v1. It contains no calculation logic: the catalogue and every tool's JSON Schema are fetched from /api/v1/tools when the server starts.

That means a calculator added to URDB shows up here on your next restart, and a fix reaches you via a deploy rather than npm update. If the API is unreachable the server still starts and serves the product tools, and retries the catalogue on the next tools/list.

Calculators follow published standards where one exists — IPC-2221 and IPC-2141 for trace geometry, IEC 60063 for E-series, IEC 60127 for fuses, ISO 11898-1 for CAN, IEEE 754 for floats. Where a result is an extrapolation rather than a measurement, the tool says so.

REST API

Everything here is available over plain HTTP:

curl -H "Authorization: Bearer $URDB_API_KEY" https://urdb.io/api/v1/tools

curl -X POST https://urdb.io/api/v1/tools/uart-baud-rate \
  -H "Authorization: Bearer $URDB_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"clockHz": 16000000, "baud": 9600, "family": "avr-normal"}'

Full docs: urdb.io/api

Configuration

Variable

Required

Description

URDB_API_KEY

yes

Your key from urdb.io/settings/api-keys

URDB_API_URL

no

API base URL. Defaults to https://urdb.io/api/v1.

Development

npm run typecheck
npm run build     # bundle to dist/index.js
npm test          # stdio end-to-end against a mock API

License

MIT

Available Tools

4 tools
urdb_get_changesA

Get documented enshittification events for a product — firmware regressions, warranty cuts, added subscriptions, material downgrades. All sourced and evidence-backed.

ParametersJSON Schema
NameRequiredDescriptionDefault
slugYesProduct slug from URDB
severityNoFilter to this severity level

TDQS

A4/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full burden. It discloses key behavioral traits: the tool returns 'documented', 'sourced and evidence-backed' events, and lists specific event types (firmware regressions, warranty cuts, etc.). However, it lacks details on permissions, rate limits, pagination, or response format.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, dense sentence with zero waste—every word contributes to clarifying the tool's purpose and scope. It is appropriately sized and front-loaded with the core action.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's moderate complexity (2 parameters, no output schema, no annotations), the description is largely complete for its purpose. It covers what the tool does and the nature of the data, but lacks output details (e.g., response structure) and some behavioral context (e.g., error handling).

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%, so the schema already documents both parameters (slug and severity). The description adds no additional parameter semantics beyond what the schema provides, such as examples or usage nuances, meeting the baseline for high schema coverage.

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?

The description clearly states the tool's purpose with specific verbs ('Get documented enshittification events') and resources ('for a product'), and distinguishes it from siblings by specifying the type of data returned (evidence-backed degradation events) rather than general product information or listings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context for when to use this tool (to retrieve documented product degradation events), but does not explicitly state when not to use it or name alternatives among the sibling tools (urdb_get_product, urdb_list_products, urdb_search).

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

urdb_get_productB

Get full integrity breakdown for a specific product — scores across 7 dimensions (durability, repairability, material quality, version stability, anti-shrinkflation, firmware lock-in, ownership integrity), plus change event and recall counts.

ParametersJSON Schema
NameRequiredDescriptionDefault
slugYesProduct slug from URDB (e.g. 'fairphone-6', 'framework-laptop-13')

TDQS

B3.3/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It describes the output content (scores, counts) but omits critical behavioral traits like whether this is a read-only operation, rate limits, authentication needs, error handling, or response format. For a tool with no annotation coverage, this leaves significant gaps in understanding its behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that front-loads the core action and resource, then details the 7 dimensions and additional data without waste. Every part earns its place by providing essential context, making it appropriately sized and well-structured.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (detailed multi-dimensional scoring) and lack of annotations and output schema, the description is partially complete. It explains what data is returned but misses behavioral aspects like safety, performance, and response structure. For a tool with no structured output, more guidance on return values would improve completeness.

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%, so the schema already documents the single parameter 'slug' with a clear description. The description adds no additional parameter semantics beyond implying it's for a 'specific product', which is redundant with the schema. Baseline 3 is appropriate as the schema does the heavy lifting.

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?

The description clearly states the specific action ('Get full integrity breakdown') and resource ('for a specific product'), distinguishing it from siblings like 'urdb_list_products' (list) and 'urdb_search' (search). It explicitly details the 7 dimensions and additional data (change event and recall counts), making the purpose highly specific and differentiated.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives like 'urdb_list_products' or 'urdb_search'. It implies usage for detailed product analysis but lacks explicit when/when-not instructions or prerequisites, such as needing a product slug from another tool.

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

urdb_list_productsB

List products filtered by category, brand, or score range. Use for recommendations like 'best integrity laptops' or 'washing machines above 70'.

ParametersJSON Schema
NameRequiredDescriptionDefault
categoryNoCategory name (e.g. 'Laptop', 'Washing Machine')
brandNoBrand slug (e.g. 'apple', 'samsung', 'framework')
min_scoreNoMinimum integrity score (0-100)
sortNoSort order — 'score' returns highest integrity first
per_pageNoResults per page (max 100)

TDQS

B3.4/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It mentions filtering and sorting capabilities but lacks details on critical behaviors like pagination handling (implied by 'per_page' but not explained), rate limits, authentication needs, or what the output looks like (e.g., list format, error cases). This is a significant gap for a tool with multiple parameters and no output schema.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is highly concise and well-structured, consisting of two sentences that efficiently convey the tool's purpose and usage examples without any wasted words. It is front-loaded with the core functionality.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (5 parameters, no annotations, no output schema), the description is incomplete. It lacks information on behavioral aspects like pagination, error handling, and output format, which are crucial for effective tool invocation. The examples help but don't compensate for these gaps.

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%, so the schema already documents all parameters thoroughly. The description adds minimal value beyond the schema by mentioning filtering by 'category, brand, or score range' and providing usage examples, but it doesn't explain parameter interactions or additional semantics. Baseline 3 is appropriate when the schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose as 'List products filtered by category, brand, or score range,' which is a specific verb+resource combination. However, it doesn't explicitly distinguish this tool from sibling tools like 'urdb_search' or 'urdb_get_product,' which likely have overlapping or related functionality.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear usage context with examples like 'best integrity laptops' or 'washing machines above 70,' which helps understand when to use this tool. However, it doesn't explicitly state when not to use it or mention alternatives among the sibling tools, such as when to choose 'urdb_search' instead.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 4 tool updatesv1.0.0
    • First observedurdb_get_changes
    • First observedurdb_get_product
    • First observedurdb_list_products
    • First observedurdb_search

TDQS

A4/5.0
Disambiguation5/5

Each tool has a clearly distinct purpose: urdb_get_changes retrieves documented events, urdb_get_product provides detailed integrity breakdowns, urdb_list_products filters products for recommendations, and urdb_search finds products by name/keyword. There is no overlap in functionality, making tool selection straightforward for an agent.

Naming Consistency5/5

All tool names follow a consistent urdb_verb_noun pattern with snake_case, such as urdb_get_changes, urdb_get_product, urdb_list_products, and urdb_search. This predictability enhances readability and usability across the tool set.

Tool Count5/5

With 4 tools, the server is well-scoped for its purpose of providing product integrity data. Each tool serves a specific function—retrieving changes, product details, filtered lists, and searches—without being overly sparse or bloated, making the count appropriate for the domain.

Completeness5/5

The tool set offers complete coverage for the URDB domain: it supports searching and listing products, retrieving detailed integrity breakdowns, and accessing change events. This covers the core workflows of product discovery, evaluation, and historical tracking without obvious gaps.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    B
    quality
    D
    maintenance
    An MCP server that retrieves product data from the DummyJSON API, supporting filtering by various parameters like ID, title, category, brand, price and rating.
    1
    16
    ISC
  • F
    license
    Not graded
    quality
    D
    maintenance
    An advanced integrated MCP server platform that combines 600+ tools and multiple biomedical databases to enable comprehensive information retrieval across molecules, proteins, genes, and diseases for accelerating therapeutic research.
    38
    -
  • A
    license
    A
    quality
    C
    maintenance
    Search ethical, origin-verified products and brands from 30+ countries. Find Canadian, sustainable, vegan, and cruelty-free alternatives with affiliate purchase links.
    6
    62
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Provides access to Korean government public comparison test data, including product rankings, safety ratings, and recall information from Korea Consumer Agency and Consumer24. Enables agents to search and retrieve verified test results and official sources.
    MIT

Appeared in Searches

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/GetMystAdmin/urdb-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server