openglass-mcp
このMCPでできること
Creates signed, hash-chained agent sessions and independently verifiable records for witnessed inter-agent communication.
ツール
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['mode', 'inviteId', 'auth'], 'properties': {'auth': {'type': 'object', 'required': ['kid', 'timestamp', 'nonce', 'sig'], 'properties': {'kid': {'type': 'string', 'description': 'Your signing key id (key_...) â\x80\x94 or the literal "new" for register_agent.'}, 'sig': {'type': 'string', 'description': 'base64url Ed25519 signature per OpenGlass SPEC §4.1, computed locally over sha256(JCS({method, path, timestamp, nonce, bodySha256})). This server cannot compute this for you â\x80\x94 it never holds or generates private keys.'}, 'nonce': {'type': 'string', 'description': 'Fresh random value (base64url recommended), unique per request.'}, 'agentId': {'type': 'string', 'description': "Your own agent id (agt_...). Omit only for register_agent's self-signed call."}, 'timestamp': {'type': 'string', 'description': 'RFC3339 UTC timestamp at signing time, e.g. new Date().toISOString().'}}}, 'mode': {'enum': ['prepare', 'submit'], 'type': 'string'}, 'token': {'type': 'string', 'description': 'Required for open invites (bearer token from the invite URL).'}, 'accept': {'type': 'object', 'required': ['v', 'type', 'sessionId', 'offerHash', 'counterparty', 'acceptedAt'], 'properties': {'v': {'type': 'number', 'const': 1}, 'type': {'type': 'string', 'const': 'openglass.accept'}, 'offerHash': {'type': 'string', 'pattern': '^[0-9a-f]{64}$'}, 'sessionId': {'type': 'string', 'pattern': '^ses_[0-9A-HJKMNP-TV-Z]{26}$'}, 'acceptedAt': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{3}Z$'}, 'counterparty': {'type': 'object', 'required': ['agentId', 'kid', 'publicKey'], 'properties': {'kid': {'type': 'string', 'pattern': '^(key_[0-9A-HJKMNP-TV-Z]{26}|plat_[a-z0-9_-]{1,32})$'}, 'agentId': {'type': 'string', 'pattern': '^agt_[0-9A-HJKMNP-TV-Z]{26}$'}, 'publicKey': {'type': 'string', 'pattern': '^[A-Za-z0-9_-]{43}$'}}, 'additionalProperties': False}}, 'description': 'Required for mode=submit.', 'additionalProperties': False}, 'inviteId': {'type': 'string'}, 'signature': {'type': 'object', 'required': ['alg', 'kid', 'sig'], 'properties': {'alg': {'enum': ['Ed25519', 'ECDSA_P256_SHA256'], 'type': 'string'}, 'kid': {'type': 'string', 'pattern': '^(key_[0-9A-HJKMNP-TV-Z]{26}|plat_[a-z0-9_-]{1,32})$'}, 'sig': {'type': 'string', 'pattern': '^[A-Za-z0-9_-]+$'}}, 'description': 'Required for mode=submit â\x80\x94 the accept signature, not the request auth.', 'additionalProperties': False}}}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['mode', 'attestationId', 'auth'], 'properties': {'auth': {'type': 'object', 'required': ['kid', 'timestamp', 'nonce', 'sig'], 'properties': {'kid': {'type': 'string', 'description': 'Your signing key id (key_...) â\x80\x94 or the literal "new" for register_agent.'}, 'sig': {'type': 'string', 'description': 'base64url Ed25519 signature per OpenGlass SPEC §4.1, computed locally over sha256(JCS({method, path, timestamp, nonce, bodySha256})). This server cannot compute this for you â\x80\x94 it never holds or generates private keys.'}, 'nonce': {'type': 'string', 'description': 'Fresh random value (base64url recommended), unique per request.'}, 'agentId': {'type': 'string', 'description': "Your own agent id (agt_...). Omit only for register_agent's self-signed call."}, 'timestamp': {'type': 'string', 'description': 'RFC3339 UTC timestamp at signing time, e.g. new Date().toISOString().'}}}, 'mode': {'enum': ['prepare', 'submit'], 'type': 'string'}, 'signature': {'type': 'object', 'required': ['alg', 'kid', 'sig'], 'properties': {'alg': {'enum': ['Ed25519', 'ECDSA_P256_SHA256'], 'type': 'string'}, 'kid': {'type': 'string', 'pattern': '^(key_[0-9A-HJKMNP-TV-Z]{26}|plat_[a-z0-9_-]{1,32})$'}, 'sig': {'type': 'string', 'pattern': '^[A-Za-z0-9_-]+$'}}, 'description': 'Required for mode=submit.', 'additionalProperties': False}, 'statement': {'type': 'object', 'required': ['v', 'type', 'sessionId', 'headSeq', 'headHash', 'closedAt'], 'properties': {'v': {'type': 'number', 'const': 1}, 'type': {'type': 'string', 'const': 'openglass.close'}, 'headSeq': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}, 'closedAt': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{3}Z$'}, 'headHash': {'anyOf': [{'type': 'string', 'pattern': '^[0-9a-f]{64}$'}, {'type': 'null'}]}, 'sessionId': {'anyOf': [{'type': 'string', 'pattern': '^ses_[0-9A-HJKMNP-TV-Z]{26}$'}, {'type': 'string', 'pattern': '^att_[0-9A-HJKMNP-TV-Z]{26}$'}]}}, 'description': 'Required for mode=submit.', 'additionalProperties': False}, 'attestationId': {'type': 'string'}}}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['mode', 'sessionId', 'auth'], 'properties': {'auth': {'type': 'object', 'required': ['kid', 'timestamp', 'nonce', 'sig'], 'properties': {'kid': {'type': 'string', 'description': 'Your signing key id (key_...) â\x80\x94 or the literal "new" for register_agent.'}, 'sig': {'type': 'string', 'description': 'base64url Ed25519 signature per OpenGlass SPEC §4.1, computed locally over sha256(JCS({method, path, timestamp, nonce, bodySha256})). This server cannot compute this for you â\x80\x94 it never holds or generates private keys.'}, 'nonce': {'type': 'string', 'description': 'Fresh random value (base64url recommended), unique per request.'}, 'agentId': {'type': 'string', 'description': "Your own agent id (agt_...). Omit only for register_agent's self-signed call."}, 'timestamp': {'type': 'string', 'description': 'RFC3339 UTC timestamp at signing time, e.g. new Date().toISOString().'}}}, 'mode': {'enum': ['prepare', 'submit'], 'type': 'string'}, 'sessionId': {'type': 'string'}, 'signature': {'type': 'object', 'required': ['alg', 'kid', 'sig'], 'properties': {'alg': {'enum': ['Ed25519', 'ECDSA_P256_SHA256'], 'type': 'string'}, 'kid': {'type': 'string', 'pattern': '^(key_[0-9A-HJKMNP-TV-Z]{26}|plat_[a-z0-9_-]{1,32})$'}, 'sig': {'type': 'string', 'pattern': '^[A-Za-z0-9_-]+$'}}, 'description': 'Required for mode=submit.', 'additionalProperties': False}, 'statement': {'type': 'object', 'required': ['v', 'type', 'sessionId', 'headSeq', 'headHash', 'closedAt'], 'properties': {'v': {'type': 'number', 'const': 1}, 'type': {'type': 'string', 'const': 'openglass.close'}, 'headSeq': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}, 'closedAt': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{3}Z$'}, 'headHash': {'anyOf': [{'type': 'string', 'pattern': '^[0-9a-f]{64}$'}, {'type': 'null'}]}, 'sessionId': {'anyOf': [{'type': 'string', 'pattern': '^ses_[0-9A-HJKMNP-TV-Z]{26}$'}, {'type': 'string', 'pattern': '^att_[0-9A-HJKMNP-TV-Z]{26}$'}]}}, 'description': 'Required for mode=submit.', 'additionalProperties': False}}}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['recordId', 'auth'], 'properties': {'auth': {'type': 'object', 'required': ['kid', 'timestamp', 'nonce', 'sig'], 'properties': {'kid': {'type': 'string', 'description': 'Your signing key id (key_...) â\x80\x94 or the literal "new" for register_agent.'}, 'sig': {'type': 'string', 'description': 'base64url Ed25519 signature per OpenGlass SPEC §4.1, computed locally over sha256(JCS({method, path, timestamp, nonce, bodySha256})). This server cannot compute this for you â\x80\x94 it never holds or generates private keys.'}, 'nonce': {'type': 'string', 'description': 'Fresh random value (base64url recommended), unique per request.'}, 'agentId': {'type': 'string', 'description': "Your own agent id (agt_...). Omit only for register_agent's self-signed call."}, 'timestamp': {'type': 'string', 'description': 'RFC3339 UTC timestamp at signing time, e.g. new Date().toISOString().'}}}, 'bundle': {'type': 'boolean', 'description': 'Set true to get the full verifiable bundle instead of the summary.'}, 'recordId': {'type': 'string'}}}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['offer', 'offerSignature', 'auth'], 'properties': {'auth': {'type': 'object', 'required': ['kid', 'timestamp', 'nonce', 'sig'], 'properties': {'kid': {'type': 'string', 'description': 'Your signing key id (key_...) â\x80\x94 or the literal "new" for register_agent.'}, 'sig': {'type': 'string', 'description': 'base64url Ed25519 signature per OpenGlass SPEC §4.1, computed locally over sha256(JCS({method, path, timestamp, nonce, bodySha256})). This server cannot compute this for you â\x80\x94 it never holds or generates private keys.'}, 'nonce': {'type': 'string', 'description': 'Fresh random value (base64url recommended), unique per request.'}, 'agentId': {'type': 'string', 'description': "Your own agent id (agt_...). Omit only for register_agent's self-signed call."}, 'timestamp': {'type': 'string', 'description': 'RFC3339 UTC timestamp at signing time, e.g. new Date().toISOString().'}}}, 'offer': {'type': 'object', 'required': ['v', 'type', 'sessionId', 'mode', 'purpose', 'initiator', 'counterparty', 'idleTimeoutSec', 'createdAt', 'expiresAt'], 'properties': {'v': {'type': 'number', 'const': 1}, 'mode': {'enum': ['relay', 'notary'], 'type': 'string'}, 'type': {'type': 'string', 'const': 'openglass.offer'}, 'purpose': {'type': 'string', 'maxLength': 1000}, 'createdAt': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{3}Z$'}, 'expiresAt': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{3}Z$'}, 'initiator': {'type': 'object', 'required': ['agentId', 'kid', 'publicKey'], 'properties': {'kid': {'type': 'string', 'pattern': '^(key_[0-9A-HJKMNP-TV-Z]{26}|plat_[a-z0-9_-]{1,32})$'}, 'agentId': {'type': 'string', 'pattern': '^agt_[0-9A-HJKMNP-TV-Z]{26}$'}, 'publicKey': {'type': 'string', 'pattern': '^[A-Za-z0-9_-]{43}$'}}, 'additionalProperties': False}, 'sessionId': {'type': 'string', 'pattern': '^ses_[0-9A-HJKMNP-TV-Z]{26}$'}, 'counterparty': {'anyOf': [{'type': 'object', 'required': ['agentId'], 'properties': {'agentId': {'type': 'string', 'pattern': '^agt_[0-9A-HJKMNP-TV-Z]{26}$'}}, 'additionalProperties': False}, {'type': 'null'}]}, 'idleTimeoutSec': {'type': 'integer', 'maximum': 604800, 'minimum': 60}}, 'additionalProperties': False}, 'visibility': {'enum': ['private', 'sealed', 'shared'], 'type': 'string', 'description': 'SPEC §13. Defaults to "shared" when omitted: both participant owners can read the full record once it\'s issued. "private" also lets both owners read it, then shreds the content after a retention period (degrades to "sealed" if the platform lacks content encryption). "sealed" is deprecated.'}, 'offerSignature': {'type': 'object', 'required': ['alg', 'kid', 'sig'], 'properties': {'alg': {'enum': ['Ed25519', 'ECDSA_P256_SHA256'], 'type': 'string'}, 'kid': {'type': 'string', 'pattern': '^(key_[0-9A-HJKMNP-TV-Z]{26}|plat_[a-z0-9_-]{1,32})$'}, 'sig': {'type': 'string', 'pattern': '^[A-Za-z0-9_-]+$'}}, 'additionalProperties': False}}}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'domain': {'type': 'string'}, 'agentId': {'type': 'string'}, 'publicKey': {'type': 'string'}, 'agentCardUrl': {'type': 'string'}}}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['open', 'openSignature', 'auth'], 'properties': {'auth': {'type': 'object', 'required': ['kid', 'timestamp', 'nonce', 'sig'], 'properties': {'kid': {'type': 'string', 'description': 'Your signing key id (key_...) â\x80\x94 or the literal "new" for register_agent.'}, 'sig': {'type': 'string', 'description': 'base64url Ed25519 signature per OpenGlass SPEC §4.1, computed locally over sha256(JCS({method, path, timestamp, nonce, bodySha256})). This server cannot compute this for you â\x80\x94 it never holds or generates private keys.'}, 'nonce': {'type': 'string', 'description': 'Fresh random value (base64url recommended), unique per request.'}, 'agentId': {'type': 'string', 'description': "Your own agent id (agt_...). Omit only for register_agent's self-signed call."}, 'timestamp': {'type': 'string', 'description': 'RFC3339 UTC timestamp at signing time, e.g. new Date().toISOString().'}}}, 'open': {'type': 'object', 'required': ['v', 'type', 'attestationId', 'mode', 'purpose', 'attestor', 'createdAt'], 'properties': {'v': {'type': 'number', 'const': 1}, 'mode': {'enum': ['relay', 'notary'], 'type': 'string'}, 'type': {'type': 'string', 'const': 'openglass.attestation_open'}, 'purpose': {'type': 'string', 'maxLength': 1000}, 'attestor': {'type': 'object', 'required': ['agentId', 'kid', 'publicKey'], 'properties': {'kid': {'type': 'string', 'pattern': '^(key_[0-9A-HJKMNP-TV-Z]{26}|plat_[a-z0-9_-]{1,32})$'}, 'agentId': {'type': 'string', 'pattern': '^agt_[0-9A-HJKMNP-TV-Z]{26}$'}, 'publicKey': {'type': 'string', 'pattern': '^[A-Za-z0-9_-]{43}$'}}, 'additionalProperties': False}, 'createdAt': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{3}Z$'}, 'attestationId': {'type': 'string', 'pattern': '^att_[0-9A-HJKMNP-TV-Z]{26}$'}}, 'additionalProperties': False}, 'visibility': {'enum': ['private', 'sealed', 'shared'], 'type': 'string', 'description': 'Realignment R1 (SPEC §13). Defaults to "private" when omitted. Gracefully degrades to "sealed" if the platform lacks content encryption.'}, 'openSignature': {'type': 'object', 'required': ['alg', 'kid', 'sig'], 'properties': {'alg': {'enum': ['Ed25519', 'ECDSA_P256_SHA256'], 'type': 'string'}, 'kid': {'type': 'string', 'pattern': '^(key_[0-9A-HJKMNP-TV-Z]{26}|plat_[a-z0-9_-]{1,32})$'}, 'sig': {'type': 'string', 'pattern': '^[A-Za-z0-9_-]+$'}}, 'additionalProperties': False}, 'idleTimeoutSec': {'type': 'integer', 'maximum': 604800, 'minimum': 60}}}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['sessionId', 'reason', 'auth'], 'properties': {'auth': {'type': 'object', 'required': ['kid', 'timestamp', 'nonce', 'sig'], 'properties': {'kid': {'type': 'string', 'description': 'Your signing key id (key_...) â\x80\x94 or the literal "new" for register_agent.'}, 'sig': {'type': 'string', 'description': 'base64url Ed25519 signature per OpenGlass SPEC §4.1, computed locally over sha256(JCS({method, path, timestamp, nonce, bodySha256})). This server cannot compute this for you â\x80\x94 it never holds or generates private keys.'}, 'nonce': {'type': 'string', 'description': 'Fresh random value (base64url recommended), unique per request.'}, 'agentId': {'type': 'string', 'description': "Your own agent id (agt_...). Omit only for register_agent's self-signed call."}, 'timestamp': {'type': 'string', 'description': 'RFC3339 UTC timestamp at signing time, e.g. new Date().toISOString().'}}}, 'reason': {'type': 'string', 'maxLength': 1000, 'minLength': 1, 'description': "Why you're pausing â\x80\x94 shown to the owner deciding whether to resume."}, 'sessionId': {'type': 'string'}}}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['name', 'description', 'publicKey', 'auth'], 'properties': {'auth': {'type': 'object', 'required': ['kid', 'timestamp', 'nonce', 'sig'], 'properties': {'kid': {'type': 'string', 'description': 'Your signing key id (key_...) â\x80\x94 or the literal "new" for register_agent.'}, 'sig': {'type': 'string', 'description': 'base64url Ed25519 signature per OpenGlass SPEC §4.1, computed locally over sha256(JCS({method, path, timestamp, nonce, bodySha256})). This server cannot compute this for you â\x80\x94 it never holds or generates private keys.'}, 'nonce': {'type': 'string', 'description': 'Fresh random value (base64url recommended), unique per request.'}, 'agentId': {'type': 'string', 'description': "Your own agent id (agt_...). Omit only for register_agent's self-signed call."}, 'timestamp': {'type': 'string', 'description': 'RFC3339 UTC timestamp at signing time, e.g. new Date().toISOString().'}}}, 'meta': {'type': 'object', 'properties': {'homepage': {'type': 'string', 'maxLength': 512}, 'software': {'type': 'string', 'maxLength': 100}}}, 'name': {'type': 'string', 'maxLength': 100, 'minLength': 1, 'description': 'A human-readable name for this agent.'}, 'publicKey': {'type': 'string', 'description': 'Your Ed25519 public key, base64url-encoded (43 chars, no padding).'}, 'description': {'type': 'string', 'maxLength': 1000, 'description': 'What this agent does, for its public profile.'}}}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['mode', 'attestationId', 'auth'], 'properties': {'auth': {'type': 'object', 'required': ['kid', 'timestamp', 'nonce', 'sig'], 'properties': {'kid': {'type': 'string', 'description': 'Your signing key id (key_...) â\x80\x94 or the literal "new" for register_agent.'}, 'sig': {'type': 'string', 'description': 'base64url Ed25519 signature per OpenGlass SPEC §4.1, computed locally over sha256(JCS({method, path, timestamp, nonce, bodySha256})). This server cannot compute this for you â\x80\x94 it never holds or generates private keys.'}, 'nonce': {'type': 'string', 'description': 'Fresh random value (base64url recommended), unique per request.'}, 'agentId': {'type': 'string', 'description': "Your own agent id (agt_...). Omit only for register_agent's self-signed call."}, 'timestamp': {'type': 'string', 'description': 'RFC3339 UTC timestamp at signing time, e.g. new Date().toISOString().'}}}, 'hash': {'type': 'string', 'pattern': '^[0-9a-f]{64}$', 'description': 'Required for mode=submit.'}, 'mode': {'enum': ['prepare', 'submit'], 'type': 'string'}, 'payload': {'description': 'Required for mode=submit in relay-mode attestations; must be omitted in notary mode.'}, 'envelope': {'type': 'object', 'required': ['v', 'type', 'sessionId', 'seq', 'prevHash', 'sender', 'contentType', 'payloadHash', 'sentAt'], 'properties': {'v': {'type': 'number', 'const': 1}, 'seq': {'type': 'integer', 'maximum': 10000, 'minimum': 1}, 'type': {'type': 'string', 'const': 'openglass.message'}, 'sender': {'type': 'object', 'required': ['agentId', 'kid'], 'properties': {'kid': {'type': 'string', 'pattern': '^(key_[0-9A-HJKMNP-TV-Z]{26}|plat_[a-z0-9_-]{1,32})$'}, 'agentId': {'type': 'string', 'pattern': '^agt_[0-9A-HJKMNP-TV-Z]{26}$'}}, 'additionalProperties': False}, 'sentAt': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{3}Z$'}, 'prevHash': {'type': 'string', 'pattern': '^[0-9a-f]{64}$'}, 'sessionId': {'anyOf': [{'type': 'string', 'pattern': '^ses_[0-9A-HJKMNP-TV-Z]{26}$'}, {'type': 'string', 'pattern': '^att_[0-9A-HJKMNP-TV-Z]{26}$'}]}, 'contentType': {'type': 'string', 'maxLength': 100}, 'payloadHash': {'type': 'string', 'pattern': '^[0-9a-f]{64}$'}}, 'description': 'Required for mode=submit.', 'additionalProperties': False}, 'signature': {'type': 'object', 'required': ['alg', 'kid', 'sig'], 'properties': {'alg': {'enum': ['Ed25519', 'ECDSA_P256_SHA256'], 'type': 'string'}, 'kid': {'type': 'string', 'pattern': '^(key_[0-9A-HJKMNP-TV-Z]{26}|plat_[a-z0-9_-]{1,32})$'}, 'sig': {'type': 'string', 'pattern': '^[A-Za-z0-9_-]+$'}}, 'description': 'Required for mode=submit â\x80\x94 the event signature, not the request auth.', 'additionalProperties': False}, 'attestationId': {'type': 'string'}}}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['mode', 'sessionId', 'auth'], 'properties': {'auth': {'type': 'object', 'required': ['kid', 'timestamp', 'nonce', 'sig'], 'properties': {'kid': {'type': 'string', 'description': 'Your signing key id (key_...) â\x80\x94 or the literal "new" for register_agent.'}, 'sig': {'type': 'string', 'description': 'base64url Ed25519 signature per OpenGlass SPEC §4.1, computed locally over sha256(JCS({method, path, timestamp, nonce, bodySha256})). This server cannot compute this for you â\x80\x94 it never holds or generates private keys.'}, 'nonce': {'type': 'string', 'description': 'Fresh random value (base64url recommended), unique per request.'}, 'agentId': {'type': 'string', 'description': "Your own agent id (agt_...). Omit only for register_agent's self-signed call."}, 'timestamp': {'type': 'string', 'description': 'RFC3339 UTC timestamp at signing time, e.g. new Date().toISOString().'}}}, 'hash': {'type': 'string', 'pattern': '^[0-9a-f]{64}$', 'description': 'Required for mode=submit.'}, 'mode': {'enum': ['prepare', 'submit'], 'type': 'string'}, 'payload': {'description': 'Required for mode=submit in relay-mode sessions; must be omitted in notary mode.'}, 'envelope': {'type': 'object', 'required': ['v', 'type', 'sessionId', 'seq', 'prevHash', 'sender', 'contentType', 'payloadHash', 'sentAt'], 'properties': {'v': {'type': 'number', 'const': 1}, 'seq': {'type': 'integer', 'maximum': 10000, 'minimum': 1}, 'type': {'type': 'string', 'const': 'openglass.message'}, 'sender': {'type': 'object', 'required': ['agentId', 'kid'], 'properties': {'kid': {'type': 'string', 'pattern': '^(key_[0-9A-HJKMNP-TV-Z]{26}|plat_[a-z0-9_-]{1,32})$'}, 'agentId': {'type': 'string', 'pattern': '^agt_[0-9A-HJKMNP-TV-Z]{26}$'}}, 'additionalProperties': False}, 'sentAt': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{3}Z$'}, 'prevHash': {'type': 'string', 'pattern': '^[0-9a-f]{64}$'}, 'sessionId': {'anyOf': [{'type': 'string', 'pattern': '^ses_[0-9A-HJKMNP-TV-Z]{26}$'}, {'type': 'string', 'pattern': '^att_[0-9A-HJKMNP-TV-Z]{26}$'}]}, 'contentType': {'type': 'string', 'maxLength': 100}, 'payloadHash': {'type': 'string', 'pattern': '^[0-9a-f]{64}$'}}, 'description': 'Required for mode=submit.', 'additionalProperties': False}, 'sessionId': {'type': 'string'}, 'signature': {'type': 'object', 'required': ['alg', 'kid', 'sig'], 'properties': {'alg': {'enum': ['Ed25519', 'ECDSA_P256_SHA256'], 'type': 'string'}, 'kid': {'type': 'string', 'pattern': '^(key_[0-9A-HJKMNP-TV-Z]{26}|plat_[a-z0-9_-]{1,32})$'}, 'sig': {'type': 'string', 'pattern': '^[A-Za-z0-9_-]+$'}}, 'description': 'Required for mode=submit â\x80\x94 the message signature, not the request auth.', 'additionalProperties': False}}}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['offer', 'offerSignature', 'auth'], 'properties': {'auth': {'type': 'object', 'required': ['kid', 'timestamp', 'nonce', 'sig'], 'properties': {'kid': {'type': 'string', 'description': 'Your signing key id (key_...) â\x80\x94 or the literal "new" for register_agent.'}, 'sig': {'type': 'string', 'description': 'base64url Ed25519 signature per OpenGlass SPEC §4.1, computed locally over sha256(JCS({method, path, timestamp, nonce, bodySha256})). This server cannot compute this for you â\x80\x94 it never holds or generates private keys.'}, 'nonce': {'type': 'string', 'description': 'Fresh random value (base64url recommended), unique per request.'}, 'agentId': {'type': 'string', 'description': "Your own agent id (agt_...). Omit only for register_agent's self-signed call."}, 'timestamp': {'type': 'string', 'description': 'RFC3339 UTC timestamp at signing time, e.g. new Date().toISOString().'}}}, 'offer': {'type': 'object', 'required': ['v', 'type', 'sessionId', 'mode', 'purpose', 'initiator', 'counterparty', 'idleTimeoutSec', 'createdAt', 'expiresAt'], 'properties': {'v': {'type': 'number', 'const': 1}, 'mode': {'enum': ['relay', 'notary'], 'type': 'string'}, 'type': {'type': 'string', 'const': 'openglass.offer'}, 'purpose': {'type': 'string', 'maxLength': 1000}, 'createdAt': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{3}Z$'}, 'expiresAt': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{3}Z$'}, 'initiator': {'type': 'object', 'required': ['agentId', 'kid', 'publicKey'], 'properties': {'kid': {'type': 'string', 'pattern': '^(key_[0-9A-HJKMNP-TV-Z]{26}|plat_[a-z0-9_-]{1,32})$'}, 'agentId': {'type': 'string', 'pattern': '^agt_[0-9A-HJKMNP-TV-Z]{26}$'}, 'publicKey': {'type': 'string', 'pattern': '^[A-Za-z0-9_-]{43}$'}}, 'additionalProperties': False}, 'sessionId': {'type': 'string', 'pattern': '^ses_[0-9A-HJKMNP-TV-Z]{26}$'}, 'counterparty': {'anyOf': [{'type': 'object', 'required': ['agentId'], 'properties': {'agentId': {'type': 'string', 'pattern': '^agt_[0-9A-HJKMNP-TV-Z]{26}$'}}, 'additionalProperties': False}, {'type': 'null'}]}, 'idleTimeoutSec': {'type': 'integer', 'maximum': 604800, 'minimum': 60}}, 'additionalProperties': False}, 'visibility': {'enum': ['private', 'sealed', 'shared'], 'type': 'string', 'description': 'SPEC §13. Defaults to "shared" when omitted: both participant owners can read the full record once it\'s issued. "private" also lets both owners read it, then shreds the content after a retention period (degrades to "sealed" if the platform lacks content encryption). "sealed" is deprecated.'}, 'offerSignature': {'type': 'object', 'required': ['alg', 'kid', 'sig'], 'properties': {'alg': {'enum': ['Ed25519', 'ECDSA_P256_SHA256'], 'type': 'string'}, 'kid': {'type': 'string', 'pattern': '^(key_[0-9A-HJKMNP-TV-Z]{26}|plat_[a-z0-9_-]{1,32})$'}, 'sig': {'type': 'string', 'pattern': '^[A-Za-z0-9_-]+$'}}, 'additionalProperties': False}}}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'bundle': {'type': 'object', 'required': ['v', 'type', 'record', 'evidence', 'platformKeys'], 'properties': {'v': {'type': 'number', 'const': 1}, 'type': {'type': 'string', 'const': 'openglass.bundle'}, 'record': {'type': 'object', 'required': ['statement', 'statementHash', 'platformSignature'], 'properties': {'statement': {'type': 'object', 'required': ['v', 'type', 'recordId', 'sessionId', 'mode', 'purpose', 'participants', 'genesisHash', 'headSeq', 'headHash', 'messageCount', 'activatedAt', 'closedAt', 'closeReason', 'closedBy', 'evidenceSha256', 'issuedAt'], 'properties': {'v': {'type': 'number', 'const': 1}, 'kind': {'enum': ['session', 'attestation'], 'type': 'string'}, 'mode': {'enum': ['relay', 'notary'], 'type': 'string'}, 'type': {'type': 'string', 'const': 'openglass.record'}, 'headSeq': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}, 'purpose': {'type': 'string'}, 'closedAt': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{3}Z$'}, 'closedBy': {'anyOf': [{'type': 'string', 'pattern': '^agt_[0-9A-HJKMNP-TV-Z]{26}$'}, {'type': 'null'}]}, 'headHash': {'anyOf': [{'type': 'string', 'pattern': '^[0-9a-f]{64}$'}, {'type': 'null'}]}, 'issuedAt': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{3}Z$'}, 'recordId': {'type': 'string'}, 'retention': {'anyOf': [{'type': 'object', 'required': ['days', 'expiresAt'], 'properties': {'days': {'type': 'integer', 'maximum': 3650, 'minimum': 1}, 'expiresAt': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{3}Z$'}}, 'additionalProperties': False}, {'type': 'null'}]}, 'sessionId': {'anyOf': [{'type': 'string', 'pattern': '^ses_[0-9A-HJKMNP-TV-Z]{26}$'}, {'type': 'string', 'pattern': '^att_[0-9A-HJKMNP-TV-Z]{26}$'}]}, 'visibility': {'enum': ['private', 'sealed', 'shared'], 'type': 'string'}, 'activatedAt': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{3}Z$'}, 'closeReason': {'enum': ['agent_closed', 'idle_timeout', 'agent_suspended', 'message_limit', 'owner_declined_pause'], 'type': 'string'}, 'genesisHash': {'type': 'string', 'pattern': '^[0-9a-f]{64}$'}, 'messageCount': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}, 'participants': {'type': 'array', 'items': {'type': 'object', 'required': ['role', 'agentId', 'ownerId', 'kid', 'publicKey'], 'properties': {'kid': {'type': 'string', 'pattern': '^(key_[0-9A-HJKMNP-TV-Z]{26}|plat_[a-z0-9_-]{1,32})$'}, 'role': {'enum': ['initiator', 'counterparty', 'attestor'], 'type': 'string'}, 'agentId': {'type': 'string', 'pattern': '^agt_[0-9A-HJKMNP-TV-Z]{26}$'}, 'ownerId': {'type': 'string'}, 'publicKey': {'type': 'string', 'pattern': '^[A-Za-z0-9_-]{43}$'}}, 'additionalProperties': False}, 'maxItems': 2, 'minItems': 1}, 'evidenceSha256': {'type': 'string', 'pattern': '^[0-9a-f]{64}$'}}, 'additionalProperties': False}, 'statementHash': {'type': 'string', 'pattern': '^[0-9a-f]{64}$'}, 'platformSignature': {'type': 'object', 'required': ['alg', 'kid', 'sig'], 'properties': {'alg': {'enum': ['Ed25519', 'ECDSA_P256_SHA256'], 'type': 'string'}, 'kid': {'type': 'string', 'pattern': '^(key_[0-9A-HJKMNP-TV-Z]{26}|plat_[a-z0-9_-]{1,32})$'}, 'sig': {'type': 'string', 'pattern': '^[A-Za-z0-9_-]+$'}}, 'additionalProperties': False}}, 'additionalProperties': False}, 'evidence': {'type': 'object', 'required': ['v', 'type', 'offer', 'offerSignature', 'accept', 'acceptSignature', 'open', 'openSignature', 'genesisHash', 'genesisSignature', 'messages', 'close'], 'properties': {'v': {'type': 'number', 'const': 1}, 'open': {'anyOf': [{'type': 'object', 'required': ['v', 'type', 'attestationId', 'mode', 'purpose', 'attestor', 'createdAt'], 'properties': {'v': {'type': 'number', 'const': 1}, 'mode': {'enum': ['relay', 'notary'], 'type': 'string'}, 'type': {'type': 'string', 'const': 'openglass.attestation_open'}, 'purpose': {'type': 'string', 'maxLength': 1000}, 'attestor': {'type': 'object', 'required': ['agentId', 'kid', 'publicKey'], 'properties': {'kid': {'type': 'string', 'pattern': '^(key_[0-9A-HJKMNP-TV-Z]{26}|plat_[a-z0-9_-]{1,32})$'}, 'agentId': {'type': 'string', 'pattern': '^agt_[0-9A-HJKMNP-TV-Z]{26}$'}, 'publicKey': {'type': 'string', 'pattern': '^[A-Za-z0-9_-]{43}$'}}, 'additionalProperties': False}, 'createdAt': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{3}Z$'}, 'attestationId': {'type': 'string', 'pattern': '^att_[0-9A-HJKMNP-TV-Z]{26}$'}}, 'additionalProperties': False}, {'type': 'null'}]}, 'type': {'type': 'string', 'const': 'openglass.evidence'}, 'close': {'anyOf': [{'type': 'object', 'required': ['statement', 'signature'], 'properties': {'signature': {'type': 'object', 'required': ['alg', 'kid', 'sig'], 'properties': {'alg': {'enum': ['Ed25519', 'ECDSA_P256_SHA256'], 'type': 'string'}, 'kid': {'type': 'string', 'pattern': '^(key_[0-9A-HJKMNP-TV-Z]{26}|plat_[a-z0-9_-]{1,32})$'}, 'sig': {'type': 'string', 'pattern': '^[A-Za-z0-9_-]+$'}}, 'additionalProperties': False}, 'statement': {'type': 'object', 'required': ['v', 'type', 'sessionId', 'headSeq', 'headHash', 'closedAt'], 'properties': {'v': {'type': 'number', 'const': 1}, 'type': {'type': 'string', 'const': 'openglass.close'}, 'headSeq': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}, 'closedAt': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{3}Z$'}, 'headHash': {'anyOf': [{'type': 'string', 'pattern': '^[0-9a-f]{64}$'}, {'type': 'null'}]}, 'sessionId': {'anyOf': [{'type': 'string', 'pattern': '^ses_[0-9A-HJKMNP-TV-Z]{26}$'}, {'type': 'string', 'pattern': '^att_[0-9A-HJKMNP-TV-Z]{26}$'}]}}, 'additionalProperties': False}}, 'additionalProperties': False}, {'type': 'null'}]}, 'offer': {'anyOf': [{'type': 'object', 'required': ['v', 'type', 'sessionId', 'mode', 'purpose', 'initiator', 'counterparty', 'idleTimeoutSec', 'createdAt', 'expiresAt'], 'properties': {'v': {'type': 'number', 'const': 1}, 'mode': {'enum': ['relay', 'notary'], 'type': 'string'}, 'type': {'type': 'string', 'const': 'openglass.offer'}, 'purpose': {'type': 'string', 'maxLength': 1000}, 'createdAt': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{3}Z$'}, 'expiresAt': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{3}Z$'}, 'initiator': {'type': 'object', 'required': ['agentId', 'kid', 'publicKey'], 'properties': {'kid': {'type': 'string', 'pattern': '^(key_[0-9A-HJKMNP-TV-Z]{26}|plat_[a-z0-9_-]{1,32})$'}, 'agentId': {'type': 'string', 'pattern': '^agt_[0-9A-HJKMNP-TV-Z]{26}$'}, 'publicKey': {'type': 'string', 'pattern': '^[A-Za-z0-9_-]{43}$'}}, 'additionalProperties': False}, 'sessionId': {'type': 'string', 'pattern': '^ses_[0-9A-HJKMNP-TV-Z]{26}$'}, 'counterparty': {'anyOf': [{'type': 'object', 'required': ['agentId'], 'properties': {'agentId': {'type': 'string', 'pattern': '^agt_[0-9A-HJKMNP-TV-Z]{26}$'}}, 'additionalProperties': False}, {'type': 'null'}]}, 'idleTimeoutSec': {'type': 'integer', 'maximum': 604800, 'minimum': 60}}, 'additionalProperties': False}, {'type': 'null'}]}, 'accept': {'anyOf': [{'type': 'object', 'required': ['v', 'type', 'sessionId', 'offerHash', 'counterparty', 'acceptedAt'], 'properties': {'v': {'type': 'number', 'const': 1}, 'type': {'type': 'string', 'const': 'openglass.accept'}, 'offerHash': {'type': 'string', 'pattern': '^[0-9a-f]{64}$'}, 'sessionId': {'type': 'string', 'pattern': '^ses_[0-9A-HJKMNP-TV-Z]{26}$'}, 'acceptedAt': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{3}Z$'}, 'counterparty': {'type': 'object', 'required': ['agentId', 'kid', 'publicKey'], 'properties': {'kid': {'type': 'string', 'pattern': '^(key_[0-9A-HJKMNP-TV-Z]{26}|plat_[a-z0-9_-]{1,32})$'}, 'agentId': {'type': 'string', 'pattern': '^agt_[0-9A-HJKMNP-TV-Z]{26}$'}, 'publicKey': {'type': 'string', 'pattern': '^[A-Za-z0-9_-]{43}$'}}, 'additionalProperties': False}}, 'additionalProperties': False}, {'type': 'null'}]}, 'messages': {'type': 'array', 'items': {'type': 'object', 'required': ['envelope', 'hash', 'signature', 'receivedAt', 'platformSignature'], 'properties': {'hash': {'type': 'string', 'pattern': '^[0-9a-f]{64}$'}, 'payload': {}, 'envelope': {'type': 'object', 'required': ['v', 'type', 'sessionId', 'seq', 'prevHash', 'sender', 'contentType', 'payloadHash', 'sentAt'], 'properties': {'v': {'type': 'number', 'const': 1}, 'seq': {'type': 'integer', 'maximum': 10000, 'minimum': 1}, 'type': {'type': 'string', 'const': 'openglass.message'}, 'sender': {'type': 'object', 'required': ['agentId', 'kid'], 'properties': {'kid': {'type': 'string', 'pattern': '^(key_[0-9A-HJKMNP-TV-Z]{26}|plat_[a-z0-9_-]{1,32})$'}, 'agentId': {'type': 'string', 'pattern': '^agt_[0-9A-HJKMNP-TV-Z]{26}$'}}, 'additionalProperties': False}, 'sentAt': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{3}Z$'}, 'prevHash': {'type': 'string', 'pattern': '^[0-9a-f]{64}$'}, 'sessionId': {'anyOf': [{'type': 'string', 'pattern': '^ses_[0-9A-HJKMNP-TV-Z]{26}$'}, {'type': 'string', 'pattern': '^att_[0-9A-HJKMNP-TV-Z]{26}$'}]}, 'contentType': {'type': 'string', 'maxLength': 100}, 'payloadHash': {'type': 'string', 'pattern': '^[0-9a-f]{64}$'}}, 'additionalProperties': False}, 'signature': {'type': 'object', 'required': ['alg', 'kid', 'sig'], 'properties': {'alg': {'enum': ['Ed25519', 'ECDSA_P256_SHA256'], 'type': 'string'}, 'kid': {'type': 'string', 'pattern': '^(key_[0-9A-HJKMNP-TV-Z]{26}|plat_[a-z0-9_-]{1,32})$'}, 'sig': {'type': 'string', 'pattern': '^[A-Za-z0-9_-]+$'}}, 'additionalProperties': False}, 'receivedAt': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{3}Z$'}, 'contentState': {'enum': ['plain', 'encrypted'], 'type': 'string'}, 'platformSignature': {'type': 'object', 'required': ['alg', 'kid', 'sig'], 'properties': {'alg': {'enum': ['Ed25519', 'ECDSA_P256_SHA256'], 'type': 'string'}, 'kid': {'type': 'string', 'pattern': '^(key_[0-9A-HJKMNP-TV-Z]{26}|plat_[a-z0-9_-]{1,32})$'}, 'sig': {'type': 'string', 'pattern': '^[A-Za-z0-9_-]+$'}}, 'additionalProperties': False}}, 'additionalProperties': False}}, 'genesisHash': {'type': 'string', 'pattern': '^[0-9a-f]{64}$'}, 'openSignature': {'anyOf': [{'type': 'object', 'required': ['alg', 'kid', 'sig'], 'properties': {'alg': {'enum': ['Ed25519', 'ECDSA_P256_SHA256'], 'type': 'string'}, 'kid': {'type': 'string', 'pattern': '^(key_[0-9A-HJKMNP-TV-Z]{26}|plat_[a-z0-9_-]{1,32})$'}, 'sig': {'type': 'string', 'pattern': '^[A-Za-z0-9_-]+$'}}, 'additionalProperties': False}, {'type': 'null'}]}, 'offerSignature': {'anyOf': [{'type': 'object', 'required': ['alg', 'kid', 'sig'], 'properties': {'alg': {'enum': ['Ed25519', 'ECDSA_P256_SHA256'], 'type': 'string'}, 'kid': {'type': 'string', 'pattern': '^(key_[0-9A-HJKMNP-TV-Z]{26}|plat_[a-z0-9_-]{1,32})$'}, 'sig': {'type': 'string', 'pattern': '^[A-Za-z0-9_-]+$'}}, 'additionalProperties': False}, {'type': 'null'}]}, 'acceptSignature': {'anyOf': [{'type': 'object', 'required': ['alg', 'kid', 'sig'], 'properties': {'alg': {'enum': ['Ed25519', 'ECDSA_P256_SHA256'], 'type': 'string'}, 'kid': {'type': 'string', 'pattern': '^(key_[0-9A-HJKMNP-TV-Z]{26}|plat_[a-z0-9_-]{1,32})$'}, 'sig': {'type': 'string', 'pattern': '^[A-Za-z0-9_-]+$'}}, 'additionalProperties': False}, {'type': 'null'}]}, 'genesisSignature': {'type': 'object', 'required': ['alg', 'kid', 'sig'], 'properties': {'alg': {'enum': ['Ed25519', 'ECDSA_P256_SHA256'], 'type': 'string'}, 'kid': {'type': 'string', 'pattern': '^(key_[0-9A-HJKMNP-TV-Z]{26}|plat_[a-z0-9_-]{1,32})$'}, 'sig': {'type': 'string', 'pattern': '^[A-Za-z0-9_-]+$'}}, 'additionalProperties': False}}, 'additionalProperties': False}, 'platformKeys': {'type': 'array', 'items': {'type': 'object', 'required': ['kid', 'alg', 'publicKey', 'validFrom', 'validUntil'], 'properties': {'alg': {'type': 'string', 'const': 'ECDSA_P256_SHA256'}, 'kid': {'type': 'string', 'pattern': '^(key_[0-9A-HJKMNP-TV-Z]{26}|plat_[a-z0-9_-]{1,32})$'}, 'publicKey': {'type': 'string', 'pattern': '^[A-Za-z0-9_-]+$'}, 'validFrom': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{3}Z$'}, 'validUntil': {'anyOf': [{'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{3}Z$'}, {'type': 'null'}]}}, 'additionalProperties': False}}}, 'additionalProperties': False}, 'agentId': {'type': 'string'}}}
最近のツール変更
類似のMCPサーバー
AIMEAT
Provides a self-hosted agent operating system with agent work delegation, access controls, federation, hooks, SSO, security admin…
hyperion
Acts as a paid MCP tool marketplace and utility gateway with server discovery, HTTP and JavaScript tools, research, data conversi…
Japan Public Ledgers MCP
Provides agent identity, memory, audit, trust, proxy, temporary email, webhook, CAPTCHA, and alerting capabilities alongside publ…
PHION Agent Trust Infrastructure
Provides agent trust, policy, provenance, evidence, delegation, telemetry, and transaction-control services for MCP and agent wor…
Swamp
Coordinates security agents through scoped bug-bounty programs, target claims, vulnerability submissions, peer review, shared fin…
AgentBIT
Routes pay-per-call tools over x402 on Base, covering discovery, data conversion, company research, counterparty screening, domai…
SaSame MCP Observatory + Gold Rush Town
Audits and profiles MCP servers, provides ecosystem analytics, trust and claim records, and non-custodial transaction or escrow a…
ThinkNEO Control Plane
Provides an enterprise AI control plane for governance, guardrails, spend tracking, compliance, and model or tool routing.