# MCP server

> Connect Claude Code, Claude Desktop, Cursor, Windsurf or VS Code to Datapoint and collect human feedback from inside an agent.

The Datapoint MCP server lets an agent run surveys, comparisons, ratings and rankings with real people, then read the results back into the conversation. It wraps the same API as the rest of these docs.

<DocCallout type="note" title="Before you connect">
You need a Datapoint account and [`uv`](https://docs.astral.sh/uv/getting-started/installation/) on your `PATH`. The server is open source: [impel-intelligence/datapoint-mcp](https://github.com/impel-intelligence/datapoint-mcp).
</DocCallout>

## Connect your client

### Claude Code

Install it as a plugin:

```
/plugin marketplace add impel-intelligence/datapoint-mcp
/plugin install datapoint@datapoint
```

To pick up new versions, run `/plugin marketplace update datapoint` and then `/plugin update datapoint@datapoint`.

### Claude Desktop

Add the server to `claude_desktop_config.json`. On macOS the file is in `~/Library/Application Support/Claude/`, on Windows in `%APPDATA%\Claude\`.

```json
{
  "mcpServers": {
    "datapoint": {
      "command": "uvx",
      "args": [
        "--from",
        "git+https://github.com/impel-intelligence/datapoint-mcp.git",
        "datapoint-mcp"
      ]
    }
  }
}
```

Restart Claude Desktop after saving.

### Cursor

Add the same `mcpServers` entry to `~/.cursor/mcp.json`, or add it under Settings, MCP.

### Windsurf

Add the same `mcpServers` entry to `~/.codeium/windsurf/mcp_config.json`.

### VS Code

Add the server to `.vscode/mcp.json` in your workspace. VS Code uses a `servers` key:

```json
{
  "servers": {
    "datapoint": {
      "command": "uvx",
      "args": [
        "--from",
        "git+https://github.com/impel-intelligence/datapoint-mcp.git",
        "datapoint-mcp"
      ]
    }
  }
}
```

### Any other MCP client

Run the server over stdio:

```bash
uvx --from git+https://github.com/impel-intelligence/datapoint-mcp.git datapoint-mcp
```

## Authorize and verify

Ask the agent to run `setup`. It opens a browser window where you sign in to Datapoint. Then ask it to run `check_balance`. A working connection returns your account balance.

## Give it a first task

Start with one small job so you can see the whole loop:

```text
Upload logo_a.png and logo_b.png, then ask 20 people which logo they prefer.
Show me the plan and the cost before you launch anything.
```

The agent follows this order:

1. `upload_media` for each local file. Raters cannot see local paths, so files are uploaded first and referenced as `dp://` URIs. Public `https://` URLs work without uploading.
2. `plan_survey` with your description. It returns the task type, the number of items and the cost.
3. `create_survey` once you confirm the plan. This reserves credits and starts collecting responses.
4. `check_survey` for progress and aggregated results.

<DocCallout type="warning" title="Confirm before launch">
`create_survey` starts paid human work within seconds and there is no draft state. Have the agent show you the plan and wait for your confirmation.
</DocCallout>

## Tools

| Tool | What it does |
| --- | --- |
| `setup` | Sign in to your Datapoint account in the browser |
| `upload_media` | Upload local images, audio or video and get `dp://` references |
| `plan_survey` | Design a survey from a plain-language description |
| `create_survey` | Launch a survey from a plan |
| `check_survey` | Status, progress and aggregated results |
| `get_survey_responses` | Raw responses per rater, paginated |
| `list_surveys` | List your surveys |
| `pause_survey` | Stop serving tasks for an active survey |
| `resume_survey` | Resume a paused survey |
| `cancel_survey` | Cancel a survey and refund unused reserved credits |
| `check_balance` | Account balance |
| `add_credits` | Open a checkout link to top up |

## If the tools do not appear

- Check that `uvx --version` works in a terminal. If it does not, install `uv` and restart the client.
- Restart the client after editing its config file. Most clients read MCP config only at startup.
- Check the JSON for a trailing comma or a wrong top-level key. VS Code uses `servers`; the other clients use `mcpServers`.
- If tools appear but calls fail with an authentication error, run `setup` again.

## Related

- [Quickstart](/docs/quickstart) for the same flow through the REST API.
- [Task types](/docs/task-types) for what `plan_survey` can choose between.
- [Billing](/docs/billing) for how credits are reserved and refunded.
