Case Study

How a Berlin EdTech is adopting AI across their entire tool stack — from customer interviews to delivering increments in production

EdTech · 30-person team · In production since 2025

ThousandsYAML-defined actions
Dozenspolicy + enrichment hooks in production
0messages, emails, or documents stored

The situation

A Berlin-based EdTech company with a small engineering team needed their AI tools to do more than answer questions. They wanted Claude and ChatGPT to actually work inside their toolchain — create Jira tickets, search Slack history, query dashboards, manage Google Docs, trigger CI/CD pipelines. Not through a chatbot UI with buttons, but directly from Claude Code sessions and ChatGPT conversations.

The problem wasn’t connecting services. APIs exist. The problem was doing it safely for a team where a single engineer maintains the infrastructure. When an AI agent can send emails, close issues, and modify documents, you need more than permissions — you need rules that the AI itself can’t override.

What they built

Instead of stitching together individual MCP servers per service, they built a single gateway that exposes every connected tool through one MCP endpoint. The AI doesn’t need to know which server handles Jira or which one handles Gmail. It calls one endpoint, specifies the action, and the gateway routes, validates, and executes.

The architecture is deliberately simple: every action is either a read or a write. Reads return data. Writes change state. There’s no natural-language routing layer guessing what you meant — the AI specifies the exact action name, and the gateway executes it deterministically. This turned out to be the single biggest improvement for reliability. When you remove ambiguity from the execution path, error rates drop to near zero.

What’s connected

Productivity

  • Google Workspace & Microsoft 365 — Mail, calendar, drive, docs, spreadsheets, presentations. The AI sends emails, reads attachments, batch-updates sheets.
  • Notion, Notion MCP & Confluence — Pages, databases, comments. With Notion MCP routed through the vendor’s hosted MCP server, the agent can search everything its user can read in Notion, including Notion AI search when the workspace has it enabled.
  • Slack — Channel search, message history, posting. The AI finds old conversations and sends notifications.

Engineering

  • GitLab & GitHub — Issues, merge/pull requests, pipelines, deployments, CI/CD variables, tags. The most deeply integrated services.
  • Jira — Issue creation with project-specific templates, transitions with prerequisite checks, worklogs. Markdown is auto-converted to Jira’s ADF format.
  • Jenkins — Build pipelines, job triggers, log retrieval.
  • Sentry & Grafana — Error tracking, dashboard queries, application log search. Production observability through the AI.

Marketing, SEO & Analytics

  • Amplitude & Google Analytics — Product and web analytics — users, cohorts, engagement, conversions.
  • Metabase & BigQuery — BI dashboards, native SQL on the data warehouse.
  • Google Search Console, Bing Webmaster & Sistrix — SEO diagnostics across both major search engines — impressions, rankings, visibility.
  • Google Ads — Campaign performance reporting.
  • Google Tag Manager — Stage tags, triggers and variables in workspaces; publishing stays a human step.

Design & Product

  • Figma, Figma MCP, Miro & Supernova — Design files, collaboration boards, design-system tokens. Figma MCP routes through the vendor’s hosted server and adds design-to-code context and write-to-canvas from the agent.
  • App Store Connect, Google Play, Play Vitals & Play Reports — Release monitoring, review tracking, crash and ANR rates, install and acquisition reports.

Content & Workplace

  • WordPress & Transifex — Content publishing and translation workflows.
  • Home Assistant & Joan — Office sensors, heating control, desk and meeting-room booking.

“I switch between stakeholder requests all day. Every switch used to mean hours of re-reading and updating Jira issues. Now the AI already has the context — I just pick up where I left off. Mondays are the best: I grab coffee, Claude refreshes everything in the background, and by the time I sit down I’m working, not catching up. That’s 8 hours a week I’m not wasting.”

Business Analyst

Hooks: where the real control happens

Every tool call passes through a hook pipeline — configurable in YAML, not hardcoded. There are two types:

Policy hooks enforce rules. They can block, require confirmation, or restrict what the AI is allowed to do. When someone tries to transition a Jira ticket without meeting the workflow prerequisites, the hook blocks it. When the AI attempts a destructive Google Workspace action, the hook requires explicit confirmation first.

Enrichment hooks make actions smarter. When the AI creates a GitLab merge request, a hook checks if a Jira ticket is referenced — and enforces the link if it’s missing. When the AI writes a Jira description in Markdown, a hook converts it to Jira’s native ADF format automatically. The AI doesn’t need to know about ADF. It writes Markdown, and the hook handles the rest.

Dozens of hooks run in production. They execute on every request, typically in under 5ms. The team adds new hooks when they discover a pattern the AI keeps getting wrong — instead of re-prompting, they codify the rule once and it applies everywhere.

“I can build prototypes that integrate into our website, get tested with real customers, and even work against our live backend. I’m not technical — the AI handles the code.”

Product Manager

Privacy by architecture

The gateway stores no messages, no emails, no documents. OAuth tokens are encrypted with KMS, and the key is customer-controlled. Logs are held in a RAM-based ring buffer — they exist only while the process runs. When the system creates a bug report, it captures a snapshot of the ring buffer at that moment, scrubs it for PII (emails, names, IPs), and attaches it to the GitLab issue. After that, the original logs are gone.

Redis keys never contain PII — user identifiers are SHA256-hashed. An automated PII audit runs in production and flags any violations. The team calls this “zero data at rest”: the gateway processes everything, stores nothing.

“SEO audits, AI-powered content optimization, publishing to WordPress — all from Claude Code, fully automatic. What used to take a full day is now a conversation.”

Marketing

The things that make it daily-driver ready

  • Parallel execution — The AI can fire multiple read actions simultaneously. “What’s on my calendar, any open MRs, and what’s the latest Amplitude DAU?” — three services, one response, under a second.
  • Quality monitoring — A daily health check computes a routing health score from production telemetry. If empty response rates exceed thresholds, an issue is created automatically.
  • Hot reload — Change hook rules, access control, or service config without restarting the gateway. One API call, zero downtime.
  • Official vendor MCP servers, governed — When a vendor publishes its own hosted MCP server (Notion, Miro, Amplitude), the gateway proxies it under the same audit log, hook pipeline, and read/write gates as the REST connectors. The agent gets the vendor’s best surface; the team keeps a single governance plane.

“I ask data questions in plain language, and the AI queries our data warehouse and paints the charts in Metabase. No SQL, no dashboard building — just answers.”

Product Manager

By the numbers

ThousandsYAML actions
Thousandstests passing
25+connected services
~20/daydeployments
Dozensactive hooks
0data stored

Want this for your team?

mcpgate is available now. You get the same battle-tested architecture — deployed on your infrastructure, connected to your services, governed by your rules.