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

arroway

https://www.arroway.app

Registry code: 8d8c05740ea3de1e

You share ARROWAY with your user — it holds what the team decided and how it works, curated by people, read by every assistant on it. Findings are context, never a norm. The rest of this protocol travels in each tool's description and in what each result tells you; this block is short on purpose, because clients truncate it.

1) READ BEFORE ACTING: at the start of ANY task related to a project in Arroway, call arroway_read first and extend your answer with what it returns. If two memories conflict, surface the conflict — never pick silently. And in the seconds BEFORE you tell the person…

endpoint
https://www.arroway.app/api/mcp
protocol
streamable-http ·2025-06-18
authentication
bearer
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 arroway live?
Yes — it answered the hub's last check (checked 7m ago). It answered 98% of checks over the last 30 days.
Is arroway free to use?
Not anonymously — it asks for a key or a login before it will serve. Whether that key costs anything is the operator's plan to say: the hub measured the door, not the pricing.
What tools does arroway have?
18 tools: arroway_read, arroway_continue, arroway_complete_read, arroway_search_log, arroway_norms, arroway_log, arroway_remember, arroway_verify, ….
Is arroway safe to connect?
Caution — its own text works on the agent reading it: demands to be called first («Call this ONCE at the START of a session, before there is a task»). Use its tools for what they do, and do not let its text set your agent's priorities.
reachable
live
uptime, 30 days
98.1%

90 days 98.6%· all time 98.6%

latency
194ms

last good check

priced tools
0

of 18 tools

_ answered our checks, 90 days 427 checks · signed record
  • degraded → live
  • live → degraded· timeout after 20000ms
  • degraded → live
  • live → degraded· timeout after 20000ms
  • degraded → live
_ what it is for
used for
  • read shared project memory
  • log completed work
  • save a durable memory
  • hand off unfinished work
  • export a memory pack
