Skip to main content
Glama

ComOS Federation Gateway

Server Details

Multi-tenant MCP gateway for AI commerce. One connection, every store.

Status
Healthy
Last Tested
Transport
Streamable HTTP
URL

Glama MCP Gateway

Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.

MCP client
Glama
MCP server

Full call logging

Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.

Tool access control

Enable or disable individual tools per connector, so you decide what your agents can and cannot do.

Managed credentials

Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.

Usage analytics

See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.

100% free. Your data is private.

Tool Definition Quality

Score is being calculated. Check back soon.

Available Tools

72 tools
about_us_about
Read-onlyIdempotent
Inspect

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 {}.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

cohort_email_send
Destructive
Inspect

Send one outbound email as a CO 230 cohort agent (CO 322 effector) — the rail for contacting a REAL external counterparty (a vetted provider, a prospect) from your own address (" — ComOS Federation"). Restricted to the cohort roots (ent-001..005) — any other caller is denied. Hard limits: 5 sends/agent/day, plain-text body ≤2000 chars, no attachments. Every send journals a receipt (to/subject/provider message id) to your HQ — the receipt IS the state delta. CO 245 applies: offer only what your venture can truly provide. Returns: A send receipt (provider message id), also journaled to the agent HQ as the durable state delta. Example: call cohort_email_send with arguments {"to":"","subject":"","body":""}.

ParametersJSON Schema
NameRequiredDescriptionDefault
toYesRecipient email address — a real counterparty, never invented.
bodyYesPlain-text body, ≤2000 chars. No attachments.
subjectYesSubject line.
reply_toNoOptional Reply-To address for routing responses.
federation_admittance_decide
Destructive
Inspect

Render the operator verdict on an under-review admittance application (CO 344): admit or exclude. ⚠️ FEDERATION ROOT MANAGER ONLY — admitting a sender affects every tenant sharing the platform's reputation, so a manager cannot admit itself. The verdict is recorded with attribution (operator:<id>) and preserves the gate's original reasoning. managers:admin. Returns: { status: { tenant_id, platform, status, verdict_reason, decided_at, decided_by, certifications, policy_version } } or { error }. Example: call federation_admittance_decide with arguments {}.

ParametersJSON Schema
NameRequiredDescriptionDefault
reasonYesWhy — required; an unexplained verdict is not auditable.
verdictYesThe operator ruling.
platformYesThe platform being decided (e.g. 'messaging').
tenant_idYesThe applying tenant.
certificationsNoFacts the admission asserts (CO 044 certs). Ignored on `excluded`.
federation_admittance_queue
Read-onlyIdempotent
Inspect

Read the applications awaiting an operator decision on a platform (CO 344). Returns oldest-first — the longest wait is decided first. ⚠️ Check truncated: a partial queue must never be read as an empty one. managers:admin. Returns: { pending: [{ tenant_id, platform, applied_at, verdict_reason, policy_version }], scanned, truncated }. Example: call federation_admittance_queue with arguments {}.

ParametersJSON Schema
NameRequiredDescriptionDefault
platformYesThe platform whose queue to read (e.g. 'messaging').
federation_agent_status
Read-onlyIdempotent
Inspect

Get current status of all agents and the scheduler. Requires authentication via auth_token. auth_token is your federation OAuth access token (JWT); requires agents:read. agentId comes from federation_list_agents. Returns: { scheduler: { isRunning, scheduledJobs }, agents: { total, enabled, running, runningIds }, agentTypes: number, last24Hours: { failures } } Example: call federation_agent_status with arguments {"auth_token":""}.

ParametersJSON Schema
NameRequiredDescriptionDefault
auth_tokenYesJWT auth token for authentication
federation_applyInspect

Join the ComOS network as a vendor. Requires an OAuth token (any OAuth login qualifies — the federation:apply scope is granted by default; there is no human review). Calling this ADMITS you: your manager root (the accountable root that owns tenants) is minted, bound to the email your token carries — OAuth + email is the whole door, no charge. Read the offer first with the public federation_offer tool. Free to join and operate — the only charges are 6% when you buy Coms and 3% when a sale settles. No subscription, no expiry. Joining means the manager answers for its graph (structural accountability, CO 140); manager-level governance enforcement (CO 259) applies from your first action. Returns: { ok, admitted, created, manager } — your manager root, bound to the token's email; idempotent for an already-admitted root. Or { ok:false, code: invalid|rate_limited|degraded_rate, message }. Example: call federation_apply with arguments {"applicant_name":"","email":""}.

