Bring Your AI
Server Details
No-data MCP handoff for local Claude Code to Codex harness moves. $49 lifetime.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
Available Tools
7 toolsinstall_local_cliAInspect
Return no-data local install and MCP wiring commands. The remote server does not install anything and does not receive harness data.
| Name | Required | Description | Default |
|---|---|---|---|
| target_agent | No | Optional: claude-code or codex. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It discloses that the tool only returns commands, does not install anything remotely, and does not receive harness data. This is valuable non-obvious behavior. It could go further by explicitly stating the tool does not execute the commands, but 'return commands' strongly implies that.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the core purpose, then a clarifying negative. Every word earns its place; no fluff or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple command-return tool with no output schema and no annotations, the description covers the essential context: what it returns, that it's local-only, and that it avoids data sharing. It could explain what 'MCP wiring commands' means for users unfamiliar with the domain, but this is a minor gap given the tool's simplicity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% (the optional target_agent is fully described in the schema). According to the rubric, this sets a baseline of 3. The description does not add any additional parameter information, which is acceptable given the schema covers it completely.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Return no-data local install and MCP wiring commands.' This is specific (verb+resource) and distinguishes it from siblings like list_products and start_checkout. The additional clarifying sentence about the remote server not installing anything reinforces the scope.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear context for when to use the tool: for local install and MCP wiring, and explicitly states what it does NOT do (remote install, data transfer). However, it does not name an alternative tool for remote install scenarios, unlike the high-watermark example, so it stops short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_productsAInspect
List agent-readable Bring Your AI products and supported payment modes. No harness data is accepted.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden for behavioral disclosure. The verb 'List' correctly implies a non-mutating read operation, and 'No harness data is accepted' clarifies an input constraint. However, it does not describe the return format or whether any authentication/rate limits apply, leaving some behavioral ambiguity.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is only two sentences, front-loaded with the primary action and then a clarifying constraint. There is no fluff or redundant information; every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple no-parameter tool, the description covers the key aspects: what is listed (products and payment modes) and an important constraint (no harness data). It does not explicitly state the return format, but the verb 'List' implies the output is a listing. Given the low complexity, this is nearly complete, though a tiny bit more detail about output would make it fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With zero parameters, the baseline is 4. The description adds the note 'No harness data is accepted,' which reinforces the absence of parameters and clarifies that no input is expected. This adds a small semantic touch beyond the empty schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose with a specific verb ('List') and resource ('agent-readable Bring Your AI products and supported payment modes'). It distinguishes itself from siblings like list_targets by focusing on products rather than targets, and the qualifier 'agent-readable' adds useful scope.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies a clear use case: when you need to see available products and payment modes. However, it does not explicitly mention when NOT to use it or name alternative tools like list_targets, so the guidance is implicit rather than explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_targetsAInspect
List Bring Your AI target tools. No harness data is accepted or returned.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the burden of behavioral disclosure. It adds a useful constraint: 'No harness data is accepted or returned,' clarifying the tool's scope. However, it doesn't explicitly state read-only behavior or return format, though 'List' strongly implies read-only.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two short sentences, front-loaded with the action and resource. The second sentence adds a significant constraint without redundancy. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (zero parameters, no output schema), the description is mostly complete: it states the purpose and a key behavioral limitation. However, it doesn't describe the return value's format or structure, which could be useful since there is no output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the baseline is 4. There is no parameter information to add beyond the schema, which is fully described as empty. The description doesn't need to compensate for missing parameter details.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('List') and a specific resource ('Bring Your AI target tools'), clearly distinguishing it from sibling tools like list_products. It is unambiguous about what the tool does.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit guidance on when to use this tool versus alternatives such as list_products. The sentence 'No harness data is accepted or returned' is a constraint, not usage guidance. The intended use is only implied by the name and description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
preview_build_setupAInspect
Free no-data preview for building a user's first setup in any of the 13 supported tools. Does not accept GitHub handles, generated memories, mappings, or file content.
| Name | Required | Description | Default |
|---|---|---|---|
| to | Yes | Target tool id, e.g. claude-code, codex, cursor. Use list_targets for the full matrix. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden. It discloses that the preview is 'no-data' and 'free', and lists excluded input types (GitHub handles, generated memories, mappings, file content). However, it does not describe side effects, return format, or safety profile (e.g., read-only nature), leaving gaps for the agent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the main purpose. The second sentence lists constraints succinctly without fluff. Every word contributes to clarity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter tool, the description covers main purpose and constraints, but lacks details on what the preview returns or how it differs from preview_move. Since there is no output schema, the agent is left without expectations for the result. It is adequate but not fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already covers the 'to' parameter with examples. The description adds value by mentioning '13 supported tools' and directing the agent to 'Use list_targets for the full matrix', which enriches the parameter semantics beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: a free preview for building a user's first setup across 13 supported tools. It distinguishes itself from sibling preview_move by specifying 'first setup', though it does not explicitly compare with that sibling.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It implies usage for previewing a first setup and mentions what inputs are not accepted, but does not explicitly state when to use this tool over alternatives like preview_move or start_checkout. The 'does not accept' clause gives some constraint guidance but not a clear when-to-use vs when-not-to-use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
preview_moveAInspect
Free no-data preview for moving a harness between any two of the 13 supported tools (Claude Code, Cursor, Codex, OpenClaw, Aider, Continue, Cline, Goose, Zed, Roo Code, ChatGPT, Claude.ai, Copilot). Returns feasibility copy only. Does not accept or return mappings, file paths, generated content, or validation notes.
| Name | Required | Description | Default |
|---|---|---|---|
| to | Yes | Target tool id, e.g. codex, cursor, claude-code, copilot. Use list_targets for the full matrix. | |
| from | Yes | Source tool id, e.g. claude-code, cursor, codex, openclaw, aider, continue, cline, goose, zed, roo, chatgpt, claude-ai. Use list_targets for the full matrix. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the disclosure burden. It transparently states it 'Returns feasibility copy only' and 'Does not accept or return mappings, file paths, generated content, or validation notes', which clarifies its limited behavior. It also says 'no-data', implying no data is transmitted, but does not mention side effects or authentication, so it is not a perfect 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the core purpose ('Free no-data preview for moving a harness') and remains concise across three sentences. Every sentence adds value: the tool list, the return type, and the explicit exclusions. There is no fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple two-parameter tool with no output schema and no annotations, the description is quite complete: it explains what it does, what it returns (feasibility copy), and what it does not handle. It could be slightly more explicit about the nature of 'feasibility copy', but overall it is sufficient for an agent to decide on usage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with both parameters (from, to) described, so the baseline is 3. The description lists the supported tool names, but this repeats the examples already present in the schema descriptions. It adds no additional parameter semantics beyond what the schema provides, so no score above baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool provides a 'Free no-data preview for moving a harness between any two of the 13 supported tools', using a specific verb ('preview') and resource ('moving a harness'). It lists the exact tools, distinguishing it from sibling tools like preview_build_setup, which focuses on build setup.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear context: it is for previewing a move without data, and it explicitly states what it does not accept or return (mappings, file paths, etc.), which serves as a 'when-not' guideline. However, it does not name alternative tools for related tasks (e.g., list_targets for the full matrix), falling short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
quote_lifetime_licenseAInspect
Quote a Bring Your AI lifetime license or Team Migration Pack in USD. The team pack includes one guided migration and onboarding for up to 10 people plus lifetime licenses.
| Name | Required | Description | Default |
|---|---|---|---|
| locale | No | Optional BCP 47 locale. | |
| currency | No | Optional requested currency. Only USD is currently supported. | |
| product_id | No | Optional product id. Defaults to bringyour_founder_lifetime. | |
| buyer_country | No | Optional ISO country code. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the action is to quote, which suggests a read-only pricing operation, but it does not disclose whether any side effects occur, whether a purchase is initiated, what the response contains, or whether authentication or rate limits apply. The team pack explanation adds product context but not behavioral insight.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two concise sentences with no filler. The core action is front-loaded, and the second sentence provides necessary product detail without repeating schema information. Every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has four optional parameters and no output schema, so the description should at least indicate what a quote contains or that the call is non-committal. It does not describe the return shape or any follow-up steps. However, the operation is relatively simple and the description defines the scope well enough for basic invocation, making it adequate but with clear gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all four optional parameters. The description adds context about the Team Migration Pack, which helps map product_id to the intended product, and it restates the USD currency constraint. However, it does not add meaning for locale or buyer_country beyond what the schema already provides, so the baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Quote'), a specific resource ('Bring Your AI lifetime license or Team Migration Pack'), and a specific currency ('USD'). It also clarifies what the Team Migration Pack includes, which distinguishes it from other products. This clear action-resource pairing differentiates it from sibling tools like start_checkout or list_products.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool is used when a quote for a lifetime license or team migration pack is needed, but it never explicitly states when to use it versus alternatives such as start_checkout or list_products. No exclusions or prerequisites are mentioned, so an agent must infer the appropriate context solely from the verb 'Quote'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
start_checkoutAInspect
Start checkout. With payment_mode=stripe_spt plus shared_payment_granted_token and buyer_email, settles a Stripe PaymentIntent and returns the signed license without opening a browser.
| Name | Required | Description | Default |
|---|---|---|---|
| No | Alias for buyer_email. | ||
| product_id | No | Optional product id. Defaults to bringyour_founder_lifetime. | |
| buyer_email | No | Email bound to the issued license. Required for stripe_spt settlement. | |
| payment_mode | No | stripe_payment_link, stripe_link, link, stripe_checkout, stripe_acp, stripe_spt, or x402. | |
| shared_payment_granted_token | No | Link-issued Stripe shared payment token. Required for stripe_spt settlement. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses the key behavior for the stripe_spt path: it settles a PaymentIntent, returns a signed license, and does not open a browser. However, it does not explain side effects for other payment modes, permissions, idempotency, failure behavior, or whether browser redirection occurs for non-SPT modes, which is significant for a payment tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences with no filler. The first sentence names the action, and the second provides a specific mode detail. Every sentence earns its place and the most important clarifying behavior is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite full schema coverage, the description is incomplete for a checkout tool with multiple payment modes. It only explains the stripe_spt special case and does not describe behavior for other modes, generic return values, error conditions, or whether a browser is normally opened. There is no output schema or annotations to compensate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description adds semantic value by specifying that payment_mode=stripe_spt, shared_payment_granted_token, and buyer_email must be used together to settle without a browser, which clarifies parameter relationships beyond individual schema descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as initiating checkout and provides a specific behavioral detail: with certain parameters it settles a Stripe PaymentIntent and returns a signed license. It does not explicitly contrast with sibling tools, though its function is distinct from quote/listing/preview tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use the tool (to start checkout) and gives a clear special-case usage for stripe_spt, but it provides no explicit guidance on when to choose this tool over alternatives or when not to use it. No exclusions or alternative tool references are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Frequently Asked Questions
Claiming proves that you control a remote MCP connector. It does not move, proxy, or interrupt the server.
Open the connector listing, choose Claim ownership, and sign in to Glama.
Complete one verification method:
GitHub identity — fastest for official registry listings. For a namespace such as
io.github.alice/server, link the matching GitHub user or an account that owns the GitHub organization, then choose Claim with GitHub.HTTP challenge — works when you can deploy a public file. Generate a token, publish the exact JSON Glama shows at
/.well-known/glama.jsonon the same origin as the connector, then choose Check HTTP challenge.DNS challenge — works when you control DNS but cannot change the server. Generate a token, create the exact TXT record Glama shows, wait for it to propagate, then choose Check DNS challenge.
After verification, Glama sends a confirmation email and gives you access to listing details, thumbnails, health checks, and analytics. Keep the HTTP file or DNS record in place: Glama periodically checks it and ownership remains verified while the token is discoverable.
The HTTP ownership file has this structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"claim": "glama_claim_..."
}Claim tokens are opaque, stable, and bound to the signed-in Glama account. They contain no email address or other personal information. If Glama can no longer discover a verified HTTP or DNS token, it starts a seven-day grace period before removing claim-based access. Restore the same token during that period to keep ownership verified. Never publish an email address, Glama session token, GitHub token, or connector credential as ownership proof.
If verification fails, confirm that you copied the current token exactly. The HTTP file must be public, return valid JSON with a successful HTTP response, and stay on the connector's origin. DNS changes may need more time to propagate. A claim cannot transfer to a different origin or hostname: if the connector target changes, Glama starts the grace period and the new target must be claimed separately after the previous claim is released.
For a connector linked to the official MCP Registry, registry updates continue to replace its name, description, and URL by default. After claiming, open Manage connector and enable Use Glama listing details as the source of truth if edits made on Glama should be preserved. Categories and thumbnails are always managed on Glama; registry linkage and technical connection settings continue to sync.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
To improve your MCP server's ranking:
Claim ownership of the server listing
Complete the server profile with an accurate description and thumbnail
Provide a test profile so Glama can connect to and evaluate the server
Keep tool definitions clear and complete to earn a high Tool Definition Quality Score (TDQS)
Route real usage through the Glama Gateway; more recorded successful server uses also improve the ranking
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!
Related MCP Connectors
Persistent memory and cross-session learning for AI coding assistants (hosted remote MCP).
Paid remote MCP for Claude Code skill update gate MCP, structured receipts, audit logs, and reviewer
A paid remote MCP for OpenAI Codex agent coordination MCP, built to return verdicts, receipts, usage
Agentic Reddit/HN buying-signal detection for Claude Code, Cursor, and Windsurf via MCP.
Related MCP Servers
- AlicenseAqualityBmaintenanceOne MCP that turns Claude Code into your whole dev stack by swallowing other MCP servers, delegating to Codex & Gemini on your CLI subscriptions, remembering projects in a searchable knowledge graph, and carrying setup across sessions — secret-free by design.233MIT
- AlicenseNot gradedqualityBmaintenanceMCP bridge for using local Claude CLI as a bounded reviewer and analysis delegate for Codex.MIT
- AlicenseAqualityAmaintenanceBridges Claude Code and OpenAI Codex through MCP, allowing cross-harness querying, code review, explanation, and implementation delegation.6891MIT
- FlicenseNot gradedqualityBmaintenanceCodex Bridge MCP is a local MCP orchestration service for a stable Claude Code x Codex CLI development workflow.2-
Glama MCP Gateway
Add one secure layer between your agents and this server.
TDQS
Each tool targets a distinct resource or action: installation, product listing, target listing, build preview, move preview, license quoting, and checkout. No two tools have overlapping purposes, and the descriptions clearly differentiate these functions.
All tool names follow a consistent snake_case verb_noun pattern (e.g., list_products, preview_build_setup, start_checkout). There are no mixed conventions, vague verbs, or unpredictable nomenclature, making tool selection straightforward.
Seven tools is well within the ideal range for a focused MCP server. Each tool serves a distinct and necessary function in the customer journey from discovery to purchase, with no redundancy or bloat.
The tool set comprehensively covers the server's stated purpose: installation guidance, product and target discovery, previews for both setup and migration, licensing quotes, and checkout. Since the server is designed to be no-data and hands-on work happens via the local CLI, there are no obvious missing operations.