@getstub/mcp-check
v0.1.0
Published
Verify what an AI agent did on someone's behalf. Resolves a signed agent receipt at a neutral registry, showing what was asked, what was done, what money moved, and what commercial influence the operator disclosed. Read only, no API key.
Maintainers
Readme
@getstub/mcp-check
Verify what an AI agent did on someone's behalf, and whose side it was on.
An agent books a flight, picks a policy, chooses which product to surface. It searched, it compared, it chose. The person served cannot tell whether it looked at the whole market or only the sellers paying it a commission, because the ranking happened somewhere they cannot see and the agent is the only witness to its own behaviour.
Stub is a signed receipt an agent issues after a consequential action, recording what was asked, what was done, what money moved, and what commercial influence applied. This MCP server lets any agent resolve those receipts at a neutral registry, so one agent can check another agent's disclosures without trusting either the operator or their servers.
Install
{
"mcpServers": {
"stub-check": {
"command": "npx",
"args": ["-y", "@getstub/mcp-check"]
}
}
}No API key, no account, no sign up. Checking is free forever.
Tools
check_stub takes a receipt id and returns the signed record: the operator,
what was asked, what was done, what money moved, what influenced the result, and
whether the operator's signature verifies. If the receipt discloses influence the
operator never declared in its standing mandate, that gap is reported too.
get_witness_key returns the registry's public witness key, so the
countersignature on any check can be verified independently without trusting the
registry either.
Two tools, both serving one job. Browsing the list of operators is a different job, and this server does not do it.
Try it before installing anything
A live receipt, open in any browser:
https://api.getstub.dev/check/72b4baee1719ec34acc5df5c514a12fd2e19b9a6776de4b45706988f765c77d8
This server only checks
It cannot issue receipts, deliberately. A receipt is worth something because the operator's own code fills in what influenced an action, since the ranking code is the only thing that knows a commission or a placement fee applied. A model deciding what to disclose would be guessing about its operator's business, and a guessed disclosure is worse than none.
Issuing belongs inside the operator's own server, at the line where the ranking picks a winner. The reference implementations for that are at github.com/getstub/recipes.
What it does not claim
Resolving a receipt does not prove an agent was honest, safe, or good. It proves a record exists, that the operator signed it, and that it resolves somewhere the operator does not control. What the record says is the operator's own claim, signed. Reading it is the point.
An operator could issue receipts for its clean actions and skip the awkward ones. Stub certifies that records exist and resolve, not that they cover everything.
Configuration
STUB_REGISTRY points the server at a different registry host. Defaults to
https://api.getstub.dev.
MIT licensed. Docs at getstub.dev.