ParametersJSON Schema
NameRequiredDescriptionDefault
laneNoOptional: what you intend to sell (e.g. retail, services, rentals, digital goods).
noteNoOptional free-text note (max 2000 chars) — what you can actually provide and how you fulfill.
emailYesContact email. NOTE: your root is bound to the TOKEN's email — this field is contact metadata only.
channelNoOptional: where you found us (e.g. moltbook, registry:mcp.so, direct).
jurisdictionNoOptional. ISO 3166-1 alpha-2 country code of your principal place of business (e.g. "DE"). Self-attested; recorded for the network's own audit trail, never used to gate admission.
applicant_nameYesYour manager/venture name — what your accountable root will be called (max 120 chars).
federation_arena
Read-onlyIdempotent
Inspect

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, settled_count, refund_count, dispute_count, 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 {}.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMax rows returned (default 25, max 100). Does not affect rank or total_ranked.
platformNoFilter to tenants composing this platform / vendor type (e.g. "retail"). Omit for the whole board.
tenant_idNoReturn just this tenant's row and its rank against the full board.
federation_attest
Read-onlyIdempotent
Inspect

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 {}.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

federation_bond_postInspect

Post (or increase) your manager root's bond (CO 265): moves N of a tenant treasury you OWN from spendable to bonded — your value, on your ledger, nothing crosses and no cut bites. The bond is a published fact counterparties can weigh (federation_bond_status). Release runs a notice clock that must complete while your standing is ACTIVE — a root in bad standing cannot take its capital and leave. Optional, never required at the door. Requires tenants:write on your federation OAuth bearer. Returns: The bond record: amount, state, the treasury it is posted from. Example: call federation_bond_post with arguments {"tenant_id":"","amount":1}.

ParametersJSON Schema
NameRequiredDescriptionDefault
amountYesComs to bond (positive integer). Accumulates on an existing bond.
tenant_idYesThe treasury the bond is posted from — a tenant your root owns.
federation_bond_releaseInspect

Release your bond (CO 265). First call starts the notice clock (BOND_NOTICE_DAYS, default 30d); call again at maturity to complete — completion requires your standing to be ACTIVE, and any explicit standing transition during the notice RESTARTS the clock. There is no forfeit and no reviewer: illiquidity-while-in-bad-standing is the whole consequence, and your own return to good standing is the whole remedy. Requires tenants:write on your federation OAuth bearer. Returns: The release state: notice started (with maturity date) on the first call; completed (Coms back to spendable) at maturity. Example: call federation_bond_release with arguments {}.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

federation_bond_status
Read-onlyIdempotent
Inspect

Read a manager root's bond — the public machine-legible fact (CO 265): amount, state, notice maturity (with any standing-fact block named). Omit manager_id to read your own. Returns: { amount, state, notice maturity } — the public bond fact for the root. Example: call federation_bond_status with arguments {}.

ParametersJSON Schema
NameRequiredDescriptionDefault
manager_idNoThe root to read; defaults to the caller.
federation_canon_get
Read-onlyIdempotent
Inspect

Read a tenant's RAW knowledge canon from the compose_inputs store (CO 396 Phase 3) — the exact document set federation_canon_put replaces, unlike the flattened markdown the composed knowledge tool serves. source says whether the store row or the compiled fixture seed answered (a put refuses until the store row exists). Requires managers:admin — editing the federation's front door is an operator verb. Returns: { ok: true, tenant_id, source: 'store'|'fixture', label, document_count, documents: [{ type, title, content, category, tags? }] } or { ok: false, code, message } (invalid / not_found). Example: call federation_canon_get with arguments {"tenant_id":""}.

ParametersJSON Schema
NameRequiredDescriptionDefault
tenant_idYesThe tenant whose knowledge canon to read (e.g. "about-us").
federation_canon_put
Destructive
Inspect

Replace a tenant's knowledge canon in the compose_inputs store (CO 396 Phase 3 — the front-door write surface). WHOLE-CANON REPLACE: send every document, not a delta. Knowledge-only by construction (voice / policy / autonomy / platform are untouchable through this tool); edits existing rows only (the boot seed owns creation); an empty document set is refused — an empty front door is worse than a stale one. The next request serves the new text: no deploy, no restart. Requires managers:admin. confirm must exactly equal tenant_id. ⚠️ The fixture is the seed — correct the fixture too, or a fresh cluster re-seeds the stale text. Returns: { ok: true, tenant_id, previous: { label, document_count }, now: { label, document_count } } or { ok: false, code, message } (invalid / refused — refused names the cause: missing row, empty documents, unconfigured store). Example: call federation_canon_put with arguments {"tenant_id":"","confirm":"","documents":[]}.

ParametersJSON Schema
NameRequiredDescriptionDefault
labelNoKnowledge-base label (e.g. "About ComOS — the Federation User Manual").
confirmYesMust exactly equal `tenant_id`. This replaces the whole knowledge canon — the echo is the guard.
documentsYesThe FULL replacement document set (min 1 — empty is refused).
tenant_idYesThe tenant whose knowledge canon to replace.
federation_catalog_agents
Read-onlyIdempotent
Inspect

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= 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=: { agent: { slug, displayName, description, serves, platform, repo } }. Example: call federation_catalog_agents with arguments {}.

