Skip to content

Gateway overview

The VectorStep Gateway is a lightweight Python/FastAPI WebSocket gateway that runs AI agents with MCP tool access. It acts as an executor backend for VectorStep pipelines, providing an alternative to OpenClaw with support for multiple LLM providers and configurable MCP tool servers.

The gateway sits between VectorStep and your LLM providers. VectorStep sends an agent request over WebSocket; the gateway runs the full agentic loop (LLM calls, MCP tool execution, multi-turn conversation) and returns the final result. VectorStep never sees intermediate tool calls or thinking content — it gets one clean response.

This section is the Gateway’s own reference: configuration, agent authoring, the WebSocket and REST protocols, and day-two operations. If you just want the fastest path to a first pipeline running, see the site’s quick start instead — this page is the Gateway’s standalone introduction.

Terminal window
export ANTHROPIC_API_KEY=sk-ant-...
curl -sSL https://raw.githubusercontent.com/bantex01/VectorStep-Dist/main/install.sh | bash

The installer brings the Gateway up alongside VectorStep, seeds sample agents into ~/.vectorstep/agents/, and handles the invoke token for you — the Gateway mints it (plus a separate admin token, printed once for you to save) on first boot, and the installer reads the invoke token out and writes it into ~/.vectorstep/.env, so VectorStep is authenticated from the start with nothing to copy and paste. See Gateway authentication for what each token grants.

Then edit ~/.vectorstep/config/gateway.yaml with your LLM provider keys and any MCP servers, add your own agent under ~/.vectorstep/agents/ (see Creating agents), and apply the change:

Terminal window
cd ~/.vectorstep
docker compose up -d
docker compose logs -f gateway
# The invoke token, if you ever need it by hand
grep VECTORSTEP_GATEWAY_TOKEN .env
~/.vectorstep/
├── docker-compose.yaml # managed by the installer, refreshed on re-run
├── .env # keys, ports, image tag, gateway token — never overwritten
├── config/
│ ├── vectorstep.yaml # service config
│ └── gateway.yaml # gateway config
├── pipelines/ # host dirs, bind-mounted into the containers
├── steps/
└── agents/ # your agent definitions

pipelines/, steps/, and agents/ are ordinary host directories — edit them with any editor, the container sees the change immediately. The database, artifacts, and logs live in a named Docker volume, not on the host; reach them with docker compose exec, not a host path.