# Connect your AI to NepoNet

NepoNet finds the warmest chain of introductions from you to anyone on X, explains every step, drafts the first ask, and tracks your outreach. It never sends anything for you.

**Server URL:** `https://nepotism.network/mcp`

Most clients sign in with OAuth: you approve the connection on NepoNet and choose what it may do. Where OAuth isn't available, make an API key under **Account → AI agents** and send it as `Authorization: Bearer <key>` (the examples read it from `NEPONET_API_KEY`). You need a NepoNet account with your X account connected. Connections and keys can be revoked from the same page at any time.

## Chat apps

### Claude

Claude on the web, desktop and mobile. Add it once and it's there on every device.

[Open Claude connectors](https://claude.ai/customize/connectors)

1. In Claude, open **Customize → Connectors** and choose **Add custom connector**.
2. Name it **NepoNet** and paste `https://nepotism.network/mcp`. Leave the advanced settings alone.
3. Choose **Connect**, sign in to NepoNet, and approve. Turn it on in a chat from **+ → Connectors**.
4. On Team and Enterprise plans, an owner adds it once under **Organization settings → Connectors**, and then each member connects their own account.

Server URL:

```
https://nepotism.network/mcp
```

> Free plans can add one custom connector.

### ChatGPT

NepoNet as a ChatGPT app, in any chat.

[Open ChatGPT settings](https://chatgpt.com/#settings)

1. In ChatGPT on the web, open **Settings → Security and login** and turn on **Developer mode**. It needs a Plus, Pro, Business, Enterprise or Edu plan, and a workspace admin may have to allow it.
2. Open **Plugins** (formerly Apps), choose **+**, name it **NepoNet**, and paste `https://nepotism.network/mcp` as the connection. Choose **OAuth**.
3. Sign in to NepoNet and approve. NepoNet then appears under the + menu in any chat.

Server URL:

```
https://nepotism.network/mcp
```

> ChatGPT asks before any tool that changes something. Reading routes never needs a confirmation.

## Coding agents and IDEs

### Claude Code

Your intro search, from the terminal.

1. Add the server, then run `/mcp` in Claude Code and choose **Authenticate** to sign in.
2. Install the skill too, so Claude Code knows the workflow.
3. Headless or in CI, pass an API key instead: Make an API key at [Account → AI agents](https://nepotism.network/?view=account) and put it in `NEPONET_API_KEY`.

Add the server:

```sh
claude mcp add --transport http --scope user neponet https://nepotism.network/mcp
```

The skill:

```sh
npx skills add https://nepotism.network --agent claude-code
```

With an API key:

```sh
claude mcp add --transport http --scope user neponet https://nepotism.network/mcp \
  --header "Authorization: Bearer $NEPONET_API_KEY"
```

### Codex

OpenAI's Codex CLI and IDE extension share one config.

1. Add the server, then sign in with `codex mcp login neponet`.
2. Or use an API key: Make an API key at [Account → AI agents](https://nepotism.network/?view=account) and put it in `NEPONET_API_KEY`.

Add and sign in:

```sh
codex mcp add neponet --url https://nepotism.network/mcp
codex mcp login neponet
```

~/.codex/config.toml (API key):

```toml
[mcp_servers.neponet]
url = "https://nepotism.network/mcp"
bearer_token_env_var = "NEPONET_API_KEY"
```

The skill:

```sh
npx skills add https://nepotism.network --agent codex
```

### Cursor

One click, then sign in when Cursor asks.

[Add to Cursor](cursor://anysphere.cursor-deeplink/mcp/install?name=neponet&config=eyJ1cmwiOiJodHRwczovL25lcG90aXNtLm5ldHdvcmsvbWNwIn0%3D)

1. Choose **Add to Cursor**, confirm, then sign in when Cursor shows **Needs login** next to NepoNet.
2. Or add it to `~/.cursor/mcp.json` yourself.

~/.cursor/mcp.json:

```json
{
  "mcpServers": {
    "neponet": {
      "url": "https://nepotism.network/mcp"
    }
  }
}
```

With an API key:

```json
{
  "mcpServers": {
    "neponet": {
      "url": "https://nepotism.network/mcp",
      "headers": {
        "Authorization": "Bearer ${env:NEPONET_API_KEY}"
      }
    }
  }
}
```

### VS Code

GitHub Copilot's agent mode in VS Code.

[Install in VS Code](https://vscode.dev/redirect/mcp/install?name=neponet&config=%7B%22type%22%3A%22http%22%2C%22url%22%3A%22https%3A%2F%2Fnepotism.network%2Fmcp%22%7D)

1. Choose **Install in VS Code**, then **Install**, and sign in when VS Code asks.
2. Or run **MCP: Add Server** from the command palette, or edit `.vscode/mcp.json`.

Command line:

```sh
code --add-mcp '{"name":"neponet","type":"http","url":"https://nepotism.network/mcp"}'
```

.vscode/mcp.json:

```json
{
  "servers": {
    "neponet": {
      "type": "http",
      "url": "https://nepotism.network/mcp"
    }
  }
}
```

### Gemini CLI

Google's terminal agent.

1. Add the server, then run `/mcp auth neponet` inside Gemini CLI to sign in.

Add the server:

```sh
gemini mcp add --transport http --scope user neponet https://nepotism.network/mcp
```

~/.gemini/settings.json (API key):

```json
{
  "mcpServers": {
    "neponet": {
      "httpUrl": "https://nepotism.network/mcp",
      "headers": {
        "Authorization": "Bearer $NEPONET_API_KEY"
      }
    }
  }
}
```

### Windsurf

Cascade in Windsurf (Devin Desktop).

1. Add NepoNet to `~/.codeium/windsurf/mcp_config.json` and refresh the MCP list. Windsurf signs in on first use.

mcp_config.json:

```json
{
  "mcpServers": {
    "neponet": {
      "serverUrl": "https://nepotism.network/mcp"
    }
  }
}
```

> Windsurf allows 100 tools across all servers; NepoNet uses about 25.

### Zed

Zed's agent panel.

1. Add NepoNet under `context_servers` in Zed's settings, or in **Settings → AI → MCP Servers**. Zed signs in when there's no Authorization header.

settings.json:

```json
{
  "context_servers": {
    "neponet": {
      "url": "https://nepotism.network/mcp"
    }
  }
}
```

### OpenCode

The open-source terminal agent.

1. Add NepoNet under `mcp` in `opencode.json`, then sign in with `opencode mcp auth neponet`.

opencode.json:

```json
{
  "mcp": {
    "neponet": {
      "type": "remote",
      "url": "https://nepotism.network/mcp"
    }
  }
}
```

### Amp

Sourcegraph's coding agent.

1. Add the server; Amp opens the sign-in on first use.

Add the server:

```sh
amp mcp add neponet https://nepotism.network/mcp
```

### Kiro

AWS's agentic IDE.

1. Add NepoNet to `~/.kiro/settings/mcp.json` (or the project's `.kiro/settings/mcp.json`).

mcp.json:

```json
{
  "mcpServers": {
    "neponet": {
      "url": "https://nepotism.network/mcp"
    }
  }
}
```

### Factory Droid

Factory's terminal agent.

1. Add the server; Droid signs in on first use.

Add the server:

```sh
droid mcp add neponet https://nepotism.network/mcp --type http
```

## Agents

### Goose

Block's open-source agent, on the desktop or in the terminal.

[Add to Goose](goose://extension?url=https%3A%2F%2Fnepotism.network%2Fmcp&type=streamable_http&id=neponet&name=NepoNet&description=Warm+intros+to+anyone+on+X&timeout=300)

1. Choose **Add to Goose**, or add the extension to `~/.config/goose/config.yaml`.

~/.config/goose/config.yaml:

```yaml
extensions:
  neponet:
    name: NepoNet
    type: streamable_http
    uri: https://nepotism.network/mcp
    enabled: true
    timeout: 300
```

### Hermes Agent

Nous Research's agent. It signs in with OAuth and can install the NepoNet skill.

1. Add NepoNet under `mcp_servers` in `~/.hermes/config.yaml`, then run `/reload-mcp`. On a machine without a browser, sign in with `hermes mcp login neponet --flow device`.
2. Install the skill so Hermes knows the workflow: copy it into `~/.hermes/skills/`. Hermes's skills hub also reads the index this site publishes at `https://nepotism.network/.well-known/skills/index.json`.

~/.hermes/config.yaml:

```yaml
mcp_servers:
  neponet:
    url: "https://nepotism.network/mcp"
    auth: oauth
```

The skill:

```sh
mkdir -p ~/.hermes/skills/neponet
curl -fsSL https://nepotism.network/.well-known/agent-skills/neponet/SKILL.md -o ~/.hermes/skills/neponet/SKILL.md
```

### OpenClaw

The self-hosted assistant, from any chat app it's connected to.

1. Make an API key at [Account → AI agents](https://nepotism.network/?view=account) and put it in `NEPONET_API_KEY`.
2. Add NepoNet with `openclaw mcp add`, or under `mcp.servers` in `~/.openclaw/openclaw.json`, then check it with `openclaw mcp status --verbose`.
3. Install the skill into your workspace.

~/.openclaw/openclaw.json:

```json5
{
  mcp: {
    servers: {
      neponet: {
        type: "streamable-http",
        url: "https://nepotism.network/mcp",
        headers: { Authorization: "Bearer ${NEPONET_API_KEY}" },
      },
    },
  },
}
```

The skill:

```sh
npx skills add https://nepotism.network --agent openclaw
```

> OpenClaw's config keys have changed between releases. If `type` isn't accepted, try `transport`, and see `openclaw mcp add --help`.

### Devin

Cognition's cloud agent.

1. In Devin, open **Customize → MCPs → Add MCP → Add custom MCP**, choose HTTP, paste `https://nepotism.network/mcp`, and choose OAuth (personal).

Server URL:

```
https://nepotism.network/mcp
```

## Everything else

### Raycast

Raycast AI on the Mac and iOS (needs Raycast Pro).

1. Run **Install MCP Server**, choose HTTP, paste `https://nepotism.network/mcp`, and pick **Dynamic** OAuth.

Server URL:

```
https://nepotism.network/mcp
```

### Copilot Studio

Microsoft Copilot Studio agents.

1. In your agent, open **Tools → Add a tool → New tool → Model Context Protocol**, and paste `https://nepotism.network/mcp`.
2. Choose **OAuth 2.0 → Dynamic discovery**, or **API key** as a header named `Authorization` with the value `Bearer <key>`.

Server URL:

```
https://nepotism.network/mcp
```

### Anything else

Any client that speaks MCP, and the ones that only run local servers.

1. Remote MCP (Streamable HTTP) at `https://nepotism.network/mcp`. OAuth 2.1 with PKCE is discovered from `https://nepotism.network/.well-known/oauth-protected-resource/mcp`, and both Client ID Metadata Documents and Dynamic Client Registration work.
2. Clients without OAuth send `Authorization: Bearer <key>`. Make an API key at [Account → AI agents](https://nepotism.network/?view=account) and put it in `NEPONET_API_KEY`.
3. Clients that only start local (stdio) servers, such as Claude Desktop's config file, can bridge with `mcp-remote`.

Generic JSON:

```json
{
  "mcpServers": {
    "neponet": {
      "type": "http",
      "url": "https://nepotism.network/mcp",
      "headers": {
        "Authorization": "Bearer ${NEPONET_API_KEY}"
      }
    }
  }
}
```

stdio bridge (mcp-remote):

```json
{
  "mcpServers": {
    "neponet": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-remote@latest",
        "https://nepotism.network/mcp",
        "--header",
        "Authorization:${AUTH_HEADER}"
      ],
      "env": {
        "AUTH_HEADER": "Bearer <your NepoNet API key>"
      }
    }
  }
}
```

> Keep `Authorization:${AUTH_HEADER}` without a space: some clients split arguments on spaces.

### HTTP API

No MCP at all: scripts, n8n, Zapier, custom GPT actions, or an agent with only a shell.

1. Make an API key at [Account → AI agents](https://nepotism.network/?view=account) and put it in `NEPONET_API_KEY`.
2. Every tool is `POST https://nepotism.network/api/v1/tools/<name>` with a JSON body. `GET https://nepotism.network/api/v1/tools` lists them with their schemas, and the OpenAPI 3.1 spec is at `https://nepotism.network/api/v1/openapi.json`.

Call a tool:

```sh
curl -s https://nepotism.network/api/v1/tools/list_paths \
  -H "Authorization: Bearer $NEPONET_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"handle": "paulg"}'
```

## What an agent can do

- `whoami` (read-only): Who am I
- `connect_x` (writes): Connect an X account
- `get_brief` (read-only): Read the brief
- `set_brief` (writes): Update the brief
- `find_person` (read-only): Find someone on X
- `get_person` (read-only): Read a profile
- `get_dossier` (read-only): What research found about someone
- `list_paths` (read-only): Known chains to someone
- `start_search` (spends): Search for intro routes
- `wait_for_search` (read-only): Wait for a search
- `get_search` (read-only): Read a search
- `list_searches` (read-only): Past searches
- `stop_search` (writes): Stop a search
- `suggest_bridges` (read-only): Who to befriend first
- `draft_intro_ask` (read-only): Facts for drafting an ask
- `set_goal` (writes): Say why this target
- `list_outreach` (read-only): The outreach board
- `record_outreach` (writes): Track someone to ask
- `update_outreach` (writes): Update an outreach item
- `delete_outreach` (deletes): Remove from the outreach board
- `list_plans` (read-only): Written plans
- `get_plan` (read-only): Read a plan
- `update_plan_step` (writes): Tick off a plan step
- `research_and_plan` (spends): Research and write a plan
- `get_research` (read-only): Follow research

Full arguments are in [llms-full.txt](https://nepotism.network/llms-full.txt) and [the OpenAPI spec](https://nepotism.network/api/v1/openapi.json).

## Permissions

| Permission | Lets an agent |
| --- | --- |
| `graph:read` | Look people up and read their profiles |
| `routes:read` | Read the intro routes your searches found |
| `routes:search` | Start new searches — spends your daily search quota and reads X |
| `outreach:read` | Read who you've asked and what happened |
| `outreach:write` | Add and update people on your outreach board |
| `brief:read` | Read what you're working on |
| `brief:write` | Change what you're working on |
| `plans:read` | Read your written plans and drafts |
| `plans:write` | Tick off plan steps, and research and write new plans with your connected AI account |

The consent screen shows what the agent asked for, and you can untick anything. Two permissions cost something: **starting searches** spends your daily searches, and **writing plans** bills the AI account you connected to NepoNet. An agent that asks for nothing in particular gets read access and the outreach board.

## Safety

- **NepoNet never sends anything.** There is no tool that DMs, follows, posts or emails. Drafts are for you to send.
- **Only connect agents you trust.** A connected agent can read your searches, brief and outreach, and do what you allowed.
- **Watch for prompt injection.** Profiles and pages an agent reads are written by other people. Check a draft before you send it.
- **Check the address.** The real server is `https://nepotism.network/mcp`, and the consent page is always on nepotism.network.

## Troubleshooting

- **"Connect an X account first"**: sign in at https://nepotism.network and connect X, or tell the agent your handle (`connect_x`).
- **"needs the … permission"**: reconnect (in Claude Code, `/mcp` → Re-authenticate) and tick that permission.
- **Stuck signing in**: remove the connector and add it again. For `mcp-remote`, delete `~/.mcp-auth`.
- **"You've used today's searches"**: searching the same person again is free; the quota resets at midnight UTC.