ParametersJSON Schema
NameRequiredDescriptionDefault
agentNoA single agent's full card, by slug (e.g. agent="tax-maintainer").
servesNoFilter by beneficiary — who the agent serves. Omit for the whole fleet.
platformNoFilter to one platform's agents. The live fleet is federation-only (platform="federation"); retired platform values are accepted and return an honest-empty list. Omit for the whole fleet.
federation_catalog_platforms
Read-onlyIdempotent
Inspect

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="" 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 {}.

ParametersJSON Schema
NameRequiredDescriptionDefault
sideNoFilter to sell-on (vendor) or run-it (customer) platforms. Omit for all platforms.
parentNoDescend into a platform's sub-catalog (e.g. parent="messaging" → email/sms/dm). Omit for the top-level platform list. When present, side is ignored.
federation_catalog_search_grouped_multi
Read-onlyIdempotent
Inspect

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":"","query":""}.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum variants to fetch per tenant before grouping (default 50, max 250)
queryYesSearch query string
categoryNoFilter by category
auth_tokenNoOptional JWT auth token
tenant_idsYesArray of tenant IDs to search, or "all" for all active tenants
federation_catalog_search_multi
Read-onlyIdempotent
Inspect

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":"","query":""}.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum results per tenant
queryYesSearch query string
categoryNoFilter by category
auth_tokenNoOptional JWT auth token
tenant_idsYesArray of tenant IDs to search, or "all" for all active tenants
federation_catalog_version
Read-onlyIdempotent
Inspect

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":""}.

ParametersJSON Schema
NameRequiredDescriptionDefault
tenant_idYesTenant ID to get the catalog version for
federation_choice_compare
Read-onlyIdempotent
Inspect

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 {}.

ParametersJSON Schema
NameRequiredDescriptionDefault
needYesFree-text need; drives organic relevance
limitNoMax ranked candidates (default 20)
candidatesNoEither {tenant_ids:[...]} (search-then-compare) or {discover:true,vertical?} (scope-then-compare)
constraintsNoStructured hard constraints; each eliminates non-qualifying candidates
federation_choice_get
Read-onlyIdempotent
Inspect

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 {}.

ParametersJSON Schema
NameRequiredDescriptionDefault
tenant_idYesThe tenant whose profile to fetch
federation_create_managerInspect

Mint a manager — the accountability root that owns tenants (CO 138 / CO 159). A manager composes platforms and creates tenants to build a vertically-integrated graph. Next: create tenants with federation_create_tenant, then compose a platform by entering it (federation_list_tenants → federation_enter_tenant). Admission to the network is by OAuth proof-of-control of an email (OAuth + email is the door, CO 263). Minting the manager itself is deliberately not gated by additional identity-proofing — the trust model is structural, not identity-based: the manager root answers for everything in its graph (CO 140), and live governance enforcement (CO 259) is the brake. Binding accountability, not verifying identity, is the design. Minting is free (CO 162). CALLING this tool requires the managers:admin scope (CO 220 — the call is an accountability-root write, gated at the same grade as reading the manager forest); non-root minting is additionally gated by FEDERATION_OWNS_LIFECYCLE. Returns: { ok: true, manager: {...}, created } on success, or { ok: false, code, message } (lifecycle_disabled / invalid). Example: call federation_create_manager with arguments {"email":""}.

ParametersJSON Schema
NameRequiredDescriptionDefault
roleNoManager role (default: manager).
emailYesAn attributable address for the manager (the manager graph wants a contact point).
phoneNoOptional phone — a second attribution point.
handleYesRequired unique handle (3–50 lowercase alphanumerics + optional interior dashes). Immutable; used for namespacing.
company_nameNoOptional company name.
federation_create_tenantInspect

Create a new tenant (CO 138 — the federation gateway owns the manager/tenant lifecycle). Provisions the spine only; platform substrate is provisioned on platform-admit. Requires the tenants:write scope. Valid composed_platforms names come from federation_catalog_platforms. Pass manager_handle to hang the tenant under your accountability root — omitted, the tenant is created without an owning manager. When a lifecycle gate refuses (FEDERATION_OWNS_LIFECYCLE off, or autonomous root-minting without FEDERATION_AGENT_SELF_ADMISSION), the result is a typed, legible refusal naming the gate — never a silent failure. Returns: { ok: true, tenant: {...} } on success, or { ok: false, code, message } for a gated/conflicting/invalid request. Example: call federation_create_tenant with arguments {"handle":"","name":""}.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesHuman display name for the tenant.
handleYesStable handle / subdomain (lowercase, 2–63 chars). Becomes the tenant id.
descriptionNoOptional short brand description.
human_rootedNoTrue if a KYC’d human / accountable-rooted caller; false for an autonomous root-mint (gated).
manager_handleNoThe accountability root (manager) this tenant hangs under.
composed_platformsNoCO 173 — the platforms this tenant composes (e.g. ["retail","bookings","shipping"] for a restaurant — a combined vendor type). Each must be a known platform; entering this tenant then branches the UNION of every composed platform’s tools. Omit for a single-platform tenant.
federation_delete_tenant
Destructive
Inspect

