MCP, with governance built in.
Agents report their work, check policies and ask for approval through the Worksi MCP server. Put any MCP server behind a gateway that filters tools and traces every call.
{ "mcpServers": { "worksi": { "command": "npx", "args": [ "-y", "mcp-remote", "https://gateway.worksi.ai/mcp", "--header", "Authorization:${WORKSI_AUTH}" ], "env": { "WORKSI_AUTH": "Bearer aiw_…" } } }}{ "mcpServers": { "worksi": { "url": "https://gateway.worksi.ai/mcp", "headers": { "Authorization": "Bearer aiw_…" } } }}{ "inputs": [ { "type": "promptString", "id": "aiw", "description": "Bearer aiw_…", "password": true } ], "servers": { "worksi": { "type": "http", "url": "https://gateway.worksi.ai/mcp", "headers": { "Authorization": "${input:aiw}" } } }}Transport: Streamable HTTP, JSON-RPC 2.0URL: https://gateway.worksi.ai/mcpHeader: Authorization: Bearer aiw_…Credential: an aiw_sk_… API key, or an aiw_pat_… access tokenOne endpoint, two tool sets.
Connect to https://gateway.worksi.ai/mcp over Streamable HTTP. An API key gives an agent its agent tools; a personal access token gives a person the operator tools, with their role’s permissions.
Operator tools that change something are written to the audit log. Both credentials can read the worksi://docs/quickstart and worksi://status resources.
Agent toolsAPI key
| Tool | Does |
|---|---|
start_run | Starts a run and returns its run and trace ids |
log_step | Records a step with status, duration, input and output |
log_tool_call | Records a tool call with arguments, result and data source |
end_run | Finishes the run with its status |
record_outcome | Records a business outcome for ROI |
check_tool | Is this tool allowed, or does it need approval? |
request_approval | Asks a person to approve something |
get_approval | Polls an approval decision |
get_status | Is the agent paused or the run stopped? |
Operator toolspersonal access token
| Tool | Does |
|---|---|
list_incidents | Open incidents, by status and severity |
get_incident | Evidence headline, failure location and latest diagnosis |
acknowledge_incident | Acknowledges an incident, with a note |
list_agents | Agents and their status |
pause_agent | Pauses an agent, under the console’s approval rules |
resume_agent | Resumes a paused agent |
list_approvals | Pending approvals |
decide_approval | Approves or rejects, with a note |
get_usage | Your plan and this month’s usage |
Put any MCP server behind Worksi.
Register an upstream MCP server, its URL and an optional auth header stored encrypted, and agents reach it through Worksi with their API key.
- tools/list
- Shows only the tools your policies and the agent’s allowed tools permit.
- tools/call
- Checked first. A disallowed tool gets
-32001; a tool that needs a person gets-32002and a pending approval. - Every call
- Recorded as a span. New tools appear in your AI inventory.
- Pass-through
- Resources, prompts, pings and notifications, unchanged.
- Upstream URL
- Checked against private‑network and cloud‑metadata addresses before every connection.
{ "mcpServers": { "github-via-worksi": { "url": "https://gateway.worksi.ai/mcp/servers/github", "headers": { "Authorization": "Bearer aiw_sk_live_…", "X-AIW-Agent": "release-agent" } } }}Upstream servers per plan.
The Worksi MCP server itself is included in every plan. Plans differ in how many servers you can put behind the gateway.
| Plan | Upstream MCP servers |
|---|---|
| Starter | 1 |
| Pro and the trial | 10 |
| Business | Unlimited |
| Enterprise | Unlimited |
Add Worksi to your MCP client.
Paste a configuration from the top of this page and restart the client. One request shows what a credential unlocks: agent tools for an API key, operator tools for a personal access token.
- 3‑day trial with Pro features, no card.
Keep readingGovernanceAI agentsSDKs
# the tools your API key or access token can callcurl -s https://gateway.worksi.ai/mcp \ -H "Authorization: Bearer $AIW_API_KEY" \ -H "Content-Type: application/json" \ -H "Accept: application/json, text/event-stream" \ -d '{"jsonrpc": "2.0", "id": 1, "method": "tools/list"}'