|Documentation
dataworkers

Developer Guide

This guide is for developers and agent builders who want to use, extend, or build on Data Workers.

Using Agents in Claude Code

The quickest way to set up all agents:

npx dw-claw

Or register as a persistent MCP server:

claude mcp add data-workers -- npx dw-claw

You can also add individual agents if you only need specific functionality:

claude mcp add data-workers-incident
claude mcp add data-workers-quality
claude mcp add data-workers-schema

Once connected, agents expose their tools automatically. Use them in your development workflow. Agents maintain context across interactions and coordinate with other active agents in your session.

Using Agents in Cursor

Add agents to your Cursor environment via .cursor/mcp.json. Configure each agent with the npx command and agent name. Once configured, agents expose tools in Cursor's MCP panel. Use them the same way as in Claude Code — describe what you need in natural language.

Using Agents with Any MCP Client

Data Workers agents implement the standard MCP protocol (stdio transport). They work with any compatible client including OpenClaw, Cline, Continue, and custom implementations. Run an agent as an MCP server with npx data-workers-incident, or install globally with npm install -g data-workers-incident.

Using the API

For programmatic access, each agent exposes a REST API:

POST /api/v1/agents/{agent-name}/invoke
GET /api/v1/agents/{agent-name}/status
GET /api/v1/agents/{agent-name}/tools
POST /api/v1/agents/{agent-name}/tools/{tool-name}/execute

Authentication is via OAuth 2.0 bearer tokens.

Connecting to Enterprise Tools

Configure credentials for your data platforms via environment variables before starting your MCP client:

  • SNOWFLAKE_ACCOUNT, SNOWFLAKE_USER, SNOWFLAKE_PASSWORD — Snowflake connection
  • BIGQUERY_PROJECT, GOOGLE_APPLICATION_CREDENTIALS — BigQuery connection
  • DATABRICKS_HOST, DATABRICKS_TOKEN — Databricks connection
  • AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, AWS_REGION — AWS services (Glue, Redshift, Kinesis)
  • AZURE_TENANT_ID, AZURE_CLIENT_ID, AZURE_CLIENT_SECRET — Azure services (Purview, Synapse)
  • PAGERDUTY_API_KEY — PagerDuty integration
  • SLACK_BOT_TOKEN — Slack notifications and approvals

Set these in your shell, .env file, or your organization's secrets manager. Agents auto-discover available connections on startup.

Building Custom Agents

Each Data Workers agent is an MCP server. You can build custom agents that plug into the swarm:

  • Implement the MCP server protocol. Your agent exposes tools, resources, and prompts via MCP.
  • Register with the context layer. Your custom agent shares context with other agents through the same shared context layer used by built-in agents.
  • Define your tools. Each tool has a name, description, input schema, and execution handler.
  • Set autonomy levels. Define which operations your agent can perform autonomously and which require approval.

Custom agents are first-class citizens in the swarm. The Swarm Orchestration Agent coordinates them alongside built-in agents.

Extending Existing Agents

You can extend built-in agents without building from scratch:

  • Fork and customize: Clone an agent's repository and modify its behavior for your domain
  • Add custom tools: Register additional tools with an existing agent's MCP server
  • Configure domain-specific rules: Add custom detection patterns, quality rules, or governance policies specific to your data environment
  • Custom integrations: Add MCP connections to internal tools that are not yet supported out of the box

Local Development

Set up a local development environment:

Prerequisites: Node.js 20+ (for the website and tooling), Python 3.10+ (for agent development), Git.

Clone the repository, install dependencies, and start the dev server:

git clone https://github.com/DataWorkersProject/dataworkers-website-marketing.git
cd dataworkers-website-marketing && npm install
npm run dev

The dev server runs at http://localhost:5173 with hot reload enabled.

Contributing

The community edition is open source. Contributions are welcome:

  • Fork the repository on GitHub
  • Create a branch for your change (git checkout -b feature/my-change)
  • Make your changes and add tests where applicable
  • Submit a pull request with a clear description of the change and its motivation
  • A maintainer will review your PR. Address feedback and iterate until approved.

For bug reports and feature requests, open a GitHub Issue with reproduction steps or a description of the use case.