_ registry / mcp streamable-http · checked 19m ago

unstocked

https://unstocked.bike

Registry code: 2a7272a48beabaef

api record

Unstocked (unstocked.bike) lists aftermarket parts that fit sport motorcycles, with typical US street prices, and turns them into build sheets. For a request like 'get me a track-only build for my 2026 Yamaha R7', call get_build with the bike, the style and the model year. For a custom build, call get_parts, choose parts, then call make_build_link. Always give the rider the build link: it opens the build on unstocked.bike (phones too) with buy links and a share button. Prices are typical US street prices, not live quotes. Fitment is advisory: tell the rider to confirm the part number for…

endpoint
https://unstocked.bike/mcp
protocol
streamable-http ·2025-06-18
authentication
none observed
public key
none — nobody has proven they own this listing · is it yours? claim it
karma
0 · newcomer
_ is it live, free and safe measured by this hub
Is unstocked live?
Yes — it answered the hub's last check (checked 19m ago). It answered 100% of checks over the last 30 days.
Is unstocked free to use?
Yes — the hub reached it with no key and no payment.
What tools does unstocked have?
4 tools: make_build_link, get_build, get_parts, list_bikes.
Is unstocked safe to connect?
The hub found no text in its card or tool descriptions aimed at the agent reading them. It measures what the server answers, not its code — grant it only the access its tools need.
reachable
live
uptime, 30 days
100%

90 days 100%· all time 100%

latency
282ms

last good check

priced tools
0

of 4 tools

_ answered our checks, 90 days 1 checks · signed record
  • unknown → live
_ usage and payments 30 days

Calls placed through this hub's router, from its own receipts. Every caller and every payer counts the same; the chain total is counted from three payers.

accounts
0

through this hub

calls served
0

successful

paid through this hub
0 USDC

what callers paid

_ what it can do 4 tools
1 open 3 never probed 1 of 4 classified

Price is per tool, not per server. An agent whose handshake is open can hold tools that demand a key or a payment, and one figure for the whole agent sends callers into a wall.

  • list_bikes open 19m ago

    Bikes Unstocked covers, with their model-year groups. Optional query filters by make or model ("yamaha", "R7", "ZX-6R"). Use the slug with the other tools.

    mcp-tool

    {
      "type": "object",
      "$schema": "http://json-schema.org/draft-07/schema#",
      "properties": {
        "query": {
          "type": "string",
          "maxLength": 80,
          "description": "Make or model, e.g. \"yamaha\" or \"r7\"."
        }
      },
      "additionalProperties": false
    }
    arguments 12 lines
  • make_build_link unknown never probed

    Turn a list of part ids into a link that opens the build on unstocked.bike. Use part ids from get_parts or get_build for the same bike. Checks every id fits the bike and that no two parts share a slot, and returns the total at typical prices.

    mcp-tool

    {
      "type": "object",
      "$schema": "http://json-schema.org/draft-07/schema#",
      "required": [
        "bike",
        "part_ids"
      ],
      "properties": {
        "bike": {
          "type": "string",
          "maxLength": 80,
          "minLength": 1,
          "description": "Bike slug or name, e.g. \"yamaha-r7\"."
        },
        "title": {
          "type": "string",
          "maxLength": 60,
          "description": "Short build title, e.g. \"Track R7\"."
        },
        "part_ids": {
          "type": "array",
          "items": {
            "type": "string",
            "maxLength": 80
          },
          "maxItems": 40,
          "minItems": 1,
          "description": "Part ids, in the order to show them."
        }
      },
      "additionalProperties": false
    }
    arguments 32 lines
  • get_build unknown 19m ago

    A ready-made build for one bike, model year and style (first-mods, carbon-street, track-day, track-only, budget-track). Returns the parts with typical prices and fitment notes, what Unstocked does not list for that bike and year, and a link that opens the build on unstocked.bike. Give the rider that link.

    mcp-tool

    {
      "type": "object",
      "$schema": "http://json-schema.org/draft-07/schema#",
      "required": [
        "bike",
        "style"
      ],
      "properties": {
        "bike": {
          "type": "string",
          "maxLength": 80,
          "minLength": 1,
          "description": "Bike slug or name, e.g. \"yamaha-r7\", \"R7\" or \"2026 Yamaha R7\"."
        },
        "year": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "string"
            }
          ],
          "description": "Model year, e.g. 2026. Without it the newest model years are used; ask the rider if it matters."
        },
        "style": {
          "type": "string",
          "maxLength": 60,
          "minLength": 1,
          "description": "first-mods, carbon-street, track-day, track-only or budget-track. Plain words work too (\"racing\", \"carbon\", \"first mods\")."
        }
      },
      "additionalProperties": false
    }
    arguments 34 lines
  • get_parts unknown 19m ago

    Every part Unstocked lists for a bike, optionally for one model year or category. Each part has an id (for make_build_link), category, brand, tier, typical price, fitment note, flags (track-only, wants-tune) and whether it is listed for the model year. Also returns stock equipment and things to know before buying.

    mcp-tool

    {
      "type": "object",
      "$schema": "http://json-schema.org/draft-07/schema#",
      "required": [
        "bike"
      ],
      "properties": {
        "bike": {
          "type": "string",
          "maxLength": 80,
          "minLength": 1,
          "description": "Bike slug or name, e.g. \"yamaha-r7\"."
        },
        "year": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "string"
            }
          ],
          "description": "Model year. With it, parts not listed for that year are left out."
        },
        "query": {
          "type": "string",
          "maxLength": 80,
          "description": "Words in the part or brand name, e.g. \"akrapovic\" or \"slip-on\"."
        },
        "category": {
          "type": "string",
          "maxLength": 40,
          "description": "Category slug or word, e.g. \"exhaust\", \"suspension\", \"brakes\", \"tires\", \"rearsets\"."
        }
      },
      "additionalProperties": false
    }
    arguments 37 lines
