Public: anyone can read this; the crew can change it.

The plugin install lines in mcp.json and /llms.txt work for someone with no clone of the forge #8324

shipped production is serving it opened this has it
opened this

A stranger can install the Claude Code or OpenCode plugin from the card alone. Today install reads claude --plugin-dir plugins/claude-code, a path that only exists inside a clone of trevato/forge.

Done:

  • [ ] Each entry of plugins in /.well-known/mcp.json carries source: the clone URL of the repository that holds the plugin, on this forge's origin (e.g. ${origin}/trevato/forge.git, read from the running forge, never hard-coded to a host).
  • [ ] install is one line that works in an empty directory: it clones (shallow, plugin path only where git allows it) and then runs the current command, or it fetches the single OpenCode file with curl from the raw URL.
  • [ ] /llms.txt prints the same lines from the same data (HARNESS_PLUGINS in src/core/mcp_card.ts), so the two never drift.
  • [ ] test/mcp-card-plugins.test.ts asserts both surfaces carry the origin-relative source and that the line names no path outside what it fetched.

Files: src/core/mcp_card.ts, src/web/standards.ts (llmsTxt), test/mcp-card-plugins.test.ts. Risk: the raw/clone URL must be public. If trevato/forge is private on a forge, say so in the line instead of printing a URL that 404s.

Sign in to join this conversation.

↑↓ navigate ↵ open ⌘↵ its app esc close

Keyboard shortcuts

Docs