THE LINUX FOUNDATION PROJECTS
Join us at MCP Dev Summit Bengaluru • June 9-10 • REGISTER NOW
Blog

How Duolingo Built an AI Slackbot With 180+ MCP Tools

 

A deep dive into Aaron Wang’s talk at MCP Dev Summit North America 2026

Aaron Wang, a software engineer at Duolingo, shared how the company went from a handful of engineers experimenting with MCP, to 250 weekly active users (about 30% of the company) in under six months. This is how they did it.

 

The MCP Server Setup Toil Problem

When MCP launched in November 2024, the interest at Duolingo was immediate. But interest didn’t translate into adoption. Setting up a single MCP server meant finding the right GitHub repo, sourcing credentials, and editing a local config file by hand. Every server had a different setup process. Some ran in Python, some in TypeScript, some as Docker images.

When Duolingo tried rolling them out more broadly, the same reports kept coming in: “It Doesn’t work on my machine.” There are dependency mismatches,Docker issues and version conflicts. All of these are familiar developer experience issues but MCP was not yet baked into modern DevEx tooling.

So the barrier was too high for most engineers to bake into their regular practice. With so many conflicts and a reality of one-off requirements, MCP servers sounded great but did not scale initially.

 

The Goal: MCP Adoption That Didn’t Require Manual Setup

The team needed a way to get engineers into using MCP-powered tools without asking them to become MCP experts first. The ultimate target was broad internal adoption, not just the engineers already motivated to figure it out. That meant simplicity and ease of use were absolutely paramount.

 

Two Attempts Before the Right Answer

Attempt 1 — A centralized discovery page (May 2025). Duolingo built an internal web page where engineers could browse available MCP servers and copy a pre-formatted config directly into Cursor or Claude Code. Think Yahoo! Directories in the early days of the Web. Yes,this lowered the barrier butwasn’t enough. Even a single-click copy was still too much friction for most people.

Attempt 2 — Full server standardization (August 2025). The team standardized how every MCP server was hosted. External first-party services connected directly from editors. Open-source servers were forked internally, authenticated, and served over HTTP behind a VPC with a shared token. Internal Duolingo services plugged in via a Python library built on FastMCP. The result was 30 MCP servers with 300+ tools, all accessible through a single consistent URL pattern.

This setup was cleaner bu still not enough to move adoption numbers, largely because it still forced a change in workflows and required the addition and updating of yet another Python library.

 

Bringing the Tools to Where Engineers Already Worked

In September 2025, the team stopped asking engineers to configure anything. They built an AI Slack app that connected to all 30 MCP servers, and put it directly in the channels people used every day.

The app runs on the Claude Agent SDK and Slack Bot SDK, with access to 15+ MCP servers and BigQuery for internal metrics. A few design choices made it actually useful rather than just technically impressive.

  • The bot auto-responds in helpdesk and incident channels, which immediately cut toil for on-call engineers.
  • Any write operation outside Slack (creating a PR, filing a ticket, deploying to staging) requires explicit human approval through a confirmation UI.
  • Per-channel customization lets individual teams shape the bot’s behavior without touching the core system.

On the quality side, every response includes a feedback button. A regression test suite of around 20 cases runs continuously and grows as the bot handles new scenarios. That combination of feedback and testing kept quality improving rather than drifting.

Security was built around one principle. The bot should not be a way around existing permissions. Access follows job roles. The bot runs in a sandboxed VM. DMs are not logged.

 

The Results: Wild MCP Adoption, Improved Responses

When the Slack app launched in September 2025, around 20 people used it in the first week. By April 2026, that number had grown to more than 250 weekly active users (about 30% of the company).The upvote rate on responses has also climbed steadily as the team has added tools, updated prompts, and expanded MCP coverage. It recently stabilized around 80%.

The image below shows the Slack App in action:

Duoling AI Slack app

 

The Open Source Release

Duolingo has open-sourced the core application code of the Slack bot at duolingo/slack-ai-agent. If your company uses Slack and the Claude Agent SDK, you can run a version of this yourself. If you use different tools, the repo is a reasonable starting point to fork and adapt.

The broader lesson from Duolingo’s journey is that MCP adoption didn’t take off because of better documentation or a nicer config page. It took off when the configuration step disappeared entirely and the tools showed up where people already worked, an addition so simple and intuitive that everyone could try it out and use it multiple times with minimal overhead or learning curve. The easy button worked wonders.