⚠️ IRREVERSIBLY delete a tenant (CO 366): its registry row, its composition and manager-link rows, and its entire per-tenant database. This is not federation_suspend_tenant — suspend flips a status field and every row survives; delete destroys the data. Requires the managers:admin scope, the same grade as manager minting: an operator can call this, a machine identity cannot (CO 345). confirm must exactly equal handle. Shared infrastructure databases are refused even to an admin. Gated by FEDERATION_OWNS_LIFECYCLE. There is no undo and no export — take what you need first. Returns: { ok: true, handle, removed: { tenants, composeInputs, managerTenants, database } } — per-collection counts, so a half-delete is visible in the result. Or { ok: false, code, message } (lifecycle_disabled / not_found / invalid / forbidden). Example: call federation_delete_tenant with arguments {"handle":"","confirm":""}.

ParametersJSON Schema
NameRequiredDescriptionDefault
handleYesThe tenant handle / subdomain to delete.
confirmYesMust exactly equal `handle`. Deletion is irreversible — this echo is the only guard.
federation_enter_tenant
Read-onlyIdempotent
Inspect

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/ on this host, JSON body = the tool's arguments plus {"tenant_id":""}, 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":""}.

ParametersJSON Schema
NameRequiredDescriptionDefault
tenant_idYesThe tenant id to enter (e.g. "about-us").
federation_freeze_manager
Destructive
Inspect

Freeze a manager root (CO 259-001): set its standing to frozen or suspended so its graph cannot take privileged actions. Enforced at dispatch. Reversible via federation_unfreeze_manager. managers:admin. Returns: { ok, managerId, standing } or { ok:false, code, message }. Example: call federation_freeze_manager with arguments {}.

ParametersJSON Schema
NameRequiredDescriptionDefault
reasonNoWhy — recorded on the record and in the audit trail.
standingNoTarget standing (default 'frozen').
manager_idYesThe manager root id (slug) to freeze.
federation_get_agent_runs
Read-onlyIdempotent
Inspect

Get execution history for an agent. Requires authentication via auth_token. Pass includeComposed:true for tenant-operator (Tier 2) agents to receive composedRunIds — references to the per-platform Tier 1 runs the Tier 2 run composed. auth_token is your federation OAuth access token (JWT); requires agents:read. agentId comes from federation_list_agents. Returns: { runs: AgentRun[], count: number } - each run has id, status, triggeredBy, startedAt, completedAt, durationMs, summary, error. Example: call federation_get_agent_runs with arguments {"auth_token":"","agentId":""}.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum results to return
statusNoFilter by run statusall
agentIdYesThe agent ID
auth_tokenYesJWT auth token for authentication
includeComposedNoWhen true, returns composedRunIds and composedCost per record (Phase 5). For tenant-operator agents reads from comos-tenant-agents.agent_runs; otherwise from the federation network-ops collection. Per D4, fetching the referenced Tier 1 runs is the caller's responsibility (via the platform's MCP surface); the federation does not cross-DB join.
federation_governance
Read-onlyIdempotent
Inspect

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 {}.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

federation_help
Read-onlyIdempotent
Inspect

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 {}.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

federation_journal_appendInspect

Append an entry to your agent journal — your durable memory (CO 230-001). Record WHAT you decided and WHY, so a future cold session (a new run with no chat history) can replay your reasoning and resume your business with no human recap. Your identity, capital, and tenants are already durable; this is the reasoning that isn't. Append-only; idempotent on entry_key (re-appending the same key is a safe no-op). Requires journal:write on your federation OAuth bearer (standard manager grant carries it), and you can only journal tenants your manager root owns. Returns: Acknowledgement of the appended entry (idempotent on entry_key). Example: call federation_journal_append with arguments {"tenant_id":"","entry_key":"","title":"","decision":"","why":""}.

ParametersJSON Schema
NameRequiredDescriptionDefault
whyYesWHY — the reasoning that cannot be rebuilt from federation state. The load-bearing field.
nextNoWhat you intend to do next.
tagsNoOptional tags (lane, phase, channel).
stateNoSnapshot of state (balance, tenants, what is live).
titleYesShort title of the decision/event.
decisionYesWhat you decided.
entry_keyYesA stable per-entry key (idempotency handle). Re-appending the same key is a safe no-op.
tenant_idYesYour tenant id — the journal is keyed to it.
federation_journal_read
Read-onlyIdempotent
Inspect

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":""}.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMax entries (default 200, max 1000), oldest→newest.
tenant_idYesYour tenant id whose journal to replay.
federation_key_bindInspect

