Docs/MCP Client Setup

title: MCP Client Setup description: Configure phorvec in every supported MCP client — Claude Desktop, Claude Code, Cursor, Windsurf, Cline, VS Code (Copilot), Zed, Aider, Google Antigravity, and OpenAI Codex.

MCP Client Setup

phorvec speaks the Model Context Protocol and works in any MCP-compatible client. This page collects ready-to-paste config snippets for every client phorvec officially supports.

If you'd rather not edit JSON or TOML by hand, run phorvec init <client> from the directory where you want phorvec installed — it auto-writes the config in the right place and merges with anything already there. The supported client names are the headings below, lowercased and hyphenated (claude-code, cursor, windsurf, zed, cline, copilot, aider, antigravity, codex).

All snippets assume phorvec is on your PATH. If you put the binary somewhere else, replace "phorvec" with the absolute path.


Quick reference

ClientConfig fileFormatScope
Claude Desktopclaude_desktop_config.json (platform-specific path)JSONGlobal
Claude Code~/.claude.jsonJSONGlobal
Cursor~/.cursor/mcp.json or .cursor/mcp.jsonJSONGlobal or project
Windsurf~/.codeium/windsurf/mcp_config.jsonJSONGlobal
Cline (VS Code extension).cline/mcp.jsonJSONProject
VS Code — GitHub Copilot Chat.github/copilot-mcp.jsonJSONProject
Zed~/.config/zed/settings.jsonJSONGlobal
Aider.aider/mcp.jsonJSONProject
Google Antigravity~/.gemini/antigravity/mcp_config.jsonJSONGlobal
OpenAI Codex CLI~/.codex/config.toml or .codex/config.tomlTOMLGlobal or project

After editing config, restart the client so it picks up the new server.


Claude Desktop

Edit claude_desktop_config.json:

  • macOS~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows%APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "phorvec": {
      "command": "phorvec",
      "args": []
    }
  }
}

Restart Claude Desktop after saving.


Claude Code

Register the server with the bundled CLI — works from any shell:

claude mcp add phorvec phorvec --scope user

Use --scope user for global, --scope project to scope to the current repo. Or edit ~/.claude.json directly:

{
  "mcpServers": {
    "phorvec": {
      "command": "phorvec",
      "args": []
    }
  }
}

Cursor

Add to .cursor/mcp.json at your project root for project scope, or ~/.cursor/mcp.json for global:

{
  "mcpServers": {
    "phorvec": {
      "command": "phorvec",
      "args": [],
      "type": "stdio"
    }
  }
}

Reload the Cursor window after saving (Cmd/Ctrl+Shift+PReload Window).


Windsurf

Windsurf (Codeium) reads MCP config from a single global file:

// ~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "phorvec": {
      "command": "phorvec",
      "args": []
    }
  }
}

Restart Windsurf so Cascade picks up the new server.


Cline

Cline is a VS Code extension. Either open Cline Settings → MCP Servers and paste the entry below, or create .cline/mcp.json in your project root:

{
  "mcpServers": {
    "phorvec": {
      "command": "phorvec",
      "args": []
    }
  }
}

The Cline UI also has a one-click reload after edits.


VS Code — GitHub Copilot Chat

GitHub Copilot Chat reads MCP servers from .github/copilot-mcp.json in your workspace. Create the file:

{
  "mcpServers": {
    "phorvec": {
      "command": "phorvec",
      "args": [],
      "type": "stdio"
    }
  }
}

Recent Copilot Chat builds enable MCP by default; if servers don't appear, check Settings → GitHub Copilot → Chat → MCP and make sure it's enabled.


Zed

Add a context-server entry to your Zed settings.json (~/.config/zed/settings.json on macOS/Linux, %APPDATA%\Zed\settings.json on Windows):

{
  "context_servers": {
    "phorvec": {
      "command": {
        "path": "phorvec",
        "args": []
      }
    }
  }
}

Reload Zed (Cmd/Ctrl+Shift+Pzed: reload).


Aider

Aider reads project-scoped MCP servers from .aider/mcp.json:

{
  "mcpServers": {
    "phorvec": {
      "command": "phorvec",
      "args": []
    }
  }
}

Aider picks the config up on the next aider invocation; no separate reload needed.


Google Antigravity

Antigravity reads MCP servers from a single global file:

// ~/.gemini/antigravity/mcp_config.json
{
  "mcpServers": {
    "phorvec": {
      "command": "phorvec",
      "args": []
    }
  }
}

Restart Antigravity after saving so the agent picks up the new server.


OpenAI Codex CLI

Codex uses TOML, not JSON. Add a [mcp_servers.phorvec] table to ~/.codex/config.toml for global scope, or .codex/config.toml in your project root for project scope:

[mcp_servers.phorvec]
command = "phorvec"
args = []

Codex auto-discovers MCP servers on the next launch — no separate reload required.


Verifying the connection

Once your client is restarted, try this from inside the agent's chat:

Use the context_store tool to remember that I'm working on the phorvec MCP setup.

If phorvec is wired up correctly, the agent reports a successful entry_… ID. Use context_retrieve afterwards to confirm round-trip. If the tool isn't visible, check:

  1. The client's MCP server list — does phorvec show up?
  2. Run phorvec --version in your shell — does the binary exist on PATH?
  3. The client's MCP logs — most clients write to a file under their config directory.

See the Tool Reference for the full list of MCP tools exposed by phorvec.


Multiple agents in one project

By default phorvec uses a per-machine data directory (~/.phorvec/data/). To scope an agent to a specific project, add PHORVEC_DATA_DIR and --project to the snippet:

{
  "mcpServers": {
    "phorvec": {
      "command": "phorvec",
      "args": ["--project", "my-project-name"],
      "env": {
        "PHORVEC_DATA_DIR": "/path/to/project/.phorvec"
      }
    }
  }
}

For TOML (Codex):

[mcp_servers.phorvec]
command = "phorvec"
args = ["--project", "my-project-name"]
env = { PHORVEC_DATA_DIR = "/path/to/project/.phorvec" }

See the Configuration Reference for every supported env var and the Deployment Guide for SSE / HTTP transport configuration when you want a single shared phorvec instance across the team.