{"id":1026830,"recorded_at":"2026-10-29T13:26:45.869509Z","observed_at":"2026-10-29T13:26:45.869360Z","subject_kind":"endpoint","subject":"9971438d-50f9-4de2-b37f-3541ee0af8bd","kind":"mcp.tools","method":"probe.mcp/1","body":{"count":22,"tools":[{"description":"Draft a new Google Calendar meeting invite. Does NOT send invites without explicit user confirmation.","inputSchema":{"properties":{"attendees":{"description":"List of attendee email addresses.","items":{"type":"string"},"type":"array"},"description":{"description":"Meeting agenda or description.","type":"string"},"end_time":{"description":"ISO-8601 end timestamp (e.g., \"2026-09-17T14:45:00Z\").","type":"string"},"start_time":{"description":"ISO-8601 start timestamp (e.g., \"2026-09-17T14:00:00Z\").","type":"string"},"title":{"description":"Meeting title or summary.","type":"string"}},"required":["title","start_time","end_time"],"type":"object"},"name":"calendar_create_meeting"},{"description":"List upcoming meetings, agenda items, and schedule availability from Google Calendar (read-only).","inputSchema":{"properties":{"max_results":{"default":5,"description":"Maximum number of events to return (1-20, default 5).","type":"number"},"query":{"description":"Search query or event keyword (e.g., \"xAI sync\", \"Migration\", \"Team standup\").","type":"string"}},"type":"object"},"name":"calendar_list_events"},{"description":"Verify whether an agent action is safe and complies with active execution invariants before running.","inputSchema":{"properties":{"action":{"description":"The action name (e.g. \"sql_execute\", \"file_delete\", \"api_call\").","type":"string"},"params":{"description":"Parameters supplied to the action.","type":"object"}},"required":["action"],"type":"object"},"name":"check_action_safety"},{"description":"Create a new Google Slides presentation draft with structured slides.","inputSchema":{"properties":{"slides":{"description":"Array of slide definitions.","items":{"properties":{"bullet_points":{"description":"Key bullet points for the slide","items":{"type":"string"},"type":"array"},"title":{"description":"Slide title","type":"string"}},"required":["title","bullet_points"],"type":"object"},"type":"array"},"title":{"description":"Title of the presentation.","type":"string"}},"required":["title","slides"],"type":"object"},"name":"drive_create_presentation"},{"description":"Search documents, presentations, and files in Google Drive (read-only).","inputSchema":{"properties":{"max_results":{"default":5,"description":"Maximum files to return (1-20, default 5).","type":"number"},"query":{"description":"Search terms or MIME filters (e.g., \"xAI compute\", \"type:presentation\").","type":"string"}},"required":["query"],"type":"object"},"name":"drive_search_files"},{"description":"Look up an entity in Exogram's Layer 2 Knowledge Graph. Returns connected entities and directional relationships.","inputSchema":{"properties":{"entity_name":{"description":"Name of the entity to look up (e.g., \"Next.js\", \"PostgreSQL\", \"SQLite WAL\").","type":"string"}},"required":["entity_name"],"type":"object"},"name":"get_neural_cluster"},{"description":"Draft a GitHub Pull Request proposal. Does NOT open or publish the PR without explicit user approval.","inputSchema":{"properties":{"base":{"default":"main","description":"Target base branch (default: \"main\").","type":"string"},"body":{"description":"Detailed PR description and change summary.","type":"string"},"head":{"description":"Feature or working branch name.","type":"string"},"repo":{"description":"Repository in format \"owner/repo\".","type":"string"},"title":{"description":"Pull request title.","type":"string"}},"required":["repo","title","head","body"],"type":"object"},"name":"github_create_pr_draft"},{"description":"Search issues and pull requests across connected GitHub repositories (read-only).","inputSchema":{"properties":{"query":{"description":"Search term or query syntax (e.g., \"is:open label:bug\", \"cluster sync\").","type":"string"},"repo":{"description":"Repository in format \"owner/repo\" (e.g., \"Richard-Ewing/exogram\").","type":"string"}},"required":["query"],"type":"object"},"name":"github_search_issues"},{"description":"Create an email draft in Gmail. Does NOT send the email without explicit user confirmation.","inputSchema":{"properties":{"body":{"description":"Body content (plain text or markdown).","type":"string"},"cc":{"description":"Optional CC recipient email address.","type":"string"},"subject":{"description":"Subject line of the draft email.","type":"string"},"to":{"description":"Recipient email address.","type":"string"}},"required":["to","subject","body"],"type":"object"},"name":"gmail_create_draft"},{"description":"Search personal or workspace emails via Gmail API with query syntax (read-only).","inputSchema":{"properties":{"max_results":{"default":5,"description":"Maximum number of messages to return (1-20, default 5).","type":"number"},"query":{"description":"Search query using Gmail syntax (e.g., \"from:xAI compute\", \"is:unread\", \"subject:launch\").","type":"string"}},"required":["query"],"type":"object"},"name":"gmail_search_messages"},{"description":"Retrieve active entities and concepts mapped in the personal knowledge network.","inputSchema":{"properties":{"limit":{"default":25,"description":"Maximum number of entities to return (default 25).","type":"number"}},"type":"object"},"name":"list_entities"},{"description":"Draft new content or notes to append into an existing Notion page. Gated by explicit user approval.","inputSchema":{"properties":{"block_type":{"default":"paragraph","description":"Type of block: \"paragraph\", \"bulleted_list_item\", or \"callout\".","type":"string"},"content":{"description":"Markdown content or structured notes to append.","type":"string"},"page_id":{"description":"Target Notion page identifier or title.","type":"string"}},"required":["page_id","content"],"type":"object"},"name":"notion_append_block"},{"description":"Search pages and databases in the user connected Notion workspace.","inputSchema":{"properties":{"filter_type":{"description":"Optional filter: \"page\" or \"database\".","enum":["page","database"],"type":"string"},"query":{"description":"Search keywords or topic to find in Notion.","type":"string"}},"required":["query"],"type":"object"},"name":"notion_search_pages"},{"description":"Ask a natural language question against the knowledge graph and receive a structured answer with entity paths and gap analysis.","inputSchema":{"properties":{"max_hops":{"default":2,"description":"Maximum traversal depth (1-4, default 2).","type":"number"},"query":{"description":"The natural language question to ask, e.g. \"How is Governed Autonomy connected to Exogram?\" or \"What do I know about AI safety?\"","type":"string"}},"required":["query"],"type":"object"},"name":"query_graph"},{"description":"Record an execution decision into the tamper-evident cryptographic audit ledger.","inputSchema":{"properties":{"action":{"description":"Action name.","type":"string"},"decision":{"description":"Action decision.","enum":["PERMIT","DENY"],"type":"string"},"params":{"description":"Parameters supplied.","type":"object"},"reason":{"description":"Justification for the decision.","type":"string"}},"required":["action","decision"],"type":"object"},"name":"record_decision"},{"description":"Search the Exogram Personal Neural Network and encrypted memory vault across facts, people, preferences, and commitments.","inputSchema":{"properties":{"query":{"description":"The search query to match against stored memories, relationships, or project context.","type":"string"},"top_k":{"default":5,"description":"Number of results to return (1-20, default 5).","type":"number"}},"required":["query"],"type":"object"},"name":"search_memory_vault"},{"description":"Semantic and keyword search across stored personal records, facts, and memories in the private vault.","inputSchema":{"properties":{"query":{"description":"The search query to match against stored memories, project decisions, or preferences.","type":"string"},"top_k":{"default":5,"description":"Number of results to return (1-20, default 5).","type":"number"}},"required":["query"],"type":"object"},"name":"search_vault"},{"description":"List accessible channels in the connected Slack workspace.","inputSchema":{"properties":{"types":{"default":"public_channel","description":"Channel types to list (e.g. \"public_channel,private_channel\").","type":"string"}},"type":"object"},"name":"slack_list_channels"},{"description":"Draft a message to a Slack channel. Does NOT post without explicit user approval.","inputSchema":{"properties":{"channel":{"description":"Target channel name or ID (e.g. \"#general\", \"#engineering\").","type":"string"},"message":{"description":"Message body or announcement content.","type":"string"},"thread_ts":{"description":"Optional parent thread timestamp for threaded replies.","type":"string"}},"required":["channel","message"],"type":"object"},"name":"slack_post_message_draft"},{"description":"Anchor a new fact, code convention, project invariant, or personal memory to your encrypted vault.","inputSchema":{"properties":{"content":{"description":"The fact, note, or invariant content to persist.","type":"string"},"namespace":{"default":"default","description":"Logical grouping for this memory (default: \"default\").","type":"string"}},"required":["content"],"type":"object"},"name":"store_memory"},{"description":"Persist or supersede a personal fact, commitment, or preference in your encrypted Exogram memory vault.","inputSchema":{"properties":{"content":{"description":"The fact, preference, or commitment to persist.","type":"string"},"namespace":{"default":"default","description":"Logical grouping or sphere (\"work\", \"household\", \"personal\", or \"default\").","type":"string"}},"required":["content"],"type":"object"},"name":"update_memory_vault"},{"description":"Verify the cryptographic SHA-256 hash chain integrity of the ledger from genesis to head.","inputSchema":{"properties":{},"type":"object"},"name":"verify_audit_trail"}]},"body_sha256":"0c47370baf91930a7f88def27c7a2f8ccbf202baecb8ef5c4d2854e8afc27942","prev_id":null,"leaf":"0xc4bb9fa75f7451235441287b128a8888bcea6fc59cef2acfb8b54fcea1e5bc85","leaf_text":"{\"body\":\"0c47370baf91930a7f88def27c7a2f8ccbf202baecb8ef5c4d2854e8afc27942\",\"id\":1026830,\"kind\":\"mcp.tools\",\"method\":\"probe.mcp/1\",\"observed_us\":1793280405869360,\"prev\":null,\"subject\":\"9971438d-50f9-4de2-b37f-3541ee0af8bd\",\"subject_kind\":\"endpoint\"}","day":{"day":"2026-10-29","leaves":242798,"root":"0xc050555c6b023f2aefb6536efb9f0760b92c30a0d06c572b7daf63db259ea17c","chained":"0x4cde8bae2042512e1bec11650628f0293556311cc4ea74d99ffddf02b671a7d6","anchor_chain":"eip155:5042002","anchor_tx":"0x9e85c340732f416e431b111fae72f7624870125f7f379af2732eb6c2ba8cf6a1","anchor_block":69753317},"proof":["0xc4bbf333f459e724600d5655d18e70a3d046ac68d5fbbcfca0dd62b5becaca4a","0xc6629ad506fabd0520fc50250f4cc11cbcb49dbd407d06d97c555e51884af3f9","0xde99006096e42c41a69dd43f382955a6b0203b8300461c89882e0e7a0024081d","0x6aa316a98af28f193a382bad6e82cd689081d90b503dde86f7d669ffb93826d8","0x6489dd0987f958617d0459287baf3052410951aaaafa517cae7daa2aa3236dae","0xd79eee1b531be9421f7201f40bc26ce0f1edd4cf43f1158ebc686d266b29659f","0xb8390c1dd21932e0b58feb780eef297f8a48a11109b8eb57fba0d84c83069b17","0x82138b597b06ce21f39e09a6fa44ea518a92bd4ea6393291e5a04d0350aeb866","0x23b0a8a0c301d8b48792846f4709c55f7b8759a9062c1a90bb1faa804e830ffe","0x9cdac01e6a9406e38e48e4c0d1a1dea25f1cea7170729515ecd5b00a7a20edea","0x84df6568fe5e70a94da766965843ed2b8772deea875f72fbeca3146fdbeb6f8c","0xc17b3a2fd1cc935170fb8b27356606841adb83d41f27bc9a6f20b6b128b31044","0x82acf0ab79b727689a8862d5f40ebc054bfa26bd74148138aeb5de693084058a","0x104600713bd70fcbdf137fa07f8136bb6c252c890776bc7cbd7b194271f8b93a","0x4e4f8f228a3b7a38299ec6f2b1967c6cf4de15fdd9dc0d200e691266e51ef99d","0xef5d5572aac8f06b61579b7167b369fcb479d9027d4037dc9cacff9e3a26ffd2","0xa1fa2e97e71ad6e802f325afd74bb7095901f2060529c9739182a1233f8804bc","0xe01539ac4c9f9cdf265a9e5c6d99c8da11e70ff0c7175fb23e402d33b9d79785"]}