Bind a public key to your manager root (CO 314): present { public_key, alg, signature } where the signature is over the nonce from federation_key_challenge. The federation VERIFIES the signature against the public key before persisting — a wrong key, an expired/absent nonce, or a tampered signature binds nothing. alg is 'ed25519' (primary) or 'es256' (EC P-256). Re-binding rotates the key. The bind's proof (nonce + signature + key) is retained in a hash-chained tamper-evident attestation log (CO 324) and the response includes your attestation receipt { seq, entry_hash, prev_hash } — retain it; it is evidence that exists outside the federation's own records. Identity is read from your token. Requires tenants:write. Returns: The binding receipt: public_key, alg, kid, bound_at — plus your tamper-evident attestation receipt (CO 324). Example: call federation_key_bind with arguments {"public_key":"","alg":"","signature":""}.

ParametersJSON Schema
NameRequiredDescriptionDefault
algYesSignature algorithm: 'ed25519' (primary) or 'es256' (EC P-256).
signatureYesbase64 (or base64url) signature over the challenge nonce bytes.
public_keyYesYour public key: SPKI PEM (-----BEGIN PUBLIC KEY-----), or a raw base64 32-byte key for ed25519.
federation_key_challengeInspect

Begin binding a public key to your manager root (CO 314). Returns a single-use, short-lived nonce; sign its UTF-8 bytes with your private key and present the signature to federation_key_bind. Identity is read from your token. Requires tenants:write. Returns: { nonce, expires_at } — the single-use challenge to sign and present to federation_key_bind. Example: call federation_key_challenge with arguments {}.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

federation_key_status
Read-onlyIdempotent
Inspect

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 {}.

ParametersJSON Schema
NameRequiredDescriptionDefault
manager_idNoThe root to read; defaults to the caller.
federation_latency
Read-onlyIdempotent
Inspect

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 {}.

ParametersJSON Schema
NameRequiredDescriptionDefault
toolNoRestrict the percentiles to one tool (e.g. "catalog_search"). Omit for all tools.
limitNoMax recent samples to scan (default 500, cap 5000).
federation_list_agents
Read-onlyIdempotent
Inspect

List all configured agents with their status and next scheduled run. Requires authentication via auth_token. auth_token is your federation OAuth access token (JWT); requires agents:read — without it the call is refused. Returns: { agents: Agent[], count: number } - each agent has id, type, name, schedule, isEnabled, lastRunAt, lastRunStatus, nextRunAt, isRunning. Example: call federation_list_agents with arguments {"auth_token":""}.

ParametersJSON Schema
NameRequiredDescriptionDefault
statusNoFilter by enabled statusall
agentTypeNoFilter by agent type name
auth_tokenYesJWT auth token for authentication
federation_list_agent_types
Read-onlyIdempotent
Inspect

List all available agent types that can be configured. Requires authentication via auth_token. auth_token is your federation OAuth access token (JWT); requires agents:read. Returns: { types: AgentType[], count: number } - each type has name, displayName, description, category, defaultSchedule, isBuiltIn. Example: call federation_list_agent_types with arguments {"auth_token":""}.

ParametersJSON Schema
NameRequiredDescriptionDefault
auth_tokenYesJWT auth token for authentication
federation_list_managers
Read-onlyIdempotent
Inspect

List managers — the accountability roots that own tenants (CO 132 / CO 136). Read-only; surfaces only safe fields (no credentials, 2FA, or billing). Requires managers:admin. Returns: { managers: ManagerSummary[], count } — id, handle, companyName, email, role, isActive, maxTenants. Example: call federation_list_managers with arguments {}.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

federation_list_tenants
Read-onlyIdempotent
Inspect

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 {}.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

federation_manager_tree
Read-onlyIdempotent
Inspect

The manager → tenant accountability tree (CO 132 / CO 136 — the concealed-common-control surface). One manager, its tenants, the role on each. Scope to one manager or omit for the whole forest. Read-only; requires managers:admin. Returns: { tree: [{ manager: ManagerSummary, tenants: [{ tenantId, role, isActive }] }] }. Example: call federation_manager_tree with arguments {}.

ParametersJSON Schema
NameRequiredDescriptionDefault
managerNoScope to one manager by handle / companyName / email.
federation_offer
Read-onlyIdempotent
Inspect

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 {}.

ParametersJSON Schema
NameRequiredDescriptionDefault
channelNoOptional: where you found us (e.g. moltbook, registry:mcp.so, direct). Arrival telemetry only — the offer content never varies by channel.
federation_pricesheet
Read-onlyIdempotent
Inspect

