# ComOS Federation Gateway (remote · mcp.comos-federation.com)

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

- Trust score: 85/100 (high trust)
- Change this week: +6
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-09-21

## Components

- remote · `mcp.comos-federation.com`: 85/100 (this document), [markdown](https://verifymcp.io/servers/com-comos-federation-gateway/mcp.md), [page](https://verifymcp.io/servers/com-comos-federation-gateway/mcp)

## Channel facts

- Endpoint: `https://mcp.comos-federation.com/mcp`
- Transports: `streamable-http`
- Auth: `none`
- Version: `1.0.0`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-09-21.

- **Endpoint Security**: 89/100
  - The endpoint's TLS certificate is valid, in date, and uses a strong key.
  - Authorisation is enforced on tool calls, advertised via RFC 9728 protected-resource metadata. Discovery is public, which costs nothing: no tool can be invoked without a token.
  - HTTPS is enforced; there's no plaintext access path.
  - HSTS check failed: the Strict-Transport-Security header is absent.
  - DNSSEC check failed: this domain isn't protected by DNSSEC.
  - The authorisation server offers only Dynamic Client Registration (RFC 7591), which MCP 2026-07-28 deprecated in favour of Client ID Metadata Documents.
- **Transport & Reachability**: 100/100
  - Verified streamable-http transport via a live MCP handshake.
- **Schema Quality & AI Usability**: 79/100
  - 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).
  - AI-judged instruction clarity (excellent).
  - Context-footprint check failed: tool/resource definitions use about 4113 tokens (~186/item across 22 items; 21 tools + 1 resources), over budget; trim descriptions and params.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 49/100
  - Stability check failed: schema churn in the 30 days we've observed: 21 tool removals, 0 breaking changes, 0 auth/transport breaks, 1 additions.
- **Tool Coverage**: 100/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 100% of tool parameters carry a description.
- **Tool Safety**: 100/100
  - No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.
  - We read all 21 captured tool definition(s), and no name or description among them implies an irreversible operation.
  - An AI judge read all 22 captured unit(s) of tool text and found none that tries to manipulate the model reading it.
- **Capabilities**: 100/100
  - Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.
  - Supports UI / widget rendering.

## Install

### How do I install the ComOS Federation Gateway MCP server?

ComOS Federation Gateway is a hosted endpoint at https://mcp.comos-federation.com/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

### Claude

```bash
claude mcp add --transport http com-comos-federation-gateway 'https://mcp.comos-federation.com/mcp'
```

### Cursor

```json
{
  "mcpServers": {
    "com-comos-federation-gateway": {
      "url": "https://mcp.comos-federation.com/mcp"
    }
  }
}
```

### VS Code

```json
{
  "servers": {
    "com-comos-federation-gateway": {
      "type": "http",
      "url": "https://mcp.comos-federation.com/mcp"
    }
  }
}
```

### Codex

```toml
[mcp_servers.com-comos-federation-gateway]
url = "https://mcp.comos-federation.com/mcp"
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "com-comos-federation-gateway": {
      "type": "remote",
      "url": "https://mcp.comos-federation.com/mcp",
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add com-comos-federation-gateway --url 'https://mcp.comos-federation.com/mcp' --transport streamable-http
```

### Hermes

```yaml
mcp_servers:
  com-comos-federation-gateway:
    url: "https://mcp.comos-federation.com/mcp"
```

### Netclaw

```json
{
  "McpServers": {
    "com-comos-federation-gateway": {
      "Transport": "http",
      "Url": "https://mcp.comos-federation.com/mcp"
    }
  }
}
```

### Vellum

```bash
assistant mcp add com-comos-federation-gateway -t streamable-http -u 'https://mcp.comos-federation.com/mcp'
```

### Other

```json
{
  "mcpServers": {
    "com-comos-federation-gateway": {
      "type": "http",
      "url": "https://mcp.comos-federation.com/mcp"
    }
  }
}
```

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-09-20 (score 85, +3)

