Describe the CLI that exists; add publicInterfacesUsed guidance; drop cursor-mcp-dkg - #25
Merged
Conversation
The README documented a CLI surface that largely does not exist: `search` and `search <keyword>` are not implemented, `upgrade`/`uninstall` do not exist, `install --for <client>` is not a flag, the community tier is shown with `--tier community` rather than `--include-community`, and `list` claimed to show what is installed locally while actually listing the registry. Rewrites the user section against the CLI as it will ship (see OriginTrail/dkg#<TBD>), and states plainly which install kinds are automated — `manual` is not automated by design, and `agent-plugin` / `service` docker and binary runtimes are not automated yet. Adds guidance for choosing publicInterfacesUsed. It is the field reviewers audit for scope compliance and the most often mis-declared: an MCP server that calls /api/... should declare http-api alone, because that it is an MCP server is already recorded by install.kind. The rule existed only inside a JSON Schema description that contributors do not read. Also removes the cursor-mcp-dkg entry. It is the DKG's own MCP server, which ships with the node and is installed by `dkg mcp setup`, so listing it in the registry is redundant; its entry also pinned a stale dev prerelease (0.1.0-dev.1777029135 vs 10.0.10) and pointed at the pre-rename repo URL. The security-checks npm script referenced it as a seed entry and is updated too. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
5 tasks
Follows the CLI settling on three verbs (OriginTrail/dkg#1988): list and search are siblings over the registry differing only by a keyword filter, and local detection gets its own unambiguous verb rather than repurposing list. This also means list keeps the meaning it already shipped with, so nothing breaks. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
dkg integration searcherrored withunknown command;upgrade,uninstallandinstall --for cursorwere never implemented; the community tier is shown with--tier community, not--include-community; and "handles the supported install kinds automatically (mcp,service,cli,agent-plugin,manual)" was true of two of the five. Rewritten against the CLI as it actually ships after fix(integrations): conform the CLI to the published registry schema dkg#1988.publicInterfacesUsed— the field the committee audits for scope compliance, and the most frequently mis-declared, because the rule only lived in a JSON Schemadescriptioncontributors never read.cursor-mcp-dkgentry. It is the DKG's own MCP server, shipped with the node and installed bydkg mcp setup, so listing it in a registry of third-party integrations is redundant. Its entry had also drifted: pinned@origintrail-official/dkg-mcp@0.1.0-dev.1777029135against a current10.0.10, and pointed at the pre-renamedkg-v9URL.Related
agent-docs/plans/2026-07-28-dkg-integrations-cli-contract.md(in the dkg repo)Diagrams
Files changed
README.mdlist/searchbrowse the registry,installedreports local state); states which install kinds are automated and which are not;--tier communitycorrected;upgrade/uninstallcalled out as not existing rather than quietly documentedCONTRIBUTING.mdpublicInterfacesUsed, with the decision rule stated plainly and the MCP-server case spelled outintegrations/cursor-mcp-dkg.jsondkg mcp setup, stale pin, pre-rename repo URLpackage.jsonsecurity-checksscript referenced the removed entry as a seed; updated sonpm run security-checkskeeps workingTest plan
node scripts/validate.mjs→2 entries checked · 0 errors · 1 warning(the pre-existing, disclosed VM-scope warning onbuzz-dkg)npm run security-checks→1 entry checked · 0 errors · 0 warningsgrep -rn cursor-mcp-dkg .→ no dangling referenceslist,search <kw>,list --tier community,info <slug>,install <slug>,install --dry-run,installed— all exist and exit 0dkg integration list --json→{ entries, failures }, the shape it already shipped with, so this documents no breaking changeNotes for reviewers
The
publicInterfacesUsedguidance is not hypothetical. #16 currently declares["http-api", "mcp"]while its ownsecurity.notesdescribe a pure HTTP client ("Only communicates with the local DKG node… Bearer token read fromDKG_AUTH_TOKENor~/.dkg/auth.token"). Per the schema's own rule it should listhttp-apialone —install.kind: mcpalready records that it is an MCP server. Left as review feedback there rather than changed here.🤖 Generated with Claude Code