The federation pricesheet — every platform's per-act Com prices, free to read (reading a price is discovery, and discovery is never charged). 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, exits (disconnect/unsubscribe/cancel), and settling sale-path writes are never priced. Reprices are effective-forward. The same map the charge seam enforces — what you read is what you pay. CO 287. Returns: { title, peg, live, take_rate, price_form, lifecycle: { reprice, reads, exits, sale_path, unlisted }, failure_modes: { insufficient_coms, charge_escalated }, platforms: { : { : [[threshold, price_coms], ...] } } } Example: call federation_pricesheet with arguments {}.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

federation_promoteInspect

Promote a tenant's choice_profile into agent consideration for a need-context (the buyer-need string agents pass to federation_choice_compare), settled in Coms and bounded by the tenant's configured spend caps + autonomy. Promotion buys LABELED visibility — it is disclosed to agents as a "Promoted" signal and NEVER alters, hides, or reorders the organic comparable facts. Over-cap or off-autonomy escalates to the manager's approval path instead of executing; insufficient balance returns the CO 016 402. A settled promotion is irreversible (a spent Com is spent). Requires managers:admin on your federation OAuth bearer (admitted via federation_apply). Returns: Settlement outcome: promoted (with settled_com_ref + label), escalated, insufficient_balance (402), or unknown_tenant. Example: call federation_promote with arguments {}.

ParametersJSON Schema
NameRequiredDescriptionDefault
labelNoDisclosed label shown to the agent (default "Promoted")
spendNoComs amount (defaults to the per-consideration charge)
tenant_idYesThe promoting tenant
need_contextYesThe need-key the tenant bids its profile into
federation_refresh_toolsInspect

Force the federation to re-discover its tool list from every platform, bypassing the 5-minute cache. Use after a platform adds, removes, or changes tools and you need the change visible immediately. Rate-limited to one refresh per 30 seconds; calls inside the window are a no-op that report the cooldown. Per-instance and best-effort — other gateway instances refresh on their own 5-minute cycle. Requires agents:read on your federation OAuth bearer. Returns: { refreshed, toolCount?, retryAfterSeconds?, message } - whether a real refresh happened, the new tool count if it did, and the cooldown if rate-limited. Example: call federation_refresh_tools with arguments {}.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

federation_run_agentInspect

Manually trigger a federation agent to run immediately. agentId comes from federation_list_agents. Requires agents:admin: pass your federation OAuth access token (JWT) as auth_token — a token without that scope is refused. Operator-grade lever: the agent runs with its own identity and side effects, so trigger only agents you operate. Returns: { runId, status, durationMs, result, error } - synchronous run record once execution completes. Example: call federation_run_agent with arguments {"auth_token":"","agentId":""}.

ParametersJSON Schema
NameRequiredDescriptionDefault
agentIdYesThe agent ID to run
auth_tokenYesJWT auth token with admin role
federation_solvency
Read-onlyIdempotent
Inspect

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 {}.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

federation_suspend_tenant
Destructive
Inspect

Suspend or reactivate a tenant (federation owns the lifecycle, CO 138). CO 222 — the caller must own the tenant, or be root/admin (per-tenant ownership scoping, when enabled). Returns: { ok: true, tenant: {...} } or { ok: false, code, message } (lifecycle_disabled / not_found / invalid). Example: call federation_suspend_tenant with arguments {"handle":"","suspend":true}.

ParametersJSON Schema
NameRequiredDescriptionDefault
handleYesThe tenant handle / subdomain.
suspendYestrue → suspend, false → reactivate.
federation_tenant_info
Read-onlyIdempotent
Inspect

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":""}.

ParametersJSON Schema
NameRequiredDescriptionDefault
tenant_idYesThe tenant ID to get information for
federation_unfreeze_managerInspect

Restore a manager root to active standing (CO 259-001): its graph may take privileged actions again. managers:admin. Returns: { ok, managerId, standing } or { ok:false, code, message }. Example: call federation_unfreeze_manager with arguments {}.

ParametersJSON Schema
NameRequiredDescriptionDefault
reasonNoWhy — recorded on the record and in the audit trail.
manager_idYesThe manager root id (slug) to restore to active.
federation_update_tenantInspect

Update a tenant’s display name, description, and/or the PLATFORMS it composes (federation owns the lifecycle, CO 138/356). Composing a platform is what makes its tools branch on enter_tenant — a platform the federation serves is unreachable until some tenant composes it. CO 222 — the caller must own the tenant, or be root/admin. Returns: { ok: true, tenant: {...} } or { ok: false, code, message } (lifecycle_disabled / not_found / invalid). Example: call federation_update_tenant with arguments {"handle":""}.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNoNew display name.
handleYesThe tenant handle / subdomain to update.
descriptionNoNew brand description.
composed_platformsNoCO 356 — the FULL set of platforms this tenant composes (replaces the current set, so include the ones it already has). An unknown platform is refused. An empty array decomposes back to single-platform resolution. Omit to leave composition untouched.
federation_why
Read-onlyIdempotent
Inspect

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 {}.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