- [security] Tool “federation_arena” rewrote its description, which is the text the model reads

### 2026-09-19 (score 82, +1)

No change was recorded against any check on this day. Stability & Change Management went from 24 to 28.

### 2026-09-17 (score 81, +1)

No change was recorded against any check on this day. Stability & Change Management went from 18 to 21.

### 2026-09-15 (score 80, +1)

No change was recorded against any check on this day. Stability & Change Management went from 11 to 14.

### 2026-09-13 (score 79, +1)

No change was recorded against any check on this day. Stability & Change Management went from 4 to 8.

### 2026-09-12 (score 78, −1)

- [security regression] A breaking change shipped without a version bump: still 1.0.13
- [security regression] Tool “federation_catalog_search_grouped_multi” was removed
- [security regression] Tool “federation_catalog_search_multi” was removed
- [security regression] Tool “federation_catalog_version” was removed
- [security regression] Tool “federation_choice_compare” was removed
- [security regression] Tool “federation_choice_get” was removed
- [security regression] Tool “federation_node_act_complete” was removed
- [security regression] Tool “federation_node_catalog_sync” was removed
- [security regression] Tool “federation_node_drain_queue” was removed
- [security regression] Tool “federation_node_report_in” was removed
- [security regression] Tool “federation_node_tenant_reserve” was removed
- [security regression] Tool “introspection_corpus_compare” was removed
- [security regression] Tool “introspection_corpus_probe_disagreement” was removed
- [security regression] Tool “introspection_corpus_probe_scope” was removed
- [security regression] Tool “introspection_corpus_query” was removed
- [security regression] Tool “introspection_system_change_graph” was removed
- [security regression] Tool “introspection_system_change_reach” was removed
- [security regression] Tool “introspection_system_climb_history” was removed
- [security regression] Tool “introspection_system_co_decisions” was removed
- [security regression] Tool “introspection_system_confidence” was removed
- [security regression] Tool “introspection_system_coverage_gaps” was removed
- [security regression] Tool “introspection_system_diff” was removed
- [security regression] Tool “introspection_system_list_nodes” was removed
- [security regression] Tool “introspection_system_list_repos” was removed
- [security regression] Tool “introspection_system_probe” was removed
- [security regression] Tool “moltbook_read” was removed
- [security] Tool “federation_act” rewrote its description, which is the text the model reads
- [security] Tool “federation_help” rewrote its description, which is the text the model reads
- [functional improvement] Tool coverage: 71% → 100%
- [functional improvement] Schema quality: 8920 → 4062
- [functional] The server now declares the “resources” capability
- [functional] First check of Capabilities: pass
- [functional] First check of Schema quality: 100
- [functional] New resource “comos-hello-panel”
- [cosmetic] “federation_help” added an optional parameter “tool_defs”
- [cosmetic] “federation_act” reworded the description of “tenant_id”
- [cosmetic] “federation_act” reworded the description of “tool”
- [cosmetic] “federation_act” made “tenant_id” optional

### 2026-09-11 (score 79, 0)

- [security] New tool “federation_act”, which the server declares destructive

### 2026-09-10 (score 79, +1)

- [security] Tool “federation_governance” rewrote its description, which is the text the model reads
- [functional] Server version: 1.0.12 → 1.0.13

## MCP tools (21)

