Ref

MCP server by Ref

Search public and private documentation and read pages as markdown while using as few tokens as possible.

Needs an API key (Needs an API key from the vendor)Streamable HTTP

Connect to Ref

Ref needs an API key. Connect with its own URL and your key:

https://api.ref.tools/mcp

Send your key in the X-Ref-Api-Key header. mcp.tc never sees or stores keys. Where to get a key

Share this server

Opens this page, with the URL and setup steps.

mcp.tc/i/ref-tools

About

Ref gives coding agents access to documentation for APIs, services and libraries. It searches public docs on the web and GitHub, plus private sources such as repos and PDFs, and reads a URL as markdown. It uses the MCP session's search history to skip repeated results and return only the most relevant part of a page, about 5k tokens.

A hosted streamable HTTP endpoint is available at https://api.ref.tools/mcp, which takes an API key in the X-Ref-Api-Key header or an apiKey query parameter. A local stdio package, ref-tools-mcp, runs with npx and reads REF_API_KEY. The source is MIT licensed.

What you can do

  • Search public documentation on the web and GitHub
  • Search private repos and PDFs
  • Read any URL converted to markdown
  • Skip repeated results across similar searches in a session
  • Return the most relevant part of a long page
  • Expose search and fetch tool names for OpenAI deep research

Tools

Ref lists its tools only to clients with a key, so we can’t show them here.

Example prompts

  • Find the Figma REST API endpoint for posting a comment.

  • Search the docs for how the n8n Merge node handles multiple inputs.

  • Read this documentation URL and summarize the auth section.

  • Look up the correct usage of this library's config options in its docs.

Set up

Every client connects to api.ref.tools. Pick yours; the page remembers your choice.

Claude Code

  1. Run this in a terminal, in your project folder:
claude mcp add --transport http ref-tools https://api.ref.tools/mcp --header "X-Ref-Api-Key: <YOUR_API_KEY>"
  1. Replace the placeholder with your key before you run it, then check it with /mcp inside Claude Code.

Add --scope user to make it available in every project, not just this one.

Claude Desktop

  1. Custom connectors can’t send this server’s key header, so use the mcp-remote bridge. Open Settings → Developer → Edit Config and add:
claude_desktop_config.json
{
  "mcpServers": {
    "ref-tools": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-remote",
        "https://api.ref.tools/mcp",
        "--header",
        "X-Ref-Api-Key: <YOUR_API_KEY>"
      ]
    }
  }
}
  1. Replace the placeholder with your key and restart Claude Desktop.

The bridge needs Node.js on your computer.

Cursor

Or add it by hand to ~/.cursor/mcp.json (all projects) or .cursor/mcp.json (this project):

mcp.json
{
  "mcpServers": {
    "ref-tools": {
      "url": "https://api.ref.tools/mcp",
      "headers": {
        "X-Ref-Api-Key": "<YOUR_API_KEY>"
      }
    }
  }
}

VS Code

Add it to .vscode/mcp.json. VS Code asks for the key the first time and stores it securely:

.vscode/mcp.json
{
  "servers": {
    "ref-tools": {
      "type": "http",
      "url": "https://api.ref.tools/mcp",
      "headers": {
        "X-Ref-Api-Key": "${input:x-ref-api-key}"
      }
    }
  },
  "inputs": [
    {
      "type": "promptString",
      "id": "x-ref-api-key",
      "description": "X-Ref-Api-Key",
      "password": true
    }
  ]
}

Devin Desktop

  1. Add it to ~/.config/devin/mcp_config.json (macOS and Linux) or %APPDATA%\devin\mcp_config.json (Windows):
mcp_config.json
{
  "mcpServers": {
    "ref-tools": {
      "serverUrl": "https://api.ref.tools/mcp",
      "headers": {
        "X-Ref-Api-Key": "<YOUR_API_KEY>"
      }
    }
  }
}
  1. Refresh the MCP server list in Cascade.

Devin Desktop is the new name for Windsurf. It reads serverUrl (or url) for remote servers.

Codex

codex mcp add ref-tools --url https://api.ref.tools/mcp

Or edit ~/.codex/config.toml directly:

config.toml
[mcp_servers.ref-tools]
url = "https://api.ref.tools/mcp"
env_http_headers = { "X-Ref-Api-Key" = "X_REF_API_KEY" }

Codex reads the header values from the environment variables named in env_http_headers.

Gemini CLI

gemini mcp add --transport http --header "X-Ref-Api-Key: <YOUR_API_KEY>" ref-tools https://api.ref.tools/mcp

This adds it to the current project. Add -s user to use it everywhere.

Any client

Most clients accept this shape. Some name the URL field differently: serverUrl in Devin Desktop, httpUrl in Gemini CLI’s settings file.

{
  "mcpServers": {
    "ref-tools": {
      "type": "http",
      "url": "https://api.ref.tools/mcp",
      "headers": {
        "X-Ref-Api-Key": "<YOUR_API_KEY>"
      }
    }
  }
}

Zed puts servers under context_servers in its settings. Cline needs "type": "streamableHttp", or it assumes SSE.

Client only starts local servers? Bridge it with npx -y mcp-remote https://api.ref.tools/mcp.

FAQ

Can I paste mcp.tc/i/ref-tools into my MCP client?

No. mcp.tc links are pages, not server addresses. Connect with https://api.ref.tools/mcp, so your client talks to Ref directly. Your key goes there too, never to mcp.tc. The quick link is for sharing: it opens this page, with setup steps for every client.

Does Ref need an API key or a sign-in?

Yes. Ref needs an API key, sent as the X-Ref-Api-Key header. Get one from Ref and keep it in your client’s config, never in a shared file.

Is Ref a remote or a local server?

Remote. Ref hosts it at https://api.ref.tools/mcp, and it speaks Streamable HTTP. There’s nothing to install.

What can Ref do?

You can search public documentation on the web and GitHub, search private repos and PDFs and read any URL converted to markdown.

Which clients can use it?

Any client that supports remote MCP servers and can send your key: Claude Code, Cursor, VS Code, Devin Desktop, Codex, Gemini CLI, Zed and others, and Claude Desktop through the mcp-remote bridge. claude.ai and ChatGPT can’t send a key, so they can’t use it.

Who wrote this page?

mcp.tc’s robot read Ref’s own metadata (its MCP handshake, tool list and public pages), and an AI model drafted the text from it. A person reviews anything the checks can’t confirm. The text can still be wrong, so if you spot a mistake, use Report this listing on this page.

Embed

Show Ref in a README or on your site. Each embed links to this page, uses the server’s own URL, and sets no cookies. How embeds work

README badge

Badge preview, lightBadge preview, dark
Markdown
[![Ref on mcp.tc](https://mcp.tc/i/ref-tools/badge.svg)](https://mcp.tc/i/ref-tools)
HTML
<a href="https://mcp.tc/i/ref-tools"><img src="https://mcp.tc/i/ref-tools/badge.svg" alt="Ref on mcp.tc" height="20"></a>

It follows the reader’s light or dark mode. Add ?theme=light or ?theme=dark to fix it, or ?style=compact to show the mark without the word.

Website card

HTML
<script src="https://mcp.tc/w/ref-tools.js" async></script>

The card appears where the tag is. Add data-theme="dark" or data-size="compact" to the tag to change it. The file holds everything it needs, so it makes no other requests and sets no cookies.

iframe

HTML
<iframe src="https://mcp.tc/embed/ref-tools" title="Ref on mcp.tc" width="420" height="200" loading="lazy" allow="clipboard-write" style="border:0;border-radius:8px;max-width:100%"></iframe>

Use it on pages that don’t allow scripts. Add ?theme=light or ?theme=dark to the address to fix the colors.

JSON

The listing as data for your own pages and tools: name, tagline, the server’s own URL, tools and the “Add to” links. Any site can read it (CORS is open).

https://mcp.tc/i/ref-tools.json

What each field means

mcp.tc isn’t affiliated with Ref. This page was built from Ref’s public metadata, last checked on 3 Oct 2026, and an AI model wrote the description, so it can be wrong. Names and marks belong to their owners. Something off? Report this listing.