Docs

Add a tool

Describe one function your product exposes, and how an agent reaches it.

View on GitHub

A tool is one function an agent calls — one MCP tool, one CLI command, one API endpoint. A product with three functions is three files.

Note. Its capability must be listed in tags.yml. If none fits, add it there in the same pull request.

How to create

  1. 1. Pick the capability

    capability lists your function next to every other vendor’s version of the same job, so it must be one of the capabilities in tags.yml, the one file that holds every tag. Look there first. If none fits, add an entry — a label and a few synonyms — in the same pull request.

  2. 2. Create one file per function

    Name the file after the function it calls. Apollo enriching a person, searching for people and enriching a company is three files, not one product page. The path is the tool’s key, and the key is its URL.

    companies/apollo/tools/
    enrich-person.md
    search-people.md
    enrich-company.md
  3. 4. Name the call on each way in

    mcp, cli and api name the exact call on each way in that your company.md declares: the MCP tool name, the CLI command (starting with the binary), or METHOD /path for an API — exactly as the vendor’s docs print it, with docs pointing at the page that names it. A published tool needs at least one call and a docs page; until it has both, set status: draft. A draft has no page and no file.

    companies/stripe/company.md
    ---
    name: Stripe
    domain: stripe.com
    category: payments
    tagline: Payments, billing and subscriptions for internet businesses.
    docs: https://docs.stripe.com
    github: https://github.com/stripe
    logo: stripe.jpg
    mcp:
      url: https://mcp.stripe.com
      auth: oauth
      docs: https://docs.stripe.com/mcp
    cli:
      install: npm install -g @stripe/cli
      binary: stripe
      auth: oauth
      docs: https://docs.stripe.com/stripe-cli
    api:
      url: https://api.stripe.com
      auth: api_key
      env: STRIPE_API_KEY
      keyUrl: https://dashboard.stripe.com/apikeys
      docs: https://docs.stripe.com/api
    updated: 2026-09-27
    ---
  4. 5. Date it

    Set updated to the day you last checked the facts, as YYYY-MM-DD. A workflow’s date is the newest of its own and its tools’ dates, so this date also moves every workflow that uses the tool.

  5. 6. Check it locally

    One command parses every file, resolves every reference and renders the result. It reports every problem at once, each with the file that caused it (and the line, for a problem in the body). The same checks run again in CI on your pull request.

    Terminal
    pnpm install
    pnpm content:check
    pnpm dev   # then open /tools/apollo/enrich-person
  6. 7. Open a pull request

    Send one company, tool or workflow per pull request. Say what you added and how you checked the facts. Reviewers check accuracy; the build handles formatting.