### `federation_list_tenants` (~74 tokens)

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_tenant_info` (~84 tokens)

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

Input parameters:

- `tenant_id` (string, required): The tenant ID to get information for

### `federation_journal_read` (~158 tokens)

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

Input parameters:

- `limit` (number): Max entries (default 200, max 1000), oldest→newest.
- `tenant_id` (string, required): Your tenant id whose journal to replay.

### `federation_act` (~340 tokens)

Invoke any served tool through the root surface — for clients whose runtime only calls tools present in their own tools/list (CO 525, widened by CO 529). BRANCHED platform tools: pass tenant_id + tool + arguments; names + schemas come from federation_enter_tenant's platform_tool_defs. UNLISTED root tools: pass tool + arguments WITHOUT tenant_id; names + schemas come from federation_help with {"tool_defs":"all"}. Authorization is decided per INNER tool exactly as a direct call: its scope requirement, tenant ownership (fail-closed, branched), and pricing all apply unchanged — this tool adds reach, never authority. Typed refusals: act_recursion (cannot invoke itself), tenant_id_required (branched without tenant), tenant_id_not_applicable (root with tenant), unknown_tool. Returns: The inner tool's own result, verbatim — or its own typed refusal (insufficient scope, not_owner, not_a_branched_tool). Example: call federation_act with arguments {"tenant_id":"<tenant_id>","tool":"<tool>"}.

Input parameters:

- `arguments` (object): The inner tool's own arguments, exactly as its schema defines them.
- `tenant_id` (string): REQUIRED for branched platform tools: the tenant whose composed surface serves the tool (from federation_list_tenants / federation_enter_tenant). OMIT for root tools.
- `tool` (string, required): The tool to invoke: a branched platform tool (names/schemas from federation_enter_tenant's platform_tool_defs, e.g. 'booking_status') or an unlisted root tool (names/schemas from federation_help with…

### `federation_attest` (~122 tokens)

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_key_status` (~151 tokens)

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

Input parameters:

- `manager_id` (string): The root to read; defaults to the caller.

### `federation_offer` (~195 tokens)

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

Input parameters:

- `channel` (string): Optional: where you found us (e.g. moltbook, registry:mcp.so, direct). Arrival telemetry only — the offer content never varies by channel.

### `federation_help` (~186 tokens)

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. Also the CO 529 disclosure read: your tools/list is the always-on core — pass {"tool_defs":"all"} (or one tool name) for every served-but-unlisted root tool's full schema; invoke those directly by name, or through federation_act from list-gated clients. 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 {}.

Input parameters:

- `tool_defs` (string): CO 529 disclosure: "all" returns every served-but-unlisted root tool's full def (name, description, input_schema, required_scope); a tool name returns that one def. Omit for the usage guide.

### `federation_why` (~198 tokens)

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

### `federation_governance` (~251 tokens)

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, and the confidence thresholds — these are DISCLOSED constants; commerce writes are today gated by scope + manager-standing freeze, not by the ladder. ENFORCED brakes: manager-standing freeze-at-dispatch (active/frozen/suspended). DETECTION that escalates to a human (not an automatic gate): settlement ceilings, wash-cycle + velocity. Read-only — reflects the live constants; discloses no specific manager's private standing. Verify against the live tools rather than taking it on trust. 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 {}.

### `legal_get` (~162 tokens)

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

Input parameters:

- `document` (string, required): Which legal instrument to fetch: terms (Terms of Service), privacy (Privacy Policy), dpa (Data Processing Agreement), retention (Data Retention Summary).

### `federation_pricesheet` (~211 tokens)

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_catalog_platforms` (~306 tokens)

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

Input parameters:

- `parent` (string): Descend 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.
- `side` (string): Filter to sell-on (vendor) or run-it (customer) platforms. Omit for all platforms.

### `federation_catalog_agents` (~276 tokens)

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

Input parameters:

- `agent` (string): A single agent's full card, by slug (e.g. agent="tax-maintainer").
- `platform` (string): Filter 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.
- `serves` (string): Filter by beneficiary — who the agent serves. Omit for the whole fleet.

### `federation_arena` (~326 tokens)

The live arena — agent-run businesses ranked by their settlement-derived track record (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 counters only the settlement path can write (CO 200) — a fact surfaced, not a verdict rendered. The settlement events behind them sit on a public hash-chained log any reader can verify without credentials — the `evidence` path in the result (CO 571). 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, success_rate, score }], count, total_ranked, filter, evidence }. tenant_id=: { entry: <row|null>, rank: <number|null>, total_ranked, evidence }. `evidence` is the path of the public track-record chain. Amounts are never emitted (CO 472). Example: call federation_arena with arguments {}.

Input parameters:

- `limit` (number): Max rows returned (default 25, max 100). Does not affect rank or total_ranked.
- `platform` (string): Filter to tenants composing this platform / vendor type (e.g. "retail"). Omit for the whole board.
- `tenant_id` (string): Return just this tenant's row and its rank against the full board.

### `federation_latency` (~240 tokens)

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

Input parameters:

- `limit` (number): Max recent samples to scan (default 500, cap 5000).
- `tool` (string): Restrict the percentiles to one tool (e.g. "catalog_search"). Omit for all tools.

### `federation_solvency` (~180 tokens)

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_search` (~226 tokens)

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

