The DX-first platform for agentic engineering
Project description
HatchDX
The DX-first platform for agentic engineering.
HatchDX (hdx) is a CLI tool and developer platform for scaffolding, testing, validating, and deploying MCP servers and the AI agents that use them. Go from zero to a working, testable MCP server or agent in under 2 minutes.
hdx init → hdx server create → hdx server test → hdx server dev
workspace scaffold server test locally dev + REPL
hdx agent create → hdx agent chat → hdx agent eval
scaffold agent interactive chat quality evals
Why?
Building MCP servers and agents today means reading scattered docs, copying boilerplate, no standardized project structure, and no way to test tools locally without a full LLM client. HatchDX fixes all of that.
- Workspace management —
hdx initscaffolds a workspace for servers and agents - No boilerplate —
hdx server creategenerates a complete project with best practices baked in - Test without Claude —
hdx server testruns your tools locally using YAML fixtures - Fast feedback loop —
hdx server devgives you hot reload and an interactive REPL - Protocol compliance —
hdx server validatecatches MCP violations before shipping - Quality checks —
hdx server evaltests tool effectiveness with assertions and golden files - Sandboxed execution —
hdx server sandboxruns tools in containers with security policies - Agent scaffolding —
hdx agent creategenerates agent configs wired to your servers - Agent chat —
hdx agent chatruns interactive sessions with tool-calling agents - Agent evals —
hdx agent evaltests agent behavior with assertions, cost tracking, and regression detection - Web dashboard —
hdx dashboardgives you visual observability for servers and agents (eval history, config, analytics)
Install
# Option 1: Install as a global CLI tool (recommended)
uv tool install hatchdx
# Option 2: Run without installing
uvx hatchdx --help
# Option 3: pip
pip install hatchdx
Requires Python 3.13+ and uv (recommended) or pip.
Agent extras
Agent features (chat, eval) require a model provider SDK. Install the extra for your provider:
# Global CLI install with agent support (recommended)
uv tool install "hatchdx[anthropic]" # Anthropic (Claude)
uv tool install "hatchdx[openai]" # OpenAI (GPT, o-series)
uv tool install "hatchdx[agent]" # Both providers
# Or with uvx (no install, quotes required)
uvx --from "hatchdx[anthropic]" hdx agent chat my-agent
# Or with pip
pip install "hatchdx[anthropic]"
Note: Quotes around
"hatchdx[...]"are required — zsh interprets bare[]as glob patterns.
Server-only users don't need extras — hdx stays lightweight by default.
Quick Start
# 1. Create a workspace
hdx init my-project
cd my-project
# 2. Create an MCP server
hdx server create --name weather-mcp --language python --transport stdio --template minimal
# 3. Install and test it
cd servers/weather-mcp
pip install -e .
hdx server test
# 4. Start the dev server with interactive REPL
hdx server dev
Or run hdx server create without flags for an interactive experience.
Commands
hdx init
Scaffold a new HatchDX workspace with servers/ and agents/ directories.
hdx init my-project
hdx server create
Create a new MCP server project.
# Interactive mode
hdx server create
# Non-interactive mode
hdx server create \
--name weather-mcp \
--language python \
--transport stdio \
--template api-wrapper \
--description "Weather data via OpenWeather API"
hdx server test
Run YAML test fixtures against your MCP server. No LLM client needed.
hdx server test # Run all fixtures
hdx server test -v # Verbose
hdx server test -f "hello*" # Filter by test name
hdx server dev
Start your server with hot reload and an interactive REPL.
hdx server dev # Hot reload + REPL
hdx server dev --no-repl # Watch and restart only
hdx server validate
Run protocol compliance checks against your MCP server.
hdx server validate # Run all checks
hdx server validate --json-output # Machine-readable JSON
hdx server validate --severity error # Only errors
hdx server eval
Test tool effectiveness with assertions and golden files.
hdx server eval # Run all suites
hdx server eval --suite "core quality" # Filter by suite
hdx server eval --compare # Regression detection
hdx server sandbox
Run MCP tools inside containers with configurable security policies.
hdx server sandbox run get_weather '{"city": "London"}'
hdx server sandbox shell
hdx server sandbox build
hdx agent create
Create a new AI agent project.
hdx agent create --name assistant --template single-agent --provider anthropic
hdx agent chat
Start an interactive chat session with an agent.
hdx agent chat assistant
hdx agent chat assistant -m "What's the weather?" # Single message
hdx agent eval
Run eval suites against an agent.
hdx agent eval assistant --suite basic
hdx dashboard
Start the web dashboard for observability across servers and agents.
hdx dashboard # Start and open browser (default: http://localhost:4320)
hdx dashboard --port 8080 # Custom port
hdx dashboard --no-open # Don't auto-open the browser
The dashboard includes:
- Overview — project summary, server health, recent eval runs
- Agents — browse all agents, view config (model, servers, tool filters, system prompt), eval history with pass rates/cost/tokens
- Eval Dashboard — unified eval runs for both servers and agents, with source filter toggle (All / Servers / Agents)
- Tool Playground — invoke tools from the browser via auto-generated forms
- Analytics — invocation counts, latency percentiles, error rates
- Compliance — protocol validation results with fix suggestions
Configuration
HatchDX reads config from pyproject.toml or hdx.toml (generated automatically by hdx server create).
pyproject.toml (Python projects):
[tool.hdx]
server_command = "python -m weather_mcp.server"
fixtures_dir = "tests/fixtures"
hdx.toml (TypeScript/other projects):
[server]
name = "weather-mcp"
command = "node dist/server.js"
[testing]
fixtures_dir = "tests/fixtures"
Development
# Clone and install
git clone https://github.com/ceasarb/hatchdx.git
cd hatchdx
uv sync
# Run tests
pytest tests/ -v
# Lint
ruff check src/
ruff format src/
License
MIT
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file hatchdx-0.1.1.tar.gz.
File metadata
- Download URL: hatchdx-0.1.1.tar.gz
- Upload date:
- Size: 328.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.18 {"installer":{"name":"uv","version":"0.9.18","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
635237cfe30d706f727ea0587f76d16921594fa5bb709e4dc98fcf0474851c06
|
|
| MD5 |
374f463629053375f180645d7ba41029
|
|
| BLAKE2b-256 |
9279cc23090d3e9697ff440b02f3a87c8fce6660633922581d0343566602b6aa
|
File details
Details for the file hatchdx-0.1.1-py3-none-any.whl.
File metadata
- Download URL: hatchdx-0.1.1-py3-none-any.whl
- Upload date:
- Size: 388.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.18 {"installer":{"name":"uv","version":"0.9.18","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5c2bf1479d9e71e6d4f7052006b587b3bc360649fa98e1bd9792779741904784
|
|
| MD5 |
abdd4265349e353115feca2e5b37b22f
|
|
| BLAKE2b-256 |
36d5852eeba6190ee784c3ac1145b9f027cb3b9584b97fd3a1783240e930c222
|