How Block Operationalized MCP At Scale by Angie Jones 🔗 **Source:** [How Block Operationalized MCP At Scale by Angie Jones](https://www.youtube.com/watch?v=d48Ilfw-WIY) > [!note]+ Document Notes > tags: [mcp, ai-agents, enterprise-scaling] > author: Angie Jones > source: YouTube > reference: https://www.youtube.com/watch?v=d48Ilfw-WIY > date created: 2024-12-19 10:30 > > # 🏷️ Title: How Block Operationalized MCP At Scale > <!-- deep-read:sections start --> ## 🧰 Action Inbox - [H1] Implement auto-install/update for enterprise AI tools — reduces friction and security risks 08:30 #deployment - [H2] Build dynamic context management for multi-tool agents — prevents context window overflow 12:45 #optimization - [H3] Create internal MCP servers vs external ones — ensures security and OAuth control 09:15 #security ## 🧭 Table of Contents - [📝 Summary](#-summary) - [📖 Main Content](#-main-content) - [🗒️ Notes](#️-notes) - [📚 References](#-references) - [🗣️ Paraphrase](#️-paraphrase) - [📰 Newsletter](#-newsletter) - [✅ Action Items](#-action-items) - [🧪 Hypotheses](#-hypotheses) - [📊 Methodology](#-methodology) - [❓ Questions](#-questions) - [🔮 Future Research](#-future-research) - [💡 Implications](#-implications) - [🧠 Learning Styles Assessment](#-learning-styles-assessment) - [📊 Accessibility Assessment](#-accessibility-assessment) - [🌍 DEIB Assessment](#-deib-assessment) - [✅ Logical Validity](#-logical-validity) - [🛡️ DARVO Analysis](#-darvo-analysis) - [🎯 Conclusion](#-conclusion) ### 🔗 References - [Goose Open Source](https://github.com/block/goose) - [Model Context Protocol](https://modelcontextprotocol.io) ## 📝 Summary - Block scaled their AI agent "Goose" from developers to all 12,000 employees in 2 months using MCP (Model Context Protocol) - Engineers initially saved 8-10 hours per week, leading to organic adoption doubling within a month - Key challenges included missing MCP servers, installation friction, authentication complexity, and context window management - Solutions included auto-installation, 100+ internal MCP servers, OAuth integration, and dynamic context management - Now used across 15+ job functions for tasks like fraud detection, data analysis, incident management, and process automation ## 📖 Main Content Block's journey from a developer-focused AI coding assistant to an enterprise-wide AI agent platform demonstrates practical MCP implementation at scale. Starting with Bradley Axton's pre-function-calling development agent experiments, the team evolved their tool "Goose" into an extensible MCP client when Anthropic's protocol aligned with their needs. The initial developer success (75% saving 8-10 hours weekly) created organic demand from non-technical teams. However, scaling beyond engineering revealed critical gaps: unfamiliar installation processes, missing MCP servers for business tools, complex authentication flows, and context window limitations with multiple enabled servers. Block's solutions prioritized security and user experience through enterprise controls. They built 100+ internal MCP servers rather than using external ones, implemented automatic installation through managed software centers, created OAuth flows integrated with identity providers, and developed dynamic context management to optimize performance. ## 🗒️ Notes #### ⏱️ [00:00](https://www.youtube.com/watch?v=d48Ilfw-WIY?t=0) — [H1] Introduction and Context - Key idea: Block scaled MCP across 12,000 employees in 2 months - Evidence: "Today I'm going to share how we have actually scaled MCP across our entire 12,000 person company in two months" #### ⏱️ [01:15](https://www.youtube.com/watch?v=d48Ilfw-WIY?t=75) — [H2] Pre-MCP Development Agent Origins - Key idea: Bradley Axton built development agent before function calling existed - Evidence: "Brad started tinkering on a development agent that could actually do things, not just generate code snippets. And this was before LLMs even supported function calling" #### ⏱️ [02:30](https://www.youtube.com/watch?v=d48Ilfw-WIY?t=150) — [H2] MCP Alignment and Partnership - Key idea: Block developed similar protocol independently, aligned with Anthropic's MCP - Evidence: "We started working on a protocol and we shared it with our friends over at Anthropic who let us know that they were working on something similar, MCP" #### ⏱️ [03:45](https://www.youtube.com/watch?v=d48Ilfw-WIY?t=225) — [H1] Initial Developer Success Metrics - Key idea: 75% of engineers saved 8-10 hours weekly with built-in MCP servers - Evidence: "75% of our engineers who use goose were saving about 8 to 10 hours a week just offloading their busy work to goose" #### ⏱️ [04:30](https://www.youtube.com/watch?v=d48Ilfw-WIY?t=270) — [H2] Organic Adoption and Open Source Success - Key idea: Adoption doubled without formal rollout, open source reached GitHub #1 trending - Evidence: "Within a month, adoption doubled and this was without a formal rollout campaign" #### ⏱️ [05:15](https://www.youtube.com/watch?v=d48Ilfw-WIY?t=315) — [H1] Non-Engineering Demand and Challenges - Key idea: All departments wanted access but faced technical barriers - Evidence: "Our employees, they just couldn't wait for us. So, they just started using Goose as is. And all of a sudden, we had sales, legal, marketing, finance, design" #### ⏱️ [06:45](https://www.youtube.com/watch?v=d48Ilfw-WIY?t=405) — [H2] Missing MCP Servers Challenge - Key idea: Non-engineers needed MCPs for business tools like Snowflake, Jira, Google Workspace - Evidence: "People wanted MCPs for other tools like Snowflake and uh Jira, Google Workspace, right? They wanted to be able to interact with their email and their calendar" #### ⏱️ [07:30](https://www.youtube.com/watch?v=d48Ilfw-WIY?t=450) — [H2] Installation and API Key Complexity - Key idea: Non-technical users struggled with MPX commands and API key management - Evidence: "What the heck is MPX, right? Where do I put this command? And even if they happen to figure that part out, then they'd be prompted for things like API keys" #### ⏱️ [08:30](https://www.youtube.com/watch?v=d48Ilfw-WIY?t=510) — [H1] Desktop App and LLM Agnostic Solutions - Key idea: Desktop app unlocked non-engineer access, model flexibility enabled use case optimization - Evidence: "Had we not done this, this would have excluded most of the company without even meaning to" #### ⏱️ [09:15](https://www.youtube.com/watch?v=d48Ilfw-WIY?t=555) — [H1] Managed Software Center Implementation - Key idea: Auto-installation and updates eliminated friction and security risks - Evidence: "We added goose to our internal managed software center and now it's autoinstalled and auto updated across the company" #### ⏱️ [10:00](https://www.youtube.com/watch?v=d48Ilfw-WIY?t=600) — [H1] 100+ Internal MCP Servers Strategy - Key idea: Built internal servers during hack week rather than using external ones for security - Evidence: "By the end of that week, we had over 60 internal MCP servers ready to go. And today, we're over a hundred" #### ⏱️ [11:15](https://www.youtube.com/watch?v=d48Ilfw-WIY?t=675) — [H2] Allow List Security Control - Key idea: Block unauthorized external MCP server installations for security - Evidence: "If someone tries to install a server that is not pre-approved, Goose will block that install" #### ⏱️ [12:45](https://www.youtube.com/watch?v=d48Ilfw-WIY?t=765) — [H1] Dynamic Context Management Solution - Key idea: Auto-enable/disable MCP servers based on user intent to manage context window - Evidence: "We added dynamic context management that enables and disables MCP servers based on what the user is asking for" #### ⏱️ [14:00](https://www.youtube.com/watch?v=d48Ilfw-WIY?t=840) — [H1] OAuth Integration with Identity Providers - Key idea: SSO flows replaced API key management for authentication - Evidence: "All of our internal MCP servers are set up to use OAuth with short-lived credentials, and they're integrated directly with our identity providers" #### ⏱️ [15:30](https://www.youtube.com/watch?v=d48Ilfw-WIY?t=930) — [H2] Slack-Based Community Support - Key idea: Two dedicated channels for help and inspiration drove adoption - Evidence: "This channel quickly became one of the best organic drivers of adoption" #### ⏱️ [17:00](https://www.youtube.com/watch?v=d48Ilfw-WIY?t=1020) — [H2] Internal DevRel Program - Key idea: Weekly workshops and tailored training accelerated enterprise adoption - Evidence: "Every week we host brown bag sessions, workshops, office hours focused on AI enablement" #### ⏱️ [18:15](https://www.youtube.com/watch?v=d48Ilfw-WIY?t=1095) — [H3] Fraud Detection Use Case - Key idea: Snowflake MCP enabled natural language fraud pattern detection - Evidence: "One employee used this MCP to detect fraud by spotting suspicious patterns in transaction history" #### ⏱️ [19:00](https://www.youtube.com/watch?v=d48Ilfw-WIY?t=1140) — [H2] Recipe Sharing Feature - Key idea: Package workflows as reusable mini-agents for team collaboration - Evidence: "We built a recipe feature that packages up the MCP servers that you use for that session as well as user prompts" ## 📚 References - [Block's Goose on GitHub](https://github.com/block/goose) - [Model Context Protocol Documentation](https://modelcontextprotocol.io) - [Anthropic's MCP Announcement](https://anthropic.com) ## 🗣️ Paraphrase - Block transformed their developer-focused AI assistant into an enterprise-wide agent by addressing installation complexity, security requirements, and user experience barriers across 12,000 employees - The company built 100+ internal MCP servers during a hack week, implemented OAuth-based authentication, and created dynamic context management to solve scaling challenges - Success came from combining technical solutions (auto-installation, allow-lists, context optimization) with community support (Slack channels, workshops, recipe sharing) to drive organic adoption across all departments ## 📰 Newsletter **Block Shows How to Scale AI Agents Enterprise-Wide with MCP** Block just demonstrated something remarkable: scaling an AI agent from 75% of engineers to all 12,000 employees in just two months. Their journey with "Goose" and the Model Context Protocol (MCP) offers practical lessons for any organization considering AI agent deployment. Key innovations that made this possible: - **Auto-installation through managed software centers** eliminates technical barriers - **100+ internal MCP servers** built during hack week provide secure, OAuth-integrated tools - **Dynamic context management** prevents performance issues when multiple tools are enabled - **Community-driven support** through Slack channels and weekly workshops drives adoption The results speak volumes: employees across 15+ job functions now use AI for everything from fraud detection to process automation, with some saving days of manual work in single sessions. Resources: [Goose Open Source](https://github.com/block/goose), [MCP Protocol](https://modelcontextprotocol.io), [AI Agent Implementation Guide](https://learn.wordpress.org/) ## ✅ Action Items #### DevRel - Developer advocacy: Create MCP implementation playbook based on Block's 2-month scaling model - Education: Develop workshop curriculum covering MCP server development and enterprise deployment patterns - Developer experience: Document OAuth integration patterns for MCP servers in fintech environments - Developer marketing: Showcase enterprise AI agent success stories to drive MCP adoption - Community management: Establish Slack-based support channels for MCP implementations #### OSPO - Policy & Governance: Create guidelines for internal vs external MCP server usage and allow-listing - License Compliance: Review MCP server dependencies and establish approval workflows - Security Management: Implement OAuth integration standards and short-lived credential management - Software Inventory: Track MCP server proliferation and maintain enterprise security controls - Developer Support: Provide training on building secure, enterprise-grade MCP servers - Community Engagement: Contribute to MCP ecosystem while maintaining enterprise security requirements - Strategic Alignment: Measure AI agent adoption KPIs and productivity gains across job functions ## 🧪 Hypotheses - Organizations can scale AI agents enterprise-wide in 2-3 months with proper infrastructure and support systems - Internal MCP server development provides better security and authentication control than external server dependency - Dynamic context management prevents performance degradation when enabling multiple AI agent capabilities - Community-driven support accelerates AI tool adoption more effectively than top-down training programs ### 📊 Methodology - Measure productivity gains across different job functions before/after AI agent deployment - Track adoption rates with different installation methods (manual vs auto-install vs managed software centers) - Compare security incident rates between internal vs external MCP server usage - Analyze correlation between community support engagement and successful AI agent implementation ### ❓ Questions - How do different enterprise environments affect MCP scaling strategies beyond fintech regulations? - What specific metrics should organizations track to justify AI agent investments across non-technical departments? - How can smaller organizations without dedicated hack weeks build comprehensive MCP server libraries? ### 🔮 Future Research - Standardized MCP server certification and security auditing processes for enterprise adoption - Cross-industry comparison of AI agent scaling patterns and success factors - Integration patterns between MCP and existing enterprise identity management systems ### 💡 Implications - Practice: Enterprise AI deployment requires equal focus on technical infrastructure and user experience design - Policy: Organizations need clear governance frameworks for AI agent tool approval and security controls - Security: OAuth integration and allow-listing become critical security controls for AI agent ecosystems - Education: Internal DevRel programs accelerate AI tool adoption more effectively than external training - Funding: AI agent ROI justification should include productivity gains across all job functions, not just engineering ### 🧠 Learning Styles Assessment Reading level estimate: Grade 10 #### 👀 Visual learners - Present: Adoption metrics, timeline progression, architecture diagrams implied - Improve: MCP server topology diagrams, context management flowcharts, authentication sequence diagrams #### 🔊 Aural learners - Present: Conference talk format with speaker narration - Improve: Podcast version with expanded technical details and Q&A segments #### 🗣️ Verbal learners - Present: Clear definitions of MCP, OAuth, context windows with real examples - Improve: Glossary of enterprise AI terms, comparison tables between approaches #### 🧩 Kinesthetic learners - Present: Hands-on hack week experience, step-by-step implementation journey - Improve: Lab environment for MCP server development, interactive deployment checklist #### 🧠 Logical learners - Present: Problem-solution progression, metrics and timelines, cause-effect relationships - Improve: Decision trees for MCP vs external tools, ROI calculation frameworks #### 🧑‍🤝‍🧑 Social learners - Present: Slack community channels, workshop collaboration, peer support systems - Improve: Cohort-based MCP implementation programs, peer mentoring frameworks #### 🧘‍♀️ Solitary learners - Present: Individual productivity gains, self-service recipe sharing - Improve: Self-paced MCP development curriculum, personal reflection prompts on AI adoption #### 🌿 Naturalistic learners - Present: Organic adoption patterns, ecosystem thinking about enterprise AI - Improve: AI agent lifecycle analogies, enterprise technology ecosystem mapping ### 📊 Accessibility Assessment #### Screen reader semantics - Present: Clear heading structure, logical content flow - Improve --- ## Full Transcript [00:05] Good morning everyone. I'm Angie Jones. I'm VP of engineering at block and I focus on AI tools and  <br>[00:11] enablement. So we've been hearing a lot about MCP this year. Yes. Okay. Today I'm going to share I  <br>[00:21] want to go beyond the theoretical and the the what can be and I want to share how we have actually  <br>[00:29] scaled MCP across our entire 12,000 person company in two months. So our engineers have  <br>[00:39] been pretty good about using AI coding generation tools like GitHub co-pilot for example and one of  <br>[00:49] our principal machine learning engineers Bradley Axton he set out to create a tool that would go  <br>[00:58] beyond the ID and could help automate some complex development tasks. So Brad started uh tinkering  <br>[01:08] on a development agent that could actually do things, not just generate code snippets.  <br>[01:14] And this was before LLMs even supported function calling. So as you can imagine, this was a really  <br>[01:22] difficult task. But once OpenAI introduced these capabilities, everything changed. So Brad and a  <br>[01:31] small team of volunteers around the company, they began experimenting with using tool calls  <br>[01:38] to automate parts of the development workflow. And while this definitely made things more feasible,  <br>[01:46] we quickly realized that without a standard, creating integrations for all of these various  <br>[01:53] APIs would be almost impossible to scale. So, we started working on a protocol and we shared it  <br>[02:01] with our friends over at Anthropic who let us know that they were working on something similar, MCP.  <br>[02:10] Uh, we loved it. We aligned with it immediately and we became a launch partner. For those of you  <br>[02:17] not familiar with MCP, it's an open standard that allows AI agents to connect with various APIs or  <br>[02:25] tools or data sources. So this was perfect. This is exactly what we needed. So we rewrote our agent  <br>[02:33] goose as an extensible MCP client. Now, initially we designed goose for our internal engineers and  <br>[02:43] we added a few built-in uh MCP servers things like get jet brains memory a computer controller 75% of  <br>[02:55] our engineers who use goose were saving about 8 to 10 hours a week just offloading their busy work to  <br>[03:04] goose. Within a month, adoption doubled and this was without a formal rollout campaign. People just  <br>[03:12] saw other engineers using goose and they wanted to try it out as well. And as more uh use cases  <br>[03:22] emerge, the weekly engagement grew by 50%. So with all of these efficiency gains, we decided to  <br>[03:33] open source goose. The public release was really wellreceived. In addition to coverage and major  <br>[03:41] tech publications, Goose uh also was trending on Twitter and reached number one on GitHub trending.  <br>[03:49] And with all of this uh buzz, our internal non-engineering team started asking, well,  <br>[03:56] wait, what about us? You know, can Goose help us, too? So, seeing the engineering efficiencies,  <br>[04:04] of course, we wanted all of our employees to be able to move at this pace. That's when we  <br>[04:09] realized that Goose couldn't just be a developer agent. It needed to be a generalurpose agent that  <br>[04:17] anyone in the company could use regardless of their technical background. Now, while  <br>[04:23] we were assessing this, our employees, they just couldn't wait for us. Um, they really wanted to  <br>[04:29] get their hands dirty. So, they just started using Goose as is. And all of a sudden, we had sales,  <br>[04:36] legal, marketing, finance, design, product, customer success. our executive assistants,  <br>[04:44] everyone in the company was trying to use goose and naturally they ran into a few challenges.  <br>[04:52] So the first challenge was with missing MCP servers. Uh remember that we built this as a  <br>[04:59] developer centric agent. So we built developer centric MCP servers um because that was our  <br>[05:07] target audience. Now all of a sudden people wanted MCPs for other tools like Snowflake and uh Jira,  <br>[05:15] Google Workspace, right? They wanted to be able to interact with their email and their calendar  <br>[05:20] and their Google Drive. So they were out here in the Wild Wild West like the rest of us,  <br>[05:26] uh trying to find MCP servers that would meet their needs. uh once they did find an MCP server,  <br>[05:35] they'd run into a challenge installing them. What the heck is MPX, right? Where do I put this  <br>[05:42] command? And even if they happen to figure that part out, then they'd be prompted for things like  <br>[05:48] API keys, which was a foreign concept for a lot of them. So it was clear that we needed to pause and  <br>[05:56] we needed to rethink the experience if we wanted everyone to benefit. So how do you make an agent  <br>[06:04] work for 12,000 employees across every function? This is how we did it. So before we even rolled  <br>[06:12] Goose out, there were a couple of things that we just accidentally got right. Um, these were  <br>[06:18] choices that were made for developers that just happened to be perfect for everyone else as well.  <br>[06:25] For example, the alpha version of Goose was CLI only, but when we rebuilt it as an MCP client,  <br>[06:32] we had both the CLI, but also a desktop app. And that was originally for just developer preference.  <br>[06:40] But this ended up completely unlocking access for non-engineers. Had we not done this, this would  <br>[06:47] have excluded most of the company without even meaning to. Also, Goose is LLM agnostic. So, it  <br>[06:55] isn't tied to just one model. And that flexibility turned out to be really critical because while  <br>[07:02] models like Claude are perfect for engineering task, other models like uh GPT ones are better for  <br>[07:10] general purpose task. So internally we use data bricks as our model host and we allow employees  <br>[07:18] to choose from open AI from anthropic from Google from meta providers. Um and this gives people that  <br>[07:25] power uh to choose which makes adoption much easier across the various disciplines. What  <br>[07:32] we really love about this approach is that it balances that optionality with control. Right?  <br>[07:38] So we only expose models that perform well on our goose benchmarks. And when a new model hits  <br>[07:45] that bar, we can just flip a switch and release it to the entire company. We also pre-seelelect  <br>[07:52] uh a recommended model, which is the one that is consistently scoring 100 on those benchmark  <br>[07:59] tests. Um but say that there's like an outage or something with a model, we can very easily just  <br>[08:05] switch everyone to a comparable one. um usually before employees even notice. So those are the  <br>[08:12] things that we got right. But of course there's plenty of things that didn't scale so gracefully.  <br>[08:18] For example, we thought that installing Goose was dead simple, right? You download a zip file, unzip  <br>[08:24] it, drag it to your applications folder, you're done. But for employees who are not tech savvy,  <br>[08:30] even that caused a bit of friction, right? Some people never unzip the file. others didn't move  <br>[08:35] it to the right folder, right? No one kept it updated, which meant that they were running into  <br>[08:41] bugs that we had already fixed. So, we changed course here and we added goose to our internal  <br>[08:48] managed software center and now it's autoinstalled and auto updated across the company. So, if you  <br>[08:54] have a block laptop, you have goose and it just works. The next big hurdle was getting everyone  <br>[09:02] those MCP servers that they needed. So running MPX commands for code that you don't understand,  <br>[09:10] that's a security risk, especially for folks that are outside of engineering. So it wasn't safe to  <br>[09:18] ask non-engineers to go pull servers off their internet and install them locally. So we spun up  <br>[09:25] a small task team to build internal servers that people needed. So they moved fast, they learned  <br>[09:32] a lot, they even developed the playbook. That's a talk for another day, but the timing was perfect.  <br>[09:39] Um, this all happened right around our internal hack week. So this made space for other engineers  <br>[09:46] who were curious about MCP to jump in and help. By the end of that week, we had over 60 internal  <br>[09:55] MCP servers ready to go. And today, we're over a hundred of those. And all of them are bundled  <br>[10:03] with our internal goose by default. So, no one has to install anything. They can just toggle on  <br>[10:10] what they need. So, we don't really use external servers now. Even if one exists, we recreated  <br>[10:18] uh internally. And this isn't because we don't trust um the open- source servers, but more so  <br>[10:24] we need full control over O off and versioning. Um for those who don't know, Block is a fintech  <br>[10:30] company. We make Square and Cash App, uh Afterpay, right? And so we deal with a lot of regulations.  <br>[10:38] We have to be very secure. And so that's why we just kind of build everything ourselves.  <br>[10:44] One of my favorite moments from this phase was uh when someone vibecoded her own MCP server and she  <br>[10:52] asked us where should I put this and we gave her the GitHub link and she says oh I don't have a  <br>[10:58] GitHub account. I'm not a developer. I thought that was amazing. This was a non-engineer who  <br>[11:05] was able to use these tools to build something that she needed. Um so everyone is a builder now.  <br>[11:13] Now, even though we have a hundred uh MCP servers, for folks, it's still not enough. Every day,  <br>[11:20] someone is asking us for a new one, and sometimes they'll still go out there in the wild, wild west  <br>[11:26] uh looking for what they need. And as you can imagine, this freaks out our infosc team. Um so  <br>[11:33] to keep things secure, our internal goose also includes an allow list. So if someone tries to  <br>[11:40] install a server that is not pre-approved, Goose will block that install. And so this is a simple  <br>[11:47] but effective safeguard that just helps keep our employees secure. So now we have Goose  <br>[11:55] automatically installed 100 plus MCP servers. What could possibly go wrong? The context window. So  <br>[12:03] employees were enabling all of their extensions, you know, just in case I happen to need them.  <br>[12:10] And with so many tools enabled, Goose was sending every server's tool definitions with every prompt.  <br>[12:18] And that of course slowed down the response times if you got a response at all. And then depending  <br>[12:24] on the model, all of that noise could eat up the entire context window. Sometimes people would get  <br>[12:29] an error before they would even get a chance to type a prompt. So we had to make who's smarter.  <br>[12:35] We added dynamic context management that enables and disables MCP servers based on what the user is  <br>[12:43] asking for. For example, if someone wants to pull tasks from Asauna and add them to their calendar  <br>[12:50] or something, Google is going to automatically uh enable Asana and Google calendar MCP servers and  <br>[12:58] turn everything else off. And that change along saved a ton of context space. But people love a  <br>[13:06] lengthy conversation. So we couldn't stop there. We also had to build a context summarizer. And so  <br>[13:14] once uh a conversation gets close to the limit, Goose is going to automatically summarize what's  <br>[13:19] happened so far and then continue the session with that summary in place. Just recently,  <br>[13:26] we added a little progress bar as well. So users can see when they're getting close to that limit.  <br>[13:32] The next hurdle that we desperately had to overcome was authentication. So for  <br>[13:38] non-engineers being prompted for API keys, tokens, scopes, all of this is way too overwhelming we  <br>[13:45] found. So they were getting stuck on the O-AUTH approval flows which cause frustration and also  <br>[13:52] uh a lot of help requests. So today, all of our internal MCP servers are set up to use O-AUTH  with  <br>[14:01] short-lived credentials, and they're integrated directly with our identity providers. So there's  <br>[14:07] no need for anyone to manage API keys or copy tokens out of a dashboard or anything like  <br>[14:13] that. So when someone toggles on a server that requires off, they're going to be prompted with  <br>[14:20] a SSO flow in the browser. They sign in with their block credentials, approve the access,  <br>[14:26] and that's it. So, this is quick, it's secure, and more importantly, this is a flow that's already  <br>[14:31] familiar to them. So, solving the technical challenges was one thing, but helping people  <br>[14:39] actually use Goose and MCP was another. So, we set up two dedicated Slack channels to support Goose  <br>[14:47] internally. One is a place where people can ask questions. They can report bugs, they can request  <br>[14:53] features or just, you know, get unstuck in real time and everyone just kind of pitches in here.  <br>[15:00] We don't have dedicated like customer support to this. So engineers who work on goose or power  <br>[15:06] users will jump in and just kind of help people out. I can't overemphasize how critical this  <br>[15:13] has been to adoption, especially for our non- tech users. Uh the other Slack channel is for  <br>[15:19] inspiration, right? It's a space where employees can drop their success stories of cool workflows  <br>[15:26] or clever prompts that they come up with or wild things that the agent was able to pull off. So,  <br>[15:32] this channel quickly became one of the best organic drivers of adoption. People scroll  <br>[15:38] through, they see what others are doing, they immediately want to try it out themselves.  <br>[15:43] And when you see a sales guy with zero tech background vibe code, a functional app that or  <br>[15:50] feature that solves his customers pain points, you have no choice but to stay in. Okay, I'm sorry,  <br>[15:56] Chris. Um, so while Slack gave people a place to connect, we knew that we needed education as well.  <br>[16:05] So we set up internal developer relations effort where every week we host brown bag sessions,  <br>[16:12] workshops, office hours focused on AI enablement and these are open to everyone across the company.  <br>[16:20] So for those that are brand new to AI, we cover basic topics like prompting techniques and then we  <br>[16:26] also offer sessions on what you can do with these various MCP servers that are bundled with goose in  <br>[16:33] addition to new features. Um our DevRel team also tailored workshops for specific teams. So if they  <br>[16:41] needed to figure out, hey, what can I automate with AI? What would be good use cases? Then we  <br>[16:47] would send a team to work with them to figure that out. And then finally we office uh we offer  <br>[16:54] office hours where people can come in they can get help troubleshoot issues and stuff like that. So  <br>[17:00] basically it's education and enablement and this has been a huge unlock for us. So here are a few  <br>[17:09] impactful ways that we've seen employees use MCP. We use Snowflake as our cloud data platform. And  <br>[17:16] by connecting Goose to a Snowflake MCP, employees can query that data using natural language instead  <br>[17:25] of writing SQL. So, one employee used this MCP to detect fraud by spotting suspicious patterns  <br>[17:34] in transaction history. Um, an employee needed to analyze a data set of over 80,000 sales leads and  <br>[17:42] figure out how to distribute them across different sales programs. Using Goose with the data bricks  <br>[17:49] MCP, she accessed the lead data, refined her logic in plain language, and landed on a clear  <br>[17:57] recommendation that was backed by data. So, this would have taken her days of manual analysis. This  <br>[18:05] took just one hour and in her own words, "This is so helpful I could cry." Um, our pager duty  <br>[18:13] MCP is also a fan favorite. So, when you're paige, you're usually in firefighting mode, right? You're  <br>[18:20] focused on fixing that one issue at that moment. So, it's rare to even have the time or the headsp  <br>[18:28] space to zoom out and be able to look at this and detect patterns that could be leading to these  <br>[18:34] outages. So, an employee used this MCP to analyze incident data and was able to uh identify the top  <br>[18:44] recurring issues that were actually triggering alerts. With that bird's eyee view, they were  <br>[18:50] able to make uh actions that led to eliminating the root cause and making the systems more  <br>[18:57] reliable. And we're seeing all sort of powerful uh use cases across design and customer service,  <br>[19:05] project management, and of course engineering as well. So seeing what people were building with  <br>[19:11] Goose was inspiring, but it also showed us where the experience needed to evolve. So we started  <br>[19:17] adding features to support the way people actually wanted to work. So employees were automating tasks  <br>[19:24] that weren't just useful for them, but they would love to share this with their team,  <br>[19:28] their colleagues, but there was no way to share those workflows. So we built a recipe feature that  <br>[19:35] packages up the MCP servers that you use for that session as well as user prompts, maybe a little  <br>[19:42] uh system prompt. And these became mini agents that you can reuse and you can also share with  <br>[19:48] other people. They can launch it with a single click. Um non-engineers they use goose to vibe  <br>[19:55] code prototypes and internal tools but these were stuck on their laptops right they wanted  <br>[20:02] to share these applications with other employees but they didn't know how to deploy an application.  <br>[20:09] So we created an MCP that will deploy static web apps and this gives people direct path from idea  <br>[20:17] to a deployed app with no infer tickets required. And then being able to work with everyday tools is  <br>[20:26] great, but there were frequent questions about how to use goose to do things like navigate internal  <br>[20:32] processes like procurement or compliance on boarding, right? Things that traditionally  <br>[20:39] require that tribal knowledge or a wild goose chase in Google Drive or Slack. So, we developed  <br>[20:46] an MCP server uh for Glean, which specializes in searching enterprise data. And this one uh helped  <br>[20:54] me out not long ago when I needed to quickly pay to uh sponsor uh an event or a hackathon. And  <br>[21:03] uh I didn't have time to go through, y'all know those lengthy procurement processes. I didn't  <br>[21:07] have time to go through this. The event was next week. And so, uh I asked Goose, "How can I get  <br>[21:13] this done? I'm on a timeline. And I swear it felt like Goose whispered in my ear like, "Lean in. Let  <br>[21:19] me tell you, you're gonna hit this guy up. You're gonna You want me to just do it for you? Okay,  <br>[21:24] I got you." And Goose handled that for me. So MCP is helping thousands of employees across block  <br>[21:33] work smarter, work faster, and more autonomously. And while most of the buzz that we're seeing in  <br>[21:40] the industry is from developers, we've scaled MCP across more than 15 job functions. So within only  <br>[21:48] a few months, we've learned how to scale AI responsibly and more importantly inclusively.  <br>[21:55] So this isn't a side project anymore. It's not a ND experiment. Block is putting MCP into practice  <br>[22:03] at scale and shaping what this can look like for enterprise companies. Thank you so much. <!-- deep-read:sections end --> ## 📺 Video ![](https://www.youtube.com/watch?v=d48Ilfw-WIY) --- # 📄 Full Transcript *Auto-generated from YouTube captions · timestamps roughly every 30 seconds · [watch on YouTube](https://www.youtube.com/watch?v=d48Ilfw-WIY)* **[00:05]** Good morning everyone. I'm Angie Jones. I'm VP of engineering at block and I focus on AI tools and enablement. So we've been hearing a lot about MCP this year. Yes. Okay. Today I'm going to share I want to go beyond the theoretical and the the what can be and I want to share how we have actually scaled MCP across our entire 12,000 person company in two **[00:36]** months. So our engineers have been pretty good about using AI coding generation tools like GitHub co-pilot for example and one of our principal machine learning engineers Bradley Axton he set out to create a tool that would go beyond the ID and could help automate some complex development tasks. So Brad started uh tinkering on a development **[01:09]** agent that could actually do things, not just generate code snippets. And this was before LLMs even supported function calling. So as you can imagine, this was a really difficult task. But once OpenAI introduced these capabilities, everything changed. So Brad and a small team of volunteers around the company, they began experimenting with using tool calls to automate parts of the **[01:40]** development workflow. And while this definitely made things more feasible, we quickly realized that without a standard, creating integrations for all of these various APIs would be almost impossible to scale. So, we started working on a protocol and we shared it with our friends over at Anthropic who let us know that they were working on something similar, MCP. Uh, we loved it. **[02:11]** We aligned with it immediately and we became a launch partner. For those of you not familiar with MCP, it's an open standard that allows AI agents to connect with various APIs or tools or data sources. So this was perfect. This is exactly what we needed. So we rewrote our agent goose as an extensible MCP client. Now, initially we designed goose for our internal engineers and we added **[02:44]** a few built-in uh MCP servers things like get jet brains memory a computer controller 75% of our engineers who use goose were saving about 8 to 10 hours a week just offloading their busy work to goose. Within a month, adoption doubled and this was without a formal rollout campaign. People just saw other **[03:14]** engineers using goose and they wanted to try it out as well. And as more uh use cases emerge, the weekly engagement grew by 50%. So with all of these efficiency gains, we decided to open source goose. The public release was really wellreceived. In addition to coverage and major tech publications, Goose uh also was trending on Twitter and reached **[03:46]** number one on GitHub trending. And with all of this uh buzz, our internal non-engineering team started asking, well, wait, what about us? You know, can Goose help us, too? So, seeing the engineering efficiencies, of course, we wanted all of our employees to be able to move at this pace. That's when we realized that Goose couldn't just be a developer agent. It needed to be a generalurpose agent that **[04:17]** anyone in the company could use regardless of their technical background. Now, while we were assessing this, our employees, they just couldn't wait for us. Um, they really wanted to get their hands dirty. So, they just started using Goose as is. And all of a sudden, we had sales, legal, marketing, finance, design, product, customer success. our executive assistants, everyone in the company was trying to use goose and naturally they ran into a **[04:50]** few challenges. So the first challenge was with missing MCP servers. Uh remember that we built this as a developer centric agent. So we built developer centric MCP servers um because that was our target audience. Now all of a sudden people wanted MCPs for other tools like Snowflake and uh Jira, Google Workspace, right? They wanted to be able to interact with their email and their calendar and their Google Drive. So they **[05:23]** were out here in the Wild Wild West like the rest of us, uh trying to find MCP servers that would meet their needs. uh once they did find an MCP server, they'd run into a challenge installing them. What the heck is MPX, right? Where do I put this command? And even if they happen to figure that part out, then they'd be prompted for things like API keys, which was a foreign concept for a lot of them. So it was clear that we **[05:54]** needed to pause and we needed to rethink the experience if we wanted everyone to benefit. So how do you make an agent work for 12,000 employees across every function? This is how we did it. So before we even rolled Goose out, there were a couple of things that we just accidentally got right. Um, these were choices that were made for developers that just happened to be perfect for everyone else as well. **[06:25]** For example, the alpha version of Goose was CLI only, but when we rebuilt it as an MCP client, we had both the CLI, but also a desktop app. And that was originally for just developer preference. But this ended up completely unlocking access for non-engineers. Had we not done this, this would have excluded most of the company without even meaning to. Also, Goose is LLM agnostic. So, it **[06:55]** isn't tied to just one model. And that flexibility turned out to be really critical because while models like Claude are perfect for engineering task, other models like uh GPT ones are better for general purpose task. So internally we use data bricks as our model host and we allow employees to choose from open AI from anthropic from Google from meta providers. Um and this gives people that **[07:25]** power uh to choose which makes adoption much easier across the various disciplines. What we really love about this approach is that it balances that optionality with control. Right? So we only expose models that perform well on our goose benchmarks. And when a new model hits that bar, we can just flip a switch and release it to the entire company. We also pre-seelelect uh a recommended model, which is the one that is consistently scoring 100 on those **[07:58]** benchmark tests. Um but say that there's like an outage or something with a model, we can very easily just switch everyone to a comparable one. um usually before employees even notice. So those are the things that we got right. But of course there's plenty of things that didn't scale so gracefully. For example, we thought that installing Goose was dead simple, right? You download a zip file, unzip it, drag it to your applications folder, you're done. But for employees who are not **[08:29]** techsavvy, even that caused a bit of friction, right? Some people never unzip the file. others didn't move it to the right folder, right? No one kept it updated, which meant that they were running into bugs that we had already fixed. So, we changed course here and we added goose to our internal managed software center and now it's autoinstalled and auto updated across the company. So, if you have a block laptop, you have goose and it just works. The next big hurdle was getting **[09:02]** everyone those MCP servers that they needed. So running MPX commands for code that you don't understand, that's a security risk, especially for folks that are outside of engineering. So it wasn't safe to ask non-engineers to go pull servers off their internet and install them locally. So we spun up a small task team to build internal servers that people needed. So they moved fast, they **[09:32]** learned a lot, they even developed the playbook. That's a talk for another day, but the timing was perfect. Um, this all happened right around our internal hack week. So this made space for other engineers who were curious about MCP to jump in and help. By the end of that week, we had over 60 internal MCP servers ready to go. And today, we're over a hundred of those. And all of them are bundled with our internal goose by **[10:05]** default. So, no one has to install anything. They can just toggle on what they need. So, we don't really use external servers now. Even if one exists, we recreated uh internally. And this isn't because we don't trust um the open- source servers, but more so we need full control over O off and versioning. Um for those who don't know, Block is a fintech company. We make Square and Cash App, uh Afterpay, right? And so we deal with a lot of **[10:37]** regulations. We have to be very secure. And so that's why we just kind of build everything ourselves. One of my favorite moments from this phase was uh when someone vibecoded her own MCP server and she asked us where should I put this and we gave her the GitHub link and she says oh I don't have a GitHub account. I'm not a developer. I thought that was amazing. This was a non-engineer who was able to use these tools to build **[11:08]** something that she needed. Um so everyone is a builder now. Now, even though we have a hundred uh MCP servers, for folks, it's still not enough. Every day, someone is asking us for a new one, and sometimes they'll still go out there in the wild, wild west uh looking for what they need. And as you can imagine, this freaks out our infosc team. Um so to keep things secure, our internal goose also includes an allow list. So if someone tries to **[11:40]** install a server that is not pre-approved, Goose will block that install. And so this is a simple but effective safeguard that just helps keep our employees secure. So now we have Goose automatically installed 100 plus MCP servers. What could possibly go wrong? The context window. So employees were enabling all of their extensions, you know, just in case I happen to need them. And with so **[12:11]** many tools enabled, Goose was sending every server's tool definitions with every prompt. And that of course slowed down the response times if you got a response at all. And then depending on the model, all of that noise could eat up the entire context window. Sometimes people would get an error before they would even get a chance to type a prompt. So we had to make who's smarter. We added dynamic context management that enables and disables MCP servers based **[12:41]** on what the user is asking for. For example, if someone wants to pull tasks from Asauna and add them to their calendar or something, Google is going to automatically uh enable Asana and Google calendar MCP servers and turn everything else off. And that change along saved a ton of context space. But people love a lengthy conversation. So we couldn't stop there. We also had to build a context summarizer. And so once **[13:14]** uh a conversation gets close to the limit, Goose is going to automatically summarize what's happened so far and then continue the session with that summary in place. Just recently, we added a little progress bar as well. So users can see when they're getting close to that limit. The next hurdle that we desperately had to overcome was authentication. So for non-engineers being prompted for API keys, tokens, scopes, all of this is way too overwhelming we found. So they were **[13:47]** getting stuck on the OOTH approval flows which cause frustration and also uh a lot of help requests. So today, all of our internal MCP servers are set up to use OOTH with short-lived credentials, and they're integrated directly with our identity providers. So there's no need for anyone to manage API keys or copy tokens out of a dashboard or anything like that. So when someone toggles on a server that requires off, they're going **[14:19]** to be prompted with a SSO flow in the browser. They sign in with their block credentials, approve the access, and that's it. So, this is quick, it's secure, and more importantly, this is a flow that's already familiar to them. So, solving the technical challenges was one thing, but helping people actually use Goose and MCP was another. So, we set up two dedicated Slack channels to support Goose internally. One is a place **[14:49]** where people can ask questions. They can report bugs, they can request features or just, you know, get unstuck in real time and everyone just kind of pitches in here. We don't have dedicated like customer support to this. So engineers who work on goose or power users will jump in and just kind of help people out. I can't overemphasize how critical this has been to adoption, especially for our non- tech users. Uh the other Slack channel is for inspiration, right? **[15:21]** It's a space where employees can drop their success stories of cool workflows or clever prompts that they come up with or wild things that the agent was able to pull off. So, this channel quickly became one of the best organic drivers of adoption. People scroll through, they see what others are doing, they immediately want to try it out themselves. And when you see a sales guy with zero tech background vibe code, a functional app that or feature that **[15:51]** solves his customers pain points, you have no choice but to stay in. Okay, I'm sorry, Chris. Um, so while Slack gave people a place to connect, we knew that we needed education as well. So we set up internal developer relations effort where every week we host brown bag sessions, workshops, office hours focused on AI enablement and these are open to everyone across the company. So for those that are brand new to AI, we **[16:22]** cover basic topics like prompting techniques and then we also offer sessions on what you can do with these various MCP servers that are bundled with goose in addition to new features. Um our devro team also tailored workshops for specific teams. So if they needed to figure out, hey, what can I automate with AI? What would be good use cases? Then we would send a team to work with them to figure that out. And then finally we office uh we offer **[16:54]** office hours where people can come in they can get help troubleshoot issues and stuff like that. So basically it's education and enablement and this has been a huge unlock for us. So here are a few impactful ways that we've seen employees use MCP. We use Snowflake as our cloud data platform. And by connecting Goose to a Snowflake MCP, employees can query that data using natural language instead of writing SQL. **[17:27]** So, one employee used this MCP to detect fraud by spotting suspicious patterns in transaction history. Um, an employee needed to analyze a data set of over 80,000 sales leads and figure out how to distribute them across different sales programs. Using Goose with the data bricks MCP, she accessed the lead data, refined her logic in plain language, and landed on a clear recommendation that **[17:59]** was backed by data. So, this would have taken her days of manual analysis. This took just one hour and in her own words, "This is so helpful I could cry." Um, our pager duty MCP is also a fan favorite. So, when you're paige, you're usually in firefighting mode, right? You're focused on fixing that one issue at that moment. So, it's rare to even have the time or the headsp space to zoom out and be able to look at this and **[18:32]** detect patterns that could be leading to these outages. So, an employee used this MCP to analyze incident data and was able to uh identify the top recurring issues that were actually triggering alerts. With that bird's eyee view, they were able to make uh actions that led to eliminating the root cause and making the systems more reliable. And we're seeing all sort of powerful uh use cases **[19:03]** across design and customer service, project management, and of course engineering as well. So seeing what people were building with Goose was inspiring, but it also showed us where the experience needed to evolve. So we started adding features to support the way people actually wanted to work. So employees were automating tasks that weren't just useful for them, but they would love to share this with their team, their colleagues, but there was no way to share those workflows. So we built a recipe feature that packages up **[19:36]** the MCP servers that you use for that session as well as user prompts, maybe a little uh system prompt. And these became mini agents that you can reuse and you can also share with other people. They can launch it with a single click. Um non-engineers they use goose to vibe code prototypes and internal tools but these were stuck on their laptops right they wanted to share these applications with other employees but they didn't know how to deploy an **[20:08]** application. So we created an MCP that will deploy static web apps and this gives people direct path from idea to a deployed app with no infert tickets required. And then being able to work with everyday tools is great, but there were frequent questions about how to use goose to do things like navigate internal processes like procurement or compliance on boarding, right? Things that traditionally require that tribal **[20:40]** knowledge or a wild goose chase in Google Drive or Slack. So, we developed an MCP server uh for Glean, which specializes in searching enterprise data. And this one uh helped me out not long ago when I needed to quickly pay to uh sponsor uh an event or a hackathon. And uh I didn't have time to go through, y'all know those lengthy procurement processes. I didn't have time to go through this. The event was next week. And so, uh I asked Goose, "How can I get **[21:13]** this done? I'm on a timeline. And I swear it felt like Goose whispered in my ear like, "Lan in. Let me tell you, you're gonna hit this guy up. You're gonna You want me to just do it for you? Okay, I got you." And Goose handled that for me. So MCP is helping thousands of employees across block work smarter, work faster, and more autonomously. And while most of the buzz that we're seeing in the industry is from developers, we've scaled MCP across more than 15 job **[21:46]** functions. So within only a few months, we've learned how to scale AI responsibly and more importantly inclusively. So this isn't a side project anymore. It's not a ND experiment. Block is putting MCP into practice at scale and shaping what this can look like for enterprise companies. Thank you so much. [applause]