About Gatewerk
Gatewerk is an open-source, self-hosted review layer for AI agents and human reviewers. Its MCP server exposes review workflows, templates, feedback, audit records, chains, and notes, with access controlled by API-key scopes.
Key features
- 01Create, list, and inspect reviews
- 02Apply configurable review actions
- 03Manage review templates
- 04Run multi-step review chains
- 05Read feedback, audit records, and metrics
Use cases
- 01Submit agent work for human review
- 02Review and act on items from an MCP client
- 03Define reusable review templates and chains
MCP support
The MCP server exposes Gatewerk review, template, feedback, audit, chain, and note APIs as tools. Available tools are filtered according to the API key's scopes.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
npx -y @gatewerk/mcpGATEWERK_API_KEYSecretGatewerk API key (gwk_...). Generate one at your Gatewerk instance under Settings → API Keys.GATEWERK_URLBase URL of your self-hosted Gatewerk instance (e.g. https://api.gatewerk.com). Defaults to http://localhost:3100.GATEWERK_REVIEWERReviewer email used as decision attribution. When set, decisions made through the MCP server are attributed to this reviewer instead of the API key identity.Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.
Tools
18Saved tool list · updated 3w ago
| Parameter | Type | Required | Description |
|---|---|---|---|
| payload | object | Yes | Data fields matching the template schema. Call gatewerk_list_templates first to discover the field names and types for your chosen template. |
| timeout | object | No | Auto-expiry policy |
| timeout.action | enum | Yes | auto_approve | auto_reject | expire |
| timeout.seconds | number | Yes | |
| assignee | string | No | Assign to specific reviewer (email) |
| metadata | object | No | Arbitrary metadata for agent context |
| priority | enum | No | Review prioritylow | normal | high | critical |
| template | string | Yes | Template slug (e.g., 'email-review', 'code-deploy') |
| callback_url | string | No | Webhook URL to receive the review decision. Optional — agents using MCP often don't have a webhook and can poll gatewerk_get_review or wait for tool re-invocation. |
| idempotency_key | string | No | Unique key scoped to the project. A second call with the same key returns the existing review instead of creating a duplicate. Useful for LangGraph node replays and agent retries. |
Details
From the project README@gatewerk/mcp
The Gatewerk MCP server lets AI agents read and decide reviews from inside Claude Desktop, Claude Code, Cursor, Windsurf, or any Model Context Protocol client. It exposes Gatewerk's review/template/feedback/audit/chain/note APIs as MCP tools, scoped to whatever permissions the API key carries.
Gatewerk is an open-source, self-hosted review layer for AI agents. Work done for humans is decided by humans.
Quickstart
npx @gatewerk/mcp init
The init command prompts for your Gatewerk URL, API key, and (optionally) reviewer email, then prints a config block you paste into your MCP client's settings.
You can also write the config by hand:
{
"mcpServers": {
"gatewerk": {
"command": "npx",
"args": ["-y", "@gatewerk/[email protected]"],
"env": {
"GATEWERK_URL": "https://api.gatewerk.com",
"GATEWERK_API_KEY": "gwk_...",
"GATEWERK_REVIEWER": "[email protected]"
}
}
}
}
GATEWERK_REVIEWER is optional — when set, decisions made through the MCP server are attributed to that reviewer. Otherwise the API key's identity is used.
Available tools
Tools are filtered automatically based on the scopes attached to your API key. A key with only reviews:read will not see gatewerk_decide_review.
Reviews
gatewerk_create_review— submit a new review request (scope:reviews:create)gatewerk_list_reviews— list reviews with filters (scope:reviews:read)gatewerk_get_review— fetch a review with its template metadata (scope:reviews:read)gatewerk_decide_review— approve / reject / edit / retry a review [deprecated; prefergatewerk_take_review_action] (scope:reviews:decide)gatewerk_take_review_action— invoke a configurable action on a review; supports built-in and template-specific action IDs (scope:reviews:decide)gatewerk_list_review_actions— introspect the available actions on a review's template (scope:reviews:read)
Templates
gatewerk_list_templates— list templates (scope:templates:read)gatewerk_create_template— define a template (scope:templates:write)gatewerk_update_template— modify a template (scope:templates:write)gatewerk_delete_template— remove a template (scope:templates:write)
Chains
gatewerk_start_chain_run— start a multi-step review chain from a definition (scope:templates:write)gatewerk_get_chain_run— fetch a chain run + steps by ID (scope:reviews:read)gatewerk_get_chain_for_review— get chain context for a review (scope:reviews:read)
Notes
gatewerk_create_note— post a note, optionally pinned to one or more reviews/templates/chain runs (scope:notes:write)gatewerk_list_notes— list notes with filters (author, tags, target, shared/private) (scope:notes:read)
Queries + stats
gatewerk_query_feedback— query past decisions for learning (scope:feedback:read)gatewerk_query_audit— query the audit trail (scope:audit:read)gatewerk_get_stats— review metrics + daily trend (scope:stats:read)
Authentication
You'll need a Gatewerk API key with the appropriate scopes. Generate one at:
- Cloud: https://app.gatewerk.com → Settings → API Keys
- Self-hosted: your Gatewerk instance's
/settings/api-keyspage
Common scope bundles:
- agent (read your reviews + create new ones):
reviews:create,feedback:read - reviewer (act on the inbox):
reviews:read,reviews:decide,templates:read,notes:read,notes:write - admin (full surface): all scopes
Environment variables
| Variable | Required | Description |
|---|---|---|
GATEWERK_API_KEY | yes | API key (gwk_...) |
GATEWERK_URL | no | Gatewerk base URL (defaults to http://localhost:3100) |
GATEWERK_REVIEWER | no | Reviewer email used as decision attribution |
Links
- Website: https://gatewerk.com
- App: https://app.gatewerk.com
- Source: https://github.com/gatewerk/gatewerk
- Docs: https://gatewerk.com/docs
- License: Apache-2.0 (MCP SDK package; server is AGPL-3.0-only)
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.