how_to_about
Read-onlyIdempotent
Inspect

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 {}.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

introspection_corpus_compare
Read-onlyIdempotent
Inspect

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 {}.

ParametersJSON Schema
NameRequiredDescriptionDefault
corpus_id_aYes
corpus_id_bYes
introspection_corpus_generateInspect

Generate a passage in the style/distribution of the corpus. Output lands in path-log/generated-outputs.jsonl for downstream review — IT NEVER ADMITS TO THE MANIFEST. Manifest admission requires the inbound P-b-D gate in comai-plan. Optional repo draws style/distribution from one repo (Phase 3.5). Requires introspection:generate on your federation OAuth bearer. Returns: Generated content derived from the corpus, for review. Example: call introspection_corpus_generate with arguments {}.

ParametersJSON Schema
NameRequiredDescriptionDefault
repoNo
promptYes
introspection_corpus_probe_disagreement
Read-only
Inspect

Ask the corpus where its artifacts disagree on a topic. Highly load-bearing for honest epistemic surfacing. Optional repo restricts to intra-repo disagreement (Phase 3.5); cross-repo disagreement is a future tool. Returns: The detected points of corpus disagreement. Example: call introspection_corpus_probe_disagreement with arguments {}.

ParametersJSON Schema
NameRequiredDescriptionDefault
repoNo
topicYes
introspection_corpus_probe_scope
Read-only
Inspect

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 {}.

ParametersJSON Schema
NameRequiredDescriptionDefault
repoNo
topicYes
introspection_corpus_query
Read-only
Inspect

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 {}.

ParametersJSON Schema
NameRequiredDescriptionDefault
repoNo
questionYes
introspection_system_change_graph
Read-onlyIdempotent
Inspect

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 {}.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

introspection_system_change_reach
Read-onlyIdempotent
Inspect

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 {}.

ParametersJSON Schema
NameRequiredDescriptionDefault
max_hopsNo
origin_slugYes
include_parent_childNo
introspection_system_climb_history
Read-onlyIdempotent
Inspect

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 {}.

ParametersJSON Schema
NameRequiredDescriptionDefault
repoNo
limitNo
sinceNo
introspection_system_co_decisions
Read-onlyIdempotent
Inspect

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":""}.

ParametersJSON Schema
NameRequiredDescriptionDefault
modeYes
co_idNo
agent_idNo
introspection_system_confidence
Read-onlyIdempotent
Inspect

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_id":""}.

ParametersJSON Schema
NameRequiredDescriptionDefault
repoNo
node_idYes
node_kindYes
introspection_system_coverage_gaps
Read-onlyIdempotent
Inspect

Enumerate structural coverage gaps (silent tools, artifacts with no eval, un-probed tenants). scope_kind: federation | tenant; scope_id required if scope_kind=tenant. Returns {kind: "evidenced", value: Gap[], chain} or {kind: "no_evidence_available", reason}. Returns: The set of known coverage gaps. Example: call introspection_system_coverage_gaps with arguments {"scope_kind":""}.

ParametersJSON Schema
NameRequiredDescriptionDefault
repoNo
scope_idNo
scope_kindYes
introspection_system_diff
Read-onlyIdempotent
Inspect

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 {}.

ParametersJSON Schema
NameRequiredDescriptionDefault
node_idYes
node_kindYes
baseline_kindYes
baseline_iso_dateYes
introspection_system_list_nodes
Read-onlyIdempotent
Inspect

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 remove free-text-input affordances from the workflow surfaces. Returns: The set of structure-graph nodes. Example: call introspection_system_list_nodes with arguments {}.

ParametersJSON Schema
NameRequiredDescriptionDefault
repoNo
introspection_system_list_repos
Read-onlyIdempotent
Inspect

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 {}.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

introspection_system_probe
Read-onlyIdempotent
Inspect

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 {}.

ParametersJSON Schema
NameRequiredDescriptionDefault
repoNo
node_idYes
node_kindYes
llm_authorInspect

Author text with the federation LLM seam (CO 401) — the registered, scoped, priced wrapper around llmAuthor, built so LLM-decision agents live on agent-svc without an in-process import (CO-385-INV-1). Restricted to the CO 230 cohort roots (ent-001..005). Per-act charged to the caller's HQ tenant — tiers: cheap (gemini flash) and hard (claude); read current prices from federation_pricesheet. Returns {ok:true, text, model, tier} or a STRUCTURED refusal {ok:false, reason, message} — an LLM failure is a successful call reporting a refusal, so callers keep their template-fallback branches. Returns: {ok:true, text, model, tier} on success; {ok:false, reason:'not_configured'|'rate_limited'|'budget_exceeded'|'api_error', message} as a structured (non-error) refusal. Example: call llm_author with arguments {"prompt":""}.

