> Markdown export: /developers/cursor-and-claude.md
> HTML: /developers/cursor-and-claude
---
description: Step-by-step MCP client configuration for Cursor and Claude Desktop against a self-hosted Eigen Mesh deployment.
audience: integrator
---

# Connect Cursor or Claude Desktop

> **In plain terms:** This guide wires your AI assistant to your Eigen Mesh memories so it can save and search thoughts for you — using a config file and an API key from your account.

This guide connects an MCP client to your Eigen Mesh deployment. You need a running instance and an API key from **`/api-keys`**.

::: warning
API keys grant full access to your memories. Do not share them, commit them to version control, or paste them in public chats.
:::

## Who this is for

- **Integrators** setting up Cursor or Claude Desktop
- **Self-hosted users** who completed [Overview & quick start](/developers/getting-started)

## Prerequisites

1. Eigen Mesh deployed and reachable at `https://<your-app-origin>`
2. MCP client: [Cursor](https://cursor.com) or [Claude Desktop](https://claude.ai/download)

## Step 1 — Get an API key

1. Sign in to your Eigen Mesh deployment.
2. Open **Settings → API keys**, or go to `/api-keys`.
3. Create a new API key and copy it — you will paste it into your MCP client config.

## Step 2 — Configure Cursor

Create or edit `.cursor/mcp.json` in your project (or `~/.cursor/mcp.json` globally):

```json
{
  "mcpServers": {
    "eigenmesh": {
      "url": "https://<your-app-origin>/api/mcp",
      "headers": {
        "Authorization": "Bearer YOUR_API_KEY_HERE"
      }
    }
  }
}
```

1. Replace `<your-app-origin>` with your deployment URL (no trailing slash).
2. Replace `YOUR_API_KEY_HERE` with your Eigen Mesh API key.
3. Enable MCP servers in Cursor settings and restart if prompted.
4. In chat, ask the assistant to capture or search your memories — it should invoke Eigen Mesh tools.

### Local development

If Eigen Mesh runs on `http://localhost:3000`:

```json
{
  "mcpServers": {
    "eigenmesh": {
      "url": "http://localhost:3000/api/mcp",
      "headers": {
        "Authorization": "Bearer YOUR_API_KEY_HERE"
      }
    }
  }
}
```

## Step 3 — Configure Claude Desktop

Claude Desktop supports MCP via config file. Location:

- **macOS:** `~/Library/Application Support/Claude/claude_desktop_config.json`
- **Windows:** `%APPDATA%\Claude\claude_desktop_config.json`

### HTTP transport (recommended)

If your Claude Desktop build supports HTTP MCP servers:

```json
{
  "mcpServers": {
    "eigenmesh": {
      "url": "https://<your-app-origin>/api/mcp",
      "headers": {
        "Authorization": "Bearer YOUR_API_KEY_HERE"
      }
    }
  }
}
```

Restart Claude Desktop after saving.

### stdio bridge (alternative)

If your client requires stdio transport, run a local MCP proxy that forwards to the HTTP endpoint, or use a community `mcp-remote` bridge pointed at `https://<your-app-origin>/api/mcp` with the same Bearer header.

## Step 4 — Verify the connection

After configuration:

1. Open a new chat in your client.
2. Ask: *"Use Eigen Mesh to capture this thought: I prefer morning standups over async updates."*
3. Confirm the tool call succeeds and returns a thought identifier.
4. Ask: *"Search my memories for standup preferences."*

If you receive **401 Unauthorized**, regenerate the API key and update the config.

## Troubleshooting

See [Troubleshooting](/developers/troubleshooting) — MCP section for connection and auth issues.

## Next steps

- [First memory walkthrough](/developers/first-memory-walkthrough)
- [MCP tools reference](/developers/mcp-tools)
