{
  "source_file": "0930",
  "source_platform": "Substack",
  "author": "swyx & Alessio Fanelli / Latent Space",
  "title_listed": "Why MCP Won",
  "keywords": "MCP,工具调用,Agent协议,标准化",
  "domain": "大模型算法",
  "content_type": "技术评论",
  "is_paid_flag": "否",
  "url": "https://www.latent.space/p/why-mcp-won",
  "publish_date": "2025-03",
  "corpus_stage": "SFT",
  "notes": "分析MCP协议胜出的原因及对Agent生态的影响",
  "id": "7ce1c0173515",
  "collected_at": "2026-10-01T19:50:02",
  "title": "Why MCP Won - Latent.Space",
  "body_markdown": "Since this post,\nOpenAI\n(3/27) and\nGoogle\n(4/9) announced MCP support.\nDear AI Engineers,\nI’m sorry for all the MCP filling your timeline right now.\nThe\nModel Context Protocol\nlaunched in November 2024\nand it was\ndecently well received\n, but the\ninitial flurry of excitement\n(with everyone from\nCopilot\nto\nCognition\nto\nCursor\nadding support) died down\n1\nright until\nthe Feb 26-27 AI Engineer Summit\n, where a chance conversation with\nBarry Zhang\nled to us booking\nMahesh Murag\n(who wrote the MCP servers). I simply thought it’d be a nice change from Anthropic’s\n2023\nand\n2024\nprompting workshops, but then this happened:\nNormally workshops are great for live attendees but it’s rare for an online audience to keep the attention span for a full 2 hours. But then\nlivetweets of the workshop\nstarted going viral, because for the first time the community was getting announcements of the highly anticipated official registry, and also comprehensive deep dives into every part of the protocol spec like this:\nWe then bumped up the editing\n2\nprocess to release the workshop video, and, with almost\n300k combined views\nin the past week, this happened:\neverybody complaining about too much MCP\nOne “reach” goal I have with Latent Space is to try to offer editorial opinions slightly ahead of the consensus. In November we said\nGPT Wrappers Are Good, Actually\n, and now\na16z is excited about them\n.  In December we told $200/month Pro haters that\nYou’re all wrong, $2k/month “ChatGPT Max” is coming\nand now we have confirmation that\n$2-20k/month agents are planned\n. But I have to admit MCP’s popularity caught even me offguard, mostly because I have seen many attempted\nXKCD 927\n’s come and go, and MCP was initially presented as a way to write local, privacy-respecting integrations for Claude Desktop, which I’m willing to bet only a small % of the AI Engineer population have even downloaded (as opposed to say\nChatGPT Desktop\nand even\nRaycast AI\n).\nEven though we made the workshop happen, I still feel that I underestimated MCP.\nTo paraphrase Ben Thompson, the #1 feature of any network is the people already on it. Accordingly,\nthe power of any new protocol derives from its adoption (aka ecosystem)\n, and it’s fair to say that MCP has captured enough critical mass and momentum right now that it is already the presumptive winner of the 2023-2025 “agent open standard” wars. At current pace,\nMCP will overtake OpenAPI in July\n:\nSee for yourself\n. Add Langchain if you’re curious but it skews the chart too much\nWidely accepted standards, like Kubernetes and React and HTTP, accommodate the vast diversity of data emitters and consumers by\nconverting exploding MxN problems into tractable M+N ecosystem solutions\n, and are therefore immensely valuable IF they can get critical mass. Indeed even OpenAI had the previous AI standard\n3\nwith even\nGemini\n,\nAnthropic\nand\nOllama\nadvertising OpenAI SDK compatibility.\nI’m not arrogant enough to think the AIE Summit workshop\ncaused\nthis acceleration; we merely poured fuel on a fire we already saw spreading. But as a\nstudent of developer tooling startups\n, many of which try and fail to create momentum for open standards\n4\n, I feel I cannot miss the opportunity to study this closer while it is still fresh, so as to serve as a handbook for future standard creation. Besides, I get asked my MCP thoughts 2x a day so\nit’s time\nto write it down.\nWhy MCP Won (in short)\naka “won” status as de facto standard, over not-exactly-equivalent-but-alternative approaches like OpenAPI and LangChain/LangGraph. In rough descending order.\nMCP is “AI-Native” version of old idea\nMCP is an “open standard” with a big backer\nAnthropic has the best developer AI brand\nMCP based off LSP, an existing successful protocol\nMCP dogfooded with complete set of 1st party client, servers, tooling, SDKs\nMCP started with minimal base, but with frequent roadmap updates\nNon-Factors:\nThings that we think surprisingly did\nnot\ncontribute to MCP’s success\nLining up launch partners like Zed, SourceGraph Cody, and Replit\nLaunching with great documentation\nI will now elaborate with some screengrabs.\noh\nlook\n, another\ngod box\n: \"We can solve any problem by introducing an extra level of indirection.\"\nMCP is “AI-Native” version of old idea\nA lot of the “old school developer” types, myself included, would initially be confused by MCP’s success because, at a technical level, MCP is mostly capable of the same\n5\nkinds of capabilities enabled by existing standards like OpenAPI / OData / GraphQL / SOAP / etc.\nSo the implicit assumption is that the older, Lindy, standard should win.\nHowever, to dismiss ideas on a technical basis is to neglect the sociological context that human engineers operate in. In other words, saying that “the old thing does the same, you should prefer the old thing” falls prey to the same\nLavers’ Law\nfallacy of fashion every developer comes to, the same kind of attitude that leads one to dismiss\nthe Rise of the AI Engineer\nbecause you assume it sufficiently closely maps on to an existing job. To paraphrase\nEugene Wei’s Status as a Service\n, each new generation of developer actively looks for new ground to make their mark, basically because you already made your mark in yours.\nThe\nreflexive\nnature of the value of protocols - remember, they only have value because they can get adoption - mean that there is very little\nex ante\nvalue to any of these ideas. MCP is valuable because the AI influencers deem it so, and therefore it\ndoes become valuable\n.\nIt’s also valuable that it is a revision of an\nold idea\n, meaning that it actually does fill a need we know we have, and not a made up need that is unproven.\nHowever it is\nALSO\ntoo dismissive to say that MCP is exactly equivalent to OpenAPI and it is mere cynical faddish cycles that drive its success. This is why I choose to describe this success factor as “\nAI Native\n” - in this case, MCP was born from lessons felt in\nClaude Sonnet’s #1 SWE-Bench result\nand articulated in\nBuilding Effective Agents\n, primarily this slide:\nAn “AI Native” standard that reifies patterns already independently reoccurring in every single Agent will always be more ergonomic to use and build tools for than an agnostic standard that was designed without those biases.\nHence MCP wins over OpenAPI.\nSecond, going back to this slide, focus on the differences articulated between\nTools\n(Model-controlled),\nResources\n(Application-controlled), and\nPrompts\n(User-controlled).\nMCP’s “AI Native”ness being born\nafter\nthe initial wave of LLM frameworks, means that it has enough breathing room to resist doing the “obvious” thing of starting from LLM interoperability (now solved problems and likely owned by\nclients\nand\ngateways\n), and only focus on the annoying unsolved problems of putting dynamic context access at the center of its universe (very literally saying the motivation of MCP is that “\nModels are only as good as the context provided to them\n”).\nHence MCP wins over\nLangChain\net al.\nMCP is an “open standard” with a big backer\nThis one is perhaps the most depressing for idealists who want the best idea to win: a standard from a Big Lab is very simply more likely to succeed than a standard from anyone else. Even ones with tens of thousands of Github stars and tens of millions of dollars in top tier VC funding. There is nothing fair about this; if the financial future of your startup incentivizes you at all to lock me in to your standard, I’m not adopting it. If the standard backer seems too big to really care about locking you in to the standard, then I will adopt it\n6\n.\nHence MCP wins over\nComposio\net al.\nAny \"open standard”\n7\nshould have a spec, and\nMCP has a VERY good spec\n. This spec alone defeats a lot of contenders, who do not provide such detailed specs.\nHence MCP wins over many open source frameworks,\nand arguably even OpenAI function calling, whose\ndocs\nfall just short of a properly exhaustive spec.\nAnthropic has the best developer AI brand\nPerhaps as important as the fact that a big backer is behind it, is\nwhich\nbig backer.\nIf you’re going to build a developer standard, it helps to be beloved by developers.\nSonnet has been king here for almost 9 months.\nhttps://aider.chat/docs/leaderboards/by-release-date.html\nA bit of a more subtle point that might be missed by newer folks - Anthropic has always explicitly emphasized supporting more tools than OpenAI has - we don’t really have benchmarks/ablations for large tool counts, so we don’t know the differential capabilities between model labs, but intuitively\nMCP enables far more average tools in a single call\nthan is “normal” in tools built without MCP (merely because of ease of inclusion, not due to any inherent technical limitation). So models that can handle higher tool counts better will do better.\nhttps://x.com/swyx/status/1775993946935906645\nHence MCP wins over equivalent developer standards by, say,\nCisco\n.\nMCP based off LSP, an existing successful protocol\nThe other part of the ““open standard” with a big backer” statement requires that the standard not have any fatal flaws. Instead of inventing a standard on the fly, from scratch, and thus risking relitigating all the prior mistakes of the past, the Anthropic team smartly adapted Microsoft’s very successful\nLanguage Server Protocol\n.\nhttps://x.com/dsp_/status/1897821339332882617\nAnd again, from the workshop, a keen awareness of how MCP compares to LSP:\nThe best way to understand this point is to look at any other open source AI-native competitor that tried to get mass adoption, and then try to think about how easy it might be for you to\nadd them to Cursor/Windsurf as easily as an MCP\n. The basic insight is fungibility between clients and servers: Often these competitors are designed to be consumed in one way — as open source packages in another codebase — rather than emitting messages that can be consumed by anyone\n8\n. Another good choice was sticking to\nJSON RPC\nfor messages - again inheirited from LSP.\nHence MCP wins over other standard formats that are more “unproven”\n.\nMCP dogfooded with complete set of 1st party client, servers, tooling, SDKs\nMCP launched with:\nClient\n:\nClaude Desktop\nServers\n:\n19 reference implementations\n, including interesting ones for\nmemory\n,\nfilesystem (Magic!)\nand\nsequential thinking\nTooling\n:\nMCP Inspector, Claude Desktop DevTools\nSDKs\n:\nPython\nand\nTS SDKs\n, but also a\nllms-full.txt\ndocumentation\nSince then, the more recent\nClaude Code\nalso sneaked in a\nSECOND\nofficial MCP client from Anthropic, this time in CLI form:\nhttps://x.com/willccbb/status/1898858751685255398\nThis all came from real life use cases from Anthropic developers.\nHence MCP wins over less dogfooded attempts from other BigCos like Meta’s\nllama-stack\n.\nMCP started with a minimal base, but with frequent roadmap updates\nOne of the most important concepts in devtools is having a\nminimal surface area\n:\nyoutube\nReasonable people can disagree on how minimal MCP is:",
  "metadata": {
    "title": "Why MCP Won - Latent.Space",
    "description": "Learnings from Anthropic's extraordinarily successful Launch and Workshop",
    "keywords": null,
    "author": "Latent.Space",
    "og:type": "article",
    "og:title": "Why MCP Won",
    "og:description": "Learnings from Anthropic's extraordinarily successful Launch and Workshop",
    "og:image": "https://substackcdn.com/image/fetch/$s_!II-b!,w_1200,h_675,c_fill,f_jpg,q_auto:good,fl_progressive:steep,g_auto/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3c23222d-bb03-445b-9806-483eb06c3b75_2554x1640.png",
    "og:url": "https://www.latent.space/p/why-mcp-won",
    "twitter:title": "Why MCP Won",
    "twitter:description": "Learnings from Anthropic's extraordinarily successful Launch and Workshop",
    "twitter:image": "https://substackcdn.com/image/fetch/$s_!CKw7!,f_auto,q_auto:best,fl_progressive:steep/https%3A%2F%2Fswyx.substack.com%2Fapi%2Fv1%2Fpost_preview%2F158760081%2Ftwitter.jpg%3Fversion%3D4",
    "twitter:card": "summary_large_image",
    "article:modified_time": "2025-04-14T16:25:06.544Z"
  },
  "paywall": {
    "listed_paid": false,
    "detected": false,
    "marker": "",
    "public_only": false,
    "policy": "付费/会员内容只保留页面公开可见部分，不绕过付费墙"
  },
  "crawl": {
    "success": true,
    "status_code": 200,
    "error": ""
  },
  "code_blocks": [],
  "images": [
    {
      "status": "ok",
      "url": "https://substackcdn.com/image/fetch/$s_!_BcD!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe07df610-fa0b-4e18-bca5-6ade934cb64a_2274x1264.png",
      "bytes": 122548,
      "reused": true,
      "local_path": "attachments/7ce1c0173515/images/014.png",
      "src": "https://substackcdn.com/image/fetch/$s_!_BcD!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe07df610-fa0b-4e18-bca5-6ade934cb64a_2274x1264.png",
      "alt": "",
      "downloaded": true
    },
    {
      "status": "ok",
      "url": "https://substackcdn.com/image/fetch/$s_!Sqcl!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc325ceca-4bdf-44cf-b727-978bb49a89e1_1106x1716.png",
      "bytes": 162407,
      "reused": true,
      "local_path": "attachments/7ce1c0173515/images/025.png",
      "src": "https://substackcdn.com/image/fetch/$s_!Sqcl!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc325ceca-4bdf-44cf-b727-978bb49a89e1_1106x1716.png",
      "alt": "",
      "downloaded": true
    },
    {
      "status": "ok",
      "url": "https://substackcdn.com/image/fetch/$s_!II-b!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3c23222d-bb03-445b-9806-483eb06c3b75_2554x1640.png",
      "bytes": 135164,
      "reused": true,
      "local_path": "attachments/7ce1c0173515/images/036.png",
      "src": "https://substackcdn.com/image/fetch/$s_!II-b!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3c23222d-bb03-445b-9806-483eb06c3b75_2554x1640.png",
      "alt": "",
      "downloaded": true
    },
    {
      "status": "ok",
      "url": "https://substackcdn.com/image/fetch/$s_!Lq6v!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F34123523-7082-4895-b8e4-b26077683c61_1610x868.png",
      "bytes": 82047,
      "reused": false,
      "local_path": "attachments/7ce1c0173515/images/body-441659fc58a7982396ed.png",
      "src": "https://substackcdn.com/image/fetch/$s_!Lq6v!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F34123523-7082-4895-b8e4-b26077683c61_1610x868.png",
      "alt": "",
      "downloaded": true
    },
    {
      "status": "ok",
      "url": "https://substackcdn.com/image/fetch/$s_!8NN9!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc16bfa4-418c-4e2e-a614-b76a1e793682_2034x1110.jpeg",
      "bytes": 142875,
      "reused": false,
      "local_path": "attachments/7ce1c0173515/images/body-233ec82cb378f3a0cf06.jpeg",
      "src": "https://substackcdn.com/image/fetch/$s_!8NN9!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc16bfa4-418c-4e2e-a614-b76a1e793682_2034x1110.jpeg",
      "alt": "Image",
      "downloaded": true
    },
    {
      "status": "ok",
      "url": "https://substackcdn.com/image/fetch/$s_!quWk!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F44e05941-159b-499e-92b9-0e9b2808e5e9_2138x1538.png",
      "bytes": 84025,
      "reused": false,
      "local_path": "attachments/7ce1c0173515/images/body-4ce79e9608b808e85e6d.png",
      "src": "https://substackcdn.com/image/fetch/$s_!quWk!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F44e05941-159b-499e-92b9-0e9b2808e5e9_2138x1538.png",
      "alt": "",
      "downloaded": true
    },
    {
      "status": "ok",
      "url": "https://substackcdn.com/image/fetch/$s_!s-_Z!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F66510105-27cd-4c8f-a906-ba6b33c0d0a6_998x1630.png",
      "bytes": 422690,
      "reused": false,
      "local_path": "attachments/7ce1c0173515/images/body-b1657db76cc0e2925ac1.png",
      "src": "https://substackcdn.com/image/fetch/$s_!s-_Z!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F66510105-27cd-4c8f-a906-ba6b33c0d0a6_998x1630.png",
      "alt": "",
      "downloaded": true
    },
    {
      "status": "ok",
      "url": "https://substackcdn.com/image/fetch/$s_!BAVP!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb3098b44-18ae-4f70-8420-055ee1bbf45f_976x696.png",
      "bytes": 146611,
      "reused": false,
      "local_path": "attachments/7ce1c0173515/images/body-1dc38f0b0c92b0c37242.png",
      "src": "https://substackcdn.com/image/fetch/$s_!BAVP!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb3098b44-18ae-4f70-8420-055ee1bbf45f_976x696.png",
      "alt": "",
      "downloaded": true
    },
    {
      "status": "ok",
      "url": "https://substackcdn.com/image/fetch/$s_!aj_f!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F287e9c38-db9a-4abb-9a88-bc3e3e590355_2252x1214.png",
      "bytes": 79098,
      "reused": false,
      "local_path": "attachments/7ce1c0173515/images/body-01f9ed79e738b9a5cf03.png",
      "src": "https://substackcdn.com/image/fetch/$s_!aj_f!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F287e9c38-db9a-4abb-9a88-bc3e3e590355_2252x1214.png",
      "alt": "",
      "downloaded": true
    },
    {
      "status": "ok",
      "url": "https://substackcdn.com/image/fetch/$s_!pFCx!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F68dff7d2-6882-4b50-8fc3-fdede0e46a25_942x608.png",
      "bytes": 71079,
      "reused": false,
      "local_path": "attachments/7ce1c0173515/images/body-3ec4273b89605b8993e1.png",
      "src": "https://substackcdn.com/image/fetch/$s_!pFCx!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F68dff7d2-6882-4b50-8fc3-fdede0e46a25_942x608.png",
      "alt": "",
      "downloaded": true
    },
    {
      "status": "ok",
      "url": "https://substackcdn.com/image/fetch/$s_!u57D!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F58a591e2-9c39-4d2b-bb76-cbc46ab41cb1_2104x1478.png",
      "bytes": 91755,
      "reused": false,
      "local_path": "attachments/7ce1c0173515/images/body-4f9d8748ebb30f1640c3.png",
      "src": "https://substackcdn.com/image/fetch/$s_!u57D!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F58a591e2-9c39-4d2b-bb76-cbc46ab41cb1_2104x1478.png",
      "alt": "",
      "downloaded": true
    }
  ],
  "audio": [],
  "videos": [
    {
      "url": "https://www.youtube.com/watch?v=6d60zVdcCV4",
      "status": "ok",
      "local_path": "attachments/7ce1c0173515/videos/6d60zVdcCV4.mp4",
      "bytes": 202745978,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "3330.121000"
    },
    {
      "url": "https://www.youtube.com/watch?v=hkhDdcM5V94",
      "src": "https://www.youtube.com/watch?v=hkhDdcM5V94&t=2s",
      "status": "ok",
      "kind": "single_video",
      "title": "",
      "local_path": "attachments/7ce1c0173515/videos/repair-hkhDdcM5V94.mp4",
      "bytes": 686920981,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "5695.581000",
      "reused": true,
      "retried_at": "2026-10-18T17:09:28Z"
    },
    {
      "url": "https://www.youtube.com/watch?v=kQmXtrmQ5Zg",
      "src": "https://www.youtube-nocookie.com/embed/kQmXtrmQ5Zg?rel=0&autoplay=0&showinfo=0&enablejsapi=0",
      "status": "ok",
      "kind": "single_video",
      "local_path": "attachments/7ce1c0173515/videos/repair-kQmXtrmQ5Zg.mp4",
      "bytes": 173245962,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "6251.421000",
      "reused": false
    },
    {
      "url": "https://www.youtube.com/watch?v=yJHw33cVeHo",
      "src": "https://www.youtube.com/watch?v=yJHw33cVeHo",
      "status": "ok",
      "kind": "single_video",
      "local_path": "attachments/7ce1c0173515/videos/repair-yJHw33cVeHo.mp4",
      "bytes": 198056716,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "1418.321000",
      "reused": false
    },
    {
      "url": "https://www.youtube.com/watch?v=hoEL6ddVcC0",
      "src": "https://www.youtube.com/watch?v=hoEL6ddVcC0",
      "status": "ok",
      "kind": "single_video",
      "local_path": "attachments/7ce1c0173515/videos/repair-hoEL6ddVcC0.mp4",
      "bytes": 276346293,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "1218.981000",
      "reused": false
    },
    {
      "url": "https://www.youtube.com/watch?v=4anAwXYqLG8",
      "src": "https://www.youtube.com/watch?v=4anAwXYqLG8",
      "status": "ok",
      "kind": "single_video",
      "local_path": "attachments/7ce1c0173515/videos/repair-4anAwXYqLG8.mp4",
      "bytes": 127154345,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "1467.841000",
      "reused": false
    }
  ],
  "links": [
    {
      "href": "https://buttondown.com/ainews/archive/ainews-ghibli-memes/",
      "label": "OpenAI",
      "type": "a"
    },
    {
      "href": "https://techcrunch.com/2025/04/09/google-says-itll-embrace-anthropics-standard-for-connecting-ai-models-to-data/",
      "label": "Google",
      "type": "a"
    },
    {
      "href": "https://buttondown.com/ainews/archive/ainews-anthropic-launches-the-model-context/",
      "label": "launched in November 2024",
      "type": "a"
    },
    {
      "href": "https://x.com/alexalbert__/status/1861079762506252723",
      "label": "decently well received",
      "type": "a"
    },
    {
      "href": "https://x.com/alexalbert__/status/1861464485011300839?s=46&t=6FDPaNxZcbSsELal6Sv7Ug",
      "label": "initial flurry of excitement",
      "type": "a"
    },
    {
      "href": "https://x.com/mariorod1/status/1861088610650337448",
      "label": "Copilot",
      "type": "a"
    },
    {
      "href": "https://x.com/ScottWu46/status/1861130277675794700",
      "label": "Cognition",
      "type": "a"
    },
    {
      "href": "https://x.com/ericzakariasson/status/1885756582367035892",
      "label": "Cursor",
      "type": "a"
    },
    {
      "href": "https://www.latent.space/p/2025-summit-online",
      "label": "the Feb 26-27 AI Engineer Summit",
      "type": "a"
    },
    {
      "href": "https://x.com/search?q=%40aidotengineer%20%40barry_zyj&src=typed_query&f=top",
      "label": "Barry Zhang",
      "type": "a"
    },
    {
      "href": "https://x.com/aiDotEngineer/status/1895882186756407680",
      "label": "Mahesh Murag",
      "type": "a"
    },
    {
      "href": "https://www.youtube.com/watch?v=6d60zVdcCV4",
      "label": "2023",
      "type": "a"
    },
    {
      "href": "https://www.youtube.com/watch?v=hkhDdcM5V94&t=2s",
      "label": "2024",
      "type": "a"
    },
    {
      "href": "https://www.youtube-nocookie.com/embed/kQmXtrmQ5Zg?rel=0&autoplay=0&showinfo=0&enablejsapi=0",
      "label": "",
      "type": "iframe"
    },
    {
      "href": "https://x.com/opentools_/status/1893696402477453819",
      "label": "livetweets of the workshop",
      "type": "a"
    },
    {
      "href": "https://substackcdn.com/image/fetch/$s_!_BcD!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe07df610-fa0b-4e18-bca5-6ade934cb64a_2274x1264.png",
      "label": "",
      "type": "a"
    },
    {
      "href": "https://substackcdn.com/image/fetch/$s_!Sqcl!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc325ceca-4bdf-44cf-b727-978bb49a89e1_1106x1716.png",
      "label": "",
      "type": "a"
    },
    {
      "href": "https://x.com/latentspacepod/status/1857793791567999007",
      "label": "GPT Wrappers Are Good, Actually",
      "type": "a"
    },
    {
      "href": "https://x.com/andrewchen/status/1886858755633221978",
      "label": "a16z is excited about them",
      "type": "a"
    },
    {
      "href": "https://www.latent.space/p/chatgpt-max",
      "label": "You’re all wrong, $2k/month “ChatGPT Max” is coming",
      "type": "a"
    },
    {
      "href": "https://x.com/ns123abc/status/1897311174737453199",
      "label": "$2-20k/month agents are planned",
      "type": "a"
    },
    {
      "href": "https://xkcd.com/927/",
      "label": "XKCD 927",
      "type": "a"
    },
    {
      "href": "https://www.youtube.com/watch?v=yJHw33cVeHo",
      "label": "ChatGPT Desktop",
      "type": "a"
    },
    {
      "href": "https://www.youtube.com/watch?v=hoEL6ddVcC0",
      "label": "Raycast AI",
      "type": "a"
    },
    {
      "href": "https://substackcdn.com/image/fetch/$s_!II-b!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3c23222d-bb03-445b-9806-483eb06c3b75_2554x1640.png",
      "label": "",
      "type": "a"
    },
    {
      "href": "https://www.star-history.com/",
      "label": "See for yourself",
      "type": "a"
    },
    {
      "href": "https://x.com/swyx/status/1629553997416910849",
      "label": "converting exploding MxN problems into tractable M+N ecosystem solutions",
      "type": "a"
    },
    {
      "href": "https://ai.google.dev/gemini-api/docs/openai",
      "label": "Gemini",
      "type": "a"
    },
    {
      "href": "https://docs.anthropic.com/en/api/openai-sdk",
      "label": "Anthropic",
      "type": "a"
    },
    {
      "href": "https://ollama.com/blog/openai-compatibility",
      "label": "Ollama",
      "type": "a"
    },
    {
      "href": "https://dx.tips/",
      "label": "student of developer tooling startups",
      "type": "a"
    },
    {
      "href": "https://x.com/swyx/status/1351197649727352836",
      "label": "it’s time",
      "type": "a"
    },
    {
      "href": "https://substackcdn.com/image/fetch/$s_!Lq6v!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F34123523-7082-4895-b8e4-b26077683c61_1610x868.png",
      "label": "",
      "type": "a"
    },
    {
      "href": "https://x.com/mattpocockuk/status/1897742389592440970/photo/2",
      "label": "look",
      "type": "a"
    },
    {
      "href": "https://css-tricks.com/its-always-year-zero/",
      "label": "Lavers’ Law",
      "type": "a"
    },
    {
      "href": "https://www.latent.space/p/ai-engineer",
      "label": "the Rise of the AI Engineer",
      "type": "a"
    },
    {
      "href": "https://www.eugenewei.com/blog/2019/2/19/status-as-a-service",
      "label": "Eugene Wei’s Status as a Service",
      "type": "a"
    },
    {
      "href": "https://www.swyx.io/mimicry-reflexivity",
      "label": "reflexive",
      "type": "a"
    },
    {
      "href": "https://www.latent.space/p/claude-sonnet",
      "label": "Claude Sonnet’s #1 SWE-Bench result",
      "type": "a"
    },
    {
      "href": "https://www.anthropic.com/engineering/building-effective-agents",
      "label": "Building Effective Agents",
      "type": "a"
    },
    {
      "href": "https://substackcdn.com/image/fetch/$s_!8NN9!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc16bfa4-418c-4e2e-a614-b76a1e793682_2034x1110.jpeg",
      "label": "",
      "type": "a"
    },
    {
      "href": "https://modelcontextprotocol.io/clients",
      "label": "clients",
      "type": "a"
    },
    {
      "href": "https://www.latent.space/p/gateway",
      "label": "gateways",
      "type": "a"
    },
    {
      "href": "https://youtu.be/kQmXtrmQ5Zg?si=ziw3VJ3Rb2V1Tevp&t=103",
      "label": "Models are only as good as the context provided to them",
      "type": "a"
    },
    {
      "href": "http://LangChain/",
      "label": "LangChain",
      "type": "a"
    },
    {
      "href": "https://github.com/ComposioHQ/composio",
      "label": "Composio",
      "type": "a"
    },
    {
      "href": "https://spec.modelcontextprotocol.io/specification/2024-11-05/",
      "label": "MCP has a VERY good spec",
      "type": "a"
    },
    {
      "href": "https://platform.openai.com/docs/guides/function-calling",
      "label": "docs",
      "type": "a"
    },
    {
      "href": "https://substackcdn.com/image/fetch/$s_!quWk!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F44e05941-159b-499e-92b9-0e9b2808e5e9_2138x1538.png",
      "label": "",
      "type": "a"
    },
    {
      "href": "https://substackcdn.com/image/fetch/$s_!s-_Z!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F66510105-27cd-4c8f-a906-ba6b33c0d0a6_998x1630.png",
      "label": "",
      "type": "a"
    },
    {
      "href": "https://x.com/llama_index/status/1897701302060433736?s=61",
      "label": "Cisco",
      "type": "a"
    },
    {
      "href": "https://microsoft.github.io/language-server-protocol/",
      "label": "Language Server Protocol",
      "type": "a"
    },
    {
      "href": "https://substackcdn.com/image/fetch/$s_!BAVP!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb3098b44-18ae-4f70-8420-055ee1bbf45f_976x696.png",
      "label": "",
      "type": "a"
    },
    {
      "href": "https://substackcdn.com/image/fetch/$s_!aj_f!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F287e9c38-db9a-4abb-9a88-bc3e3e590355_2252x1214.png",
      "label": "",
      "type": "a"
    },
    {
      "href": "https://supabase.com/docs/guides/getting-started/mcp",
      "label": "add them to Cursor/Windsurf as easily as an MCP",
      "type": "a"
    },
    {
      "href": "https://modelcontextprotocol.io/docs/concepts/transports",
      "label": "JSON RPC",
      "type": "a"
    },
    {
      "href": "https://x.com/alexalbert__/status/1861079874385203522",
      "label": "Claude Desktop",
      "type": "a"
    },
    {
      "href": "https://modelcontextprotocol.io/examples",
      "label": "19 reference implementations",
      "type": "a"
    },
    {
      "href": "https://x.com/swyx/status/1861441838114337233",
      "label": "memory",
      "type": "a"
    },
    {
      "href": "https://www.reddit.com/r/ClaudeAI/comments/1h4yvep/mcp_filesystem_is_magic/",
      "label": "filesystem (Magic!)",
      "type": "a"
    },
    {
      "href": "https://github.com/modelcontextprotocol/servers/tree/main/src/sequentialthinking",
      "label": "sequential thinking",
      "type": "a"
    },
    {
      "href": "https://modelcontextprotocol.io/docs/tools/debugging",
      "label": "MCP Inspector, Claude Desktop DevTools",
      "type": "a"
    },
    {
      "href": "https://github.com/modelcontextprotocol/python-sdk",
      "label": "Python",
      "type": "a"
    },
    {
      "href": "https://github.com/modelcontextprotocol/typescript-sdk",
      "label": "TS SDKs",
      "type": "a"
    },
    {
      "href": "https://modelcontextprotocol.io/tutorials/building-mcp-with-llms",
      "label": "llms-full.txt",
      "type": "a"
    },
    {
      "href": "https://ai-claude.net/code/",
      "label": "Claude Code",
      "type": "a"
    },
    {
      "href": "https://substackcdn.com/image/fetch/$s_!pFCx!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F68dff7d2-6882-4b50-8fc3-fdede0e46a25_942x608.png",
      "label": "",
      "type": "a"
    },
    {
      "href": "https://github.com/meta-llama/llama-stack",
      "label": "llama-stack",
      "type": "a"
    },
    {
      "href": "https://www.youtube.com/watch?v=4anAwXYqLG8",
      "label": "minimal surface area",
      "type": "a"
    },
    {
      "href": "https://substackcdn.com/image/fetch/$s_!u57D!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F58a591e2-9c39-4d2b-bb76-cbc46ab41cb1_2104x1478.png",
      "label": "",
      "type": "a"
    }
  ],
  "repair_version": 2,
  "repaired_at": "2026-10-14T10:47:00Z",
  "source_url": "https://www.latent.space/p/why-mcp-won",
  "papers": [],
  "actual_video_files": [
    {
      "local_path": "attachments/7ce1c0173515/videos/6d60zVdcCV4.mp4",
      "bytes": 202745978,
      "valid": true,
      "height": 1080,
      "width": 1920,
      "duration": "3330.121000",
      "status": "ok"
    }
  ],
  "body_chars": 10931,
  "expected_body_images": 11,
  "discovery_status": "ok",
  "delivery_status": "ok",
  "missing_reason": "",
  "raw_html": "attachments/7ce1c0173515/pages/source.html",
  "local_html": "attachments/7ce1c0173515/pages/article.html",
  "body_base_path": "attachments/7ce1c0173515/pages/",
  "body_markdown_path": "attachments/7ce1c0173515/pages/article.md"
}