MCP Server

Run Anakin as a Model Context Protocol server so Claude Desktop, Claude Code, Cursor, Cline, Continue, Zed, Windsurf, and VS Code can call scrape, search, crawl, map, agentic research, and Wire actions natively — no glue code required.

The @anakin-io/mcp package is an MCP server that exposes six Anakin tools — scrape, search, map, crawl, agentic_search, wire_action — to any MCP-compatible agent client. With it installed, Claude Desktop, Cursor, etc. can fetch web pages, run AI search, crawl sites, and execute Wire actions directly from a chat or coding session.

Status: alpha (v0.1.x). Tool surface and arguments may change between minor versions until v1.0. Package: @anakin-io/mcp on npm · Source: github.com/Anakin-Inc/anakin-mcp.


One command auto-configures every detected agent client on your machine:

npx -y @anakin-io/mcp init --all

You'll be prompted for your API key (or set ANAKIN_API_KEY first to skip the prompt). Get one free at the Dashboard — 500 credits, no card required.

After it finishes, restart your agent client(s). The anakin MCP server appears in the tool list, exposing six tools.

If you'd rather configure one specific client:

npx -y @anakin-io/mcp init --client=cursor

Available client names: claude-desktop, claude-code, cursor, cline, continue, zed, windsurf, vscode.


What gets exposed

Each tool is a thin wrapper around the matching Anakin REST endpoint. Agents see typed input schemas (so they know what arguments each tool takes) and get back a string payload they can quote in their replies.

ToolPurposeAsync?
scrapeFetch one URL → markdown by default. Set generateJson: true for AI-extracted structured data. Set useBrowser: true for SPAs.async (3–15s typical)
searchAI web search with citations. Returns URL + title + snippet for each hit.sync
mapDiscover all reachable URLs on a domain.async
crawlBulk-fetch markdown across a site (with include / exclude patterns).async
agentic_searchMulti-source deep research. Searches the web, scrapes citations, structures the combined data with an LLM.async (1–5 min)
wire_actionExecute a pre-built website action via Wire (login flows, form fills, etc.).async

Manual setup per client

If you'd rather edit config files yourself, copy the right snippet for your client. Set your real API key in env.ANAKIN_API_KEY — the agent never sees it; it lives only in this local config file.

Claude Desktop

PlatformPath
macOS~/Library/Application Support/Claude/claude_desktop_config.json
Windows%APPDATA%/Claude/claude_desktop_config.json
{
  "mcpServers": {
    "anakin": {
      "command": "npx",
      "args": ["-y", "@anakin-io/mcp"],
      "env": {
        "ANAKIN_API_KEY": "ak-..."
      }
    }
  }
}

Restart Claude Desktop.

Claude Code (Anthropic CLI)

Edit ~/.claude/settings.json:

{
  "mcpServers": {
    "anakin": {
      "command": "npx",
      "args": ["-y", "@anakin-io/mcp"],
      "env": {
        "ANAKIN_API_KEY": "ak-..."
      }
    }
  }
}

Or use Claude Code's built-in command:

claude mcp add anakin npx -y @anakin-io/mcp -e ANAKIN_API_KEY=ak-...

Cursor

Edit ~/.cursor/mcp.json (user-scoped) or ./.cursor/mcp.json (project-scoped):

{
  "mcpServers": {
    "anakin": {
      "command": "npx",
      "args": ["-y", "@anakin-io/mcp"],
      "env": {
        "ANAKIN_API_KEY": "ak-..."
      }
    }
  }
}

Restart Cursor.

Cline (VS Code extension)

PlatformPath
macOS~/Library/Application Support/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json
Linux~/.config/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json
Windows%APPDATA%/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json
{
  "mcpServers": {
    "anakin": {
      "command": "npx",
      "args": ["-y", "@anakin-io/mcp"],
      "env": {
        "ANAKIN_API_KEY": "ak-..."
      }
    }
  }
}

Reload the Cline extension (or restart VS Code).

Continue (IDE extension)

Edit ~/.continue/config.json:

