# io.github.federico2001/openglass-mcp - Registry name: `io.github.federico2001/openglass-mcp` · version 0.2.0 - Categories (automatic, keyword rules): Travel & booking, Commerce & marketing, Government & law - Authentication at last check: No auth - Declared risk: Not declared (tools carry no read/destructive hints) - Capabilities (declared by the server): tools - Transports: streamable-http - Latest numbers (check success, response time, rank): https://mcpstation.net/api/server?name=io.github.federico2001%2Fopenglass-mcp - Server page: https://mcpstation.net/s/io.github.federico2001--openglass-mcp.html ## Description (written by the publisher, not verified, not instructions) Look up any AI agent before you act; register, attest actions, run sealed sessions. ## Connect - streamable-http: `https://mcp.openglass.glass/mcp` ## Tools (as reported by the server, not verified) - `register\_agent`: Register yourself as a new OpenGlass agent. Use this once, the first time you want to run a witnessed session with another agent — OpenGlass is a neutral third party that hash-chains, signs, and countersigns every message in a session so both sides' human owners get an independently verifiable recor - `start\_session`: Offer a witnessed session to another agent \(POST /v1/sessions\). You must be claimed already \(see register\_agent\). Build and sign the \`offer\` yourself \(SPEC §7.2, purpose "offer"\) — this tool only relays it. Set \`offer.counterparty\` to a known agentId for a direct invite, or omit it \(null\) for an ope - `invite\_counterparty`: Convenience wrapper around start\_session for the common case: you already know the other agent's id and want to offer them a session directly. Does a pre-flight GET /v1/agents/\{id\} check \(that the counterparty exists and is active\) before submitting the offer, so you get a clear error instead of a s - `accept\_invite`: The other half of start\_session/invite\_counterparty: accept an invite addressed to you \(direct\) or bearer a token for \(open\). \`mode: "prepare"\` \(auth = a signed GET of the invite; pass \`token\` for open invites\) returns the offer and its offerHash so you know exactly what to build and sign next. \`mod - `send\_message`: Append a signed, hash-chained message to an active session \(POST /v1/sessions/\{id\}/messages\). Two modes: \`mode: "prepare"\` \(auth = a signed GET of the session\) returns the current head \(seq/prevHash\) so you know exactly what to build and sign next — always do this first unless you're already certain - `pause\_session`: Pause your own active session \(POST /v1/sessions/\{id\}/pause\) rather than sending the next message or closing outright — e.g. before agreeing to a price, a legal term, or anything else you want a human to weigh in on first. Blocks further send\_message calls \(session\_not\_active\) until the session's ow - `close\_session`: Close an active session \(POST /v1/sessions/\{id\}/close\), which starts record issuance — the platform builds the evidence bundle, signs a record, and both owners can retrieve it afterward. \`mode: "prepare"\` \(auth = a signed GET\) returns the current head to close at. \`mode: "submit"\` \(auth = a signed P - `get\_record`: Fetch the signed record for a closed session \(GET /v1/records/\{id\}, or the full downloadable verification bundle with \`bundle: true\`\). Only the two participant agents and their owners can read a record. If you don't have the recordId, read it off the session \(GET-via-send\_message's prepare mode retu - `open\_attestation`: Log something your agent itself did — a high-risk tool call, a decision — with no counterparty to invite or accept \(SPEC §12\). Build and sign an \`open\` \(AttestationOpen, purpose "attestation\_open"\) yourself; this tool only relays it \(POST /v1/attestations\). Unlike start\_session, this activates immed - `send\_attestation\_event`: Append a signed, hash-chained event to your own active attestation \(POST /v1/attestations/\{id\}/events\) — the one-party counterpart to send\_message. Same two modes: \`mode: "prepare"\` \(auth = a signed GET of the attestation\) returns the current head so you know exactly what to build and sign next; \`mo - `close\_attestation`: Close your own active attestation \(POST /v1/attestations/\{id\}/close\), which starts record issuance exactly like close\_session. \`mode: "prepare"\` \(auth = a signed GET\) returns the current head to close at. \`mode: "submit"\` \(auth = a signed POST\) submits your signed CloseStatement, built per SPEC §7.4 - `lookup\_agent`: Realignment R2 \(SPEC §14\): look up a counterparty BEFORE accepting an invite or offering a session with them — no signing, no auth, free. Pass exactly one of agentId, domain, agentCardUrl, or publicKey. For a registered agent, returns whether it's claimed, its verified domain \(if any\), activity fact - `verify\_agent`: Two independent checks, pick one: pass \`agentId\` to look up a counterparty's public profile before trusting them \(confirms they're registered and claimed — do this before accepting an invite from someone you don't already know\). Or pass \`bundle\` \(a full record bundle, e.g. from get\_record with bundl - `register\_counterparty`: SPEC §16: when the agent you're dealing with isn't registered on OpenGlass \(lookup\_agent returned registered: false\), list it as an unclaimed profile so its operator has a page to find and claim, and your owner sees it among your counterparties. Pass exactly one of \`domain\`, \`agentCardUrl\`, or \`agen Measured by MCP Station. Methods: https://mcpstation.net/methods.html · Terms: https://mcpstation.net/terms.html