Give your AI access to your tools — without giving up control.
A single MCP endpoint that connects any AI to your company tools — with policy hooks that control what the AI can do, and enrichment hooks that make it do it right.
pre_hooks:
enforce_english_content:
match: "jira_write_actions"
# Reject non-English issue content
auto_convert_markdown:
match: "jira_write_actions"
# Markdown in → Jira format out
post_hooks:
enforce_jira_reference:
match: "gitlab_write_actions"
# GitLab MR without Jira ticket?
# Hook enforces the reference. One endpoint. YAML actions. Policy & enrichment hooks. OpenAPI import.
Why mcpgate?
Control
Policy hooks block, restrict, and audit AI actions before they happen.
jira_transition_guard:
description: "Block transition if
prerequisites not met"
match:
action: "transition_issue" Privacy
Zero data at rest. By design, not by promise.
- No messages or documents stored
- No content caching — every request fresh
- Logs contain only anonymized hashes
- Your KMS key — you revoke, we’re blind
Proactive
AI reaches out via Slack when something needs your attention — and you can respond with actions.
Pod disappeared (deleted or evicted from node). You can restart with the same branch.
Works with every MCP‑compatible AI
Works from every conversation. Supports read/write separation with user consent.
Built for Claude Code first. Add company‑wide integration through claude.ai — available in every session.
Codex, Gemini CLI, or your own. MCP is an open standard — if it speaks MCP, it works.
Up and running in minutes
Deploy
$ docker run -d \
-v ./config:/config \
-p 8080:8080 \
mcpgate/mcpgate:latest Configure
services:
- slack
- jira
- google_workspace
- gitlab Connect your AI
mcpServers:
mcpgate:
url: "https://your-gateway/mcp"
token: "mcp_..." Get early access
We're onboarding the first teams. Leave your email and we'll reach out.
No spam. We'll only contact you about mcpgate.