Canonry remote plugin
This source package is configured to connect to https://mcp.canonry.ai/mcp with OAuth. It is
separate from plugins/canonry, which continues to launch the local stdio
server. It adds no local runtime, skills, credentials, hooks, or scheduled work.
Install
Claude Code 2.1.275 or later:
/plugin install canonry-remote --marketplace Canonry/canonry
Then open /mcp, choose the Canonry server and authenticate: enter your
workspace on the consent page and sign in with that workspace's Canonry account.
Codex and the ChatGPT desktop app use codex plugin marketplace add Canonry/canonry and codex plugin add canonry-remote@canonry.
The gateway forwards the selected instance's complete supported read-only
catalog, including stored reads for Simple and Advanced Measurement portfolios.
Use runtime canonry_help and tool schemas for the available operations. The
connection cannot start research or sweeps, change data, administer an instance,
or switch workspaces through chat. Each authorization binds one user from one
registered instance. Matching email addresses do not join identities.
Each upstream must implement the hardened engine contract, including grant-wide revocation, refresh replay protection and current user authority. Support for legacy MCP wire protocols does not permit pre-hardening engine versions. The operator must validate the contract before onboarding.
mcp.json selects the pre-registered public client canonry-chatgpt with S256
PKCE and requests read plus offline_access. Provision that exact client ID
with the portal's exact callback URI before connecting. The Claude Code adapter
(.claude-plugin/plugin.json and .mcp.json) connects to the same URL as the
public client canonry-claude-code. Claude Code receives the code on
http://localhost:<port>/callback with a port it picks per sign-in, so the
gateway registers that client as application_type: "native" with
http://localhost/callback and http://127.0.0.1/callback. The user must consent. No client secret or bearer belongs in this package. Tool
annotations and OAuth security requirements come from the server's catalog,
not from this manifest. The gateway and engine must enforce those restrictions.
Preparation status
This package is listed in the Codex and Claude Code marketplaces as
canonry-remote. It is not yet submitted to the OpenAI plugin directory or an
Anthropic directory. The proposed production hostname is not evidence of a
working deployment. The five positive and three negative cases in plugin.json
are review instructions, not recorded test results. Live ChatGPT/Codex import,
OAuth and tool validation remain not run. Local tests against real synthetic
engines and container build/smoke results are separate evidence; they do not
prove public reachability, host compatibility or reviewer access.
Before making a public-upload ZIP:
- Deploy and validate a reachable staging gateway, then the explicitly approved public endpoint. Use the same code/catalog for reviewers and customers.
- Prepare a synthetic reviewer instance and verify its existing login. Follow the gateway runbook.
- Supply verified listing, support, privacy-policy and terms URLs; verified publisher identity; country targeting; and the applicable commerce statement. These unknown declarations are omitted from the manifest.
- Export and inspect square PNG listing/composer icons from the included Canonry artwork for public review. The SVG assets are valid portable assets; they do not complete the public submission's PNG requirement.
- Run and record the review walkthrough in ChatGPT/Codex against the reachable
deployment. Verify the recording's playback and reviewer access, then add
its actual URL to
review.demo_recording_url. - Package this directory alone, excluding secrets and access instructions. Upload, connect, verify the domain, scan the actual catalog and submit only after separate authorization. Complete attestations in the intended account.
Reviewer credentials and login instructions go in the portal's secure access fields, never this directory, an archive, the listing, or a PR. Keep their account and synthetic data available for future reviews. No reviewer bypass or reduced tool catalog is permitted.
The gateway adds one authentication-only tool, canonry_gateway_profile, marked
with _meta["openai/profile"]: true. It returns the current authorized profile
using a durable opaque ID, plus available name/workspace labels. It does not
expose raw instance user IDs or accept a user/workspace argument. Business tools
continue to come from the selected instance. The full catalog carries the
gateway's read OAuth requirement in both descriptor and compatibility metadata.
Current official references: OAuth, submission, and submission validation.
The OpenAI authentication extension follows the current
OpenAI package format.
The generic Agent Plugins 1.0.0 MCP JSON schema currently omits per-server
extensions; a generic-schema-only validator therefore cannot validate these
OpenAI connection options. Validate the target OpenAI import as part of staging
and portal review; JSON parsing alone does not establish host compatibility.