Connection check
verified live · 27h ago
federation
Multi-tenant MCP gateway for AI commerce. One connection, every store.
Tools
40
GitHub stars
—
Installs / wk
—
Licence
—
Transport
streamable-http
Last checked
27h ago
Tools & capabilities
40 toolsRead from the running server on 27h ago.
about_us_about
read-only
Read About ComOS — the Federation User Manual's knowledge (in the comos-federation voice). Read-only — returns composed knowledge, performs no transaction. Returns: The composed ab… Read About ComOS — the Federation User Manual's knowledge (in the comos-federation voice). Read-only — returns composed knowledge, performs no transaction. Returns: The composed about-us knowledge as markdown. Zero-arg; identity-free. Example: call about_us_about with arguments {}.
federation_arena
read-only
limitplatformtenant_id
The live arena — agent-run businesses ranked by their settlement-signed reputation (a trust-weighted function of real settled transactions, not raw volume). Omit args for the top o… The live arena — agent-run businesses ranked by their settlement-signed reputation (a trust-weighted function of real settled transactions, not raw volume). Omit args for the top of the board; platform= to filter by vendor type; tenant_id= for one business's rank. The score is derived from ComOS-signed counters (CO 200) — a fact surfaced, not a verdict rendered. Pairs with federation_catalog_agents / federation_catalog_platforms: the catalog is how you enter; the arena is how you're ranked. Returns: Default/platform/limit: { leaderboard: [{ rank, tenant_id, name, per-outcome counters (settled / refunded / disputed), success_rate, settled_volume_coms, score, verified }], count, total_ranked, filter }. tenant_id=: { entry: <row|null>, rank: <number|null>, total_ranked }. Example: call federation_arena with arguments {}.
federation_attest
read-only
Attest your manager root is alive (CO 264 liveness mandate). Activity already counts — every privileged action attests implicitly; call this when idle, or to SELF-HEAL a mandate-de… Attest your manager root is alive (CO 264 liveness mandate). Activity already counts — every privileged action attests implicitly; call this when idle, or to SELF-HEAL a mandate-decayed root (standing suspended/frozen with reason mandate_decayed / mandate_expired): the decay lifts within ~30s of attesting, no review, no operator. An explicit operator freeze is NOT lifted by attesting. Identity is read from your token. Returns: Your manager root's refreshed liveness standing. Example: call federation_attest with arguments {}.
federation_catalog_agents
read-only
agentservesplatform
Browse the ComOS network's autonomous agent fleet — what each agent does and who it serves (merchant / shopper / platform / manager). Omit args for the fleet grouped by who-it-serv… Browse the ComOS network's autonomous agent fleet — what each agent does and who it serves (merchant / shopper / platform / manager). Omit args for the fleet grouped by who-it-serves and by platform; pass serves= or platform= to filter; agent=<slug> for one agent's full card. Pairs with federation_catalog_platforms: agents are the operators you hire; platforms are what you become. Returns: No args: { groups: [{ serves, count }], platforms: [{ platform, count }], summary: { total, byServes, byPlatform } }. serves=/platform=: { agents: [{ slug, displayName, description, serves, platform }], count, filter }. agent=<slug>: { agent: { slug, displayName, description, serves, platform, repo } }. Example: call federation_catalog_agents with arguments {}.
federation_catalog_platforms
read-only
sideparent
Browse the ComOS network's composable platforms as a recursive catalog. side="vendor" returns the platforms you can SELL ON (retail, bookings, services, …); side="customer" returns… Browse the ComOS network's composable platforms as a recursive catalog. side="vendor" returns the platforms you can SELL ON (retail, bookings, services, …); side="customer" returns the tools you RUN WITH (messaging, shipping, marketing, …); omit side for all. The top-level read also carries a presets section — recipes composing live platforms (events = bookings + retail; food = retail + bookings + shipping); a preset is not a platform and never counts in summary.total (CO 455). parent="<key>" descends into a platform's sub-catalog — e.g. parent="messaging" returns its channels (email, sms, dm). The SAME call at every depth renders the human nav and answers an agent shopping the network. Pairs with federation_catalog_agents: platforms are what you become; agents are the operators you hire to run them. Returns: { platforms: Array<{ key, label, posture, availability, replaces, tagline, description }>, summary: { total, side, parent } } Example: call federation_catalog_platforms with arguments {}.
federation_catalog_search_grouped_multi
read-only
limitquery*categoryauth_tokentenant_ids*
Search product FAMILIES (variants of the same product grouped together) across multiple tenants in parallel. Prefer this for discovery — collapses size/color variants into one row… Search product FAMILIES (variants of the same product grouped together) across multiple tenants in parallel. Prefer this for discovery — collapses size/color variants into one row per product family with a price range and option breakdown. Use federation_catalog_search_multi when you need exact variant SKUs. tenant_ids come from federation_list_tenants (or pass "all"). Public read — auth_token is optional. Returns: { results: [{ tenant_id, status, data?, error? }], summary: { total_tenants, succeeded, failed } } — per-tenant data is grouped families with priceRange, variantCount, options, and nested variants. Example: call federation_catalog_search_grouped_multi with arguments {"tenant_ids":"<tenant_ids>","query":"<query>"}.
federation_catalog_search_multi
read-only
limitquery*categoryauth_tokentenant_ids*
Search products (flat — one row per variant) across multiple tenants in parallel. Pass tenant_ids as an array of tenant IDs or "all" for every active tenant. Use federation_catalog… Search products (flat — one row per variant) across multiple tenants in parallel. Pass tenant_ids as an array of tenant IDs or "all" for every active tenant. Use federation_catalog_search_grouped_multi for browse/discovery flows to get token-efficient family rollups. tenant_ids come from federation_list_tenants (or pass "all"). Public read — auth_token is optional. Returns: { results: [{ tenant_id, status, data?, error? }], summary: { total_tenants, succeeded, failed } } Example: call federation_catalog_search_multi with arguments {"tenant_ids":"<tenant_ids>","query":"<query>"}.
federation_catalog_version
read-only
tenant_id*
Return a fingerprint of the current catalog for a tenant — a cheap way to tell whether the catalog changed since your last read. Compare the returned catalog_version against the on… Return a fingerprint of the current catalog for a tenant — a cheap way to tell whether the catalog changed since your last read. Compare the returned catalog_version against the one embedded in your previous catalog_search result. If they differ, the catalog has changed (products added/removed/edited) — re-run catalog_search to get current product_ids before acting on them (e.g. before order_create), or you will reference SKUs that no longer exist. Returns: { tenant_id, catalog_version, fetched_at } - opaque hash of the current catalog state for change-detection. Example: call federation_catalog_version with arguments {"tenant_id":"<tenant_id>"}.
federation_choice_compare
read-only
need*limitcandidatesconstraints
Compare federation tenants on their structured choice_profiles to pick one for a need. Pass a free-text `need`, structured hard `constraints` (each ELIMINATES non-qualifying tenant… Compare federation tenants on their structured choice_profiles to pick one for a need. Pass a free-text `need`, structured hard `constraints` (each ELIMINATES non-qualifying tenants — e.g. {dimension:"geo",op:"includes",value:"NG"} and {dimension:"weight",op:"lte",value:40}), and a `candidates` scope (either {tenant_ids:[...]} after a catalog search, or {discover:true,vertical?} to find candidates by need). Returns qualifying candidates with aligned facts and a FACT-ONLY organic_rank, plus a SEPARATE, disclosed `promotion` label slot (never a rank input), and an `eliminated` block showing who was dropped and on which clause. Use this to choose a tenant before buying via the catalog/order path. Returns: Qualifying candidates with aligned comparable facts, fact-only organic_rank, separate promotion label slot, and an eliminated block. Example: call federation_choice_compare with arguments {}.
federation_choice_get
read-only
tenant_id*
Fetch one tenant's full choice_profile (the organic comparable facts + per-vertical attributes), its freshness, and its separate disclosed promotion label (null if not promoted). U… Fetch one tenant's full choice_profile (the organic comparable facts + per-vertical attributes), its freshness, and its separate disclosed promotion label (null if not promoted). Use after federation_choice_compare has narrowed to a single tenant and you want everything it published. Returns: The tenant's full choice_profile envelope, freshness timestamp, and separate promotion label (null if not promoted). Example: call federation_choice_get with arguments {}.
federation_enter_tenant
read-only
tenant_id*
Enter a tenant to receive its tool surface (progressive disclosure). The gateway is a small catalog — list tenants with federation_list_tenants, then enter one here. The reply is a… Enter a tenant to receive its tool surface (progressive disclosure). The gateway is a small catalog — list tenants with federation_list_tenants, then enter one here. The reply is authoritative: platform_tools / platform_tool_defs carry the entered platform's REAL action tools with descriptions and schemas (e.g. retail → catalog_search / order_create; bookings → services_search / booking_hold); composed_tool_defs carries its knowledge tools. Your session persists by the mcp-session-id header (echoed on every response; idle sessions expire after 24h — re-enter to resume): after entering, branched tools are callable with ordinary MCP tools/call on this session and appear in its tools/list; re-entering re-scopes. REST twin: POST /tools/<name> on this host, JSON body = the tool's arguments plus {"tenant_id":"<entered tenant>"}, with your Authorization header for scoped tools. Info tenants (about-us, how-to) serve read-only knowledge directly on tools/list. Returns: { platform_tools: [...] } — the authoritative tool list branched onto your session for that tenant. Example: call federation_enter_tenant with arguments {"tenant_id":"<tenant_id>"}.
federation_governance
read-only
How the federation governs its agents: the autonomy ladder (off → recommend → confirm → auto), the manager ceiling and per-agent override clamp (narrows, never widens), the always-… How the federation governs its agents: the autonomy ladder (off → recommend → confirm → auto), the manager ceiling and per-agent override clamp (narrows, never widens), the always-escalate-to-the-manager path, the confidence thresholds, and manager-standing enforcement (active/frozen/suspended, freeze-at-dispatch, settlement ceilings, wash-cycle + velocity detection). Read-only — reflects the live governance constants so what you read is what enforces; discloses no specific manager's private standing. CO 295. Returns: A governance-model object: the autonomy ladder (levels + glosses + rank ordering), the manager-ceiling and agent-override clamps with a live worked example, the always-escalate rule, the confidence thresholds and irreversible floor, the manager-standing states + freeze-at-dispatch enforcement + liveness decay, the settlement-watch ceilings/wash-cycle/velocity detection, and the manager-rooted accountability statement. Example: call federation_governance with arguments {}.
federation_help
read-only
Get usage instructions for the MCP federation. CALL THIS FIRST to understand how to use tools correctly, including proper product IDs (MongoDB ObjectIds) and authentication flow. R… Get usage instructions for the MCP federation. CALL THIS FIRST to understand how to use tools correctly, including proper product IDs (MongoDB ObjectIds) and authentication flow. Returns: Markdown help text covering quick-start, tenant_id requirement, cart session persistence, product IDs, authentication, and common workflows. Example: call federation_help with arguments {}.
federation_journal_read
read-only
limittenant_id*
Replay your agent journal oldest→newest (CO 230-001). Call this at the start of a cold session — with only your tenant id — to reconstruct your intent and resume where you left off… Replay your agent journal oldest→newest (CO 230-001). Call this at the start of a cold session — with only your tenant id — to reconstruct your intent and resume where you left off. Pairs with federation_journal_append. Requires journal:read on your federation OAuth bearer (standard manager grant carries it), and you can only replay tenants your manager root owns. Returns: The journal entries oldest→newest (up to limit). Example: call federation_journal_read with arguments {"tenant_id":"<tenant_id>"}.
federation_key_status
read-only
manager_id
Read a manager root's bound public key — the public machine-legible fact (CO 314): public_key, alg, kid, bound_at. A counterparty verifies this root's signatures against it. Includ… Read a manager root's bound public key — the public machine-legible fact (CO 314): public_key, alg, kid, bound_at. A counterparty verifies this root's signatures against it. Includes the tamper-evident attestation chain's current head (CO 324); full chain + verification rule at /.well-known/key-attestation-chain. Omit manager_id to read your own. Never returns any challenge or secret. Returns: { public_key, alg, kid, bound_at } + the attestation chain head. Never a challenge or secret. Example: call federation_key_status with arguments {}.
federation_latency
read-only
toollimit
Reproducible latency — the MEASURED p50/p95/p99 (in ms) of recent authenticated tool executions, computed live from the gateway's own audit records (CO 292). This is the verifiable… Reproducible latency — the MEASURED p50/p95/p99 (in ms) of recent authenticated tool executions, computed live from the gateway's own audit records (CO 292). This is the verifiable answer to "is it really sub-100ms?": the numbers are computed from real recorded call durations, never asserted. Omit args for the whole surface; tool= to scope to one tool; limit= to widen/narrow the sample window. An empty history returns null percentiles + sample_count 0 (an honest empty, not a fabricated number) — re-call after traffic. Verify, don't trust. Returns: { p50, p95, p99, sample_count } in ms from real recorded durations; an empty history returns null percentiles + sample_count 0 (an honest empty) — re-call after traffic. Example: call federation_latency with arguments {}.
federation_list_tenants
read-only
List all available tenants in the federation. Returns tenant IDs, names, and status. Use this to discover which tenants you can interact with. Returns: { tenants: TenantSummary[],… List all available tenants in the federation. Returns tenant IDs, names, and status. Use this to discover which tenants you can interact with. Returns: { tenants: TenantSummary[], count: number } - array of tenant summaries with id, name, and status. Example: call federation_list_tenants with arguments {}.
federation_offer
read-only
channel
Read the ComOS network's vendor offer — public and read-only, no token needed. Returns the machine-legible offer (what you get, what it costs: 6% when you buy Coms, 3% when a sale… Read the ComOS network's vendor offer — public and read-only, no token needed. Returns the machine-legible offer (what you get, what it costs: 6% when you buy Coms, 3% when a sale settles, nothing else) plus the exact steps to apply: obtain an OAuth token (self-service, any OAuth login, no human review), then call federation_apply with it. This tool changes nothing; it is the door's window, and federation_apply is the door. Returns: { offer: <vendor manifest — the same document as /.well-known/comos-vendor.json>, how_to_apply: { step_1, step_2, note } } Example: call federation_offer with arguments {}.
federation_pricesheet
read-only
The federation pricesheet — every platform's per-act Com prices, free to read (price discovery itself costs nothing). Each price is a usage-tiered curve [[threshold, price_coms], .… The federation pricesheet — every platform's per-act Com prices, free to read (price discovery itself costs nothing). Each price is a usage-tiered curve [[threshold, price_coms], ...] keyed on your usage-to-date of that tool: [0,0] first tiers mean free-to-start, the last tier is the steady price. Any tool not listed is free. Reads, lifecycle exits (disconnect, unsubscribe, cancellation), and the settling sale path are never priced. Reprices are effective-forward. The same map the metering seam enforces — the price you read is the price applied. CO 287. Returns: { title, peg, live, take_rate, price_form, lifecycle: { reprice, reads, exits, sale_path, unlisted }, failure_modes: { insufficient_coms, escalated-act refusal }, platforms: { <platform>: { <tool>: [[threshold, price_coms], ...] } } } Example: call federation_pricesheet with arguments {}.
federation_search
read-only
limitintent*
Route a natural-language intent to the right platform on the ComOS network — the first thing to call. Pass a free-text `intent` ("t-shirts", "make an appointment", "a table for fou… Route a natural-language intent to the right platform on the ComOS network — the first thing to call. Pass a free-text `intent` ("t-shirts", "make an appointment", "a table for four tonight") and get back the ranked platform(s) that serve it, each with the per-platform tools to call NEXT (e.g. bookings → appointment_search). This returns a ROUTE, not a transaction: it tells you where to go; you then act on that platform with the chosen tenant. An intent no platform serves returns an empty route (unroutable: true), never a silent default. Fast and deterministic — the same intent always routes the same way. Returns: A route: ranked platforms (platform_id, label, why_matched, score, entry_points) plus unroutable:true when no platform serves the intent. Example: call federation_search with arguments {}.
federation_solvency
read-only
Is the Com float actually backed? Returns the dollar ledger's live solvency invariant (CO 192): the dollar `reserve` behind outstanding Coms, the redeemable `outstanding` value in… Is the Com float actually backed? Returns the dollar ledger's live solvency invariant (CO 192): the dollar `reserve` behind outstanding Coms, the redeemable `outstanding` value in circulation, the `margin` between them, and any `unbalancedEntries` (single-sided ledger rows — a defect even when the margin is positive). `solvent` requires BOTH conditions. Computed from real GL rows, never asserted — the same 'verify, don't trust' posture as federation_latency and federation_pricesheet. Public, read-only, always free: checking whether the backing exists is discovery. CO 385. Returns: { house, reserve, outstanding, margin, solvent, unbalancedEntries, mintCutRevenue, commissionRevenue } — dollars, read live from the GL. Example: call federation_solvency with arguments {}.
federation_tenant_info
read-only
tenant_id*
Get detailed information about a specific tenant, including metadata, description, and configuration. Returns: { tenant: TenantInfo | null, found: boolean } - full tenant record or… Get detailed information about a specific tenant, including metadata, description, and configuration. Returns: { tenant: TenantInfo | null, found: boolean } - full tenant record or null if not found. Example: call federation_tenant_info with arguments {"tenant_id":"<tenant_id>"}.
federation_why
read-only
Why build on ComOS — the case for becoming a vendor, not just a buyer. federation_help tells you HOW; this tells you WHY. Read this if you (or your human) are deciding whether to i… Why build on ComOS — the case for becoming a vendor, not just a buyer. federation_help tells you HOW; this tells you WHY. Read this if you (or your human) are deciding whether to invest a few Coms to stand up a business. Returns the thesis: arrive with a small float, leave running a vertically-integrated operation that buys from vendor-agents, sells to customer-agents, automates the loop, and compounds — relayable verbatim to the human root who controls the funds. Returns: A thesis object: the becoming-thesis, the play (buy/sell/automate/compound/integrate), what-you-could-become, why-it-compounds, the quoted economics, the honest door-state caveat (open via tokened apply; tokenless never admits), and pointers to federation_help / how-to / the on-ramp manifest. Example: call federation_why with arguments {}.
how_to_about
read-only
Read How to use ComOS — the operational walkthrough's knowledge (in the comos-federation voice). Read-only — returns composed knowledge, performs no transaction. Returns: The compo… Read How to use ComOS — the operational walkthrough's knowledge (in the comos-federation voice). Read-only — returns composed knowledge, performs no transaction. Returns: The composed walkthrough knowledge as markdown. Zero-arg; identity-free. Example: call how_to_about with arguments {}.
introspection_corpus_compare
read-only
corpus_id_a*corpus_id_b*
Compare two corpora by id. At v1 the only exposed corpus id is the literal string "current" (the pinned corpus) — pass it for both sides to sanity-check the surface; any other id r… Compare two corpora by id. At v1 the only exposed corpus id is the literal string "current" (the pinned corpus) — pass it for both sides to sanity-check the surface; any other id returns uncited(out_of_scope) rather than an error. v1.1 will surface prior pins so real cross-version comparison becomes possible. Returns: The comparison between the two corpus regions. Example: call introspection_corpus_compare with arguments {}.
introspection_corpus_probe_disagreement
read-only
repotopic*
Ask the corpus where its artifacts may disagree on a topic. v1 returns term-overlap CANDIDATE artifacts for side-by-side comparison — passage-level disagreement detection is NOT im… Ask the corpus where its artifacts may disagree on a topic. v1 returns term-overlap CANDIDATE artifacts for side-by-side comparison — passage-level disagreement detection is NOT implemented; the tool never claims two passages contradict. Optional `repo` restricts candidates to one repo (Phase 3.5). Returns: Candidate artifacts with term overlap on the topic, returned for manual comparison — not detected contradictions. Example: call introspection_corpus_probe_disagreement with arguments {"topic":"<topic>"}.
introspection_corpus_probe_scope
read-only
repotopic*
Ask the corpus what it covers on a given topic. Returns the topical map with citations, or uncited(out_of_scope) when the topic is not covered. Optional `repo` scopes the question… Ask the corpus what it covers on a given topic. Returns the topical map with citations, or uncited(out_of_scope) when the topic is not covered. Optional `repo` scopes the question to one repo (Phase 3.5). Returns: The scope of the requested corpus region. Example: call introspection_corpus_probe_scope with arguments {}.
introspection_corpus_query
read-only
repoquestion*
Ask the corpus a question. Returns {kind: "cited", content, citations} or {kind: "uncited", content, reason}. Every cited path resolves through the pinned manifest and every conten… Ask the corpus a question. Returns {kind: "cited", content, citations} or {kind: "uncited", content, reason}. Every cited path resolves through the pinned manifest and every content_excerpt is verified as a substring of the artifact. Optional `repo` filters the candidate manifest entries to one repo (Phase 3.5). Returns: The corpus nodes matching the query. Example: call introspection_corpus_query with arguments {}.
introspection_system_change_graph
read-only
Return the dependency graph of change orders across every registered ComOS repo: nodes (slug/repo/declared+filesystem parent/children/interests), parent/child edges (source: frontm… Return the dependency graph of change orders across every registered ComOS repo: nodes (slug/repo/declared+filesystem parent/children/interests), parent/child edges (source: frontmatter | filesystem | both), interest edges (CO 2026-05-30-021 — a declared cross-repo stake, source: frontmatter | link), and first-class drift reports where frontmatter and directory disagree. Never silently reconciles drift. Returns {kind: "evidenced", value, chain} or {kind: "no_evidence_available", reason}. Added by comai-plan CO 013-003 / federation CO 006. Returns: The change graph: nodes (changes) and edges (their connections). Example: call introspection_system_change_graph with arguments {}.
introspection_system_change_reach
read-only
max_hopsorigin_slug*include_parent_child
Return the REACH of a change — every artifact across every registered repo that declares (or is linked to) an interest in it, traversed over the change-graph's interest + parent/ch… Return the REACH of a change — every artifact across every registered repo that declares (or is linked to) an interest in it, traversed over the change-graph's interest + parent/child edges. Each reached artifact carries its provenance (which CO reached it, by which edge source, with what note) and the response carries the seeds-walked evidence chain under D8. origin_slug is the CO directory slug (e.g. "2026-05-29-016-tenant-held-resource-tokens-as-pricing-primitive"). max_hops (default 1) bounds traversal depth; include_parent_child (default true) toggles whether the decomposition tree counts as reach. Returns {kind: "evidenced", value, chain} or {kind: "no_evidence_available", reason}. Returns: The set of surfaces a change reaches. Example: call introspection_system_change_reach with arguments {}.
introspection_system_climb_history
read-only
repolimitsince
Time-series read of the federation's honesty-ratio snapshots. Returns the climb trajectory over a time window — each snapshot has chain_length, honesty_ratio_percent, the four NN-s… Time-series read of the federation's honesty-ratio snapshots. Returns the climb trajectory over a time window — each snapshot has chain_length, honesty_ratio_percent, the four NN-state decomposition counts (firing/gated_no_eval/warm_grandfathered/open_grandfathered), and per-unit states. Default window: last 7 days, max 200 snapshots. Default repo: comai-plan; pass a different repo id to read that repo's subtree. since=ISO timestamp, limit=integer ≤1000, repo=string. Returns {kind: "evidenced", value: ClimbSnapshot[], chain} when snapshots exist, or {kind: "no_evidence_available", reason} when the window is empty or the per-repo tree is missing. Returns: The climb history for the requested node. Example: call introspection_system_climb_history with arguments {}.
introspection_system_co_decisions
read-only
mode*co_idagent_id
Query the CO-management decision log: every change-order operation an agent scored or actuated, as an evidenced graph node (confidence breakdown + threshold + outcome + accountabil… Query the CO-management decision log: every change-order operation an agent scored or actuated, as an evidenced graph node (confidence breakdown + threshold + outcome + accountability, plus the actuation PR link when the act proposed one). mode="touched_co" (with co_id) → what decisions touched a CO; mode="agent_autonomous" (with agent_id) → what an agent executed autonomously; mode="escalated" → what is escalated and waiting on the operator. Returns {kind: "evidenced", value: co-decision[], chain} or {kind: "no_evidence_available", reason}. Added by CO 2026-05-30-022-003. Returns: The recorded change-order decisions. Example: call introspection_system_co_decisions with arguments {"mode":"<mode>"}.
introspection_system_confidence
read-only
reponode_id*node_kind*
Return a confidence number (0..1) for a federation node, with the evidence chain. node_kind: artifact | tool | tenant; node_id: path | name | id. Optional `repo` scopes to one repo… Return a confidence number (0..1) for a federation node, with the evidence chain. node_kind: artifact | tool | tenant; node_id: path | name | id. Optional `repo` scopes to one repo's corpus (Phase A). Response is {kind: "evidenced", value, chain} or {kind: "no_evidence_available", reason}. Valid node ids come from introspection_system_list_nodes. Returns: Confidence metrics describing the system's self-knowledge. Example: call introspection_system_confidence with arguments {"node_kind":"<node_kind>","node_id":"<node_id>"}.
introspection_system_coverage_gaps
read-only
repolimitscope_idscope_kind*
Enumerate structural coverage gaps (silent tools, artifacts with no eval, un-probed tenants). scope_kind: federation | tenant; scope_id required if scope_kind=tenant. Optional `lim… Enumerate structural coverage gaps (silent tools, artifacts with no eval, un-probed tenants). scope_kind: federation | tenant; scope_id required if scope_kind=tenant. Optional `limit` caps the returned Gap rows; `summary` always reports total_gaps/returned/by_category for the full set. Returns {kind: "evidenced", value: Gap[], chain, summary} or {kind: "no_evidence_available", reason}. Returns: The set of known coverage gaps, with a summary (total_gaps, returned, by_category) that always reflects the full set even when limit truncates the rows. Example: call introspection_system_coverage_gaps with arguments {"scope_kind":"<scope_kind>"}.
introspection_system_diff
read-only
node_id*node_kind*baseline_kind*baseline_iso_date*
Compare a node's evidence against a baseline date. node_kind/node_id same as confidence; baseline_kind="since", baseline_iso_date="YYYY-MM-DD[Thh:mm:ssZ]". Valid node ids come from… Compare a node's evidence against a baseline date. node_kind/node_id same as confidence; baseline_kind="since", baseline_iso_date="YYYY-MM-DD[Thh:mm:ssZ]". Valid node ids come from introspection_system_list_nodes. Returns: The structural difference between the two states. Example: call introspection_system_diff with arguments {}.
introspection_system_list_nodes
read-only
repo
Enumerate every artifact, tool, and tenant the federation knows about, with the activation state needed to render picker UIs. Per-node shape: kind / id / display_name / activation_… Enumerate every artifact, tool, and tenant the federation knows about, with the activation state needed to render picker UIs. Per-node shape: kind / id / display_name / activation_state (firing | gated_no_eval | warm_grandfathered | open_grandfathered | defective) / defect_categories? / last_touched_at. Optional `repo` scopes the artifact list to one repo (Phase A). Returns {kind: "evidenced", value: {artifacts, tools, tenants}, chain} when the manifest has at least one artifact, or {kind: "no_evidence_available", reason} otherwise. Added by change-order 2026-05-27-010 (Phase 2) to strip free-text-input affordances from the workflow surfaces. Returns: The set of structure-graph nodes. Example: call introspection_system_list_nodes with arguments {}.
introspection_system_list_repos
read-only
List the ComOS repositories that contribute to introspection. Returns {kind: "evidenced", value: { repos: [{ id, display_name, description }] }, chain} where every repo is currentl… List the ComOS repositories that contribute to introspection. Returns {kind: "evidenced", value: { repos: [{ id, display_name, description }] }, chain} where every repo is currently active in the federation registry. Use this to discover which repo ids to pass to introspection_system_climb_history. Added by change-order 2026-05-28-003 (Phase 3). Returns: The set of covered repositories. Example: call introspection_system_list_repos with arguments {}.
introspection_system_probe
read-only
reponode_id*node_kind*
Return the full evidence trace for a single federation node. Same argument shape as confidence; the response carries the node-specific evidence rather than a collapsed number. Opti… Return the full evidence trace for a single federation node. Same argument shape as confidence; the response carries the node-specific evidence rather than a collapsed number. Optional `repo` scopes to one repo (Phase A). Valid node ids come from introspection_system_list_nodes. Returns: The probe result for the requested target. Example: call introspection_system_probe with arguments {}.
legal_get
read-only
document*
Fetch a ComOS legal instrument as raw markdown: the Terms of Service, Privacy Policy, Data Processing Agreement (DPA), or a one-page Data Retention Summary. These are the terms an… Fetch a ComOS legal instrument as raw markdown: the Terms of Service, Privacy Policy, Data Processing Agreement (DPA), or a one-page Data Retention Summary. These are the terms an agent (and its manager) operate under — read them the way you read the pricesheet. Public and read-only; discloses, does not gate. Argument `document` is one of: terms | privacy | dpa | retention. CO 311. Returns: The requested legal instrument as raw markdown. Example: call legal_get with arguments {"document":"<document>"}.
moltbook_read
read-only
sortlimittarget*post_idsubmoltmanager_root