{"$schema":"https://wellknown.network/schemas/agent-record-v1.json","schemaVersion":"1","id":"ag_r5pyjd5gz9uw","handle":"brickbank","url":"https://wellknown.network/agents/brickbank","links":{"self":"https://wellknown.network/agents/brickbank/record.json","html":"https://wellknown.network/agents/brickbank","markdown":"https://wellknown.network/agents/brickbank/record.md","api":"https://wellknown.network/api/v1/agents/brickbank","status":"https://wellknown.network/api/v1/agents/brickbank/status","claim":"https://wellknown.network/agents/brickbank/claim","claimApi":"https://wellknown.network/api/v1/claims","claimDescriptor":"https://wellknown.network/agents/brickbank/claim.json","badge":"https://wellknown.network/agents/brickbank/badge.svg","openapi":"https://wellknown.network/openapi.json","history":"https://wellknown.network/api/v1/agents/brickbank/history","tools":"https://wellknown.network/api/v1/agents/brickbank/tools"},"ard":{"identifier":"urn:air:brickbank.cc:server:brickbank","type":"application/mcp-server-card+json"},"kind":"mcp_server","declared":{"name":"Brickbank","summary":"Finished jobs, paid per result. One MCP address for every live tool action in the store's blocks.","description":"Finished jobs, paid per result. One MCP address for every live tool action in the store's blocks.","publisher":{"name":"cc.brickbank","url":null},"homepage":"https://brickbank.cc","repository":null,"version":"0.1.0","license":null,"protocols":["mcp"],"tags":[],"pricing":null,"endpoints":[{"url":"https://brickbank.cc/mcp","type":"mcp_streamable_http","auth":null,"probeable":true}],"skills":null,"tools":null,"extra":{"updatedAt":"2026-10-31T08:22:48.130738Z","publishedAt":"2026-10-31T08:22:48.130738Z","registryName":"cc.brickbank/brickbank"},"attribution":{"kind":"mcp_registry","name":"mcp_registry","summary":"mcp_registry","version":"mcp_registry","description":"mcp_registry","homepageUrl":"mcp_registry","publisherName":"mcp_registry"}},"derived":{"capabilities":[{"slug":"commerce.pricing","name":"Pricing & Quotes","confidence":0.525,"provenance":"derived"}],"categories":["commerce"],"language":"en"},"observed":{"status":"live","statusReason":"Responded 7h ago.","lastOkAt":"2026-11-08T22:27:47.802Z","lastProbedAt":"2026-11-08T22:27:47.802Z","statusComputedAt":"2026-11-08T22:30:55.100Z","reliability30d":{"probes":23,"successRate":0.9565,"p50Ms":381,"basis":"mixed","measures":{"availability":"availability (some checks stopped at authentication)","latency":"response time (mixed)","tools":"partially observed","summary":"Some successful checks reached the service and some stopped at an authentication response; figures combine both."},"checks":{"total":23,"ok":22,"authBoundaryOk":13,"serviceOk":9,"note":"Counted from the observation rows for the window, checks of the server only (HTTP, A2A card, MCP initialize). ok = authBoundaryOk + serviceOk. `probes` is the sum of daily rollups and includes registry checks, so it can differ from `total`."}},"latestObservations":[{"at":"2026-11-08T22:27:47.802Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":384,"error":null,"detail":{"tools":[{"name":"blocks_search","description":"Find the block op for a task: up to 5 ranked rows with block, op, job, purpose, price and a cheaper sibling. Free."},{"name":"blocks_describe","description":"Everything needed to call one op: input schema, output schema, annotations, price and an example. Free."},{"name":"blocks_run","description":"Run one op of one block. `arguments` is exactly the op's own arguments (see blocks_describe), including idempotency_key and confirm_token. Paid as the op's pric"},{"name":"get_run","description":"Check a run started by another tool: returns its status and, once done, its outcomes. Free."},{"name":"blocks_estimate","description":"What a blocks_run of the same call would cost and which upstreams it would contact, without running it. `input` is the arguments object a blocks_run of that cal"},{"name":"retry_run","description":"Run again only the failed items of a finished run of yours, under the same run id. Costs what those items cost; send dry_run:true to see the range first."}],"toolCount":6,"toolsHash":"39a9a54a9daf3e6655956e789dac09f466bd331f357766635f44a9e7e9a51fae","serverName":"brickbank","capabilities":["tools","resources"],"serverVersion":"1","protocolVersion":"2025-06-18"}},{"at":"2026-11-08T13:28:38.016Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":429,"error":null,"detail":{"tools":[{"name":"blocks_search","description":"Find the block op for a task: up to 5 ranked rows with block, op, job, purpose, price and a cheaper sibling. Free."},{"name":"blocks_describe","description":"Everything needed to call one op: input schema, output schema, annotations, price and an example. Free."},{"name":"blocks_run","description":"Run one op of one block. `arguments` is exactly the op's own arguments (see blocks_describe), including idempotency_key and confirm_token. Paid as the op's pric"},{"name":"get_run","description":"Check a run started by another tool: returns its status and, once done, its outcomes. Free."},{"name":"blocks_estimate","description":"What a blocks_run of the same call would cost and which upstreams it would contact, without running it. `input` is the arguments object a blocks_run of that cal"},{"name":"retry_run","description":"Run again only the failed items of a finished run of yours, under the same run id. Costs what those items cost; send dry_run:true to see the range first."}],"toolCount":6,"toolsHash":"39a9a54a9daf3e6655956e789dac09f466bd331f357766635f44a9e7e9a51fae","serverName":"brickbank","capabilities":["tools","resources"],"serverVersion":"1","protocolVersion":"2025-06-18"}},{"at":"2026-11-08T04:23:48.492Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":396,"error":null,"detail":{"tools":[{"name":"blocks_search","description":"Find the block op for a task: up to 5 ranked rows with block, op, job, purpose, price and a cheaper sibling. Free."},{"name":"blocks_describe","description":"Everything needed to call one op: input schema, output schema, annotations, price and an example. Free."},{"name":"blocks_run","description":"Run one op of one block. `arguments` is exactly the op's own arguments (see blocks_describe), including idempotency_key and confirm_token. Paid as the op's pric"},{"name":"get_run","description":"Check a run started by another tool: returns its status and, once done, its outcomes. Free."},{"name":"blocks_estimate","description":"What a blocks_run of the same call would cost and which upstreams it would contact, without running it. `input` is the arguments object a blocks_run of that cal"},{"name":"retry_run","description":"Run again only the failed items of a finished run of yours, under the same run id. Costs what those items cost; send dry_run:true to see the range first."}],"toolCount":6,"toolsHash":"39a9a54a9daf3e6655956e789dac09f466bd331f357766635f44a9e7e9a51fae","serverName":"brickbank","capabilities":["tools","resources"],"serverVersion":"1","protocolVersion":"2025-06-18"}},{"at":"2026-11-07T19:25:10.763Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":395,"error":null,"detail":{"tools":[{"name":"blocks_search","description":"Find the block op for a task: up to 5 ranked rows with block, op, job, purpose, price and a cheaper sibling. Free."},{"name":"blocks_describe","description":"Everything needed to call one op: input schema, output schema, annotations, price and an example. Free."},{"name":"blocks_run","description":"Run one op of one block. `arguments` is exactly the op's own arguments (see blocks_describe), including idempotency_key and confirm_token. Paid as the op's pric"},{"name":"get_run","description":"Check a run started by another tool: returns its status and, once done, its outcomes. Free."},{"name":"blocks_estimate","description":"What a blocks_run of the same call would cost and which upstreams it would contact, without running it. `input` is the arguments object a blocks_run of that cal"},{"name":"retry_run","description":"Run again only the failed items of a finished run of yours, under the same run id. Costs what those items cost; send dry_run:true to see the range first."}],"toolCount":6,"toolsHash":"39a9a54a9daf3e6655956e789dac09f466bd331f357766635f44a9e7e9a51fae","serverName":"brickbank","capabilities":["tools","resources"],"serverVersion":"1","protocolVersion":"2025-06-18"}},{"at":"2026-11-07T11:26:52.084Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":370,"error":null,"detail":{"tools":[{"name":"blocks_search","description":"Find the block op for a task: up to 5 ranked rows with block, op, job, purpose, price and a cheaper sibling. Free."},{"name":"blocks_describe","description":"Everything needed to call one op: input schema, output schema, annotations, price and an example. Free."},{"name":"blocks_run","description":"Run one op of one block. `arguments` is exactly the op's own arguments (see blocks_describe), including idempotency_key and confirm_token. Paid as the op's pric"},{"name":"get_run","description":"Check a run started by another tool: returns its status and, once done, its outcomes. Free."},{"name":"blocks_estimate","description":"What a blocks_run of the same call would cost and which upstreams it would contact, without running it. `input` is the arguments object a blocks_run of that cal"},{"name":"retry_run","description":"Run again only the failed items of a finished run of yours, under the same run id. Costs what those items cost; send dry_run:true to see the range first."}],"toolCount":6,"toolsHash":"39a9a54a9daf3e6655956e789dac09f466bd331f357766635f44a9e7e9a51fae","serverName":"brickbank","capabilities":["tools","resources"],"serverVersion":"1","protocolVersion":"2025-06-18"}},{"at":"2026-11-07T02:28:56.134Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":340,"error":null,"detail":{"tools":[{"name":"blocks_search","description":"Find the block op for a task: up to 5 ranked rows with block, op, job, purpose, price and a cheaper sibling. Free."},{"name":"blocks_describe","description":"Everything needed to call one op: input schema, output schema, annotations, price and an example. Free."},{"name":"blocks_run","description":"Run one op of one block. `arguments` is exactly the op's own arguments (see blocks_describe), including idempotency_key and confirm_token. Paid as the op's pric"},{"name":"get_run","description":"Check a run started by another tool: returns its status and, once done, its outcomes. Free."},{"name":"blocks_estimate","description":"What a blocks_run of the same call would cost and which upstreams it would contact, without running it. `input` is the arguments object a blocks_run of that cal"},{"name":"retry_run","description":"Run again only the failed items of a finished run of yours, under the same run id. Costs what those items cost; send dry_run:true to see the range first."}],"toolCount":6,"toolsHash":"39a9a54a9daf3e6655956e789dac09f466bd331f357766635f44a9e7e9a51fae","serverName":"brickbank","capabilities":["tools","resources"],"serverVersion":"1","protocolVersion":"2025-06-18"}},{"at":"2026-11-06T18:24:23.798Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":456,"error":null,"detail":{"tools":[{"name":"blocks_search","description":"Find the block op for a task: up to 5 ranked rows with block, op, job, purpose, price and a cheaper sibling. Free."},{"name":"blocks_describe","description":"Everything needed to call one op: input schema, output schema, annotations, price and an example. Free."},{"name":"blocks_run","description":"Run one op of one block. `arguments` is exactly the op's own arguments (see blocks_describe), including idempotency_key and confirm_token. Paid as the op's pric"},{"name":"get_run","description":"Check a run started by another tool: returns its status and, once done, its outcomes. Free."},{"name":"blocks_estimate","description":"What a blocks_run of the same call would cost and which upstreams it would contact, without running it. `input` is the arguments object a blocks_run of that cal"},{"name":"retry_run","description":"Run again only the failed items of a finished run of yours, under the same run id. Costs what those items cost; send dry_run:true to see the range first."}],"toolCount":6,"toolsHash":"39a9a54a9daf3e6655956e789dac09f466bd331f357766635f44a9e7e9a51fae","serverName":"brickbank","capabilities":["tools","resources"],"serverVersion":"1","protocolVersion":"2025-06-18"}},{"at":"2026-11-06T09:27:55.932Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":2581,"error":null,"detail":{"tools":[{"name":"blocks_search","description":"Find the block op for a task: up to 5 ranked rows with block, op, job, purpose, price and a cheaper sibling. Free."},{"name":"blocks_describe","description":"Everything needed to call one op: input schema, output schema, annotations, price and an example. Free."},{"name":"blocks_run","description":"Run one op of one block. `arguments` is exactly the op's own arguments (see blocks_describe), including idempotency_key and confirm_token. Paid as the op's pric"},{"name":"get_run","description":"Check a run started by another tool: returns its status and, once done, its outcomes. Free."},{"name":"blocks_estimate","description":"What a blocks_run of the same call would cost and which upstreams it would contact, without running it. `input` is the arguments object a blocks_run of that cal"},{"name":"retry_run","description":"Run again only the failed items of a finished run of yours, under the same run id. Costs what those items cost; send dry_run:true to see the range first."}],"toolCount":6,"toolsHash":"39a9a54a9daf3e6655956e789dac09f466bd331f357766635f44a9e7e9a51fae","serverName":"brickbank","capabilities":["tools","resources"],"serverVersion":"1","protocolVersion":"2025-06-18"}},{"at":"2026-11-06T00:25:38.949Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":370,"error":null,"detail":{"tools":[{"name":"blocks_search","description":"Find the block op for a task: up to 5 ranked rows with block, op, job, purpose, price and a cheaper sibling. Free."},{"name":"blocks_describe","description":"Everything needed to call one op: input schema, output schema, annotations, price and an example. Free."},{"name":"blocks_run","description":"Run one op of one block. `arguments` is exactly the op's own arguments (see blocks_describe), including idempotency_key and confirm_token. Paid as the op's pric"},{"name":"get_run","description":"Check a run started by another tool: returns its status and, once done, its outcomes. Free."},{"name":"blocks_estimate","description":"What a blocks_run of the same call would cost and which upstreams it would contact, without running it. `input` is the arguments object a blocks_run of that cal"},{"name":"retry_run","description":"Run again only the failed items of a finished run of yours, under the same run id. Costs what those items cost; send dry_run:true to see the range first."}],"toolCount":6,"toolsHash":"39a9a54a9daf3e6655956e789dac09f466bd331f357766635f44a9e7e9a51fae","serverName":"brickbank","capabilities":["tools","resources"],"serverVersion":"1","protocolVersion":"2025-06-18"}},{"at":"2026-11-05T15:24:13.836Z","kind":"mcp_initialize","ok":true,"httpStatus":401,"latencyMs":368,"error":null,"detail":{"authRequired":true}}],"tools":[{"name":"blocks_search","description":"Find the block op for a task: up to 5 ranked rows with block, op, job, purpose, price and a cheaper sibling. Free."},{"name":"blocks_describe","description":"Everything needed to call one op: input schema, output schema, annotations, price and an example. Free."},{"name":"blocks_run","description":"Run one op of one block. `arguments` is exactly the op's own arguments (see blocks_describe), including idempotency_key and confirm_token. Paid as the op's pric"},{"name":"get_run","description":"Check a run started by another tool: returns its status and, once done, its outcomes. Free."},{"name":"blocks_estimate","description":"What a blocks_run of the same call would cost and which upstreams it would contact, without running it. `input` is the arguments object a blocks_run of that cal"},{"name":"retry_run","description":"Run again only the failed items of a finished run of yours, under the same run id. Costs what those items cost; send dry_run:true to see the range first."}],"package":null,"toolSurface":{"id":"ts_vfcrcdau9yrx","endpointId":"ep_dfq3s6gf3cef","hash":"39a9a54a9daf3e6655956e789dac09f466bd331f357766635f44a9e7e9a51fae","toolCount":6,"serverName":"brickbank","serverVersion":"1","protocolVersion":"2025-06-18","firstSeenAt":"2026-11-06T00:25:38.954Z","lastSeenAt":"2026-11-08T22:27:47.805Z","observations":9,"hiddenText":{"level":"none","total":0,"tools":0,"kinds":[],"findings":[]},"toolNames":["blocks_search","blocks_describe","blocks_run","get_run","blocks_estimate","retry_run"],"distinctSurfaces":1,"surfacesWithHiddenText":0},"endpointFacts":[]},"verification":{"claimed":false,"claimedAt":null,"proofs":[]},"provenance":{"sources":[{"source":"mcp_registry","key":"cc.brickbank/brickbank","url":"https://registry.modelcontextprotocol.io/v0/servers/cc.brickbank%2Fbrickbank","firstSeenAt":"2026-10-31T21:18:38.438Z","fetchedAt":"2026-11-08T13:19:00.775Z","normalizedAt":"2026-11-08T13:19:00.775Z"}]},"firstSeenAt":"2026-10-31T21:18:38.438Z","updatedAt":"2026-11-08T22:33:06.869Z"}