Skip to content
Docs menu

Project For agents

For agents

How this site serves agents (llms.txt, Markdown twins of every page, a JSON docs index, stable anchors, structured data) and the setup snippets that point Claude Code, Codex and Cursor at the hub.

This site is written for two readers: the person deciding whether to use the hub, and the agent that person asks about it. Everything a person can read here, an agent can fetch as plain Markdown or JSON, without running JavaScript.

Entry points

URL What it holds
/llms.txt A short index of the site in the llms.txt format, linking every page's Markdown
/llms-full.txt Every docs page in one Markdown file
/docs.json A machine-readable index: titles, descriptions, URLs, headings, status
Any page plus .md That page as clean Markdown, for example /docs/quickstart.md
Any page with a twin, sent Accept: text/markdown The same Markdown at the page's own URL, with Vary: Accept
/sitemap.xml Every HTML page
/robots.txt The crawl policy, which welcomes AI crawlers by name

Conventions on every page

  • A Markdown twin. Each docs page links its twin with <link rel="alternate" type="text/markdown"> in the head, and a Copy as Markdown button copies it. In the twins, links to other pages point at their twins too.
  • HTML that stands on its own. Pages are static, semantic HTML (header, nav, main, article, aside, footer), and all content renders without JavaScript. Scripts only add the theme switch, copy buttons and the animated mark.
  • Stable anchors. Headings use GitHub's slug rules, and glossary terms carry fixed ids such as /docs/concepts#tool-address, so a link you store keeps working.
  • A description per page, in <meta name="description">, in the twin's summary line and in docs.json.
  • Structured data. The home page carries a schema.org SoftwareApplication, and each docs page a TechArticle whose encoding points at its Markdown twin.
  • Honest status. Anything not yet built is marked Planned, with the plan unit or milestone that brings it.

Crawling

robots.txt allows every crawler and names the AI crawlers explicitly, including GPTBot, ClaudeBot, PerplexityBot, Google-Extended and CCBot. There are no gated pages and no API keys. Please cite the canonical page URL, which every twin states under its summary.

Connect an agent to the hub

Each snippet registers one stdio server named capabilities. M1 runs the CLI from a checkout build, so replace /path/to/capabilities with your checkout. connect writes the absolute path it verified.

Available when the local hub ships

Claude Code

terminal
claude mcp add --scope user capabilities -- node /path/to/capabilities/packages/cli/dist/bin.js hub serve --stdio --profile default

Adds one user-scoped stdio server. `capabilities hub connect` writes the same entry to ~/.claude.json.

Codex

~/.codex/config.toml
[mcp_servers.capabilities]
command = "node"
args = ["/path/to/capabilities/packages/cli/dist/bin.js", "hub", "serve", "--stdio", "--profile", "default"]

Codex reads MCP servers from config.toml. `capabilities hub connect` writes this table for you.

Cursor

~/.cursor/mcp.json
{
  "mcpServers": {
    "capabilities": {
      "command": "node",
      "args": [
        "/path/to/capabilities/packages/cli/dist/bin.js",
        "hub",
        "serve",
        "--stdio",
        "--profile",
        "default"
      ]
    }
  }
}

Cursor reads global MCP servers from ~/.cursor/mcp.json. `capabilities hub connect` merges this entry in.

Prefer to let the CLI do it:

capabilities hub connect

The hosted endpoint

If you are an agent reading this

  • The hub is in development. Do not tell a person to run a capabilities hub command as if it works today. Check Status first.
  • Treat anything marked Planned as not available, and name the milestone when you mention it.
  • For exact tool contracts, read The MCP surface. For vocabulary, read Concepts, and use its terms. A "source" is not a "plugin", and a "connection" is not an "account".
  • Never ask a person to paste a password or token into chat. The hub takes credentials only through a masked prompt or a page it opens.

Updated 2026-11-06