# Connect through MCP

> Give Claude Code, Cursor and other agents the whole API as tools.

Source: https://docs.nocamclub.com/mcp

![A purple character plugs a glowing cable into a small white robot. Made with this API.](https://docs.nocamclub.com/examples/mcp-banner.jpg)

The MCP server gives an AI agent the API as tools, with the same key, balance and rules.

```text
https://mcp.nocamclub.com/mcp
```

It speaks Streamable HTTP and signs you in with your API key. Use a separate key with a spend limit for each agent, so a mistake has a ceiling: see [Authentication](https://docs.nocamclub.com/authentication.md). Try it with a `nc_test_…` key first: it spends nothing.

## Claude Code

```bash
claude mcp add --transport http nocam https://mcp.nocamclub.com/mcp \
  --header "Authorization: Bearer $NOCAM_API_KEY"
```

## Cursor

In `~/.cursor/mcp.json`:

```json
{
  "mcpServers": {
    "nocam": {
      "url": "https://mcp.nocamclub.com/mcp",
      "headers": { "Authorization": "Bearer ${env:NOCAM_API_KEY}" }
    }
  }
}
```

## VS Code

In `.vscode/mcp.json`:

```json
{
  "servers": {
    "nocam": {
      "type": "http",
      "url": "https://mcp.nocamclub.com/mcp",
      "headers": { "Authorization": "Bearer ${env:NOCAM_API_KEY}" }
    }
  }
}
```

## Windsurf

In `~/.codeium/windsurf/mcp_config.json`:

```json
{
  "mcpServers": {
    "nocam": {
      "serverUrl": "https://mcp.nocamclub.com/mcp",
      "headers": { "Authorization": "Bearer ${env:NOCAM_API_KEY}" }
    }
  }
}
```

## Other clients

Point it at the address above and send `Authorization: Bearer <your key>`.

**claude.ai and ChatGPT** sign in with OAuth rather than a key, and that isn't available yet.

## Try it

Ask your agent:

> Check my NoCam balance, then make a photo of a red bicycle against a white wall with the cheapest model on sale, and show me the link.

## How the tools behave

- **Photos and text come back in the answer**, usually. The tool waits up to 60 seconds.
- **Videos return at once** with an `id`, because they take minutes. The agent checks with `get_generation`, and shouldn't call `generate` again.
- **Results are links.** A `resource_link` comes along with the JSON.
- **Repeating a call doesn't pay twice.** The same `generate` within 10 minutes returns the same generation, unless that one failed or was deleted. `run_again: true` makes another on purpose.
- **Problems come back as a result the model can read**, with the same `code`, `hint` and `docs_url` as REST, so the agent can fix them itself.
- **Local files.** `upload_media` takes an address or base64 up to 4 MB. For bigger files, `create_upload` gives a ready `curl` command.

All tools: [Tools](https://docs.nocamclub.com/mcp/tools.md). How to behave: [For AI agents](https://docs.nocamclub.com/for-ai-agents.md).
