{"ok":true,"site":{"host":"claustrum.ochinimus.workers.dev","url":"https://claustrum.ochinimus.workers.dev/","type":"live","desc":"Every WebMCP tool call that would move money is held as a proposal, priced against live routing, until a person releases it.","tools":[{"name":"get_portfolio","kind":"answer","impl":"imperative","description":"Read the current holdings and their live USD value. Anything that could not be priced returns null, not zero.","title":"get_portfolio","annotations":{"readOnlyHint":true,"untrustedContentHint":false},"inputSchema":{"type":"object","properties":{},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/"]},{"name":"quote_sale","kind":"act","impl":"imperative","description":"Ask what selling an amount would cost right now without proposing anything. Returns live price impact and which venues would fill it.","title":"quote_sale","annotations":{"readOnlyHint":true,"untrustedContentHint":false},"inputSchema":{"type":"object","properties":{"asset":{"type":"string"},"units":{"type":"number"}},"required":["asset","units"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/"]},{"name":"propose_sell","kind":"act","impl":"imperative","description":"Propose selling an asset into USDC. This does not act. It creates a held proposal a person must release, and returns a proposal id you can poll with check_proposal.","title":"propose_sell","annotations":{"readOnlyHint":false,"untrustedContentHint":false},"inputSchema":{"type":"object","properties":{"asset":{"type":"string"},"units":{"type":"number"},"rationale":{"type":"string"}},"required":["asset","units"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/"]},{"name":"propose_buy","kind":"transact","impl":"imperative","description":"Propose buying an asset with USDC. This does not act. It creates a held proposal a person must release, and returns a proposal id you can poll with check_proposal.","title":"propose_buy","annotations":{"readOnlyHint":false,"untrustedContentHint":false},"inputSchema":{"type":"object","properties":{"asset":{"type":"string"},"usdc":{"type":"number"},"rationale":{"type":"string"}},"required":["asset","usdc"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/"]},{"name":"list_proposals","kind":"answer","impl":"imperative","description":"List every proposal made in this session and its state: held, released or refused, with the reason a person gave for refusing.","title":"list_proposals","annotations":{"readOnlyHint":true,"untrustedContentHint":false},"inputSchema":{"type":"object","properties":{},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/access.html"]},{"name":"check_proposal","kind":"answer","impl":"imperative","description":"Check what the person decided about one proposal. While it is held the answer is held, which is neither a failure nor an approval.","title":"check_proposal","annotations":{"readOnlyHint":true,"untrustedContentHint":false},"inputSchema":{"type":"object","properties":{"proposal":{"type":"string"}},"required":["proposal"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/access.html"]},{"name":"list_members","kind":"answer","impl":"imperative","description":"Read the team: each person, their role, how many repositories they solely own and how many running deployments depend on them.","title":"list_members","annotations":{"readOnlyHint":true,"untrustedContentHint":false},"inputSchema":{"type":"object","properties":{},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/access.html","pages":["/access.html"]},{"name":"change_role","kind":"act","impl":"imperative","description":"Propose changing a person's role, including removing them entirely by setting the role to removed. This does not act. It creates a held proposal a person must release, and returns a proposal id you can poll with check_proposal.","title":"change_role","annotations":{"readOnlyHint":false,"untrustedContentHint":false},"inputSchema":{"type":"object","properties":{"member":{"type":"string"},"role":{"type":"string","enum":["admin","maintainer","viewer","service key","removed"]},"rationale":{"type":"string"}},"required":["member","role"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/access.html","pages":["/access.html"]},{"name":"rotate_key","kind":"act","impl":"imperative","description":"Propose rotating a service key. Anything currently authenticating with it stops working until it is updated. This does not act. It creates a held proposal a person must release, and returns a proposal id you can poll with check_proposal.","title":"rotate_key","annotations":{"readOnlyHint":false,"untrustedContentHint":false},"inputSchema":{"type":"object","properties":{"member":{"type":"string"},"rationale":{"type":"string"}},"required":["member"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/access.html","pages":["/access.html"]}],"category":"Finance & Crypto","apiSurface":"spec","toolCount":9}}