Installation Guide¶
Prerequisites¶
| Requirement | Version | Notes |
|---|---|---|
| Python | 3.11+ | Required to run the platform |
uv or pip |
Latest | uv is recommended for local development |
| Git | Any recent version | Required to clone the repository |
| Docker | Latest | Required for MCP server image builds and docker-compose.mcp.yml |
| Node.js | Any LTS | Only needed for MCP Inspector |
Installation Steps¶
1. Clone the repository¶
2. Configure¶
Copy the sample environment file and add your NW_ALLOWED_CONNECTORS:
.env and set NW_ALLOWED_CONNECTORS=http_generic or others)
Node Wire uses a fail-closed connector allowlist. If NW_ALLOWED_CONNECTORS is missing or empty, no connectors are loaded even when they are enabled in config/connectors.yaml.
3. Install dependencies¶
Using uv (recommended):
The repository commits uv.lock for reproducible installs. Use --frozen in CI and local dev:
uv sync --frozen --all-extras --dev # full dev + agents (matches CI)
uv sync --frozen # runtime only
When you change dependencies in pyproject.toml, regenerate and commit the lockfile:
Using pip (unpinned; not recommended for reproducible builds):
- Full install (including AI agents): pip install -e ".[agents]"
- Minimal install (REST/gRPC only): pip install -e .
- Dev install (linting/tests): pip install -e ".[dev,agents]"
4. Verify the installation¶
To confirm the REST API starts, run MODE=API uv run node-wire and open http://127.0.0.1:8000/health (default bind is 127.0.0.1; override with NW_REST_HOST if needed).
Running the Platform¶
Node Wire supports REST, gRPC, and MCP entry modes:
| Mode | Command | Default port / transport | Use case |
|---|---|---|---|
| REST API | uv run node-wire |
8000 |
HTTP clients, Swagger UI, playground |
| gRPC | MODE=GRPC uv run node-wire |
50051 |
gRPC clients |
| MCP | python -m agents.mcp_entrypoint |
stdio or HTTP |
AI agents, ToolHive, Inspector |
REST quick start¶
Once it is running:
- Health check:
GET http://localhost:8000/health - Swagger UI:
http://localhost:8000/docs - Playground:
http://localhost:8000/playground/
MCP notes¶
For MCP transport modes, Inspector usage, and multi-server deployment:
- See mcp.md for transport setup and local MCP usage.
- See mcp-servers.md for per-connector images, ToolHive, and Docker-based MCP deployment.
Development Setup¶
Code Quality (Linting & Formatting)¶
We use Ruff for linting/formatting and Mypy for type checking.
- Check:
ruff check . - Fix:
ruff check --fix . && ruff format . - Types:
mypy
mypy defaults to the [tool.mypy].files targets from pyproject.toml. To include tests explicitly, run mypy src tests.