{"$schema":"https://wellknown.network/schemas/agent-record-v1.json","schemaVersion":"1","id":"ag_36tetwqeqncw","handle":"openglass-mcp","url":"https://wellknown.network/agents/openglass-mcp","links":{"self":"https://wellknown.network/agents/openglass-mcp/record.json","html":"https://wellknown.network/agents/openglass-mcp","markdown":"https://wellknown.network/agents/openglass-mcp/record.md","api":"https://wellknown.network/api/v1/agents/openglass-mcp","status":"https://wellknown.network/api/v1/agents/openglass-mcp/status","claim":"https://wellknown.network/agents/openglass-mcp/claim","claimApi":"https://wellknown.network/api/v1/claims","claimDescriptor":"https://wellknown.network/agents/openglass-mcp/claim.json","badge":"https://wellknown.network/agents/openglass-mcp/badge.svg","openapi":"https://wellknown.network/openapi.json","history":"https://wellknown.network/api/v1/agents/openglass-mcp/history","tools":"https://wellknown.network/api/v1/agents/openglass-mcp/tools"},"ard":{"identifier":"urn:air:mcp.openglass.glass:server:openglass-mcp","type":"application/mcp-server-card+json"},"kind":"mcp_server","declared":{"name":"openglass-mcp","summary":"Look up any AI agent before you act; register, attest actions, run sealed sessions.","description":"Look up any AI agent before you act; register, attest actions, run sealed sessions.","publisher":{"name":"federico2001","url":null},"homepage":"https://openglass.glass","repository":"https://github.com/federico2001/OpenGlass","version":"0.2.0","license":null,"protocols":["mcp"],"tags":[],"pricing":null,"endpoints":[{"url":"https://mcp.openglass.glass/mcp","type":"mcp_streamable_http","auth":null,"probeable":true}],"skills":null,"tools":null,"extra":{"updatedAt":"2026-09-28T19:49:05.470856Z","publishedAt":"2026-09-28T19:49:05.470856Z","registryName":"io.github.federico2001/openglass-mcp"},"attribution":{"kind":"mcp_registry","name":"mcp_registry","repoUrl":"mcp_registry","summary":"mcp_registry","version":"mcp_registry","description":"mcp_registry","homepageUrl":"mcp_registry","publisherName":"mcp_registry"}},"derived":{"capabilities":[],"categories":[],"language":"en"},"observed":{"status":"live","statusReason":"Responded 5h ago.","lastOkAt":"2026-10-10T03:25:15.132Z","lastProbedAt":"2026-10-10T03:25:15.132Z","statusComputedAt":"2026-10-10T03:27:16.228Z","reliability30d":{"probes":51,"successRate":1,"p50Ms":95,"basis":"service","measures":{"availability":"availability","latency":"response time","tools":"tool surface observed","summary":"Checks reached the service itself."},"checks":{"total":51,"ok":51,"authBoundaryOk":0,"serviceOk":51,"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-10-10T03:25:15.132Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":91,"error":null,"detail":{"tools":[{"name":"register_agent","description":"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 "},{"name":"start_session","description":"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"},{"name":"invite_counterparty","description":"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"},{"name":"accept_invite","description":"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"},{"name":"send_message","description":"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) "},{"name":"pause_session","description":"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"},{"name":"close_session","description":"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 "},{"name":"get_record","description":"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 "},{"name":"open_attestation","description":"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` (Attesta"},{"name":"send_attestation_event","description":"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 mod"},{"name":"close_attestation","description":"Close your own active attestation (POST /v1/attestations/{id}/close), which starts record issuance exactly like close_session. `mode: \"prepare\"` (auth = a signe"},{"name":"lookup_agent","description":"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 ag"},{"name":"verify_agent","description":"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 t"},{"name":"register_counterparty","description":"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 ope"}],"toolCount":14,"toolsHash":"8de9ba17df4e158c72b9ca25c5dbcdfbfb5e5252ce3c586e07fae9a703b906cd","serverName":"openglass","capabilities":["tools"],"serverVersion":"0.2.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-09T20:29:33.643Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":87,"error":null,"detail":{"tools":[{"name":"register_agent","description":"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 "},{"name":"start_session","description":"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"},{"name":"invite_counterparty","description":"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"},{"name":"accept_invite","description":"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"},{"name":"send_message","description":"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) "},{"name":"pause_session","description":"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"},{"name":"close_session","description":"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 "},{"name":"get_record","description":"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 "},{"name":"open_attestation","description":"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` (Attesta"},{"name":"send_attestation_event","description":"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 mod"},{"name":"close_attestation","description":"Close your own active attestation (POST /v1/attestations/{id}/close), which starts record issuance exactly like close_session. `mode: \"prepare\"` (auth = a signe"},{"name":"lookup_agent","description":"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 ag"},{"name":"verify_agent","description":"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 t"},{"name":"register_counterparty","description":"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 ope"}],"toolCount":14,"toolsHash":"8de9ba17df4e158c72b9ca25c5dbcdfbfb5e5252ce3c586e07fae9a703b906cd","serverName":"openglass","capabilities":["tools"],"serverVersion":"0.2.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-09T13:31:42.408Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":90,"error":null,"detail":{"tools":[{"name":"register_agent","description":"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 "},{"name":"start_session","description":"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"},{"name":"invite_counterparty","description":"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"},{"name":"accept_invite","description":"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"},{"name":"send_message","description":"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) "},{"name":"pause_session","description":"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"},{"name":"close_session","description":"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 "},{"name":"get_record","description":"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 "},{"name":"open_attestation","description":"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` (Attesta"},{"name":"send_attestation_event","description":"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 mod"},{"name":"close_attestation","description":"Close your own active attestation (POST /v1/attestations/{id}/close), which starts record issuance exactly like close_session. `mode: \"prepare\"` (auth = a signe"},{"name":"lookup_agent","description":"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 ag"},{"name":"verify_agent","description":"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 t"},{"name":"register_counterparty","description":"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 ope"}],"toolCount":14,"toolsHash":"8de9ba17df4e158c72b9ca25c5dbcdfbfb5e5252ce3c586e07fae9a703b906cd","serverName":"openglass","capabilities":["tools"],"serverVersion":"0.2.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-09T07:26:20.363Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":102,"error":null,"detail":{"tools":[{"name":"register_agent","description":"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 "},{"name":"start_session","description":"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"},{"name":"invite_counterparty","description":"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"},{"name":"accept_invite","description":"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"},{"name":"send_message","description":"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) "},{"name":"pause_session","description":"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"},{"name":"close_session","description":"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 "},{"name":"get_record","description":"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 "},{"name":"open_attestation","description":"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` (Attesta"},{"name":"send_attestation_event","description":"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 mod"},{"name":"close_attestation","description":"Close your own active attestation (POST /v1/attestations/{id}/close), which starts record issuance exactly like close_session. `mode: \"prepare\"` (auth = a signe"},{"name":"lookup_agent","description":"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 ag"},{"name":"verify_agent","description":"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 t"},{"name":"register_counterparty","description":"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 ope"}],"toolCount":14,"toolsHash":"8de9ba17df4e158c72b9ca25c5dbcdfbfb5e5252ce3c586e07fae9a703b906cd","serverName":"openglass","capabilities":["tools"],"serverVersion":"0.2.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-09T01:26:15.421Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":90,"error":null,"detail":{"tools":[{"name":"register_agent","description":"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 "},{"name":"start_session","description":"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"},{"name":"invite_counterparty","description":"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"},{"name":"accept_invite","description":"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"},{"name":"send_message","description":"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) "},{"name":"pause_session","description":"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"},{"name":"close_session","description":"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 "},{"name":"get_record","description":"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 "},{"name":"open_attestation","description":"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` (Attesta"},{"name":"send_attestation_event","description":"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 mod"},{"name":"close_attestation","description":"Close your own active attestation (POST /v1/attestations/{id}/close), which starts record issuance exactly like close_session. `mode: \"prepare\"` (auth = a signe"},{"name":"lookup_agent","description":"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 ag"},{"name":"verify_agent","description":"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 t"},{"name":"register_counterparty","description":"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 ope"}],"toolCount":14,"toolsHash":"8de9ba17df4e158c72b9ca25c5dbcdfbfb5e5252ce3c586e07fae9a703b906cd","serverName":"openglass","capabilities":["tools"],"serverVersion":"0.2.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-08T19:23:21.253Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":88,"error":null,"detail":{"tools":[{"name":"register_agent","description":"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 "},{"name":"start_session","description":"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"},{"name":"invite_counterparty","description":"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"},{"name":"accept_invite","description":"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"},{"name":"send_message","description":"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) "},{"name":"pause_session","description":"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"},{"name":"close_session","description":"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 "},{"name":"get_record","description":"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 "},{"name":"open_attestation","description":"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` (Attesta"},{"name":"send_attestation_event","description":"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 mod"},{"name":"close_attestation","description":"Close your own active attestation (POST /v1/attestations/{id}/close), which starts record issuance exactly like close_session. `mode: \"prepare\"` (auth = a signe"},{"name":"lookup_agent","description":"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 ag"},{"name":"verify_agent","description":"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 t"},{"name":"register_counterparty","description":"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 ope"}],"toolCount":14,"toolsHash":"8de9ba17df4e158c72b9ca25c5dbcdfbfb5e5252ce3c586e07fae9a703b906cd","serverName":"openglass","capabilities":["tools"],"serverVersion":"0.2.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-08T12:25:47.571Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":104,"error":null,"detail":{"tools":[{"name":"register_agent","description":"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 "},{"name":"start_session","description":"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"},{"name":"invite_counterparty","description":"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"},{"name":"accept_invite","description":"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"},{"name":"send_message","description":"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) "},{"name":"pause_session","description":"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"},{"name":"close_session","description":"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 "},{"name":"get_record","description":"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 "},{"name":"open_attestation","description":"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` (Attesta"},{"name":"send_attestation_event","description":"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 mod"},{"name":"close_attestation","description":"Close your own active attestation (POST /v1/attestations/{id}/close), which starts record issuance exactly like close_session. `mode: \"prepare\"` (auth = a signe"},{"name":"lookup_agent","description":"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 ag"},{"name":"verify_agent","description":"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 t"},{"name":"register_counterparty","description":"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 ope"}],"toolCount":14,"toolsHash":"8de9ba17df4e158c72b9ca25c5dbcdfbfb5e5252ce3c586e07fae9a703b906cd","serverName":"openglass","capabilities":["tools"],"serverVersion":"0.2.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-08T05:22:09.268Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":90,"error":null,"detail":{"tools":[{"name":"register_agent","description":"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 "},{"name":"start_session","description":"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"},{"name":"invite_counterparty","description":"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"},{"name":"accept_invite","description":"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"},{"name":"send_message","description":"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) "},{"name":"pause_session","description":"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"},{"name":"close_session","description":"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 "},{"name":"get_record","description":"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 "},{"name":"open_attestation","description":"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` (Attesta"},{"name":"send_attestation_event","description":"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 mod"},{"name":"close_attestation","description":"Close your own active attestation (POST /v1/attestations/{id}/close), which starts record issuance exactly like close_session. `mode: \"prepare\"` (auth = a signe"},{"name":"lookup_agent","description":"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 ag"},{"name":"verify_agent","description":"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 t"},{"name":"register_counterparty","description":"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 ope"}],"toolCount":14,"toolsHash":"8de9ba17df4e158c72b9ca25c5dbcdfbfb5e5252ce3c586e07fae9a703b906cd","serverName":"openglass","capabilities":["tools"],"serverVersion":"0.2.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-07T23:25:50.492Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":87,"error":null,"detail":{"tools":[{"name":"register_agent","description":"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 "},{"name":"start_session","description":"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"},{"name":"invite_counterparty","description":"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"},{"name":"accept_invite","description":"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"},{"name":"send_message","description":"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) "},{"name":"pause_session","description":"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"},{"name":"close_session","description":"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 "},{"name":"get_record","description":"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 "},{"name":"open_attestation","description":"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` (Attesta"},{"name":"send_attestation_event","description":"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 mod"},{"name":"close_attestation","description":"Close your own active attestation (POST /v1/attestations/{id}/close), which starts record issuance exactly like close_session. `mode: \"prepare\"` (auth = a signe"},{"name":"lookup_agent","description":"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 ag"},{"name":"verify_agent","description":"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 t"},{"name":"register_counterparty","description":"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 ope"}],"toolCount":14,"toolsHash":"8de9ba17df4e158c72b9ca25c5dbcdfbfb5e5252ce3c586e07fae9a703b906cd","serverName":"openglass","capabilities":["tools"],"serverVersion":"0.2.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-07T17:30:18.254Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":92,"error":null,"detail":{"tools":[{"name":"register_agent","description":"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 "},{"name":"start_session","description":"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"},{"name":"invite_counterparty","description":"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"},{"name":"accept_invite","description":"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"},{"name":"send_message","description":"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) "},{"name":"pause_session","description":"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"},{"name":"close_session","description":"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 "},{"name":"get_record","description":"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 "},{"name":"open_attestation","description":"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` (Attesta"},{"name":"send_attestation_event","description":"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 mod"},{"name":"close_attestation","description":"Close your own active attestation (POST /v1/attestations/{id}/close), which starts record issuance exactly like close_session. `mode: \"prepare\"` (auth = a signe"},{"name":"lookup_agent","description":"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 ag"},{"name":"verify_agent","description":"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 t"},{"name":"register_counterparty","description":"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 ope"}],"toolCount":14,"toolsHash":"8de9ba17df4e158c72b9ca25c5dbcdfbfb5e5252ce3c586e07fae9a703b906cd","serverName":"openglass","capabilities":["tools"],"serverVersion":"0.2.0","protocolVersion":"2025-06-18"}}],"tools":[{"name":"register_agent","description":"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 "},{"name":"start_session","description":"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"},{"name":"invite_counterparty","description":"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"},{"name":"accept_invite","description":"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"},{"name":"send_message","description":"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) "},{"name":"pause_session","description":"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"},{"name":"close_session","description":"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 "},{"name":"get_record","description":"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 "},{"name":"open_attestation","description":"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` (Attesta"},{"name":"send_attestation_event","description":"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 mod"},{"name":"close_attestation","description":"Close your own active attestation (POST /v1/attestations/{id}/close), which starts record issuance exactly like close_session. `mode: \"prepare\"` (auth = a signe"},{"name":"lookup_agent","description":"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 ag"},{"name":"verify_agent","description":"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 t"},{"name":"register_counterparty","description":"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 ope"}],"package":null,"toolSurface":{"id":"ts_spnf6zerp8kp","endpointId":"ep_5des5zvc3mrr","hash":"8de9ba17df4e158c72b9ca25c5dbcdfbfb5e5252ce3c586e07fae9a703b906cd","toolCount":14,"serverName":"openglass","serverVersion":"0.2.0","protocolVersion":"2025-06-18","firstSeenAt":"2026-10-03T01:25:22.178Z","lastSeenAt":"2026-10-10T03:25:15.126Z","observations":27,"toolNames":["register_agent","start_session","invite_counterparty","accept_invite","send_message","pause_session","close_session","get_record","open_attestation","send_attestation_event","close_attestation","lookup_agent","verify_agent","register_counterparty"],"distinctSurfaces":5},"endpointFacts":[{"id":"ep_5des5zvc3mrr","url":"https://mcp.openglass.glass/mcp","type":"mcp_streamable_http","factsCheckedAt":"2026-10-10T03:25:15.131Z","auth":{"observedAt":"2026-10-10T03:25:15.237Z","authRequired":false,"scheme":null,"resourceMetadata":null,"authorizationServer":null,"conformance":{"dpop":false,"rfc8414":false,"rfc9728":false,"pkceS256":false,"clientIdMetadataDocument":false,"dynamicClientRegistration":false}},"tls":{"observedAt":"2026-10-10T03:25:15.425Z","protocol":"TLSv1.3","chainValid":true,"chainError":null,"hostMatches":true,"subject":"mcp.openglass.glass","issuer":{"commonName":"YE1","organization":"Let's Encrypt"},"validFrom":"2026-09-24T05:40:03.000Z","validTo":"2026-12-23T05:40:02.000Z","daysToExpiry":73,"sanCount":1,"fingerprint256":"EA:81:07:38:DF:34:49:58:AD:79:4D:9A:C2:33:DC:73:BD:F8:0E:1C:87:FE:CE:0D:DA:ED:CC:78:AC:D6:7D:17"}}]},"verification":{"claimed":false,"claimedAt":null,"proofs":[]},"provenance":{"sources":[{"source":"mcp_registry","key":"io.github.federico2001/openglass-mcp","url":"https://registry.modelcontextprotocol.io/v0/servers/io.github.federico2001%2Fopenglass-mcp","firstSeenAt":"2026-09-26T10:22:53.961Z","fetchedAt":"2026-10-07T12:21:49.941Z","normalizedAt":"2026-10-07T12:21:49.941Z"}]},"firstSeenAt":"2026-09-26T10:22:53.961Z","updatedAt":"2026-10-10T03:28:01.576Z"}