Edge
Edge MCP documentation

Setup

One command, or one link handed to your agent. Node.js 20 or newer is the only requirement, and there is no account and no key to create.

The shortest path is to paste this into Claude Code, Codex, or any MCP-capable agent and let it do the work:

Paste this in, nothing else https://getedge.cc/SKILL.md

That file is written for the agent, not for you. It tells the agent to check whether Edge is already connected, add it at user scope if not, save a copy of the file into its own skill directory so Edge is still there in future sessions, and then take one real task out of your current workspace and run it through Edge as a first example. It also tells the agent to re-fetch the file whenever the version in its frontmatter is newer than the copy it has.

The saved copy matters. Without it, Edge is connected but nothing reminds the agent to reach for it, and it quietly goes back to doing specialist tasks unaided. For Claude Code the destination is ~/.claude/skills/edge/SKILL.md.

Before adding or updating Edge, your agent asks: “Rank your own skills too? Their names and short descriptions are sent to Edge for ranking; file contents never leave your machine.” Wait for an explicit answer. Existing users stay off until they say yes.

Read the full consent and setup instructions, including metadata destinations, limits, and how to record either answer locally. The examples below use EDGE_LOCAL_SKILLS=0 for a No answer. Use 1 only after an explicit Yes. Preserve the existing environment when updating a connector.

Claude Code

Check whether it is already there:

claude mcp get edge

Add it at user scope so it works in every project:

claude mcp add -s user edge -e EDGE_LOCAL_SKILLS=0 -- npx -y @getedge/mcp

With an Edge Pro key, put the key in the same entry as an environment variable:

claude mcp add -s user edge -e EDGE_KEY=your_key -e EDGE_LOCAL_SKILLS=0 -- npx -y @getedge/mcp

The project-scoped .mcp.json equivalent:

{
  "mcpServers": {
    "edge": {
      "command": "npx",
      "args": ["-y", "@getedge/mcp"],
      "env": { "EDGE_KEY": "your_key", "EDGE_LOCAL_SKILLS": "0" }
    }
  }
}

Omit EDGE_KEY if you do not have a key; keep your explicit EDGE_LOCAL_SKILLS choice. Edge without a key is a working product, not a crippled one; see Free and Pro.

Codex

codex mcp add edge --env EDGE_LOCAL_SKILLS=0 -- npx -y @getedge/mcp
codex mcp get edge

Then add startup_timeout_sec = 30 to the generated [mcp_servers.edge] block. The first start downloads the package through npm and is slower than Codex's default allowance, so without this the first session can give up before Edge has finished starting.

[mcp_servers.edge]
command = "npx"
args = ["-y", "@getedge/mcp"]
startup_timeout_sec = 30
env = { EDGE_KEY = "your_key", EDGE_LOCAL_SKILLS = "0" }

Codex also requires interactive approval the first time it calls a tool from a new MCP server, so expect a prompt on the first find_skill.

You have to start a new session

MCP tools bind when a session starts. The session you ran the install command in has already built its tool list, so find_skill is not callable there no matter what the config now says. Start a new session and the tools are there. This is how MCP works, not a sign that anything failed.

The same applies to the key. The connector reads EDGE_KEY once, at startup, from the environment the host gave it. Adding a key, changing it or removing it has no effect until the next session starts.

Verify it is working

First, that the server is registered and reachable:

claude mcp get edge

Then, in a fresh session, that the tools actually resolve. Ask for something a skill would plausibly help with:

Find me a skill that would help review a pull request for correctness bugs.
Tell me which candidates came back.

A working setup calls edge.find_skill and comes back with a block whose first line looks like this:

5 candidate skills for "review a pull request for correctness bugs", in skills.sh relevance order.

Three other outcomes are all normal rather than broken:

To check that a key is live, look at the first line of a result. On Pro it reads ranked by Edge for this task instead of in skills.sh relevance order. That difference is the only reliable signal, because an unrecognised key is never reported as an error.