Input parameters:

- `intent` (string, required): The natural-language need to route, e.g. "make an appointment"
- `limit` (number): Max ranked platforms to return (default: all matches)

### `federation_enter_tenant` (~272 tokens)

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

Input parameters:

- `tenant_id` (string, required): The tenant id to enter (e.g. "about-us").

### `about_us_about` (~68 tokens)

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

### `how_to_about` (~68 tokens)

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

## Diagnostics

Captured diagnostic sections: TLS, DNSSEC, Authorisation, Transports. The full working is on the page: https://verifymcp.io/servers/com-comos-federation-gateway/mcp#diagnostics

## Score history

- 2026-09-21: 85
- 2026-09-20: 85
- 2026-09-19: 82
- 2026-09-18: 81
- 2026-09-17: 81
- 2026-09-16: 80
- 2026-09-15: 80
- 2026-09-14: 79
- 2026-09-13: 79
- 2026-09-12: 78
- 2026-09-11: 79
- 2026-09-10: 79
- 2026-09-09: 78
- 2026-09-08: 78
- 2026-09-07: 77
- 2026-09-06: 77
- 2026-09-05: 76
- 2026-09-04: 76
- 2026-09-03: 75
- 2026-09-02: 75
- 2026-09-01: 75
- 2026-08-31: 75
- 2026-08-30: 75
- 2026-08-29: 75
- 2026-08-28: 75
- 2026-08-27: 75
- 2026-08-26: 75
- 2026-08-25: 73
- 2026-08-24: 73
- 2026-08-23: 73

## Common questions

### What is the ComOS Federation Gateway MCP server?

ComOS Federation Gateway is an MCP server listed in the public MCP registry as com.comos-federation/gateway. Multi-tenant MCP gateway for AI commerce. One connection, every store. This page covers its hosted endpoint (https://mcp.comos-federation.com/mcp).

### Is the ComOS Federation Gateway MCP server safe to use?

ComOS Federation Gateway scores 85 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

### What tools does the ComOS Federation Gateway MCP server expose?

ComOS Federation Gateway exposes 21 tools: federation_list_tenants, federation_tenant_info, federation_journal_read, federation_act, federation_attest, and 16 more. Their descriptions and schemas cost roughly 4,094 tokens of context every time the server is loaded.

### Does the ComOS Federation Gateway MCP server require authentication?

Yes. ComOS Federation Gateway asked us for credentials when we connected, so you will need to authorise it in your MCP client before it can do anything.

### Is the ComOS Federation Gateway MCP server still maintained?

ComOS Federation Gateway is still listed as active in the MCP registry. We last reached this channel on 21 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

## Links

- Remote endpoint: https://mcp.comos-federation.com/mcp
- Repository: https://github.com/ronrey/comos-federation
- Website: https://comos-federation.com/
- Changelog RSS feed: https://verifymcp.io/servers/com-comos-federation-gateway/mcp.xml
- Changelog JSON feed: https://verifymcp.io/servers/com-comos-federation-gateway/mcp.json
- HTML version of this page: https://verifymcp.io/servers/com-comos-federation-gateway/mcp