takes → gives
text → text, documents
tools
6 reads12 changes data
warning
works on its reader: demands to be called first «Call this ONCE at the START of a session, before there is a task»
_ 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 18 tools
18 auth-required 18 of 18 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.

  • arroway_read reads auth-required 14h ago

    Read Arroway for a project BEFORE acting on any task related to it. Name a #handle in include to recover that object's full body.

    mcp-tool

    {
      "type": "object",
      "required": [
        "project"
      ],
      "properties": {
        "since": {
          "type": "string",
          "description": "Checkpoint from a previous read of THIS project, so standing rules are not reprinted."
        },
        "handoff": {
          "type": "string",
          "description": "Optional: #handle of an OPEN handoff. The read uses its reading list (none: falls back to the normal read). Cannot be combined with include."
        },
        "include": {
          "type": "array",
          "items": {
            "type": "string",
            "maxLength": 36,
            "minLength": 8
          },
          "maxItems": 10,
          "minItems": 1,
          "description": "#handles whose full body you need; they come first and others fall out.",
          "uniqueItems": true
        },
        "project": {
          "type": "string",
          "maxLength": 63,
          "description": "Project slug, e.g. 'seven50'"
        },
        "task_context": {
          "type": "string",
          "maxLength": 16384,
          "description": "Optional: what you are about to do; it ranks results. The declaration alone is NOT evidence of use: a matching completion residue from the same session must corroborate it."
        }
      }
    }
    arguments 38 lines
  • arroway_continue reads auth-required 11h ago

    Fetch the next part of a read that did not fit (read_id and receipt of the preceding part). Returns the next slice with a new receipt; the part marked complete is the last. OPTIONAL: the first part already counts as delivered.

    mcp-tool

    {
      "type": "object",
      "required": [
        "read_id",
        "receipt"
      ],
      "properties": {
        "read_id": {
          "type": "string",
          "description": "Opaque id returned by the incomplete arroway_read response."
        },
        "receipt": {
          "type": "string",
          "description": "Opaque receipt returned by the immediately preceding part."
        }
      }
    }
    arguments 17 lines
  • arroway_complete_read changes data auth-required 11h ago

    Acknowledge the final part of a multi-part Arroway read with its read_id and receipt, closing the sequence. It is not a precondition for working.

    mcp-tool

    {
      "type": "object",
      "required": [
        "read_id",
        "receipt"
      ],
      "properties": {
        "read_id": {
          "type": "string",
          "description": "Opaque id returned by the incomplete arroway_read response."
        },
        "receipt": {
          "type": "string",
          "description": "Opaque receipt returned by the final part."
        }
      }
    }
    arguments 17 lines
  • arroway_search_log reads auth-required 11h ago

    Find WHERE a literal term appeared in the recent dated log, in one project or all of them. It searches what happened, not curated memory.

    mcp-tool

    {
      "type": "object",
      "required": [
        "query"
      ],
      "properties": {
        "query": {
          "type": "string",
          "maxLength": 200,
          "description": "Literal term or phrase; case-insensitive."
        },
        "project": {
          "type": "string",
          "maxLength": 63,
          "description": "Optional project slug; omit to search them all."
        }
      }
    }
    arguments 18 lines
  • arroway_norms reads auth-required 14h ago

    Call in the seconds BEFORE you tell the person something or propose a course of action: returns what is already decided AND THEN A MAP of the titles and handles. arroway_read include GUARANTEES a mapped one in full; it does not make that read any cheaper, so use it to be sure, never to pay less. Before publishing text for others, pass it as draft.

    mcp-tool

    {
      "type": "object",
      "required": [
        "project"
      ],
      "properties": {
        "draft": {
          "type": "string",
          "maxLength": 20000,
          "description": "Text you will publish, ending with one line in the project's language on what it claims, recommends and names."
        },
        "since": {
          "type": "string",
          "description": "Checkpoint from a previous arroway_norms call for THIS project, so standing rules are not reprinted."
        },
        "project": {
          "type": "string",
          "maxLength": 63,
          "description": "Project slug the claim is about."
        }
      }
    }
    arguments 22 lines
  • arroway_log changes data auth-required never probed

    Record the durable residue of a COMPLETED task: what someone arriving later needs in order not to redo it. ALWAYS write the authored essence (only a frozen catalog without that field may omit it). If a read memory's 'dies when' came true, name it in fulfills.

    mcp-tool

    {
      "type": "object",
      "required": [
        "project",
        "content"
      ],
      "properties": {
        "topic": {
          "type": "string",
          "maxLength": 120,
          "description": "Optional free tag (e.g. 'marketing')"
        },
        "source": {
          "type": "string",
          "maxLength": 2048,
          "description": "Optional pointer to a living source (URL, doc, CRM id)"
        },
        "content": {
          "type": "string",
          "maxLength": 65536,
          "description": "What was decided, found or changed, and what it cost. You judge the length."
        },
        "essence": {
          "type": "string",
          "maxLength": 280,
          "description": "One authored line with the operative result; never the opening of the body."
        },
        "project": {
          "type": "string",
          "maxLength": 63,
          "description": "Project slug. Not from the person or a read this session? It is a guess: check the arroway_catch_up roster."
        },
        "fulfills": {
          "type": "array",
          "items": {
            "type": "object",
            "required": [
              "memory",
              "how"
            ],
            "properties": {
              "how": {
                "type": "string",
                "maxLength": 1000,
                "description": "What met the kill condition, in one sentence."
              },
              "memory": {
                "type": "string",
                "maxLength": 36,
                "description": "The #handle from the read, or the full id."
              }
            }
          },
          "maxItems": 20,
          "minItems": 1,
          "description": "Memories whose 'dies when' this work made true. Never one that merely looks old."
        },
        "backfilled": {
          "type": "boolean",
          "description": "true for history from BEFORE Arroway existed, not today's work."
        },
        "keep_whole": {
          "type": "boolean",
          "description": "true only after you considered cutting an indivisible oversized residue."
        },
        "operational": {
          "type": "boolean",
          "description": "true for HOW the work went: kept for catch-up, out of task reads."
        }
      }
    }
    arguments 71 lines
  • arroway_remember changes data auth-required never probed

    Save a durable memory (decision/rule/fact/preference/reference/identity) only when it would change a DIFFERENT task. Unsanctioned in THIS conversation, it is a PROPOSAL. 'identity' is WHO someone is: the user's circle goes in their personal project, a business's people in that business's project. A finding cannot replace a sanctioned memory.

    mcp-tool

    {
      "type": "object",
      "allOf": [
        {
          "if": {
            "required": [
              "type"
            ],
            "properties": {
              "type": {
                "const": "fact"
              }
            }
          },
          "then": {
            "required": [
              "review_at"
            ]
          }
        },
        {
          "if": {
            "required": [
              "expires"
            ],
            "properties": {
              "expires": {
                "const": true
              }
            }
          },
          "then": {
            "required": [
              "review_at"
            ]
          }
        }
      ],
      "required": [
        "project",
        "type",
        "title",
        "content",
        "essence",
        "decided_by_human",
        "kill_condition"
      ],
      "properties": {
        "type": {
          "enum": [
            "rule",
            "decision",
            "fact",
            "preference",
            "identity",
            "reference"
          ],
          "type": "string",
          "description": "Kind of memory."
        },
        "title": {
          "type": "string",
          "maxLength": 200,
          "description": "Short, unique within the project"
        },
        "topic": {
          "type": "string",
          "maxLength": 120,
          "description": "Optional free tag (e.g. 'marketing')."
        },
        "content": {
          "type": "string",
          "maxLength": 65536,
          "description": "The norm itself, shortest form that still governs. Biography goes in why_source; a case goes in example."
        },
        "essence": {
          "type": "string",
          "maxLength": 280,
          "description": "The operative norm or fact in ONE line."
        },
        "example": {
          "type": "string",
          "maxLength": 16384,
          "description": "A case, shown in the panel. It NEVER travels in reads, so any criterion goes in content."
        },
        "expires": {
          "type": "boolean",
          "description": "true ONLY for a dated STATUS that would be stale after review_at. If unsure, omit."
        },
        "project": {
          "type": "string",
          "maxLength": 63,
          "description": "Project slug. Not from the person or a read this session? It is a guess: check the arroway_catch_up roster."
        },
        "review_at": {
          "type": "string",
          "format": "date",
          "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
          "maxLength": 10,
          "description": "YYYY-MM-DD. Required for a fact, which leaves reads after it."
        },
        "treatment": {
          "enum": [
            "governed",
            "finding"
          ],
          "type": "string",
          "description": "`governed` enters the person's review queue, a real cost to them; `finding` costs nobody a review and is never a norm. Does it GOVERN what someone may or must do, or only INFORM? Informs, with a source an agent can reopen and compare: finding (only fact and reference qualify)."
        },
        "backfilled": {
          "type": "boolean",
          "description": "true for sourced HISTORY from before Arroway, on the topic just worked on; never a dump."
        },
        "source_ptr": {
          "type": "string",
          "maxLength": 2048,
          "description": "Pointer to the living source, when verifiable"
        },
        "why_source": {
          "type": "string",
          "maxLength": 16384,
          "description": "Where it came from. This does NOT travel in reads; the panel shows it."
        },
        "contradiction": {
          "type": "string",
          "description": "Required with supersedes_id: what this changes in the earlier memory."
        },
        "pin_suggested": {
          "type": "boolean",
          "description": "There is no default. Your judgement on pinning; above the ceiling it becomes a proposal of the pin alone."
        },
        "supersedes_id": {
          "type": "string",
          "maxLength": 36,
          "description": "#handle this replaces, only for the SAME point: acting on either would already satisfy or violate the other. A shared topic is not enough."
        },
        "kill_condition": {
          "type": "string",
          "description": "Mandatory: explicit revocation / named trigger / review date"
        },
        "related_checked": {
          "type": "boolean",
          "description": "Second call only: true after reading the related memories shown."
        },
        "decided_by_human": {
          "type": "boolean",
          "description": "true ONLY if the person stated or sanctioned it in THIS conversation; else a proposal. A proposal is never free: it costs that person a review. Then only a PINNED memory travels in every read; a normal one competes for space in the block relevant to each task. Never write an instruction to check, verify, be careful or look at the source, a step of a routine, or anything here only because something went wrong once."
        },
        "split_considered": {
          "type": "boolean",
          "description": "true only after looking for seams; splitting is the default."
        },
        "example_considered": {
          "type": "boolean",
          "description": "Second call only: true if the flagged example is criterion the rule needs."
        },
        "pin_decision_token": {
          "type": "string",
          "description": "Second call only: the first call's token, unchanged."
        },
        "related_check_token": {
          "type": "string",
          "description": "Second call only: token returned with the related memories."
        },
        "pin_requested_by_human": {
          "type": "boolean",
          "description": "true ONLY if the person told you in THIS conversation to keep it in every session. Sanctioning the CONTENT is not asking for the pin. Pins above any ceiling."
        },
        "revoked_reconsideration": {
          "type": "string",
          "description": "Second call only: the person's words in THIS conversation reconsidering a revoked finding."
        },
        "treatment_justification": {
          "type": "string",
          "description": "Required for a finding: why it is verifiable context, not policy."
        }
      }
    }
    arguments 178 lines
  • arroway_verify changes data auth-required never probed

    Record what a memory's source says when your work ALREADY took you there — never go verifying memories as a task. A conflicting one: propose the correction with arroway_remember. On a FINDING, source_gone archives it and a conflict is corrected in place.

    mcp-tool

    {
      "type": "object",
      "allOf": [
        {
          "if": {
            "required": [
              "outcome"
            ],
            "properties": {
              "outcome": {
                "const": "conflicts"
              }
            }
          },
          "then": {
            "required": [
              "note"
            ]
          }
        },
        {
          "if": {
            "required": [
              "outcome"
            ],
            "properties": {
              "outcome": {
                "const": "source_gone"
              }
            }
          },
          "then": {
            "required": [
              "note"
            ]
          }
        }
      ],
      "required": [
        "project",
        "memory",
        "outcome"
      ],
      "properties": {
        "note": {
          "type": "string",
          "maxLength": 16384,
          "description": "Required for conflicts (what the source says) and source_gone (what proves removal)."
        },
        "memory": {
          "type": "string",
          "maxLength": 36,
          "description": "The #handle from the read, or the full id."
        },
        "outcome": {
          "enum": [
            "matches",
            "source_gone",
            "conflicts"
          ],
          "type": "string",
          "description": "source_gone = PROVEN removed, never a timeout or login wall. conflicts = the source says something different."
        },
        "project": {
          "type": "string",
          "maxLength": 63,
          "description": "Project slug."
        }
      }
    }
    arguments 70 lines
  • arroway_start_project changes data auth-required never probed

    Open a NEW project when the work has no home; it needs slug, name and scope. Propose them to the person FIRST. update=true renames a project you own and rewrites its scope when the person asks or the scope is wrong; the slug stays. invite brings someone in by email.

    mcp-tool

    {
      "type": "object",
      "required": [
        "slug"
      ],
      "properties": {
        "name": {
          "type": "string",
          "maxLength": 120,
          "description": "How people will call it"
        },
        "slug": {
          "type": "string",
          "maxLength": 63,
          "description": "Short, lowercase, hyphenated, unique — e.g. 'trading-solana'"
        },
        "scope": {
          "type": "string",
          "maxLength": 8192,
          "description": "What belongs here and what does not: the subject AND what is out."
        },
        "invite": {
          "type": "string",
          "maxLength": 200,
          "description": "Email of a person to bring in. Returns a checkout link if a team plan is needed."
        },
        "update": {
          "type": "boolean",
          "description": "true: change name and scope of the existing project at slug."
        }
      }
    }
    arguments 32 lines
  • arroway_withdraw changes data auth-required never probed

    Take back a pending PROPOSAL that turned out wrong, usually because the person corrected you. Not for sanctioned memories. If the corrected version is durable, also write it with arroway_remember.

    mcp-tool

    {
      "type": "object",
      "required": [
        "project",
        "memory",
        "why"
      ],
      "properties": {
        "why": {
          "type": "string",
          "maxLength": 16384,
          "description": "What made it wrong — usually what the person said."
        },
        "memory": {
          "type": "string",
          "maxLength": 36,
          "description": "#handle of the proposal, from a read"
        },
        "project": {
          "type": "string",
          "maxLength": 63,
          "description": "Project slug."
        },
        "other_author_confirmed": {
          "type": "boolean",
          "description": "Second call only, after Arroway said someone else's AI wrote the proposal: true to go ahead."
        }
      }
    }
    arguments 29 lines
  • arroway_retire changes data auth-required never probed

    Retire a SANCTIONED memory when the person told you to remove it and nothing replaces it. With a corrected version, use arroway_remember supersedes_id; for your own pending proposal, arroway_withdraw.

    mcp-tool

    {
      "type": "object",
      "allOf": [
        {
          "properties": {
            "decided_by_human": {
              "const": true
            }
          }
        }
      ],
      "required": [
        "project",
        "memory",
        "decided_by_human"
      ],
      "properties": {
        "why": {
          "type": "string",
          "maxLength": 16384,
          "description": "Optional: what the person said made it obsolete, in their terms."
        },
        "memory": {
          "type": "string",
          "maxLength": 36,
          "description": "The memory to retire — the #handle from a read is enough."
        },
        "project": {
          "type": "string",
          "maxLength": 63,
          "description": "Project slug."
        },
        "decided_by_human": {
          "type": "boolean",
          "description": "Must be true, and only when the person explicitly told you to remove it IN THIS CONVERSATION."
        }
      }
    }
    arguments 38 lines
  • arroway_export reads auth-required never probed

    Export what a project has DECIDED, as a pack for another project. Only sanctioned, live memories travel: a FINDING never was one, so findings stay and the answer tells you how many did.

    mcp-tool

    {
      "type": "object",
      "required": [
        "project",
        "name"
      ],
      "properties": {
        "name": {
          "type": "string",
          "maxLength": 120,
          "description": "What this pack IS, in a few words: the first thing the other side reads."
        },
        "topic": {
          "type": "string",
          "maxLength": 120,
          "description": "Optional: export only the memories carrying this topic."
        },
        "project": {
          "type": "string",
          "maxLength": 63,
          "description": "Slug of the project whose norms you are exporting"
        },
        "description": {
          "type": "string",
          "description": "Optional: who it is for, what it assumes."
        }
      }
    }
    arguments 28 lines
  • arroway_import changes data auth-required never probed

    Bring a memory pack made by arroway_export INTO a project. Everything lands as a PROPOSAL for the person's review and nothing is pinned, whatever the pack says. If any part is malformed, nothing is imported.

    mcp-tool

    {
      "type": "object",
      "required": [
        "project",
        "pack"
      ],
      "properties": {
        "pack": {
          "type": "object",
          "description": "The pack document itself; this server does not fetch URLs."
        },
        "project": {
          "type": "string",
          "maxLength": 63,
          "description": "Project slug. Not from the person or a read this session? It is a guess: check the arroway_catch_up roster."
        }
      }
    }
    arguments 18 lines
  • arroway_move changes data auth-required never probed

    Move something to the project it belongs in. A memory is only PROPOSED: the change waits for the person's review, because moving changes who sees it. A log entry you wrote moves at once, text unchanged.

    mcp-tool

    {
      "type": "object",
      "required": [
        "project",
        "memory",
        "target",
        "why"
      ],
      "properties": {
        "why": {
          "type": "string",
          "maxLength": 16384,
          "description": "Why it belongs there and not here. For a memory, the person decides on this sentence."
        },
        "memory": {
          "type": "string",
          "maxLength": 36,
          "description": "#handle of the memory or log entry, from a read or arroway_search_log"
        },
        "target": {
          "type": "string",
          "maxLength": 63,
          "description": "Slug of the project you believe it belongs to"
        },
        "project": {
          "type": "string",
          "maxLength": 63,
          "description": "Slug of the project it is in TODAY"
        }
      }
    }
    arguments 31 lines
  • arroway_claim changes data auth-required never probed

    Mark that you are taking an open handoff BEFORE working on it. A claim is a mark, never a lock. Addressing rule: addressed to YOUR user — take it; to someone else — only a human in this conversation can decide to take it, and an autonomous session must leave it.

    mcp-tool

    {
      "type": "object",
      "required": [
        "project",
        "handoff"
      ],
      "properties": {
        "note": {
          "type": "string",
          "maxLength": 16384,
          "description": "Who is taking it — a routine names itself here."
        },
        "handoff": {
          "type": "string",
          "description": "The #handle from the read, or the full id."
        },
        "project": {
          "type": "string",
          "maxLength": 63,
          "description": "Project slug."
        }
      }
    }
    arguments 23 lines
  • arroway_close changes data auth-required never probed

    Close an open handoff when its work is DONE, alongside the arroway_log entry that records the residue. Work that removes what an open handoff exists to fix closes that handoff in the same pass — even when the handoff is someone else's. So this is also the call for someone ELSE's handoff, with a note naming what emptied it. A handoff that still carries real work, which a passer-by must never close, stays open; discarding a handoff is the human's gesture, in the panel.

    mcp-tool

    {
      "type": "object",
      "required": [
        "project",
        "handoff"
      ],
      "properties": {
        "note": {
          "type": "string",
          "maxLength": 16384,
          "description": "One line on what landed; it points at the residue."
        },
        "handoff": {
          "type": "string",
          "description": "The #handle from the read, or the full id."
        },
        "project": {
          "type": "string",
          "maxLength": 63,
          "description": "Project slug."
        }
      }
    }
    arguments 23 lines
  • arroway_catch_up reads auth-required 14h ago

    Call ONCE at the START of a session, before there is a task: recent work across this person's projects, opening with the roster and open handoffs.

    mcp-tool

    {
      "type": "object",
      "required": [],
      "properties": {
        "days": {
          "type": "integer",
          "maximum": 30,
          "minimum": 1,
          "description": "Days back, counting today. Default 2; more only when picking up work after being away."
        }
      }
    }
    arguments 12 lines
  • arroway_pass changes data auth-required never probed

    Call when you STOP with the task unfinished: it leaves a HANDOFF served at the top of every read until someone closes it; a completed task ends in arroway_log instead. ALWAYS write the authored essence (only a frozen catalog without that field may omit it).

    mcp-tool

    {
      "type": "object",
      "required": [
        "project",
        "where_stopped",
        "next_step"
      ],
      "properties": {
        "card": {
          "type": "string",
          "description": "Card, issue or PR, when one exists."
        },
        "essence": {
          "type": "string",
          "maxLength": 280,
          "description": "One authored line with the operative in-flight state."
        },
        "project": {
          "type": "string",
          "maxLength": 63,
          "description": "Project slug."
        },
        "next_step": {
          "type": "string",
          "description": "The single concrete next step. Not a plan: the step."
        },
        "open_risk": {
          "type": "string",
          "description": "The risk left open."
        },
        "supersedes": {
          "type": "string",
          "description": "#handle of the OPEN handoff this one replaces, from a read."
        },
        "do_not_redo": {
          "type": "string",
          "description": "What must NOT be redone or re-litigated."
        },
        "addressed_to": {
          "type": "string",
          "description": "Optional person or routine it is meant for; never a lock."
        },
        "read_handles": {
          "type": "array",
          "items": {
            "type": "string",
            "maxLength": 36,
            "minLength": 8
          },
          "maxItems": 10,
          "description": "The reading list: #handles the next session must read in full, in order.",
          "uniqueItems": true
        },
        "where_stopped": {
          "type": "string",
          "description": "What is done and verified, what is half-done."
        }
      }
    }
    arguments 59 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 8d8c05740ea3de1e.

Every step, filled in for this listing: https://brick.blue/api/v1/agents/8d8c05740ea3de1e/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/8d8c05740ea3de1e/badge.svg)](https://brick.blue/agent/8d8c05740ea3de1e?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
100%

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.