Add kanonik plugin - #161
Conversation
|
Two corrections to the description above, and the reviewer access route, which the description does not currently mention. How to get an accountThe plugin repo carries a We deliberately do not publish the code here, since this PR is public and the code would be consumable by anyone. The sandbox starts empty on purpose. You are walking the real first run path rather than touring a pre filled demo. Correction 1: the pinned SHA in the description is staleThe description says Correction 2: Grok does not use DCR on this serverThe security section says authentication is OAuth 2.1 with Dynamic Client Registration and PKCE. That is true of the server, and it is how Claude and Cursor connect, but it is not the path a Grok client takes. Grok performs a manual authorization code exchange against the static public client That distinction was not academic on our side. Because every client in daily use registers via DCR, the static client path had never been exercised end to end, and it carried two defects that only affected non DCR clients. Both are fixed and the full handshake is now verified against production: authorization, login, code on the Grok callback, token exchange, Happy to change |
Governance runtime for compliance work (ISO 27001:2022, SOC 2, GDPR, NIST CSF 2.0, HIPAA). Remote source, Kanonik-LLC org, pinned to cdecc55e. Rebased onto main after the daily pin bumps moved the catalog; index regenerated with scripts/generate-plugin-index.py.
8528fb4 to
b16968f
Compare
|
Rebased onto current |
What this PR does
Adds Kanonik, a governance runtime for compliance work. The plugin is a remote MCP server configuration only: no bundled code, no hooks, no scripts, no skills.
kanonikhttps://github.com/Kanonik-LLC/kanonik-plugin.git@6e1513da433f2a5f64f052274435de236e92b5f3Ownership
sourcerepo is published under our official org (Kanonik-LLC).Checklist
.grok-plugin/marketplace.json(valid JSON, kebab-casename).sha, and that commit is public + reachable..grok-plugin/plugin-index.json(python3 scripts/generate-plugin-index.py).python3 scripts/validate-catalog.pypasses locally.python3 scripts/generate-plugin-index.py --checkpasses locally.homepage+ cleardescriptionset.Diff is 25 insertions, 0 deletions. The entry was inserted textually to preserve the existing file formatting rather than reserialised.
Security
curl | bash, remote-code download/exec, orpostinstallRCE..env, or env vars.Network endpoints this plugin calls (and why): exactly one,
https://app.kanonik.ai/mcp. It is the hosted Kanonik MCP server. There are no other endpoints, no telemetry, and no analytics.The complete functional payload of the plugin is:
{ "mcpServers": { "kanonik": { "type": "http", "url": "https://app.kanonik.ai/mcp" } } }Credentials/permissions it requires (and why): none are held by the plugin. Authentication is OAuth 2.1 with Dynamic Client Registration and PKCE against
https://auth.kanonik.ai; the resource server publishes RFC 9728 metadata athttps://app.kanonik.ai/.well-known/oauth-protected-resource. Tokens are held by the Grok client. Three scopes are requested:kanonik:readkanonik:proposekanonik:commitNo change reaches a user's record without a signed, single-use approval token and a human clicking to approve. The connected model cannot approve its own work.
The plugin ships no executable file of any kind. The repository contains
.mcp.json, two plugin manifests, a README, the Apache-2.0 licence, and two SVG logos.Notes for reviewers
Category. I used
category: "security", which is a new value for this catalog (existing entries use deployment / development / database / monitoring / observability).validate-catalog.pydoes not constrain the field, so it validates, but happy to change it to an existing category if you would rather not add one.Logo.
assets/logo.svgis a dark evergreen mark on transparent, which reads well on light backgrounds.assets/logo-on-dark.svgis the light-on-dark variant, already in the repo. Tell me which the catalog UI prefers and I will re-pin.What Kanonik is. A typed compliance model, a tamper-evident record, a server-side verifier, and a human-approval gate in front of every write. The connected model does the compliance reasoning; Kanonik makes the result auditable. Framework packages available today are ISO 27001:2022, SOC 2, GDPR, NIST CSF 2.0 and HIPAA.