{"ok":true,"service":{"name":"Citadel Archive","kind":"organization_vault","version":"0.2.3","base_url":"https://citadel-archive-production.up.railway.app"},"public_endpoints":{"health":"https://citadel-archive-production.up.railway.app/healthz","skills":"https://citadel-archive-production.up.railway.app/skills","discovery":"https://citadel-archive-production.up.railway.app/.well-known/citadel.json"},"mcp":{"endpoint":"https://citadel-archive-production.up.railway.app/mcp/","transport":"streamable_http","authentication":{"required":true,"scheme":"bearer","token_prefix":"ctdl_","header":"Authorization"},"tools":[{"name":"citadel_audit_events","role":"admin","scope":"audit:read","risk":"admin_status"},{"name":"citadel_backup_mirror_status","role":"admin","scope":"sources:sync","risk":"admin_status"},{"name":"citadel_contribute","role":"writer","scope":"kb:ingest","risk":"additive_write"},{"name":"citadel_discovery","role":"reader","scope":"kb:read","risk":"public_metadata"},{"name":"citadel_get_document","role":"reader","scope":"kb:read","risk":"read_untrusted_content"},{"name":"citadel_get_mesh","role":"reader","scope":"kb:read","risk":"read_untrusted_content"},{"name":"citadel_improve","role":"admin","scope":"sources:sync","risk":"admin_job"},{"name":"citadel_ingest","role":"writer","scope":"kb:ingest","risk":"additive_write"},{"name":"citadel_linear_my_issues","role":"reader","scope":"kb:read","risk":"read_untrusted_content"},{"name":"citadel_linear_search","role":"reader","scope":"kb:search","risk":"read_untrusted_content"},{"name":"citadel_list_sources","role":"reader","scope":"sources:read","risk":"read_untrusted_content"},{"name":"citadel_promotion_approve","role":"admin","scope":"sources:sync","risk":"additive_write"},{"name":"citadel_promotion_pending","role":"reader","scope":"kb:read","risk":"read"},{"name":"citadel_promotion_reject","role":"admin","scope":"sources:sync","risk":"additive_write"},{"name":"citadel_recent_contributions","role":"reader","scope":"kb:read","risk":"read"},{"name":"citadel_record_feedback","role":"writer","scope":"kb:feedback","risk":"additive_write"},{"name":"citadel_run_backup_mirror","role":"admin","scope":"sources:sync","risk":"admin_job"},{"name":"citadel_run_learning_agent","role":"admin","scope":"sources:sync","risk":"admin_job"},{"name":"citadel_run_repo_content_sync","role":"admin","scope":"sources:sync","risk":"admin_job"},{"name":"citadel_search","role":"reader","scope":"kb:search","risk":"read_untrusted_content"},{"name":"citadel_session","role":"reader","scope":"kb:read","risk":"read"}],"approval_recommended_for":["citadel_contribute","citadel_improve","citadel_ingest","citadel_promotion_approve","citadel_promotion_reject","citadel_record_feedback","citadel_run_backup_mirror","citadel_run_learning_agent","citadel_run_repo_content_sync"],"audit":{"event_action":"mcp.<tool_name>","admin_tool":"citadel_audit_events"}},"skills":[{"slug":"boundary","description":"Public vs private data boundaries for Citadel code, vault, and tokens.","aliases":["citadel-data-boundary","policy","privacy","public-private"],"size_bytes":2215,"sha256":"05fda0c848efa6ff9bb6ed59ab1933b21f535e04a5f2555bd46297d1f1f444ff","integrity":"sha256-Bf2gyEjvpv+btu1Zqxkzsh9TXgSl8lVb1GKX0fH0RP8=","url":"https://citadel-archive-production.up.railway.app/skills/boundary"},{"slug":"connect","description":"Set up Citadel MCP in Claude Code, Codex, Cursor, or any MCP agent.","aliases":["citadel-mcp-connector","mcp","mcp-connector"],"size_bytes":11146,"sha256":"d84c995b2d0bb306c28bff7adfb7834e15aaf57532583ffdc4f8378c2579087e","integrity":"sha256-2EyZWy0LswbCi/9637eDThWq9XUyWD/9xPg3jCV5CH4=","url":"https://citadel-archive-production.up.railway.app/skills/connect"},{"slug":"proactive-ingest","description":"Autonomous Node sync — git push + Claude SessionEnd hooks to your personal seat.","aliases":["autosync","citadel-proactive-ingest"],"size_bytes":13117,"sha256":"561a3d6191cf3c916d53f6500cd8073170c3685b1a6e48cf57fb284d0c64a771","integrity":"sha256-Vho9YZHPPJFtU/ZQDNgHMXDDaFsabkjPV/soTQxkp3E=","url":"https://citadel-archive-production.up.railway.app/skills/proactive-ingest"},{"slug":"vault","description":"Search, ingest, and use the Organization Vault after MCP is connected.","aliases":["citadel-vault"],"size_bytes":9730,"sha256":"c8fa8c656ad2c05bf8d5bf02c415f78e6b4cf5a974667cc38a1e9c0be9e8b25b","integrity":"sha256-yPqMZWrSwFv41b8CxBX3jmtM9al0ZnzDih6cC+nosls=","url":"https://citadel-archive-production.up.railway.app/skills/vault"}],"security":{"public_data":["application code and documentation","hosted skill markdown and content hashes","MCP endpoint URL and tool policy metadata"],"private_data":["ctdl_ access tokens","vault search results and source documents","Obsidian sync contents","backup mirror repository contents"],"token_handling":["give each human or agent a distinct token","store tokens only in local secret stores or environment variables","rotate any token pasted into chat, logs, issues, pull requests, or public repos"],"scope_model":{"roles":["reader","writer","admin"],"custom_scopes":"Custom scopes can only reduce permissions within the selected role."},"seat_mcp_write_policy":{"personal_node_only":true,"central_read_only_for_seats":true,"contribute_via_mcp":false,"secret_scan_on_all_writes":true,"client_must_require_user_approval_for":["citadel_ingest","citadel_contribute","citadel_record_feedback"],"central_updates_via":["github_sync_cron","linear_sync_cron","promotion_engine","curated_contribute_non_mcp"]}}}