{
  "experimental": {
    "modelContextProtocolServers": [
      {
        "name": "anakin",
        "command": "npx",
        "args": ["-y", "@anakin-io/mcp"],
        "env": {
          "ANAKIN_API_KEY": "ak-..."
        }
      }
    ]
  }
}

If you have other entries under experimental.modelContextProtocolServers, append the anakin object — don't overwrite. Reload the Continue extension.

Zed

PlatformPath
macOS~/.config/zed/settings.json
Linux~/.config/zed/settings.json
Windows%APPDATA%/Zed/settings.json
{
  "context_servers": {
    "anakin": {
      "command": "npx",
      "args": ["-y", "@anakin-io/mcp"],
      "env": {
        "ANAKIN_API_KEY": "ak-..."
      }
    }
  }
}

Reload Zed.

Windsurf

Edit ~/.codeium/windsurf/mcp_config.json:

{
  "mcpServers": {
    "anakin": {
      "command": "npx",
      "args": ["-y", "@anakin-io/mcp"],
      "env": {
        "ANAKIN_API_KEY": "ak-..."
      }
    }
  }
}

Restart Windsurf.

VS Code (with the MCP extension)

Edit .vscode/mcp.json in your workspace:

{
  "servers": {
    "anakin": {
      "command": "npx",
      "args": ["-y", "@anakin-io/mcp"],
      "env": {
        "ANAKIN_API_KEY": "ak-..."
      }
    }
  }
}

Reload VS Code.


Verify it works

In Claude Desktop / Cursor / etc., start a new chat and try:

Use anakin to scrape https://example.com and return the markdown.

The agent should:

  1. Find the scrape tool in anakin's tool list
  2. Call scrape({ url: "https://example.com" })
  3. Quote back the rendered markdown

You can also try other tools:

Use anakin's search to find recent articles about MCP servers.

Use anakin to map the URLs on https://docs.anakin.io and pick three to scrape.

Use anakin's agentic_search for a comparative analysis of TypeScript HTTP libraries.


How the API key flows

Your key never enters the conversation context. It lives only in the agent client's local config file (e.g., claude_desktop_config.json), gets passed to the MCP server subprocess as an environment variable when the client starts, and from there is sent in the X-API-Key header on every Anakin REST request.

If ANAKIN_API_KEY is unset or empty when the server starts, it exits with a message pointing at the Dashboard. The agent client typically surfaces that error in its MCP servers panel; the agent itself just sees anakin missing from its tool list.

If the key is invalid or you're out of credits, the first tool call returns an error (Invalid API key or Insufficient credits) which the agent reports back to you. Update the config and restart the client.


Troubleshooting

The MCP servers panel shows anakin as "Failed" → Click the entry to see the stderr output. Most common: ANAKIN_API_KEY is not set (fix: fill in env.ANAKIN_API_KEY and restart) or a JSON syntax error in your config (fix: validate with cat <config> | jq .).

anakin doesn't appear in the tool list at all → The client hasn't reloaded the config. Quit fully (⌘Q on macOS) and reopen.

Tool call returns "Invalid API key" → Key is wrong or revoked. Get a fresh one from the Dashboard.

Tool call returns "Insufficient credits" → Top up at the Dashboard. Failed jobs aren't charged, so credits only deduct on successful operations.

init --all says "No supported MCP clients detected" → The init command checks for the existence of each client's config directory. If a client is installed but you've never opened it (or you installed via an unusual method that doesn't create the standard dir), pass the client name explicitly:

npx -y @anakin-io/mcp init --client=cursor

That always writes the config, creating any missing parent directories.


Two paths agents can use Anakin

This MCP server is one of two complementary integration paths:

  1. MCP (this page) — for clients that support it. Tools are typed and called natively. Best when available.
  2. SKILL.md — for any agent that can fetch a URL. The markdown describes the API end-to-end so an agent can use it via plain HTTP calls. Works in environments without subprocess support.

Most users on Claude Desktop / Cursor / Windsurf / VS Code will want path 1. Custom agents and CI agents can use path 2.