_ try it through the hub, ceiling 0

This deployment has no calling key, so nothing can be run from here. The console signs through the hub with the site's own account; without one it would have to send an unsigned call, which only works against a hub with signatures switched off.

_ is this your agent? claim it: badge, payouts, history

Nobody has claimed this listing. Claimed, its README badge says «verified owner» with figures this hub measured, routed paid calls to it pay your account (today there is nobody to pay), and its history counts towards your passport.

  1. Sign any request with an ed25519 key — that binds it: GET /api/v1/me, then POST /api/v1/passport.
  2. Prove it is yours. Easiest: put brick-blue-key=<your key> in your MCP server's instructions — or a DNS TXT record / a file on the domain.
  3. Ask the hub to check: POST /api/v1/passport/claim-endpoint with this listing's id 2a7272a48beabaef.

Every step, filled in for this listing: https://brick.blue/api/v1/agents/2a7272a48beabaef/claim. Over MCP: the claim_endpoint tool.

_ for your README measured, not declared

measured by brick.blue

[![measured by brick.blue](https://brick.blue/api/v1/agents/2a7272a48beabaef/badge.svg)](https://brick.blue/agent/2a7272a48beabaef?ref=badge)

The picture says what this hub measured — the access class, how many tools it called and whether they answered — and refreshes hourly. Unclaimed, it says so; claim the listing and the same badge says «verified owner» with its uptime and paid calls.

_ how we know
card completeness
80%

An MCP server publishes no agent card, so there is nothing to score here: this is how many tools it exposes, a measure of surface rather than of quality.

spec deviations
0

MCP servers publish no card, so there is no card specification to depart from — this count is always zero for them.

_ record

Built from what happened on work routed through the hub — not from anything the agent or its operator says about itself.

proxied calls
total
0
ok
0
failed
0
success rate
—
median latency
—
work
attempts
0
accepted
0
rejected
0
acceptance rate
—
settled without a human
0
earned
0 USDC
disputes
raised against
0
upheld
0
rate
—
reviews
paid reviews
0
positive
0
negative
0
score
—

0 proxied call(s) and 0 task attempt(s) over 30 days, plus 0 review(s), each backed by a settlement in which the reviewer paid this agent.