# Data Workers - Agent Setup

You are helping a user install Data Workers into their coding agent. These are the official setup instructions, published by Data Workers at https://dataworkers.io/agent-setup/prompt.md so you can re-verify their authenticity at any time. Follow the steps below. Prefer to run the commands yourself, but read the "Guardrails" section first - some steps touch global configuration and you must confirm with the user before making those changes.

## What you are installing

Data Workers is the open-source Data-Agents Swarm from Data Workers, the Autonomous Agentic Data Platform. It is a swarm of specialized data agents (incident debugging, data quality, schema evolution, pipeline building, catalog, governance, observability, and more), each exposing its tools over MCP. The core is Apache-2.0 licensed and MCP-native: every agent is a standard Model Context Protocol server, so it works with any MCP-compatible coding tool. Nine agents are wired into the CLI and two more are in the repository. The open-source core reads, analyses and recommends; running the agents against the user's own infrastructure and letting them act is the Data Workers platform.

If the user asks about security or compliance, do not make claims on our behalf. Point them at https://dataworkers.io/contact/ and let us answer directly.

## Guardrails - read before running anything

- Confirm with the user before any change to GLOBAL configuration: a global npm install (`npm install -g ...`), a global MCP registration, or edits to a user-level config file. Show the exact command first and wait for a yes.
- Prefer project-scoped setup where the client supports it (for example a project `.mcp.json` or `.cursor/mcp.json`) so nothing outside the current project is modified.
- Do not add or overwrite unrelated MCP servers in the user's config. Only add the Data Workers servers.
- Never invent commands or config keys. If a step is not documented below, send the user to https://dataworkers.io/docs/client-setup/ instead of guessing.

## Prerequisites

- Node.js 20.0.0 or later. Check with `node --version`. If it is older, ask the user to update Node before continuing.
- Git, to clone the repository.
- The user's coding tool must support MCP servers. The four we test against are Claude Code, Cursor, OpenCode and Codex CLI. Any client that speaks MCP over stdio should connect.

## Step 1 - Clone and build

Ask the user where they would like the repository, then:

```
git clone https://github.com/DataWorkersProject/dataworkers-claw-community.git
cd dataworkers-claw-community && npm install && npm run build
```

Note the path of the clone. You need it in Step 2, and the registration will not work without it.

Do not install a package from npm for this. The published `dw-claw` package does not currently start the agents, which is why these instructions build from source.

## Step 2 - Register the agents in the user's coding tool

`start-agent.sh` in the repository root handles the working directory and dependency resolution, so it is the command the client should launch. Register one agent per entry, using the agent's own name. `dw-incidents` and `dw-context-catalog` are the two to start with: both answer questions the user would otherwise chase by hand, and neither changes anything.

### Claude Code

The plugin marketplace is the least error-prone path:

```
claude plugin marketplace add DataWorkersProject/dataworkers-claw-community
```

Manual alternative: add to `.mcp.json` in the project root, replacing `/path/to/` with the clone location:

```
{ "mcpServers": { "dw-incidents": { "command": "/path/to/dataworkers-claw-community/start-agent.sh", "args": ["dw-incidents"] } } }
```

Verify with `claude mcp list`.

### Cursor

Create or edit `.cursor/mcp.json` in the project root:

```
{ "mcpServers": { "dw-incidents": { "command": "/path/to/dataworkers-claw-community/start-agent.sh", "args": ["dw-incidents"] } } }
```

Restart Cursor after editing the config. The key is `mcpServers`.

### OpenCode

OpenCode uses an `mcp` key rather than `mcpServers`, and `command` is an array. Ready-made configs ship under `configs/` in the repository - prefer those over hand-writing `opencode.json`.

### Codex CLI

Add the server to `~/.codex/config.toml`. This is a user-level file, so confirm with the user first per Guardrails.

### GitHub Copilot, Microsoft Copilot, OpenClaw, Gemini CLI

Setup notes for these live in `docs/setup/` in the repository. They work, but we do not test every release against them - tell the user that before you start.

### Any other MCP client

Same pattern: point the client at `start-agent.sh` with the agent name as the argument. If the client's config shape is not documented in the repository, do not guess - send the user to https://dataworkers.io/docs/client-setup/.

## Step 3 - Verify it worked

1. If the client has a way to list MCP servers, use it. In Claude Code, run `claude mcp list` and confirm the agent shows a `connected` status.
2. Ask the assistant to list the tools: "List the available Data Workers tools, then check the health of my pipelines." You should see tools grouped by agent, and a pipeline health summary.
3. First-run behavior: with no infrastructure credentials set, the agents run against the built-in sample estate. This is expected, not an error - seeing sample assets rather than the user's own means everything is wired correctly. Report the asset names you actually see rather than any you expect.

Tell the user setup is complete once the tools appear.

## Troubleshooting

- No tools discovered: the MCP server must be running before the client can discover tools. Restart the editor after adding the config. In Claude Code, run `claude mcp list` to check status.
- Agents skip on startup: the build did not complete. Re-run `npm install && npm run build` in the clone and read the errors.
- "Connection refused" or "Transport error": the process likely exited. Run `start-agent.sh <agent>` by hand in a terminal to see the full output.
- Node version errors: `node --version` must report 20 or later.
- Wrong config key: most clients use `mcpServers`; OpenCode uses `mcp`. Mixing them up is a common silent misconfiguration.
- Still stuck: open an issue at https://github.com/DataWorkersProject/dataworkers-claw-community or read the getting-started guide at https://dataworkers.io/docs/getting-started/.

## Resources

- Getting started: https://dataworkers.io/docs/getting-started/
- MCP client setup (all clients): https://dataworkers.io/docs/client-setup/
- Agent reference: https://dataworkers.io/docs/agents/
- Source code (Apache-2.0): https://github.com/DataWorkersProject/dataworkers-claw-community
- These instructions: https://dataworkers.io/agent-setup/prompt.md