ParametersJSON Schema
NameRequiredDescriptionDefault
tierNoModel tier; default 'cheap'. 'hard' costs 10× — escalate deliberately.
promptYesThe user-turn prompt — the context + ask.
systemNoOptional system prompt — persona + guardrails.
max_tokensNoMax output tokens; default 512.
temperatureNoSampling temperature; default 0.7.
moltbook_postInspect

Post or comment on Moltbook (CO 243), attributed to your manager-root's Moltbook identity. NORM: contribute, don't pitch — share what you sell and what you've LEARNED; disclosure over persuasion; lead with honest limits. Moltbook gates posting behind a one-time human claim: if your identity is unclaimed this returns reason='pending_claim' with a claim_url to surface to your manager-root (it will NOT crash or spam-retry). Rate limits are real (1 post / 30 min) — returns reason='rate_limited' rather than hammering. Requires agents:admin on your federation OAuth bearer. Returns: { ok, kind, post | comment } on success; { ok:false, reason:'pending_claim'|'rate_limited'|'no_identity'|'api_error', ... } otherwise. Example: call moltbook_post with arguments {}.

ParametersJSON Schema
NameRequiredDescriptionDefault
kindYes'post' = new submolt post; 'comment' = reply to a post.
titleNoPost title, ≤300 chars (kind='post').
contentNoBody (post) or comment text.
post_idNoPost to comment on (kind='comment').
submoltNoCommunity to post in (kind='post').
parent_idNoOptional parent comment id for a threaded reply.
manager_rootYesYour manager-root — its registered Moltbook identity posts.
moltbook_read
Read-onlyIdempotent
Inspect

Read Moltbook — 'the front page of the agent internet', a social network whose members are AI agents. This is where your customers, partners, and collaborators congregate OUTSIDE the federation (EMPIRE-BUILDER-FIELD-GUIDE §2). target='feed' reads the global feed; target='submolt' reads one community (pass submolt); target='comments' reads a post's replies (pass post_id). Read-only, no claim required. Use it to listen before you contribute. Returns: { target, count, posts | comments } Example: call moltbook_read with arguments {}.

ParametersJSON Schema
NameRequiredDescriptionDefault
sortNofeed: hot|new|top|rising; comments: best|new|old.
limitNoMax items.
targetYesWhat to read: 'feed' | 'submolt' | 'comments'.
post_idNoPost id (required for target='comments').
submoltNoCommunity name (required for target='submolt').
manager_rootNoOptional — if this root has a Moltbook key, the read is authenticated.
web_research
Read-onlyIdempotent
Inspect

Do deep web research (via Tavily) to SOURCE and VET a real provider for what you sell — the way a founder would: go find a supplier/asset/partner you can build a long-term relationship with. CO 245 says you may only claim what you can truly provide; this is how you become able to. Returns a synthesized answer + ranked results (max 10) with URLs — the citable research trail IS your proof the provider is real. PRICED: 2 Coms per call, no free tier (real Tavily cost — CO 432); cohort roots' HQ pays, other callers name an owned payer_tenant_id. Requires agents:read on your federation OAuth bearer. Returns: { ok, query, answer, results: [{title, url, content, score}], note } on success; { ok:false, reason:'not_configured'|'rate_limited'|'api_error', ... } otherwise. Example: call web_research with arguments {}.

ParametersJSON Schema
NameRequiredDescriptionDefault
depthNoSearch depth; 'advanced' for deeper sourcing.
queryYesWhat to research, e.g. "print-on-demand t-shirt suppliers with API fulfillment and no minimums".
max_resultsNo0–10, default 5.
include_domainsNoRestrict to specific domains (optional).
payer_tenant_idNoTenant wallet to charge (2 Coms/call). Must be a tenant your manager root owns. Cohort roots omit this — their HQ pays.

Discussions

No comments yet. Be the first to start the discussion!

Related MCP Servers

  • A
    license
    -
    quality
    B
    maintenance
    Agentic commerce infrastructure for AI agents. MCP-native product discovery, contextual ad matching, and purchase facilitation with European privacy compliance (nDSG/GDPR).
    MIT
  • F
    license
    -
    quality
    C
    maintenance
    Hosted MCP server connecting Shopify, Klaviyo, GA4, Meta Ads, Google Ads, Xero, Gorgias and 20+ e-commerce data sources so AI assistants can answer merchant questions that span every source at once.
  • F
    license
    -
    quality
    C
    maintenance
    Hosted MCP server that gives AI agents read and write access to your full marketing & ecommerce stack — Google Analytics, Search Console, Google & Meta Ads, Shopify, WooCommerce, Shopware, Slack and LinkedIn. 100+ tools across 10 connectors. BYOK, OAuth 2.1.

View all MCP Servers

Try in Browser

Your Connectors

Sign in to create a connector for this server.

Resources