[{"data":1,"prerenderedAt":1216},["ShallowReactive",2],{"blog-tag-en-mcp":3},[4,71,122,181,289,407,463,515,575,644,689,754,801,869,922,985,1014,1066,1120,1164],{"slug":5,"published":6,"minutes":7,"category":8,"tags":9,"tagPages":15,"keywords":18,"about":29,"sources":39,"cover":61,"og":62,"expertise":63,"locales":64,"lang":65,"title":68,"description":69,"coverAlt":70},"agent-tool-design-descriptions-errors","2026-10-17",11,"agents",[10,11,12,13,14],"AI agents","Tool use","Function calling","MCP","Agent design",[16,17],"ai-agents","mcp",[19,20,21,22,23,24,25,26,27,28],"agent tool design","writing tool descriptions for llm","function calling best practices","tool use error handling","mcp tool design","tool calling is_error","how many tools should an agent have","tool search defer_loading","agent computer interface","llm tool schema design",[30,33,36],{"name":31,"url":32},"Intelligent agent","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FIntelligent_agent",{"name":34,"url":35},"Model Context Protocol","https:\u002F\u002Fmodelcontextprotocol.io\u002F",{"name":37,"url":38},"Poka-yoke","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FPoka-yoke",[40,43,46,49,52,55,58],{"title":41,"url":42},"Anthropic Engineering: Writing effective tools for agents, with agents (Sep 2025)","https:\u002F\u002Fwww.anthropic.com\u002Fengineering\u002Fwriting-tools-for-agents",{"title":44,"url":45},"Anthropic Engineering: Building effective agents (Dec 2024)","https:\u002F\u002Fwww.anthropic.com\u002Fengineering\u002Fbuilding-effective-agents",{"title":47,"url":48},"Claude Platform Docs: Define tools","https:\u002F\u002Fplatform.claude.com\u002Fdocs\u002Fen\u002Fagents-and-tools\u002Ftool-use\u002Fdefine-tools",{"title":50,"url":51},"Claude Platform Docs: Handle tool calls","https:\u002F\u002Fplatform.claude.com\u002Fdocs\u002Fen\u002Fagents-and-tools\u002Ftool-use\u002Fhandle-tool-calls",{"title":53,"url":54},"Claude Platform Docs: Tool search tool","https:\u002F\u002Fplatform.claude.com\u002Fdocs\u002Fen\u002Fagents-and-tools\u002Ftool-use\u002Ftool-search-tool",{"title":56,"url":57},"Model Context Protocol specification 2025-11-25: Tools","https:\u002F\u002Fmodelcontextprotocol.io\u002Fspecification\u002F2025-11-25\u002Fserver\u002Ftools",{"title":59,"url":60},"OpenAI API Docs: Function calling","https:\u002F\u002Fdevelopers.openai.com\u002Fapi\u002Fdocs\u002Fguides\u002Ffunction-calling","\u002Fimages\u002Fblog\u002Fagent-tool-design-descriptions-errors\u002Fcover.webp","\u002Fimages\u002Fblog\u002Fagent-tool-design-descriptions-errors\u002Fog.jpg","ai-engineer",[65,66,67],"en","de","hu","Designing tools for AI agents: names, descriptions, schemas and error messages","How to design agent tools that get picked and called correctly: task-shaped tools, descriptions, schemas, compact responses and errors a model can act on.","Tool design for AI agents: a robot hand reaches for a screwdriver on a pegboard where every tool has its outline.",{"slug":72,"published":73,"minutes":74,"category":8,"tags":75,"tagPages":80,"keywords":82,"about":93,"sources":100,"cover":116,"og":117,"expertise":63,"locales":118,"lang":65,"title":119,"description":120,"coverAlt":121},"browser-agents-e2e-testing-playwright","2026-10-16",7,[76,77,78,13,79],"Playwright","E2E testing","Coding agents","Test automation",[81,17],"coding-agents",[83,84,85,86,87,88,89,90,91,92],"playwright test agents","playwright planner generator healer","ai e2e testing","playwright mcp","llm generated playwright tests","self-healing tests","browser agent testing","playwright init-agents","ai test automation 2026","playwright cli skills",[94,96,99],{"name":76,"url":95},"https:\u002F\u002Fplaywright.dev\u002F",{"name":97,"url":98},"End-to-end testing","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FSystem_testing",{"name":34,"url":35},[101,104,107,110,113],{"title":102,"url":103},"Playwright docs: Test agents (planner, generator, healer)","https:\u002F\u002Fplaywright.dev\u002Fdocs\u002Ftest-agents",{"title":105,"url":106},"Microsoft: Playwright MCP README (MCP vs CLI, accessibility snapshots)","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fplaywright-mcp",{"title":108,"url":109},"Playwright docs: Best practices","https:\u002F\u002Fplaywright.dev\u002Fdocs\u002Fbest-practices",{"title":111,"url":112},"Playwright docs: Locators","https:\u002F\u002Fplaywright.dev\u002Fdocs\u002Flocators",{"title":114,"url":115},"Browserbase: Stagehand README (act, extract, observe)","https:\u002F\u002Fgithub.com\u002Fbrowserbase\u002Fstagehand","\u002Fimages\u002Fblog\u002Fbrowser-agents-e2e-testing-playwright\u002Fcover.webp","\u002Fimages\u002Fblog\u002Fbrowser-agents-e2e-testing-playwright\u002Fog.jpg",[65,66,67],"Browser agents for E2E testing: let agents write Playwright tests, not run them","Where AI agents help with end-to-end tests: Playwright planner, generator and healer, MCP or CLI, and the guardrails that keep healed tests honest.","Browser agents for E2E testing: a robot writes with a pencil in front of a browser window with a theatre mask.",{"slug":123,"published":73,"minutes":124,"category":8,"tags":125,"tagPages":129,"keywords":130,"about":142,"sources":150,"cover":175,"og":176,"expertise":63,"locales":177,"lang":65,"title":178,"description":179,"coverAlt":180},"a2a-protocol-agent-interoperability",12,[126,10,13,127,128],"A2A","Interoperability","Agent security",[16,17],[131,132,133,134,135,136,137,138,139,140,141],"a2a protocol","agent2agent protocol","a2a vs mcp","a2a agent card","agent-card.json well-known","a2a protocol 1.0","a2a task lifecycle","agent to agent communication protocol","a2a security","a2a json-rpc grpc","agent session smuggling",[143,146,147],{"name":144,"url":145},"Agent2Agent protocol","https:\u002F\u002Fa2a-protocol.org\u002F",{"name":34,"url":35},{"name":148,"url":149},"Linux Foundation","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FLinux_Foundation",[151,154,157,160,163,166,169,172],{"title":152,"url":153},"A2A Protocol Specification (latest, v1.0)","https:\u002F\u002Fa2a-protocol.org\u002Flatest\u002Fspecification\u002F",{"title":155,"url":156},"A2A: a2a.proto, the normative data model (GitHub)","https:\u002F\u002Fgithub.com\u002Fa2aproject\u002FA2A\u002Fblob\u002Fmain\u002Fspecification\u002Fa2a.proto",{"title":158,"url":159},"A2A docs: A2A and MCP","https:\u002F\u002Fa2a-protocol.org\u002Flatest\u002Ftopics\u002Fa2a-and-mcp\u002F",{"title":161,"url":162},"A2A docs: Agent discovery","https:\u002F\u002Fa2a-protocol.org\u002Flatest\u002Ftopics\u002Fagent-discovery\u002F",{"title":164,"url":165},"Google Developers Blog: Announcing the Agent2Agent Protocol (Apr 2025)","https:\u002F\u002Fdevelopers.googleblog.com\u002Fen\u002Fa2a-a-new-era-of-agent-interoperability\u002F",{"title":167,"url":168},"Linux Foundation: Launch of the Agent2Agent Protocol Project (Jun 2025)","https:\u002F\u002Fwww.linuxfoundation.org\u002Fpress\u002Flinux-foundation-launches-the-agent2agent-protocol-project-to-enable-secure-intelligent-communication-between-ai-agents",{"title":170,"url":171},"Linux Foundation: A2A surpasses 150 organizations in its first year (Apr 2026)","https:\u002F\u002Fwww.linuxfoundation.org\u002Fpress\u002Fa2a-protocol-surpasses-150-organizations-lands-in-major-cloud-platforms-and-sees-enterprise-production-use-in-first-year",{"title":173,"url":174},"Unit 42: Agent Session Smuggling in Agent2Agent Systems (Oct 2025)","https:\u002F\u002Funit42.paloaltonetworks.com\u002Fagent-session-smuggling-in-agent2agent-systems\u002F","\u002Fimages\u002Fblog\u002Fa2a-protocol-agent-interoperability\u002Fcover.webp","\u002Fimages\u002Fblog\u002Fa2a-protocol-agent-interoperability\u002Fog.jpg",[65,66,67],"The A2A protocol explained: agent cards, tasks, and where it fits next to MCP","What the Agent2Agent protocol standardizes in v1.0: agent cards, tasks, bindings, security, how it differs from MCP, and when it is worth using.","A2A protocol: two robots shake hands across a table, each holding up an identity card.",{"slug":182,"published":183,"updated":184,"minutes":185,"category":8,"tags":186,"tagPages":191,"keywords":193,"about":201,"sources":213,"cover":283,"og":284,"expertise":63,"locales":285,"lang":65,"title":286,"description":287,"coverAlt":288},"opencode","2026-10-09","2026-10-10",8,[187,188,189,190,13],"AI coding agent","Terminal","Open source","Local models",[192,17],"open-source",[182,194,195,196,197,198,199,200],"opencode review","open source coding agent","opencode vs claude code","terminal coding agent","opencode local models","opencode permissions","opencode mcp",[202,205,208,210],{"name":203,"url":204},"OpenCode","https:\u002F\u002Fopencode.ai",{"name":206,"url":207},"Large language model","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FLarge_language_model",{"name":34,"url":209},"https:\u002F\u002Fmodelcontextprotocol.io",{"name":211,"url":212},"Language Server Protocol","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FLanguage_Server_Protocol",[214,217,220,223,226,229,232,235,238,241,244,247,250,253,256,259,262,265,268,271,274,277,280],{"title":215,"url":216},"OpenCode docs: intro and installation","https:\u002F\u002Fopencode.ai\u002Fdocs\u002F",{"title":218,"url":219},"OpenCode docs: providers, Models.dev and local models","https:\u002F\u002Fopencode.ai\u002Fdocs\u002Fproviders\u002F",{"title":221,"url":222},"OpenCode docs: agents, Build, Plan and subagents","https:\u002F\u002Fopencode.ai\u002Fdocs\u002Fagents\u002F",{"title":224,"url":225},"OpenCode docs: permissions and defaults","https:\u002F\u002Fopencode.ai\u002Fdocs\u002Fpermissions\u002F",{"title":227,"url":228},"OpenCode docs: MCP servers","https:\u002F\u002Fopencode.ai\u002Fdocs\u002Fmcp-servers\u002F",{"title":230,"url":231},"OpenCode docs: LSP servers","https:\u002F\u002Fopencode.ai\u002Fdocs\u002Flsp\u002F",{"title":233,"url":234},"OpenCode docs: server and web interface","https:\u002F\u002Fopencode.ai\u002Fdocs\u002Fserver\u002F",{"title":236,"url":237},"OpenCode docs: config and precedence","https:\u002F\u002Fopencode.ai\u002Fdocs\u002Fconfig\u002F",{"title":239,"url":240},"OpenCode docs: Zen, pay-as-you-go models","https:\u002F\u002Fopencode.ai\u002Fdocs\u002Fzen\u002F",{"title":242,"url":243},"OpenCode docs: Go subscription plans","https:\u002F\u002Fopencode.ai\u002Fdocs\u002Fgo\u002F",{"title":245,"url":246},"OpenCode docs: share and data retention","https:\u002F\u002Fopencode.ai\u002Fdocs\u002Fshare\u002F",{"title":248,"url":249},"OpenCode docs: enterprise and data handling","https:\u002F\u002Fopencode.ai\u002Fdocs\u002Fenterprise\u002F",{"title":251,"url":252},"GitHub: anomalyco\u002Fopencode, MIT licence and README","https:\u002F\u002Fgithub.com\u002Fanomalyco\u002Fopencode",{"title":254,"url":255},"OpenCode release v1.18.35 (6 October 2026)","https:\u002F\u002Fgithub.com\u002Fanomalyco\u002Fopencode\u002Freleases\u002Ftag\u002Fv1.18.35",{"title":257,"url":258},"Claude Code licence file (LICENSE.md)","https:\u002F\u002Fraw.githubusercontent.com\u002Fanthropics\u002Fclaude-code\u002Fmain\u002FLICENSE.md",{"title":260,"url":261},"Claude pricing: plans and Claude Code access","https:\u002F\u002Fclaude.com\u002Fpricing",{"title":263,"url":264},"Claude Code docs: connect to an LLM gateway","https:\u002F\u002Fcode.claude.com\u002Fdocs\u002Fen\u002Fllm-gateway",{"title":266,"url":267},"OpenAI Codex CLI repository (Apache-2.0)","https:\u002F\u002Fgithub.com\u002Fopenai\u002Fcodex",{"title":269,"url":270},"ChatGPT pricing: Codex included in plans","https:\u002F\u002Flearn.chatgpt.com\u002Fdocs\u002Fpricing",{"title":272,"url":273},"Codex configuration: model providers and config.toml","https:\u002F\u002Flearn.chatgpt.com\u002Fdocs\u002Fconfig-file\u002Fconfig-advanced",{"title":275,"url":276},"Aider website: git integration and LLM support","https:\u002F\u002Faider.chat\u002F",{"title":278,"url":279},"Aider licence file (Apache-2.0)","https:\u002F\u002Fraw.githubusercontent.com\u002FAider-AI\u002Faider\u002Fmain\u002FLICENSE.txt",{"title":281,"url":282},"GDPR, Regulation (EU) 2016\u002F679, Article 28","https:\u002F\u002Feur-lex.europa.eu\u002Flegal-content\u002FEN\u002FTXT\u002FHTML\u002F?uri=CELEX:32016R0679","\u002Fimages\u002Fblog\u002Fopencode\u002Fcover.webp","\u002Fimages\u002Fblog\u002Fopencode\u002Fog.jpg",[65,66,67],"OpenCode review: the open-source coding agent for any model","OpenCode is an MIT-licensed terminal coding agent for any model, hosted or local. Agents, permissions, MCP and LSP, plus the data-protection trade-offs.","OpenCode review: an open toolbox beside a terminal window, a row of different batteries next to it.",{"slug":290,"published":291,"updated":184,"minutes":292,"category":8,"tags":293,"tagPages":298,"keywords":299,"about":308,"sources":319,"cover":401,"og":402,"expertise":63,"locales":403,"lang":65,"title":404,"description":405,"coverAlt":406},"gemini-cli","2026-10-07",9,[294,295,13,296,297],"Terminal agent","Gemini","Sandboxing","Data protection",[17],[300,301,302,303,304,305,306,307],"gemini cli","gemini cli free tier","gemini cli pricing","gemini cli data privacy","gemini cli vs claude code","antigravity cli","gemini cli github action","gemini cli sandbox",[309,312,315,318],{"name":310,"url":311},"Gemini CLI","https:\u002F\u002Fgithub.com\u002Fgoogle-gemini\u002Fgemini-cli",{"name":313,"url":314},"Vertex AI","https:\u002F\u002Fcloud.google.com\u002Fvertex-ai",{"name":316,"url":317},"Apache License","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FApache_License",{"name":34,"url":209},[320,323,326,329,331,334,337,340,343,346,349,352,355,358,361,364,367,370,373,375,378,381,384,387,390,393,395,398],{"title":321,"url":322},"Google Developers Blog: transitioning Gemini CLI to Antigravity CLI","https:\u002F\u002Fdevelopers.googleblog.com\u002Fen\u002Fan-important-update-transitioning-gemini-cli-to-antigravity-cli\u002F",{"title":324,"url":325},"Gemini CLI: quotas and pricing","https:\u002F\u002Fgeminicli.com\u002Fdocs\u002Fresources\u002Fquota-and-pricing\u002F",{"title":327,"url":328},"Gemini CLI: licence, terms of service and privacy notices","https:\u002F\u002Fgeminicli.com\u002Fdocs\u002Fresources\u002Ftos-privacy",{"title":330,"url":311},"GitHub: google-gemini\u002Fgemini-cli, the repository and README",{"title":332,"url":333},"Gemini CLI changelog: v0.63.0 released 6 October 2026","https:\u002F\u002Fgithub.com\u002Fgoogle-gemini\u002Fgemini-cli\u002Fblob\u002Fmain\u002Fdocs\u002Fchangelogs\u002Flatest.md",{"title":335,"url":336},"Gemini CLI reference: flags and approval modes","https:\u002F\u002Fgithub.com\u002Fgoogle-gemini\u002Fgemini-cli\u002Fblob\u002Fmain\u002Fdocs\u002Fcli\u002Fcli-reference.md",{"title":338,"url":339},"Gemini CLI configuration: settings.json and approval defaults","https:\u002F\u002Fgithub.com\u002Fgoogle-gemini\u002Fgemini-cli\u002Fblob\u002Fmain\u002Fdocs\u002Freference\u002Fconfiguration.md",{"title":341,"url":342},"Gemini CLI sandboxing","https:\u002F\u002Fgithub.com\u002Fgoogle-gemini\u002Fgemini-cli\u002Fblob\u002Fmain\u002Fdocs\u002Fcli\u002Fsandbox.md",{"title":344,"url":345},"Gemini CLI: context files (GEMINI.md)","https:\u002F\u002Fgithub.com\u002Fgoogle-gemini\u002Fgemini-cli\u002Fblob\u002Fmain\u002Fdocs\u002Fcli\u002Fgemini-md.md",{"title":347,"url":348},"Gemini CLI: MCP servers","https:\u002F\u002Fgithub.com\u002Fgoogle-gemini\u002Fgemini-cli\u002Fblob\u002Fmain\u002Fdocs\u002Ftools\u002Fmcp-server.md",{"title":350,"url":351},"Gemini API Additional Terms of Service","https:\u002F\u002Fai.google.dev\u002Fgemini-api\u002Fterms",{"title":353,"url":354},"Gemini Developer API pricing","https:\u002F\u002Fai.google.dev\u002Fgemini-api\u002Fdocs\u002Fpricing",{"title":356,"url":357},"Gemini Code Assist FAQs","https:\u002F\u002Fdocs.cloud.google.com\u002Fgemini\u002Fdocs\u002Fcodeassist\u002Ffaqs",{"title":359,"url":360},"Vertex AI data governance and zero data retention","https:\u002F\u002Fdocs.cloud.google.com\u002Fvertex-ai\u002Fgenerative-ai\u002Fdocs\u002Fdata-governance",{"title":362,"url":363},"Vertex AI data residency","https:\u002F\u002Fdocs.cloud.google.com\u002Fvertex-ai\u002Fgenerative-ai\u002Fdocs\u002Flearn\u002Fdata-residency",{"title":365,"url":366},"Vertex AI locations and endpoints","https:\u002F\u002Fdocs.cloud.google.com\u002Fvertex-ai\u002Fgenerative-ai\u002Fdocs\u002Flearn\u002Flocations",{"title":368,"url":369},"run-gemini-cli: the GitHub Action for Gemini CLI","https:\u002F\u002Fgithub.com\u002Fgoogle-github-actions\u002Frun-gemini-cli",{"title":371,"url":372},"Antigravity CLI migration guide","https:\u002F\u002Fantigravity.google\u002Fdocs\u002Fcli\u002Fgcli-migration",{"title":374,"url":261},"Claude pricing",{"title":376,"url":377},"Claude Code: data usage","https:\u002F\u002Fcode.claude.com\u002Fdocs\u002Fen\u002Fdata-usage",{"title":379,"url":380},"Claude Code: setup and plan requirements","https:\u002F\u002Fcode.claude.com\u002Fdocs\u002Fen\u002Fsetup",{"title":382,"url":383},"Claude Code: permission modes","https:\u002F\u002Fcode.claude.com\u002Fdocs\u002Fen\u002Fpermission-modes",{"title":385,"url":386},"Claude Code: sandboxing","https:\u002F\u002Fcode.claude.com\u002Fdocs\u002Fen\u002Fsandboxing",{"title":388,"url":389},"Claude Code licence (LICENSE.md)","https:\u002F\u002Fgithub.com\u002Fanthropics\u002Fclaude-code\u002Fblob\u002Fmain\u002FLICENSE.md",{"title":391,"url":392},"OpenAI Codex pricing","https:\u002F\u002Fdevelopers.openai.com\u002Fcodex\u002Fpricing",{"title":394,"url":267},"OpenAI Codex CLI repository",{"title":396,"url":397},"Codex: agent approvals and security","https:\u002F\u002Fdevelopers.openai.com\u002Fcodex\u002Fagent-approvals-security",{"title":399,"url":400},"Codex: sandboxing","https:\u002F\u002Fdevelopers.openai.com\u002Fcodex\u002Fconcepts\u002Fsandboxing","\u002Fimages\u002Fblog\u002Fgemini-cli\u002Fcover.webp","\u002Fimages\u002Fblog\u002Fgemini-cli\u002Fog.jpg",[65,66,67],"Gemini CLI review: open source, but no longer free for individuals","Gemini CLI review: Apache-2.0 and still releasing, but the free individual route closed on 18 June 2026. Left: Code Assist, billed API keys and Vertex AI.","Gemini CLI review: twin robots stand at a terminal next to a coin slot box.",{"slug":408,"published":409,"minutes":410,"category":411,"tags":412,"tagPages":416,"keywords":417,"about":425,"sources":429,"cover":457,"og":458,"expertise":63,"locales":459,"lang":65,"title":460,"description":461,"coverAlt":462},"browserbase-stagehand","2026-09-30",10,"web",[413,414,415,76,13],"Browser automation","Web agents","Headless browsers",[17],[418,419,420,421,422,423,424],"browserbase","stagehand","stagehand vs playwright","browserbase pricing","ai web agent framework","headless browser api","browserbase alternatives",[426],{"name":427,"url":428},"Browserbase","https:\u002F\u002Fwww.browserbase.com",[430,433,436,439,442,445,447,450,453,456],{"title":431,"url":432},"Browserbase pricing","https:\u002F\u002Fwww.browserbase.com\u002Fpricing",{"title":434,"url":435},"Browserbase plans and pricing docs","https:\u002F\u002Fdocs.browserbase.com\u002Fguides\u002Fplans-and-pricing",{"title":437,"url":438},"Stagehand documentation","https:\u002F\u002Fdocs.stagehand.dev\u002F",{"title":440,"url":441},"Stagehand quickstart","https:\u002F\u002Fdocs.stagehand.dev\u002Fv4\u002Ffirst-steps\u002Fquickstart",{"title":443,"url":444},"Stagehand v4 announcement","https:\u002F\u002Fwww.browserbase.com\u002Fblog\u002Fstagehand-v4",{"title":446,"url":115},"Stagehand repository",{"title":448,"url":449},"Browser Use comparison of the two vendors","https:\u002F\u002Fbrowser-use.com\u002Fposts\u002Fbrowser-use-vs-browserbase",{"title":451,"url":452},"Browser Use pricing","https:\u002F\u002Fwww.browser-use.com\u002Fpricing",{"title":454,"url":455},"Skyvern pricing","https:\u002F\u002Fskyvern.com\u002Fpricing",{"title":76,"url":95},"\u002Fimages\u002Fblog\u002Fbrowserbase-stagehand\u002Fcover.webp","\u002Fimages\u002Fblog\u002Fbrowserbase-stagehand\u002Fog.jpg",[65,66,67],"Browserbase and Stagehand reviewed: rented Chrome for AI agents","Browserbase rents managed Chrome per minute and Stagehand adds natural-language steps. What it costs, where the meters run and when plain Playwright wins.","Browserbase and Stagehand: a robot holding a key tag stands on a theatre stage in front of a browser window.",{"slug":464,"published":409,"minutes":7,"category":411,"tags":465,"tagPages":470,"keywords":471,"about":478,"sources":485,"cover":509,"og":510,"expertise":63,"locales":511,"lang":65,"title":512,"description":513,"coverAlt":514},"webmcp",[466,467,468,469,13],"WebMCP","Agent tools","JSON Schema","Chrome",[17],[464,472,473,474,475,476,477],"webmcp vs mcp","document.modelContext registerTool","webmcp declarative api","browser agent tools","webmcp origin trial","webmcp chrome 149",[479,481,483],{"name":466,"url":480},"https:\u002F\u002Fgithub.com\u002Fwebmachinelearning\u002Fwebmcp",{"name":34,"url":482},"https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FModel_Context_Protocol",{"name":468,"url":484},"https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FJSON_Schema",[486,489,492,495,498,501,504,506],{"title":487,"url":488},"Chrome for Developers: WebMCP (get started)","https:\u002F\u002Fdeveloper.chrome.com\u002Fdocs\u002Fai\u002Fwebmcp",{"title":490,"url":491},"Chrome for Developers: Imperative API","https:\u002F\u002Fdeveloper.chrome.com\u002Fdocs\u002Fai\u002Fwebmcp\u002Fimperative-api",{"title":493,"url":494},"Chrome for Developers: Declarative API","https:\u002F\u002Fdeveloper.chrome.com\u002Fdocs\u002Fai\u002Fwebmcp\u002Fdeclarative-api",{"title":496,"url":497},"Chrome for Developers: WebMCP versus MCP","https:\u002F\u002Fdeveloper.chrome.com\u002Fdocs\u002Fai\u002Fwebmcp\u002Fcompare-mcp",{"title":499,"url":500},"Chrome for Developers: WebMCP tool security","https:\u002F\u002Fdeveloper.chrome.com\u002Fdocs\u002Fai\u002Fwebmcp\u002Fsecure-tools",{"title":502,"url":503},"Chrome for Developers: Build effective tools","https:\u002F\u002Fdeveloper.chrome.com\u002Fdocs\u002Fai\u002Fwebmcp\u002Fbuild-tools",{"title":505,"url":480},"WebMCP explainer and specification draft",{"title":507,"url":508},"WebMCP implementation status","https:\u002F\u002Fgithub.com\u002Fwebmachinelearning\u002Fwebmcp\u002Fblob\u002Fmain\u002Fimplementation-status.md","\u002Fimages\u002Fblog\u002Fwebmcp\u002Fcover.webp","\u002Fimages\u002Fblog\u002Fwebmcp\u002Fog.jpg",[65,66,67],"WebMCP: publishing tools instead of pixels","WebMCP lets a page publish typed, callable tools to an in-browser agent. What the standard does, how much ships today, and when a plain MCP server wins.","WebMCP: a hand passes a toolbox out of a browser window to a waiting robot.",{"slug":516,"published":517,"updated":518,"minutes":292,"category":8,"tags":519,"tagPages":523,"keywords":524,"about":531,"sources":533,"cover":569,"og":570,"expertise":63,"locales":571,"lang":65,"title":572,"description":573,"coverAlt":574},"mcp-reference-servers","2026-09-25","2026-10-05",[13,520,521,522],"Reference servers","Tool protocol","Server SDKs",[17],[525,526,527,528,529,530],"mcp reference servers","modelcontextprotocol servers github","write an mcp server","mcp server examples","mcp server sdk","mcp server security",[532],{"name":34,"url":482},[534,537,540,543,546,549,552,555,558,560,563,566],{"title":535,"url":536},"MCP reference servers repository","https:\u002F\u002Fgithub.com\u002Fmodelcontextprotocol\u002Fservers",{"title":538,"url":539},"Repository README and server list","https:\u002F\u002Fgithub.com\u002Fmodelcontextprotocol\u002Fservers\u002Fblob\u002Fmain\u002FREADME.md",{"title":541,"url":542},"Security policy","https:\u002F\u002Fgithub.com\u002Fmodelcontextprotocol\u002Fservers\u002Fblob\u002Fmain\u002FSECURITY.md",{"title":544,"url":545},"Release process and trusted publishing","https:\u002F\u002Fgithub.com\u002Fmodelcontextprotocol\u002Fservers\u002Fblob\u002Fmain\u002FRELEASING.md",{"title":547,"url":548},"Filesystem server README","https:\u002F\u002Fgithub.com\u002Fmodelcontextprotocol\u002Fservers\u002Fblob\u002Fmain\u002Fsrc\u002Ffilesystem\u002FREADME.md",{"title":550,"url":551},"Everything server feature list","https:\u002F\u002Fgithub.com\u002Fmodelcontextprotocol\u002Fservers\u002Fblob\u002Fmain\u002Fsrc\u002Feverything\u002Fdocs\u002Ffeatures.md",{"title":553,"url":554},"MCP Registry","https:\u002F\u002Fregistry.modelcontextprotocol.io\u002F",{"title":556,"url":557},"Archived reference servers","https:\u002F\u002Fgithub.com\u002Fmodelcontextprotocol\u002Fservers-archived",{"title":559,"url":35},"Model Context Protocol documentation",{"title":561,"url":562},"TypeScript MCP SDK","https:\u002F\u002Fgithub.com\u002Fmodelcontextprotocol\u002Ftypescript-sdk",{"title":564,"url":565},"Python MCP SDK","https:\u002F\u002Fgithub.com\u002Fmodelcontextprotocol\u002Fpython-sdk",{"title":567,"url":568},"FastMCP on PyPI","https:\u002F\u002Fpypi.org\u002Fproject\u002Ffastmcp\u002F","\u002Fimages\u002Fblog\u002Fmcp-reference-servers\u002Fcover.webp","\u002Fimages\u002Fblog\u002Fmcp-reference-servers\u002Fog.jpg",[65,66,67],"MCP reference servers: what they demonstrate and what they omit","modelcontextprotocol\u002Fservers reviewed: seven reference servers, what each one teaches, their SDK versions, and why none belongs in production.","MCP reference servers: a cardboard model house on a table next to a real door, blueprints and a ruler.",{"slug":576,"published":577,"updated":578,"minutes":410,"category":8,"tags":579,"tagPages":584,"keywords":588,"about":597,"sources":607,"cover":638,"og":639,"expertise":63,"locales":640,"lang":65,"title":641,"description":642,"coverAlt":643},"openai-agents-sdk","2026-09-11","2026-10-02",[580,581,582,13,583],"Agent runtime","Tracing","Guardrails","Python",[585,586,17,587],"tracing","guardrails","python",[589,590,591,592,593,594,595,596],"openai agents sdk","openai agents sdk vs langgraph","python agent framework comparison","openai agents sdk guardrails","agent run tracing tool calls","openai agents sdk human in the loop","openai-agents pypi","agents sdk vs responses api",[598,601,604],{"name":599,"url":600},"Model context protocol","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FModel_context_protocol",{"name":602,"url":603},"Software framework","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FSoftware_framework",{"name":605,"url":606},"Agentic AI","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FAgentic_AI",[608,611,614,617,620,623,626,629,632,635],{"title":609,"url":610},"OpenAI Agents SDK documentation: Intro, and Agents SDK or Responses API","https:\u002F\u002Fopenai.github.io\u002Fopenai-agents-python\u002F",{"title":612,"url":613},"OpenAI Agents SDK documentation: Running agents","https:\u002F\u002Fopenai.github.io\u002Fopenai-agents-python\u002Frunning_agents\u002F",{"title":615,"url":616},"OpenAI Agents SDK documentation: Guardrails","https:\u002F\u002Fopenai.github.io\u002Fopenai-agents-python\u002Fguardrails\u002F",{"title":618,"url":619},"OpenAI Agents SDK documentation: Human-in-the-loop","https:\u002F\u002Fopenai.github.io\u002Fopenai-agents-python\u002Fhuman_in_the_loop\u002F",{"title":621,"url":622},"OpenAI Agents SDK documentation: Tracing","https:\u002F\u002Fopenai.github.io\u002Fopenai-agents-python\u002Ftracing\u002F",{"title":624,"url":625},"OpenAI Agents SDK documentation: Configuration","https:\u002F\u002Fopenai.github.io\u002Fopenai-agents-python\u002Fconfig\u002F",{"title":627,"url":628},"openai-agents 0.23.1 on PyPI, release history and licence","https:\u002F\u002Fpypi.org\u002Fproject\u002Fopenai-agents\u002F",{"title":630,"url":631},"OpenAI: The next evolution of the Agents SDK (15 April 2026)","https:\u002F\u002Fopenai.com\u002Findex\u002Fthe-next-evolution-of-the-agents-sdk\u002F",{"title":633,"url":634},"OpenAI API documentation: Agents, comparison of the three runtimes","https:\u002F\u002Fdevelopers.openai.com\u002Fapi\u002Fdocs\u002Fguides\u002Fagents",{"title":636,"url":637},"Arize: AI agent frameworks compared (1 October 2026)","https:\u002F\u002Farize.com\u002Fai-agents\u002Fagent-frameworks\u002F","\u002Fimages\u002Fblog\u002Fopenai-agents-sdk\u002Fcover.webp","\u002Fimages\u002Fblog\u002Fopenai-agents-sdk\u002Fog.jpg",[65,66,67],"OpenAI Agents SDK: a small agent runtime with sharp edges","A review of the OpenAI Agents SDK: the runner loop, tracing, guardrails and approvals, plus what the release churn and the Responses-only features cost.","OpenAI Agents SDK: a small open toolkit with a few tools, one craft knife with a sharp blade.",{"slug":645,"published":646,"minutes":410,"category":8,"tags":647,"tagPages":651,"keywords":652,"about":659,"sources":663,"cover":683,"og":684,"expertise":63,"locales":685,"lang":65,"title":686,"description":687,"coverAlt":688},"cursor","2026-09-02",[648,78,649,650,13],"AI code editor","CLI","Usage-based pricing",[81,17],[645,653,654,655,656,657,658],"cursor vs github copilot","cursor pricing","cursor cli","ai code editor","cursor usage limits","cursor pro plus",[660],{"name":661,"url":662},"Cursor","https:\u002F\u002Fcursor.com",[664,667,670,673,676,677,680],{"title":665,"url":666},"Cursor pricing","https:\u002F\u002Fcursor.com\u002Fpricing",{"title":668,"url":669},"Cursor models and pricing docs","https:\u002F\u002Fcursor.com\u002Fdocs\u002Fmodels-and-pricing",{"title":671,"url":672},"Cursor CLI documentation","https:\u002F\u002Fcursor.com\u002Fdocs\u002Fcli\u002Foverview",{"title":674,"url":675},"GitHub Copilot plans","https:\u002F\u002Fgithub.com\u002Ffeatures\u002Fcopilot\u002Fplans",{"title":374,"url":261},{"title":678,"url":679},"Claude Code cost documentation","https:\u002F\u002Fdocs.claude.com\u002Fen\u002Fdocs\u002Fclaude-code\u002Fcosts",{"title":681,"url":682},"Cline pricing","https:\u002F\u002Fcline.bot\u002Fpricing","\u002Fimages\u002Fblog\u002Fcursor\u002Fcover.webp","\u002Fimages\u002Fblog\u002Fcursor\u002Fog.jpg",[65,66,67],"Cursor reviewed: an AI code editor billed past its sticker price","Cursor bundles an editor, a terminal agent and cloud runs in one plan. What its two usage pools cost, and when Copilot, Claude Code or Cline wins.","Cursor review: a large mouse cursor with a price tag and a longer receipt stands beside an editor window.",{"slug":690,"published":691,"updated":692,"minutes":410,"category":8,"tags":693,"tagPages":697,"keywords":698,"about":707,"sources":715,"cover":748,"og":749,"expertise":63,"locales":750,"lang":65,"title":751,"description":752,"coverAlt":753},"claude-code","2026-08-31","2026-10-06",[294,694,695,13,696],"Hooks","Subagents","Sandbox",[17],[699,700,701,702,703,704,705,706],"claude code","claude code pricing","claude code hooks","claude code vs cursor","claude code sandbox","claude code subagents","claude code context window","coding agent comparison",[708,711,712],{"name":709,"url":710},"Claude (language model)","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FClaude_(language_model)",{"name":34,"url":482},{"name":713,"url":714},"Software carpentry","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FSoftware_carpentry",[716,719,722,725,728,731,733,736,739,742,745],{"title":717,"url":718},"Claude Code documentation: overview","https:\u002F\u002Fcode.claude.com\u002Fdocs\u002Fen\u002Foverview",{"title":720,"url":721},"Claude Code documentation: how Claude Code works","https:\u002F\u002Fcode.claude.com\u002Fdocs\u002Fen\u002Fhow-claude-code-works",{"title":723,"url":724},"Claude Code documentation: extend Claude Code","https:\u002F\u002Fcode.claude.com\u002Fdocs\u002Fen\u002Ffeatures-overview",{"title":726,"url":727},"Claude Code documentation: hooks reference","https:\u002F\u002Fcode.claude.com\u002Fdocs\u002Fen\u002Fhooks",{"title":729,"url":730},"Claude Code documentation: configure permissions","https:\u002F\u002Fcode.claude.com\u002Fdocs\u002Fen\u002Fpermissions",{"title":732,"url":386},"Claude Code documentation: sandboxing",{"title":734,"url":735},"Claude Code documentation: manage costs effectively","https:\u002F\u002Fcode.claude.com\u002Fdocs\u002Fen\u002Fcosts",{"title":737,"url":738},"Claude Code documentation: explore the context window","https:\u002F\u002Fcode.claude.com\u002Fdocs\u002Fen\u002Fcontext-window",{"title":740,"url":741},"Claude Code changelog","https:\u002F\u002Fcode.claude.com\u002Fdocs\u002Fen\u002Fchangelog",{"title":743,"url":744},"Claude Platform pricing: model list prices and prompt caching","https:\u002F\u002Fplatform.claude.com\u002Fdocs\u002Fen\u002Fabout-claude\u002Fpricing",{"title":746,"url":747},"Anthropic pricing: Claude Free, Pro, Max, Team and Enterprise","https:\u002F\u002Fwww.anthropic.com\u002Fpricing","\u002Fimages\u002Fblog\u002Fclaude-code\u002Fcover.webp","\u002Fimages\u002Fblog\u002Fclaude-code\u002Fog.jpg",[65,66,67],"Claude Code: the terminal coding agent, reviewed","An engineering review of Claude Code: the extension surface, the real cost per developer, and the exact boundary of the Bash sandbox.","Claude Code review: a small robot with a wrench climbs out of a terminal window on a desk.",{"slug":755,"published":756,"updated":757,"minutes":410,"category":758,"tags":759,"tagPages":764,"keywords":765,"about":771,"sources":775,"cover":795,"og":796,"expertise":63,"locales":797,"lang":65,"title":798,"description":799,"coverAlt":800},"firecrawl","2026-08-25","2026-09-04","rag",[760,761,762,13,763],"Web scraping","RAG ingestion","Crawling","AGPL",[17],[755,766,767,768,769,770],"firecrawl vs apify","firecrawl alternative","web scraping api for llm","firecrawl self-hosting","markdown scraper api",[772],{"name":773,"url":774},"Firecrawl","https:\u002F\u002Fgithub.com\u002Ffirecrawl\u002Ffirecrawl",[776,779,782,785,788,791,794],{"title":777,"url":778},"Firecrawl pricing","https:\u002F\u002Fwww.firecrawl.dev\u002Fpricing",{"title":780,"url":781},"Firecrawl crawl documentation","https:\u002F\u002Fdocs.firecrawl.dev\u002Ffeatures\u002Fcrawl",{"title":783,"url":784},"Firecrawl self-hosting guide","https:\u002F\u002Fdocs.firecrawl.dev\u002Fcontributing\u002Fself-host",{"title":786,"url":787},"Open source or Firecrawl Cloud","https:\u002F\u002Fdocs.firecrawl.dev\u002Fcontributing\u002Fopen-source-or-cloud",{"title":789,"url":790},"Firecrawl benchmarks","https:\u002F\u002Fwww.firecrawl.dev\u002Fbenchmarks",{"title":792,"url":793},"Apify pricing","https:\u002F\u002Fapify.com\u002Fpricing",{"title":431,"url":432},"\u002Fimages\u002Fblog\u002Ffirecrawl\u002Fcover.webp","\u002Fimages\u002Fblog\u002Ffirecrawl\u002Fog.jpg",[65,66,67],"Firecrawl: a web crawling API reviewed for RAG pipelines","Firecrawl turns URLs into clean Markdown through one hosted API. What it costs, where crawl accounting breaks down, and when to run the AGPL core yourself.","Firecrawl review: a spider on a web spun across a browser window drops neat pages into a basket.",{"slug":802,"published":803,"updated":804,"minutes":292,"category":8,"tags":805,"tagPages":810,"keywords":811,"about":822,"sources":832,"cover":863,"og":864,"expertise":63,"locales":865,"lang":65,"title":866,"description":867,"coverAlt":868},"mcp-2026-07-28-stateless-migration-guide","2026-07-29","2026-09-01",[13,806,807,808,809],"Protocol migration","Stateless APIs","OAuth","Agents",[17],[812,813,814,815,816,817,818,819,820,821],"MCP 2026-07-28","stateless MCP","MCP migration guide","MCP sessions removed","Mcp-Session-Id removed","MCP server\u002Fdiscover","MCP multi round-trip requests","how to migrate an MCP server to the new spec","MCP CIMD client ID metadata document","MCP roots sampling logging deprecated",[823,824,827,830],{"name":34,"url":482},{"name":825,"url":826},"Stateless protocol","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FStateless_protocol",{"name":828,"url":829},"Load balancing (computing)","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FLoad_balancing_(computing)",{"name":808,"url":831},"https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FOAuth",[833,836,839,842,845,848,851,854,857,860],{"title":834,"url":835},"The 2026-07-28 Specification (MCP blog)","https:\u002F\u002Fblog.modelcontextprotocol.io\u002Fposts\u002F2026-07-28\u002F",{"title":837,"url":838},"MCP 2026-07-28 Key Changes","https:\u002F\u002Fmodelcontextprotocol.io\u002Fspecification\u002F2026-07-28\u002Fchangelog",{"title":840,"url":841},"MCP 2026-07-28: Versioning and Compatibility","https:\u002F\u002Fmodelcontextprotocol.io\u002Fspecification\u002F2026-07-28\u002Fbasic\u002Fversioning",{"title":843,"url":844},"MCP 2026-07-28: Streamable HTTP transport","https:\u002F\u002Fmodelcontextprotocol.io\u002Fspecification\u002F2026-07-28\u002Fbasic\u002Ftransports\u002Fstreamable-http",{"title":846,"url":847},"MCP 2026-07-28: Multi Round-Trip Requests","https:\u002F\u002Fmodelcontextprotocol.io\u002Fspecification\u002F2026-07-28\u002Fbasic\u002Fpatterns\u002Fmrtr",{"title":849,"url":850},"MCP 2026-07-28: Tools","https:\u002F\u002Fmodelcontextprotocol.io\u002Fspecification\u002F2026-07-28\u002Fserver\u002Ftools",{"title":852,"url":853},"MCP 2026-07-28: Client registration","https:\u002F\u002Fmodelcontextprotocol.io\u002Fspecification\u002F2026-07-28\u002Fbasic\u002Fauthorization\u002Fclient-registration",{"title":855,"url":856},"MCP 2026-07-28: Deprecated features","https:\u002F\u002Fmodelcontextprotocol.io\u002Fspecification\u002F2026-07-28\u002Fdeprecated",{"title":858,"url":859},"The 2026 MCP Roadmap","https:\u002F\u002Fblog.modelcontextprotocol.io\u002Fposts\u002F2026-mcp-roadmap\u002F",{"title":861,"url":862},"RFC 9207: OAuth 2.0 Authorization Server Issuer Identification","https:\u002F\u002Fwww.rfc-editor.org\u002Frfc\u002Frfc9207","\u002Fimages\u002Fblog\u002Fmcp-2026-07-28-stateless-migration-guide\u002Fcover.webp","\u002Fimages\u002Fblog\u002Fmcp-2026-07-28-stateless-migration-guide\u002Fog.jpg",[65,66,67],"MCP 2026-07-28 migration guide: what changes for stateless MCP servers","MCP 2026-07-28 drops sessions and the initialize handshake. For server authors: _meta, server\u002Fdiscover, MRTR, auth and a migration checklist.","MCP 2026-07-28 migration: a robot uses one of several identical vending machines while an old machine is moved away.",{"slug":870,"published":871,"minutes":410,"category":8,"tags":872,"tagPages":873,"keywords":874,"about":883,"sources":888,"cover":916,"og":917,"expertise":63,"locales":918,"lang":65,"title":919,"description":920,"coverAlt":921},"goose-block","2026-07-17",[78,13,190,189],[81,17,192],[875,876,877,878,879,880,881,882],"goose ai agent","goose vs claude code","block goose open source agent","goose mcp extensions","goose recipes","local first ai agent","goose permission modes","agentic ai foundation",[884,885],{"name":34,"url":482},{"name":886,"url":887},"goose documentation","https:\u002F\u002Fgoose-docs.ai\u002F",[889,892,895,898,901,904,907,910,913],{"title":890,"url":891},"goose documentation: quickstart","https:\u002F\u002Fgoose-docs.ai\u002Fdocs\u002Fquickstart",{"title":893,"url":894},"goose documentation: configuration files","https:\u002F\u002Fgoose-docs.ai\u002Fdocs\u002Fguides\u002Fconfig-files",{"title":896,"url":897},"goose documentation: permission modes","https:\u002F\u002Fgoose-docs.ai\u002Fdocs\u002Fguides\u002Fmanaging-tools\u002Fgoose-permissions",{"title":899,"url":900},"goose documentation: smart context management","https:\u002F\u002Fgoose-docs.ai\u002Fdocs\u002Fguides\u002Fsessions\u002Fsmart-context-management",{"title":902,"url":903},"goose documentation: recipe reference","https:\u002F\u002Fgoose-docs.ai\u002Fdocs\u002Fguides\u002Frecipes\u002Frecipe-reference",{"title":905,"url":906},"goose documentation: CLI commands","https:\u002F\u002Fgoose-docs.ai\u002Fdocs\u002Fguides\u002Fgoose-cli-commands",{"title":908,"url":909},"goose documentation: known issues","https:\u002F\u002Fgoose-docs.ai\u002Fdocs\u002Ftroubleshooting\u002Fknown-issues",{"title":911,"url":912},"goose has a new home: the Agentic AI Foundation (7 April 2026)","https:\u002F\u002Fgoose-docs.ai\u002Fblog\u002F2026\u002F04\u002F07\u002Fgoose-moves-to-aaif\u002F",{"title":914,"url":915},"goose repository on GitHub","https:\u002F\u002Fgithub.com\u002Faaif-goose\u002Fgoose","\u002Fimages\u002Fblog\u002Fgoose-block\u002Fcover.webp","\u002Fimages\u002Fblog\u002Fgoose-block\u002Fog.jpg",[65,66,67],"Goose: the open-source agent you run on your own machine","Goose, an Apache-2.0 Rust coding agent under the Linux Foundation: how its permissions, recipes and MCP extensions compare with commercial tools.","Goose review: a goose with a tool belt stands on a desk next to a laptop.",{"slug":923,"published":924,"updated":291,"minutes":7,"category":8,"tags":925,"tagPages":930,"keywords":931,"about":939,"sources":946,"cover":979,"og":980,"expertise":63,"locales":981,"lang":65,"title":982,"description":983,"coverAlt":984},"mastra","2026-07-15",[926,927,928,13,929],"TypeScript","Agent framework","Workflows","Evals",[17],[932,933,934,935,936,937,938],"mastra ai framework","mastra vs langgraph","typescript agent framework","mastra agent framework review","mastra workflows and memory","mastra mcp server","mastra pricing",[940,943],{"name":941,"url":942},"Mastra","https:\u002F\u002Fmastra.ai",{"name":944,"url":945},"Mastra on GitHub","https:\u002F\u002Fgithub.com\u002Fmastra-ai\u002Fmastra",[947,950,953,956,959,962,965,968,971,974,976],{"title":948,"url":949},"Mastra documentation: agents","https:\u002F\u002Fmastra.ai\u002Fdocs\u002Fagents\u002Foverview",{"title":951,"url":952},"Mastra documentation: workflows","https:\u002F\u002Fmastra.ai\u002Fdocs\u002Fworkflows\u002Foverview",{"title":954,"url":955},"Mastra documentation: memory","https:\u002F\u002Fmastra.ai\u002Fdocs\u002Fmemory\u002Foverview",{"title":957,"url":958},"Mastra documentation: MCP","https:\u002F\u002Fmastra.ai\u002Fdocs\u002Ftools-mcp\u002Fmcp-overview",{"title":960,"url":961},"Mastra documentation: guardrails","https:\u002F\u002Fmastra.ai\u002Fdocs\u002Fagents\u002Fguardrails",{"title":963,"url":964},"Mastra documentation: evals","https:\u002F\u002Fmastra.ai\u002Fdocs\u002Fevals\u002Foverview",{"title":966,"url":967},"Mastra documentation: observability","https:\u002F\u002Fmastra.ai\u002Fdocs\u002Fobservability\u002Foverview",{"title":969,"url":970},"Mastra documentation: model providers","https:\u002F\u002Fmastra.ai\u002Fmodels",{"title":972,"url":973},"Mastra pricing","https:\u002F\u002Fmastra.ai\u002Fpricing",{"title":975,"url":945},"mastra-ai\u002Fmastra on GitHub",{"title":977,"url":978},"Mastra Enterprise Edition License v2.0","https:\u002F\u002Fgithub.com\u002Fmastra-ai\u002Fmastra\u002Fblob\u002Fmain\u002Fee\u002FLICENSE","\u002Fimages\u002Fblog\u002Fmastra\u002Fcover.webp","\u002Fimages\u002Fblog\u002Fmastra\u002Fog.jpg",[65,66,67],"Mastra review: TypeScript agents with a real evaluation loop","Mastra review: agents, workflows, memory, MCP and evals in one TypeScript framework. What its Apache-2.0 core covers, and what the ee\u002F split costs.","Mastra review: a robot runs through the finish tape while a coach with a stopwatch takes notes.",{"slug":986,"published":987,"updated":518,"minutes":74,"category":8,"tags":988,"tagPages":991,"keywords":992,"about":1001,"sources":1007,"cover":1008,"og":1009,"expertise":63,"locales":1010,"lang":65,"title":1011,"description":1012,"coverAlt":1013},"coding-agent-skills-workflow","2026-07-02",[10,989,13,76,990],"Claude Code","Developer workflow",[16,690,17],[993,994,995,187,996,997,998,999,1000],"coding agent workflow","Claude Code skills","agent skills","MCP server","Playwright MCP","AI code review","agentic engineering","SKILL.md",[1002,1004,1005],{"name":989,"url":1003},"https:\u002F\u002Fdocs.anthropic.com\u002Fen\u002Fdocs\u002Fclaude-code\u002Foverview",{"name":34,"url":35},{"name":76,"url":1006},"https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FPlaywright_(software)",[],"\u002Fimages\u002Fblog\u002Fcoding-agent-skills-workflow\u002Fcover.webp","\u002Fimages\u002Fblog\u002Fcoding-agent-skills-workflow\u002Fog.jpg",[65,66,67],"Skills, not prompts: how my coding agents take a bug from report to pull request","Agent skills in practice: about 20 skills in one master folder for three coding agents, from reproducing bugs with real data to PRs, with guardrails.","Coding agent skills workflow: a robot crosses stepping stones from a beetle to an envelope.",{"slug":1015,"published":1016,"updated":1017,"minutes":185,"category":8,"tags":1018,"tagPages":1022,"keywords":1024,"about":1032,"sources":1038,"cover":1060,"og":1061,"expertise":63,"locales":1062,"lang":65,"title":1063,"description":1064,"coverAlt":1065},"agents-md-skills-mcp-cli-decision-matrix","2026-06-19","2026-07-16",[1019,1020,1021,13],"Context engineering","AGENTS.md","Agent Skills",[1023,17],"context-engineering",[1025,1020,995,1026,1027,1028,1029,1030,1031],"context engineering","MCP vs CLI","context rot","agent context window","token budget for AI agents","when to use MCP instead of a CLI","sub-agents for AI agents",[1033,1034,1035],{"name":206,"url":207},{"name":34,"url":482},{"name":1036,"url":1037},"Prompt engineering","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FPrompt_engineering",[1039,1042,1045,1048,1051,1054,1057],{"title":1040,"url":1041},"Anthropic: Effective context engineering for AI agents (Sep 2025)","https:\u002F\u002Fwww.anthropic.com\u002Fengineering\u002Feffective-context-engineering-for-ai-agents",{"title":1043,"url":1044},"Chroma: Context Rot (Jul 2025)","https:\u002F\u002Fwww.trychroma.com\u002Fresearch\u002Fcontext-rot",{"title":1046,"url":1047},"AGENTS.md: the open format for agent instructions","https:\u002F\u002Fagents.md",{"title":1049,"url":1050},"Agent Skills specification","https:\u002F\u002Fagentskills.io\u002Fspecification",{"title":1052,"url":1053},"Anthropic: Advanced tool use, tool search and programmatic tool calling (Nov 2025)","https:\u002F\u002Fwww.anthropic.com\u002Fengineering\u002Fadvanced-tool-use",{"title":1055,"url":1056},"Blocks.ai: MCP vs CLI, the context window cost","https:\u002F\u002Fblocks.ai\u002Fblog\u002Fmcp-vs-cli-context-window-cost",{"title":1058,"url":1059},"Thoughtworks Technology Radar: Context engineering (Adopt, Apr 2026)","https:\u002F\u002Fwww.thoughtworks.com\u002Fradar\u002Ftechniques\u002Fcontext-engineering","\u002Fimages\u002Fblog\u002Fagents-md-skills-mcp-cli-decision-matrix\u002Fcover.webp","\u002Fimages\u002Fblog\u002Fagents-md-skills-mcp-cli-decision-matrix\u002Fog.jpg",[65,66,67],"Context engineering for coding agents: AGENTS.md, skills, MCP or CLI?","Context engineering decides what a coding agent has in context: rules in AGENTS.md, procedures in skills, and when an MCP tool beats a shell command.","AGENTS.md, skills, MCP or CLI: a robot at a crossroads reads a signpost with four arrows: page, toolbox, plug and terminal.",{"slug":1067,"published":1068,"minutes":7,"category":8,"tags":1069,"tagPages":1072,"keywords":1073,"about":1081,"sources":1086,"cover":1114,"og":1115,"expertise":63,"locales":1116,"lang":65,"title":1117,"description":1118,"coverAlt":1119},"cline","2026-06-16",[78,1070,1071,13,189],"Plan and Act","Checkpoints",[81,17,192],[1074,1075,1076,1077,1078,1079,1080,195],"cline coding agent","cline vs claude code","cline vs cursor","cline cli headless","coding agent auto approve","cline checkpoints","cline pass pricing",[1082,1085],{"name":1083,"url":1084},"Cline","https:\u002F\u002Fgithub.com\u002Fcline\u002Fcline",{"name":34,"url":482},[1087,1090,1093,1096,1099,1102,1105,1108,1111,1112],{"title":1088,"url":1089},"Cline docs: Overview","https:\u002F\u002Fdocs.cline.bot\u002Fintroduction\u002Foverview",{"title":1091,"url":1092},"Cline docs: Plan and Act mode","https:\u002F\u002Fdocs.cline.bot\u002Fcore-workflows\u002Fplan-and-act",{"title":1094,"url":1095},"Cline docs: CLI reference","https:\u002F\u002Fdocs.cline.bot\u002Fcli\u002Fcli-reference",{"title":1097,"url":1098},"Cline docs: Auto Approve and YOLO mode","https:\u002F\u002Fdocs.cline.bot\u002Ffeatures\u002Fauto-approve",{"title":1100,"url":1101},"Cline docs: Checkpoints","https:\u002F\u002Fdocs.cline.bot\u002Ffeatures\u002Fcheckpoints",{"title":1103,"url":1104},"Cline docs: MCP","https:\u002F\u002Fdocs.cline.bot\u002Fmcp\u002Fmcp-overview",{"title":1106,"url":1107},"Cline docs: Rules","https:\u002F\u002Fdocs.cline.bot\u002Fcustomization\u002Fcline-rules",{"title":1109,"url":1110},"Cline docs: ClinePass","https:\u002F\u002Fdocs.cline.bot\u002Fgetting-started\u002Fclinepass",{"title":681,"url":682},{"title":1113,"url":1084},"cline\u002Fcline on GitHub","\u002Fimages\u002Fblog\u002Fcline\u002Fcover.webp","\u002Fimages\u002Fblog\u002Fcline\u002Fog.jpg",[65,66,67],"Cline, reviewed: an open coding agent that gives you every model and none of the guardrails","Cline: an Apache-2.0 agent for VS Code, JetBrains and the terminal. What Plan and Act, checkpoints and auto-approve guarantee, and where safety leaks.","Cline review: a robot chooses from many hats hanging in an open wardrobe.",{"slug":1121,"published":1122,"updated":804,"minutes":410,"category":411,"tags":1123,"tagPages":1125,"keywords":1126,"about":1133,"sources":1137,"cover":1158,"og":1159,"expertise":63,"locales":1160,"lang":65,"title":1161,"description":1162,"coverAlt":1163},"playwright","2026-05-27",[97,413,13,1124],"Cross-browser",[17],[1121,1127,86,1128,1129,1130,1131,1132],"playwright vs selenium","browser automation testing","playwright test runner","playwright for ai agents","playwright vs cypress","playwright cloud pricing",[1134,1136],{"name":76,"url":1135},"https:\u002F\u002Fplaywright.dev",{"name":34,"url":482},[1138,1141,1144,1147,1149,1152,1155],{"title":1139,"url":1140},"Playwright documentation: installation","https:\u002F\u002Fplaywright.dev\u002Fdocs\u002Fintro",{"title":1142,"url":1143},"Playwright MCP introduction","https:\u002F\u002Fplaywright.dev\u002Fmcp\u002Fintroduction",{"title":1145,"url":1146},"Playwright CLI introduction","https:\u002F\u002Fplaywright.dev\u002Fagent-cli\u002Fintroduction",{"title":1148,"url":103},"Playwright Test agents",{"title":1150,"url":1151},"npm package metadata for @playwright\u002Ftest","https:\u002F\u002Fregistry.npmjs.org\u002F@playwright\u002Ftest\u002Flatest",{"title":1153,"url":1154},"Microsoft Learn: Playwright Workspaces free trial","https:\u002F\u002Flearn.microsoft.com\u002Fen-us\u002Fazure\u002Fapp-testing\u002Fplaywright-workspaces\u002Fhow-to-try-playwright-workspaces-free",{"title":1156,"url":1157},"Azure App Testing pricing","https:\u002F\u002Fazure.microsoft.com\u002Fen-us\u002Fpricing\u002Fdetails\u002Fapp-testing\u002F","\u002Fimages\u002Fblog\u002Fplaywright\u002Fcover.webp","\u002Fimages\u002Fblog\u002Fplaywright\u002Fog.jpg",[65,66,67],"Playwright: one browser API for tests, scripts and agents","Playwright: one Apache-2.0 API for Chromium, Firefox and WebKit, with a test runner, agent CLI and MCP server. What it costs and where it falls short.","Playwright: three browser windows stand on a theatre stage in front of a director's chair.",{"slug":1165,"published":1166,"updated":1167,"minutes":410,"category":1168,"tags":1169,"tagPages":1174,"keywords":1175,"about":1183,"sources":1188,"cover":1210,"og":1211,"expertise":63,"locales":1212,"lang":65,"title":1213,"description":1214,"coverAlt":1215},"litellm","2026-05-20","2026-07-09","llmops",[1170,1171,1172,1173,13],"LLM gateway","OpenAI-compatible","Cost control","Routing",[17],[1165,1176,1177,1178,1179,1180,1181,1182],"litellm vs portkey","llm gateway comparison","openai compatible proxy","litellm proxy config yaml","llm spend tracking per team","self-hosted llm gateway","llm budget enforcement",[1184,1187],{"name":1185,"url":1186},"LiteLLM","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FLiteLLM",{"name":34,"url":482},[1189,1192,1195,1198,1201,1204,1207],{"title":1190,"url":1191},"LiteLLM documentation: getting started","https:\u002F\u002Fdocs.litellm.ai\u002Fdocs\u002F",{"title":1193,"url":1194},"LiteLLM documentation: virtual keys","https:\u002F\u002Fdocs.litellm.ai\u002Fdocs\u002Fproxy\u002Fvirtual_keys",{"title":1196,"url":1197},"LiteLLM documentation: router and load balancing","https:\u002F\u002Fdocs.litellm.ai\u002Fdocs\u002Frouting",{"title":1199,"url":1200},"LiteLLM documentation: benchmarks","https:\u002F\u002Fdocs.litellm.ai\u002Fdocs\u002Fbenchmarks",{"title":1202,"url":1203},"LiteLLM documentation: supported endpoints","https:\u002F\u002Fdocs.litellm.ai\u002Fdocs\u002Fsupported_endpoints",{"title":1205,"url":1206},"LiteLLM documentation: Enterprise","https:\u002F\u002Fdocs.litellm.ai\u002Fdocs\u002Fenterprise",{"title":1208,"url":1209},"LiteLLM pricing","https:\u002F\u002Fwww.litellm.ai\u002Fpricing","\u002Fimages\u002Fblog\u002Flitellm\u002Fcover.webp","\u002Fimages\u002Fblog\u002Flitellm\u002Fog.jpg",[65,66,67],"LiteLLM: the OpenAI-compatible gateway most platform teams end up running","LiteLLM: the MIT-licensed OpenAI-compatible gateway most platform teams run in front of providers. What it does well, what it costs, where it breaks.","LiteLLM gateway: a universal travel adapter joins several different plugs into one cable.",1793451237699]