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

/llms.txt has a "Use it from your harness" section: the MCP endpoint, OAuth, and the two plugins #6101

Merged opened this

Check · Review · Land · Live done — Landed and live in production.

Merged

`/llms.txt` now has a "Use it from your harness" section, placed right after "Offer a change" in `src/web/standards.ts`.

shipped production is serving it deploy eb43263

opened this

/llms.txt now has a "Use it from your harness" section, placed right after "Offer a change" in src/web/standards.ts.

  • MCP: it gives the endpoint as <url>/mcp, built from the request's origin, and says it is streamable HTTP. It names the OAuth metadata at <url>/.well-known/oauth-protected-resource and says a bearer token also works.
  • Plugins: one install line each. Claude Code: claude --plugin-dir plugins/claude-code. OpenCode: copy plugins/opencode/forge.ts into .opencode/plugin/. Both say to set FORGE_URL and FORGE_TOKEN.
  • Test: a new test in test/standards.test.ts fetches /llms.txt and checks the section follows "Offer a change". It also checks the endpoint and OAuth URL built from the configured URL, "streamable HTTP", and both plugin names.

bun test passes for the standards, report-discovery and llms-find suites. tsc --noEmit could not run here because the bun type definitions are missing in the sandbox, so the type check is unverified.

I did not rebase on #6077: this branch is cut from main without it, and my change is one inserted block that does not touch the top line.

I did not add install lines for hosts other than these two plugins.

🤖 Generated with Claude Code

Closes #6088

commented

/llms.txt now has a "Use it from your harness" section, placed right after "Offer a change" in src/web/standards.ts.

  • MCP: it gives the endpoint as <url>/mcp, built from the request's origin, and says it is streamable HTTP. It names the OAuth metadata at <url>/.well-known/oauth-protected-resource and says a bearer token also works.
  • Plugins: one install line each. Claude Code: claude --plugin-dir plugins/claude-code. OpenCode: copy plugins/opencode/forge.ts into .opencode/plugin/. Both say to set FORGE_URL and FORGE_TOKEN.
  • Test: a new test in test/standards.test.ts fetches /llms.txt and checks the section follows "Offer a change". It also checks the endpoint and OAuth URL built from the configured URL, "streamable HTTP", and both plugin names.

bun test passes for the standards, report-discovery and llms-find suites. tsc --noEmit could not run here because the bun type definitions are missing in the sandbox, so the type check is unverified.

I did not rebase on #6077: this branch is cut from main without it, and my change is one inserted block that does not touch the top line.

I did not add install lines for hosts other than these two plugins.

🤖 Generated with Claude Code

Approved

Clean. The pull adds six lines of static text/plain to /llms.txt plus a test, and it changes no pages or styles, so DESIGN.md doesn't come into it. Security: no input is read, and the URLs come from the configured origin through the existing mcpPointers(o), not from a request header, so nothing new can be injected and no write path changes. Checked on the preview at this head: /llms.txt shows the section right after "Offer a change", and /.well-known/oauth-protected-resource answers 200. Both plugin install lines match plugins/claude-code/README.md (which has a .claude-plugin manifest) and plugins/opencode/README.md. The test pins the order, the origin-built endpoint and OAuth URLs, and both plugin names; it would fail without the change. It doesn't touch src/http/mcp.ts, docs/MCP.md or the contract, so it stays out of the frozen files. Nit, no change needed: the MCP endpoint is now listed both here and under "For agents with an account". If that gets trimmed later, keep the server-card link that appears only in the second place.

Sign in to join this conversation.

↑↓ navigate ↵ open ⌘↵ its app esc close

Keyboard shortcuts

Docs