{"id":132,"date":"2026-06-02T12:15:30","date_gmt":"2026-06-02T19:15:30","guid":{"rendered":"https:\/\/devblogs.microsoft.com\/documentdb\/?p=132"},"modified":"2026-06-02T10:48:43","modified_gmt":"2026-06-02T17:48:43","slug":"azure-documentdb-mcp-toolkit","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/documentdb\/azure-documentdb-mcp-toolkit\/","title":{"rendered":"Azure DocumentDB MCP Toolkit: Agentic AI for MongoDB-Compatible Workloads"},"content":{"rendered":"<p><span data-contrast=\"auto\">Developers are moving quickly to build AI-powered experiences, but there is a gap between what an agent can say and what it can actually do. To be useful, an agent needs secure access to live systems, real data, and the same operational context developers already rely on. That is why we are pleased to announce the <\/span><b><span data-contrast=\"auto\">Azure DocumentDB MCP Toolkit<\/span><\/b><span data-contrast=\"auto\"> in public preview. It is an open-source implementation of the Model Context Protocol (MCP) that gives AI agents and LLMs direct, secure access to Azure DocumentDB, the fully managed Azure service built on the open-source <\/span><a href=\"https:\/\/github.com\/documentdb\/documentdb\"><span data-contrast=\"none\">DocumentDB<\/span><\/a><span data-contrast=\"auto\"> project. Instead of guessing from training material, agents can query collections, inspect indexes, run aggregations, and reason over what is actually in your database.<\/span><span data-ccp-props=\"{}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">The toolkit pairs with the <\/span><a href=\"https:\/\/github.com\/Azure\/documentdb-agent-kit\"><span data-contrast=\"none\">DocumentDB Agent Kit<\/span><\/a><span data-contrast=\"auto\">, a bundle of agent skills that carries DocumentDB design guidance into the workflow. Together, they help developers spend less time wiring up custom integrations and more time building agents that can work against MongoDB-compatible workloads with real context and better guardrails.<\/span><span data-ccp-props=\"{&quot;335559739&quot;:160}\">\u00a0<\/span><\/p>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/documentdb\/wp-content\/uploads\/sites\/93\/2026\/06\/MCP-Blog-scaled.webp\"><img decoding=\"async\" class=\"alignnone size-full wp-image-135\" src=\"https:\/\/devblogs.microsoft.com\/documentdb\/wp-content\/uploads\/sites\/93\/2026\/06\/MCP-Blog-scaled.webp\" alt=\"A 16:9 developer-focused blog post thumbnail with a split design. On the left, the official blue cylinder database logo for Azure DocumentDB sits against a vibrant blue gradient background. On the right, against a dark blue background, bold text displays the title &quot;Azure DocumentDB MCP Toolkit&quot; above the subtitle &quot;Essential Utilities for Developers.&quot;\" width=\"2500\" height=\"1395\" \/><\/a><\/p>\n<h3 aria-level=\"2\"><b><span data-contrast=\"none\">What is the Model Context Protocol (MCP)?<\/span><\/b><span data-ccp-props=\"{&quot;335559738&quot;:280,&quot;335559739&quot;:160}\">\u00a0<\/span><\/h3>\n<p><span data-contrast=\"auto\">MCP is an open standard that lets AI applications connect to external data sources and tools through a single, well-defined contract. For developers, that matters because it replaces one-off integrations with a consistent way to give models access to the systems where real work happens. Think of it as a universal adapter so AI models can read from databases, APIs, and services without bespoke integrations:<\/span><span data-ccp-props=\"{}\">\u00a0<\/span><\/p>\n<ul>\n<li aria-setsize=\"-1\" data-leveltext=\"\u2022\" data-font=\"Symbol\" data-listid=\"3\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559682&quot;:3,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\u2022&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" data-aria-posinset=\"1\" data-aria-level=\"1\"><span data-contrast=\"auto\">AI agents can discover available data sources.<\/span><span data-ccp-props=\"{&quot;335559739&quot;:160}\">\u00a0<\/span><\/li>\n<\/ul>\n<ul>\n<li aria-setsize=\"-1\" data-leveltext=\"\u2022\" data-font=\"Symbol\" data-listid=\"3\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559682&quot;:3,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\u2022&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" data-aria-posinset=\"2\" data-aria-level=\"1\"><span data-contrast=\"auto\">Models execute database operations through standardized tools.<\/span><span data-ccp-props=\"{&quot;335559739&quot;:80}\">\u00a0<\/span><\/li>\n<\/ul>\n<ul>\n<li aria-setsize=\"-1\" data-leveltext=\"\u2022\" data-font=\"Symbol\" data-listid=\"3\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559682&quot;:3,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\u2022&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" data-aria-posinset=\"3\" data-aria-level=\"1\"><span data-contrast=\"auto\">Security is enforced at the protocol level.<\/span><span data-ccp-props=\"{&quot;335559739&quot;:80}\">\u00a0<\/span><\/li>\n<\/ul>\n<ul>\n<li aria-setsize=\"-1\" data-leveltext=\"\u2022\" data-font=\"Symbol\" data-listid=\"3\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559682&quot;:3,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\u2022&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" data-aria-posinset=\"4\" data-aria-level=\"1\"><span data-contrast=\"auto\">Context flows between the application, the model, and the database.<\/span><span data-ccp-props=\"{&quot;335559739&quot;:80}\">\u00a0<\/span><\/li>\n<\/ul>\n<h3 aria-level=\"2\"><b><span data-contrast=\"none\">Introducing the Azure DocumentDB MCP Toolkit<\/span><\/b><span data-ccp-props=\"{&quot;335559738&quot;:280,&quot;335559739&quot;:160}\">\u00a0<\/span><\/h3>\n<p><span data-contrast=\"auto\">The Azure DocumentDB MCP Toolkit exposes DocumentDB through MCP and ships with tools grouped by capability tier. That means developers can start with a read-safe posture for exploration, debugging, and analysis, then opt into writes or DDL only when the workflow calls for it. Reads are on by default; writes and DDL are gated behind explicit environment flags.<\/span><span data-ccp-props=\"{}\">\u00a0<\/span><\/p>\n<h4 aria-level=\"3\"><b><span data-contrast=\"none\">Index<\/span><\/b><span data-ccp-props=\"{&quot;335559738&quot;:200,&quot;335559739&quot;:160}\">\u00a0<\/span><\/h4>\n<ul>\n<li aria-setsize=\"-1\" data-leveltext=\"\u2022\" data-font=\"Symbol\" data-listid=\"3\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559682&quot;:3,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\u2022&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" data-aria-posinset=\"5\" data-aria-level=\"1\"><span data-contrast=\"auto\">list_indexes<\/span><span data-contrast=\"auto\"> (read), <\/span><span data-contrast=\"auto\">create_index<\/span><span data-contrast=\"auto\"> (management), <\/span><span data-contrast=\"auto\">drop_index<\/span><span data-contrast=\"auto\"> (management).<\/span><span data-ccp-props=\"{&quot;335559739&quot;:80}\">\u00a0<\/span><\/li>\n<\/ul>\n<h4 aria-level=\"3\"><b><span data-contrast=\"none\">Database and collection<\/span><\/b><span data-ccp-props=\"{&quot;335559738&quot;:200,&quot;335559739&quot;:120}\">\u00a0<\/span><\/h4>\n<ul>\n<li aria-setsize=\"-1\" data-leveltext=\"\u2022\" data-font=\"Symbol\" data-listid=\"3\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559682&quot;:3,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\u2022&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" data-aria-posinset=\"6\" data-aria-level=\"1\"><span data-contrast=\"auto\">list_databases<\/span><span data-contrast=\"auto\">, <\/span><span data-contrast=\"auto\">sample_documents<\/span><span data-contrast=\"auto\">, <\/span><span data-contrast=\"auto\">get_statistics<\/span><span data-contrast=\"auto\"> (read).<\/span><span data-ccp-props=\"{&quot;335559739&quot;:80}\">\u00a0<\/span><\/li>\n<\/ul>\n<ul>\n<li aria-setsize=\"-1\" data-leveltext=\"\u2022\" data-font=\"Symbol\" data-listid=\"3\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559682&quot;:3,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\u2022&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" data-aria-posinset=\"7\" data-aria-level=\"1\"><span data-contrast=\"auto\">drop_database<\/span><span data-contrast=\"auto\">, <\/span><span data-contrast=\"auto\">drop_collection<\/span><span data-contrast=\"auto\">, <\/span><span data-contrast=\"auto\">rename_collection<\/span><span data-contrast=\"auto\">, <\/span><span data-contrast=\"auto\">current_ops<\/span><span data-contrast=\"auto\"> (management).<\/span><span data-ccp-props=\"{&quot;335559739&quot;:80}\">\u00a0<\/span><\/li>\n<\/ul>\n<h4 aria-level=\"3\"><b><span data-contrast=\"none\">Document and query<\/span><\/b><span data-ccp-props=\"{&quot;335559738&quot;:200,&quot;335559739&quot;:120}\">\u00a0<\/span><\/h4>\n<ul>\n<li aria-setsize=\"-1\" data-leveltext=\"\u2022\" data-font=\"Symbol\" data-listid=\"3\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559682&quot;:3,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\u2022&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" data-aria-posinset=\"8\" data-aria-level=\"1\"><span data-contrast=\"auto\">find_documents<\/span><span data-contrast=\"auto\">, <\/span><span data-contrast=\"auto\">count_documents<\/span><span data-contrast=\"auto\">, <\/span><span data-contrast=\"auto\">aggregate<\/span><span data-contrast=\"auto\">, <\/span><span data-contrast=\"auto\">explain_operation<\/span><span data-contrast=\"auto\"> (read).<\/span><span data-ccp-props=\"{&quot;335559739&quot;:80}\">\u00a0<\/span><\/li>\n<\/ul>\n<ul>\n<li aria-setsize=\"-1\" data-leveltext=\"\u2022\" data-font=\"Symbol\" data-listid=\"3\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559682&quot;:3,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\u2022&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" data-aria-posinset=\"9\" data-aria-level=\"1\"><span data-contrast=\"auto\">insert_documents<\/span><span data-contrast=\"auto\">, <\/span><span data-contrast=\"auto\">update_documents<\/span><span data-contrast=\"auto\">, <\/span><span data-contrast=\"auto\">delete_documents<\/span><span data-contrast=\"auto\">, <\/span><span data-contrast=\"auto\">find_and_modify<\/span><span data-contrast=\"auto\"> (write).<\/span><span data-ccp-props=\"{&quot;335559739&quot;:80}\">\u00a0<\/span><\/li>\n<\/ul>\n<p><span data-contrast=\"auto\">Vector search (<\/span><span data-contrast=\"auto\">cosmosSearch<\/span><span data-contrast=\"auto\"> with DiskANN, HNSW, IVF) and full-text search (BM25 via <\/span><span data-contrast=\"auto\">$search<\/span><span data-contrast=\"auto\"> over <\/span><span data-contrast=\"auto\">createSearchIndexes<\/span><span data-contrast=\"auto\">) run through <\/span><span data-contrast=\"auto\">aggregate<\/span><span data-contrast=\"auto\">. For developers, that keeps the experience familiar: the same pipeline you would write by hand is the pipeline the agent submits. You do not need a separate mental model just because an agent is involved.<\/span><span data-ccp-props=\"{}\">\u00a0<\/span><\/p>\n<h4 aria-level=\"2\"><b><span data-contrast=\"none\">Enterprise-Ready Security<\/span><\/b><span data-ccp-props=\"{&quot;335559738&quot;:280,&quot;335559739&quot;:160}\">\u00a0<\/span><\/h4>\n<p><span data-contrast=\"auto\">For developers and platform teams, security is part of the adoption story. If an agent can reach production data, the controls around that access need to be explicit, reviewable, and easy to reason about. The toolkit is designed with that reality in mind.<\/span><span data-ccp-props=\"{}\">\u00a0<\/span><\/p>\n<ul>\n<li aria-setsize=\"-1\" data-leveltext=\"\u2022\" data-font=\"Symbol\" data-listid=\"3\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559682&quot;:3,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\u2022&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" data-aria-posinset=\"10\" data-aria-level=\"1\"><b><span data-contrast=\"auto\">Connection profiles, not chat strings. <\/span><\/b><span data-contrast=\"auto\">Profiles are defined by the administrator at deployment time. The tools never accept a runtime connection string from the agent.<\/span><span data-ccp-props=\"{&quot;335559739&quot;:80}\">\u00a0<\/span><\/li>\n<\/ul>\n<ul>\n<li aria-setsize=\"-1\" data-leveltext=\"\u2022\" data-font=\"Symbol\" data-listid=\"3\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559682&quot;:3,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\u2022&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" data-aria-posinset=\"11\" data-aria-level=\"1\"><b><span data-contrast=\"auto\">Microsoft Entra ID <\/span><\/b><span data-contrast=\"auto\">via <\/span><span data-contrast=\"auto\">authMode=entra<\/span><span data-contrast=\"auto\"> so backend access uses Azure Identity (Entra OIDC) instead of database secrets.<\/span><span data-ccp-props=\"{&quot;335559739&quot;:80}\">\u00a0<\/span><\/li>\n<\/ul>\n<ul>\n<li aria-setsize=\"-1\" data-leveltext=\"\u2022\" data-font=\"Symbol\" data-listid=\"3\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559682&quot;:3,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\u2022&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" data-aria-posinset=\"12\" data-aria-level=\"1\"><b><span data-contrast=\"auto\">Capability gates. <\/span><\/b><span data-contrast=\"auto\">ENABLE_WRITE_TOOLS=true<\/span><span data-contrast=\"auto\"> for writes; <\/span><span data-contrast=\"auto\">ENABLE_MANAGEMENT_TOOLS=true<\/span><span data-contrast=\"auto\"> for DDL. <\/span><span data-contrast=\"auto\">$out<\/span><span data-contrast=\"auto\"> and <\/span><span data-contrast=\"auto\">$merge<\/span><span data-contrast=\"auto\"> in aggregations are disabled unless explicitly enabled.<\/span><span data-ccp-props=\"{&quot;335559739&quot;:80}\">\u00a0<\/span><\/li>\n<\/ul>\n<ul>\n<li aria-setsize=\"-1\" data-leveltext=\"\u2022\" data-font=\"Symbol\" data-listid=\"3\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559682&quot;:3,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\u2022&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" data-aria-posinset=\"13\" data-aria-level=\"1\"><b><span data-contrast=\"auto\">Allow lists <\/span><\/b><span data-contrast=\"auto\">on host names so a profile cannot be redirected to an unintended cluster.<\/span><span data-ccp-props=\"{&quot;335559739&quot;:80}\">\u00a0<\/span><\/li>\n<\/ul>\n<ul>\n<li aria-setsize=\"-1\" data-leveltext=\"\u2022\" data-font=\"Symbol\" data-listid=\"3\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559682&quot;:3,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\u2022&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" data-aria-posinset=\"14\" data-aria-level=\"1\"><b><span data-contrast=\"auto\">SCRAM-SHA-256 <\/span><\/b><span data-contrast=\"auto\">for local and non-Entra setups.<\/span><span data-ccp-props=\"{&quot;335559739&quot;:80}\">\u00a0<\/span><\/li>\n<\/ul>\n<h3 aria-level=\"2\"><b><span data-contrast=\"none\">Why Use the Azure DocumentDB MCP Toolkit?<\/span><\/b><span data-ccp-props=\"{&quot;335559738&quot;:280,&quot;335559739&quot;:160}\">\u00a0<\/span><\/h3>\n<p><span data-contrast=\"auto\">The value of the toolkit is not just that it exposes database operations to an agent. It is that it helps developers move from experimentation to production-minded workflows faster, while staying grounded in the tools, query patterns, and controls they already know.<\/span><span data-ccp-props=\"{}\">\u00a0<\/span><\/p>\n<ul>\n<li aria-setsize=\"-1\" data-leveltext=\"\u2022\" data-font=\"Symbol\" data-listid=\"3\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559682&quot;:3,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\u2022&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" data-aria-posinset=\"15\" data-aria-level=\"1\"><b><span data-contrast=\"auto\">Accelerate development. <\/span><\/b><span data-contrast=\"auto\">Ship agent features in hours, not weeks, with a curated tool surface instead of building custom database plumbing from scratch.<\/span><span data-ccp-props=\"{}\">\u00a0<\/span><\/li>\n<\/ul>\n<ul>\n<li aria-setsize=\"-1\" data-leveltext=\"\u2022\" data-font=\"Symbol\" data-listid=\"3\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559682&quot;:3,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\u2022&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" data-aria-posinset=\"16\" data-aria-level=\"1\"><b><span data-contrast=\"auto\">MongoDB-compatible. <\/span><\/b><span data-contrast=\"auto\">Your existing drivers, connection strings, and aggregation pipelines carry forward, so teams can adopt agent workflows without relearning their stack.<\/span><span data-ccp-props=\"{}\">\u00a0<\/span><\/li>\n<\/ul>\n<ul>\n<li aria-setsize=\"-1\" data-leveltext=\"\u2022\" data-font=\"Symbol\" data-listid=\"3\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559682&quot;:3,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\u2022&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" data-aria-posinset=\"17\" data-aria-level=\"1\"><b><span data-contrast=\"auto\">Honest answers. <\/span><\/b><span data-contrast=\"auto\">Tools return the cluster&#8217;s real indexes, real explain plans, and real errors, which helps developers debug against reality instead of training-data approximations.<\/span><span data-ccp-props=\"{}\">\u00a0<\/span><\/li>\n<\/ul>\n<ul>\n<li aria-setsize=\"-1\" data-leveltext=\"\u2022\" data-font=\"Symbol\" data-listid=\"3\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559682&quot;:3,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\u2022&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" data-aria-posinset=\"18\" data-aria-level=\"1\"><b><span data-contrast=\"auto\">Read-safe by default. <\/span><\/b><span data-contrast=\"auto\">A production-friendly posture makes it easier to explore, troubleshoot, and validate workflows before expanding permissions.<\/span><span data-ccp-props=\"{}\">\u00a0<\/span><\/li>\n<\/ul>\n<ul>\n<li aria-setsize=\"-1\" data-leveltext=\"\u2022\" data-font=\"Symbol\" data-listid=\"3\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559682&quot;:3,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\u2022&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" data-aria-posinset=\"19\" data-aria-level=\"1\"><b><span data-contrast=\"auto\">Vector and full-text. <\/span><\/b><span data-contrast=\"auto\">RAG and keyword search run through the same <\/span><span data-contrast=\"auto\">aggregate<\/span><span data-contrast=\"auto\"> tool, so developers can build richer retrieval experiences without provisioning a separate service.<\/span><span data-ccp-props=\"{}\">\u00a0<\/span><\/li>\n<\/ul>\n<ul>\n<li aria-setsize=\"-1\" data-leveltext=\"\u2022\" data-font=\"Symbol\" data-listid=\"3\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559682&quot;:3,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\u2022&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" data-aria-posinset=\"20\" data-aria-level=\"1\"><b><span data-contrast=\"auto\">Wide client coverage. <\/span><\/b><span data-contrast=\"auto\">Works with Claude Code, Cursor, Codex, Gemini CLI, and GitHub Copilot, which helps teams meet developers where they already work.<\/span><span data-ccp-props=\"{}\">\u00a0<\/span><\/li>\n<\/ul>\n<h3 aria-level=\"2\"><b><span data-contrast=\"none\">Getting Started<\/span><\/b><span data-ccp-props=\"{&quot;335559685&quot;:0,&quot;335559738&quot;:280,&quot;335559739&quot;:160}\">\u00a0<\/span><\/h3>\n<p><span data-contrast=\"auto\">You can run the server with <\/span><span data-contrast=\"auto\">npx<\/span><span data-contrast=\"auto\"> directly from GitHub, which makes it easy to try the toolkit in an existing local workflow without a global install.<\/span><span data-ccp-props=\"{}\">\u00a0<\/span><\/p>\n<pre class=\"prettyprint language-default\" style=\"padding-left: 640px;\"><code class=\"language-default\">npx -y github:microsoft\/documentdb-mcp\u00a0<\/code><\/pre>\n<p><span data-contrast=\"auto\">Most MCP clients want the command as part of their configuration. Add a block like this to the client&#8217;s MCP settings file. Claude Code, Cursor, Codex, Gemini CLI, and GitHub Copilot all use the same shape, which keeps setup simple across the tools many developers already use.<\/span><span data-ccp-props=\"{}\">\u00a0<\/span><\/p>\n<pre class=\"prettyprint language-default\"><code class=\"language-default\">{\u00a0\r\n\u00a0 \"mcpServers\": {\u00a0\r\n\u00a0\u00a0\u00a0 \"DocumentDB\": {\u00a0\r\n\u00a0\u00a0\u00a0\u00a0\u00a0 \"command\": \"npx\",\u00a0\r\n\u00a0\u00a0\u00a0\u00a0\u00a0 \"args\": [\"-y\", \"github:microsoft\/documentdb-mcp\"],\u00a0\r\n\u00a0\u00a0\u00a0\u00a0\u00a0 \"env\": {\u00a0\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \"TRANSPORT\": \"stdio\",\u00a0\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \"TRUST_LOCAL_STDIO\": \"true\",\u00a0\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \"CONNECTION_PROFILES\": \"{\\\"local\\\":{\\\"authMode\\\":\\\"connectionString\\\",\\\"uri\\\":\\\"mongodb:\/\/localhost:27017\\\"}}\"\u00a0\r\n\u00a0\u00a0\u00a0\u00a0\u00a0 }\u00a0\r\n\u00a0\u00a0\u00a0 }\u00a0\r\n\u00a0 }\u00a0\r\n}\u00a0<\/code><\/pre>\n<p><span data-ccp-props=\"{&quot;335559739&quot;:160}\">\u00a0<\/span><span data-contrast=\"auto\">Tool calls then pass <\/span><span data-contrast=\"auto\">connection_profile: &#8220;local&#8221;<\/span><span data-contrast=\"auto\"> (or whatever profile name you defined). To enable writes or DDL, also set <\/span><span data-contrast=\"auto\">ENABLE_WRITE_TOOLS=true<\/span><span data-contrast=\"auto\"> or <\/span><span data-contrast=\"auto\">ENABLE_MANAGEMENT_TOOLS=true<\/span><span data-contrast=\"auto\"> in the <\/span><span data-contrast=\"auto\">env<\/span><span data-contrast=\"auto\"> block. That default matters: developers can start by inspecting and understanding a system before deciding whether an agent should be allowed to change it.<\/span><span data-ccp-props=\"{}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">Fully quit and reopen the client. MCP config is read only at process start.<\/span><span data-ccp-props=\"{&quot;335559739&quot;:160}\">\u00a0<\/span><\/p>\n<h3 aria-level=\"2\"><b><span data-contrast=\"none\">Real-World Use Cases<\/span><\/b><span data-ccp-props=\"{&quot;335559738&quot;:280,&quot;335559739&quot;:160}\">\u00a0<\/span><\/h3>\n<p><span data-contrast=\"auto\">The most useful way to think about the toolkit is not as a list of commands, but as a way to shorten common developer loops. Instead of switching between dashboards, shells, and ad hoc scripts, developers can let an agent inspect the database, surface evidence, and help decide on the next action.<\/span><span data-ccp-props=\"{}\">\u00a0<\/span><\/p>\n<h4 aria-level=\"3\"><b><span data-contrast=\"none\">Query and index review<\/span><\/b><span data-ccp-props=\"{&quot;335559738&quot;:200,&quot;335559739&quot;:120}\">\u00a0<\/span><\/h4>\n<p><b><span data-contrast=\"auto\">Scenario: <\/span><\/b><span data-contrast=\"auto\">A developer is trying to understand why an <\/span><span data-contrast=\"auto\">\/orders<\/span><span data-contrast=\"auto\"> listing is slow at p99 and needs something more useful than a generic tuning suggestion.<\/span><span data-ccp-props=\"{}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">Agent actions:<\/span><span data-ccp-props=\"{&quot;335559739&quot;:160}\">\u00a0<\/span><\/p>\n<ul>\n<li aria-setsize=\"-1\" data-leveltext=\"\u2022\" data-font=\"Symbol\" data-listid=\"3\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559682&quot;:3,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\u2022&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" data-aria-posinset=\"21\" data-aria-level=\"1\"><span data-contrast=\"auto\">list_indexes<\/span><span data-contrast=\"auto\"> on the collection.<\/span><span data-ccp-props=\"{&quot;335559739&quot;:160}\">\u00a0<\/span><\/li>\n<\/ul>\n<ul>\n<li aria-setsize=\"-1\" data-leveltext=\"\u2022\" data-font=\"Symbol\" data-listid=\"3\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559682&quot;:3,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\u2022&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" data-aria-posinset=\"22\" data-aria-level=\"1\"><span data-contrast=\"auto\">explain_operation<\/span><span data-contrast=\"auto\"> on the suspect query.<\/span><span data-ccp-props=\"{&quot;335559739&quot;:80}\">\u00a0<\/span><\/li>\n<\/ul>\n<ul>\n<li aria-setsize=\"-1\" data-leveltext=\"\u2022\" data-font=\"Symbol\" data-listid=\"3\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559682&quot;:3,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\u2022&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" data-aria-posinset=\"23\" data-aria-level=\"1\"><span data-contrast=\"auto\">Recommend an ESR-shaped compound index, then <\/span><span data-contrast=\"auto\">create_index<\/span><span data-contrast=\"auto\"> (if writes are enabled) and re-explain.<\/span><span data-ccp-props=\"{&quot;335559739&quot;:80}\">\u00a0<\/span><\/li>\n<\/ul>\n<p><span data-contrast=\"auto\">The result is a faster troubleshooting loop grounded in the actual query plan and index state, not guesswork.<\/span><span data-ccp-props=\"{}\">\u00a0<\/span><\/p>\n<h4 aria-level=\"3\"><b><span data-contrast=\"none\">RAG over a product catalog<\/span><\/b><span data-ccp-props=\"{&quot;335559738&quot;:200,&quot;335559739&quot;:120}\">\u00a0<\/span><\/h4>\n<p><b><span data-contrast=\"auto\">Scenario: <\/span><\/b><span data-contrast=\"auto\">A team is building a product assistant that needs to find similar items and answer questions based on what is actually available, not just what sounds plausible.<\/span><span data-ccp-props=\"{}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">Agent actions:<\/span><span data-ccp-props=\"{&quot;335559739&quot;:160}\">\u00a0<\/span><\/p>\n<ul>\n<li aria-setsize=\"-1\" data-leveltext=\"\u2022\" data-font=\"Symbol\" data-listid=\"3\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559682&quot;:3,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\u2022&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" data-aria-posinset=\"24\" data-aria-level=\"1\"><span data-contrast=\"auto\">aggregate<\/span><span data-contrast=\"auto\"> with a <\/span><span data-contrast=\"auto\">$search.cosmosSearch<\/span><span data-contrast=\"auto\"> stage (<\/span><span data-contrast=\"auto\">vector<\/span><span data-contrast=\"auto\">, <\/span><span data-contrast=\"auto\">path<\/span><span data-contrast=\"auto\">, <\/span><span data-contrast=\"auto\">k<\/span><span data-contrast=\"auto\">, <\/span><span data-contrast=\"auto\">filter<\/span><span data-contrast=\"auto\">) for the semantic recall step.<\/span><span data-ccp-props=\"{&quot;335559739&quot;:80}\">\u00a0<\/span><\/li>\n<\/ul>\n<ul>\n<li aria-setsize=\"-1\" data-leveltext=\"\u2022\" data-font=\"Symbol\" data-listid=\"3\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559682&quot;:3,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\u2022&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" data-aria-posinset=\"25\" data-aria-level=\"1\"><span data-contrast=\"auto\">find_documents<\/span><span data-contrast=\"auto\"> to enrich the top-k with stock and region.<\/span><span data-ccp-props=\"{&quot;335559739&quot;:80}\">\u00a0<\/span><\/li>\n<\/ul>\n<p><span data-contrast=\"auto\">That gives developers a practical path to retrieval-based experiences over operational data while keeping the logic close to the database they already manage.<\/span><span data-ccp-props=\"{}\">\u00a0<\/span><\/p>\n<h4 aria-level=\"3\"><b><span data-contrast=\"none\">Operational triage<\/span><\/b><span data-ccp-props=\"{&quot;335559738&quot;:200,&quot;335559739&quot;:120}\">\u00a0<\/span><\/h4>\n<p><b><span data-contrast=\"auto\">Scenario: <\/span><\/b><span data-contrast=\"auto\">An engineer or operator needs to understand what the cluster is doing right now and where to look first, without manually stitching together multiple views.<\/span><span data-ccp-props=\"{}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">Agent actions:<\/span><span data-ccp-props=\"{&quot;335559739&quot;:160}\">\u00a0<\/span><\/p>\n<ul>\n<li aria-setsize=\"-1\" data-leveltext=\"\u2022\" data-font=\"Symbol\" data-listid=\"3\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559682&quot;:3,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\u2022&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" data-aria-posinset=\"26\" data-aria-level=\"1\"><span data-contrast=\"auto\">current_ops<\/span><span data-contrast=\"auto\"> for in-flight operations.<\/span><span data-ccp-props=\"{&quot;335559739&quot;:80}\">\u00a0<\/span><\/li>\n<\/ul>\n<ul>\n<li aria-setsize=\"-1\" data-leveltext=\"\u2022\" data-font=\"Symbol\" data-listid=\"3\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559682&quot;:3,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\u2022&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" data-aria-posinset=\"27\" data-aria-level=\"1\"><span data-contrast=\"auto\">get_statistics<\/span><span data-contrast=\"auto\"> for database, collection, and index sizes.<\/span><span data-ccp-props=\"{&quot;335559739&quot;:80}\">\u00a0<\/span><\/li>\n<\/ul>\n<ul>\n<li aria-setsize=\"-1\" data-leveltext=\"\u2022\" data-font=\"Symbol\" data-listid=\"3\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559682&quot;:3,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\u2022&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" data-aria-posinset=\"28\" data-aria-level=\"1\"><span data-contrast=\"auto\">sample_documents<\/span><span data-contrast=\"auto\"> to spot-check the largest collection&#8217;s shape.<\/span><span data-ccp-props=\"{&quot;335559739&quot;:80}\">\u00a0<\/span><\/li>\n<\/ul>\n<p><span data-contrast=\"auto\">For operations work, that means less time gathering context and more time acting on it.<\/span><span data-ccp-props=\"{}\">\u00a0<\/span><\/p>\n<h3 aria-level=\"2\"><b><span data-contrast=\"none\">Extending the Toolkit<\/span><\/b><span data-ccp-props=\"{&quot;335559738&quot;:280,&quot;335559739&quot;:160}\">\u00a0<\/span><\/h3>\n<p><span data-contrast=\"auto\">The server is open source, which gives developers room to adapt it to their own workflows. Add a tool by extending the tool registry in <\/span><a href=\"https:\/\/github.com\/microsoft\/documentdb-mcp\"><span data-contrast=\"none\">microsoft\/documentdb-mcp<\/span><\/a><span data-contrast=\"auto\"> and opening a pull request. Skills are plain Markdown; contribute new rules or skills to <\/span><a href=\"https:\/\/github.com\/Azure\/documentdb-agent-kit\"><span data-contrast=\"none\">Azure\/documentdb-agent-kit<\/span><\/a><span data-contrast=\"auto\">. That makes the toolkit something teams can shape over time instead of treating as a fixed black box.<\/span><span data-ccp-props=\"{}\">\u00a0<\/span><\/p>\n<h3 aria-level=\"2\"><b><span data-contrast=\"none\">Learn More<\/span><\/b><span data-ccp-props=\"{&quot;335559738&quot;:280,&quot;335559739&quot;:160}\">\u00a0<\/span><\/h3>\n<ul>\n<li aria-setsize=\"-1\" data-leveltext=\"\u2022\" data-font=\"Symbol\" data-listid=\"3\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559682&quot;:3,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\u2022&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" data-aria-posinset=\"29\" data-aria-level=\"1\"><span data-contrast=\"auto\">DocumentDB MCP server: <\/span><a href=\"https:\/\/github.com\/microsoft\/documentdb-mcp\"><span data-contrast=\"none\">github.com\/microsoft\/documentdb-mcp<\/span><\/a><span data-ccp-props=\"{&quot;335559739&quot;:80}\">\u00a0<\/span><\/li>\n<\/ul>\n<ul>\n<li aria-setsize=\"-1\" data-leveltext=\"\u2022\" data-font=\"Symbol\" data-listid=\"3\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559682&quot;:3,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\u2022&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" data-aria-posinset=\"30\" data-aria-level=\"1\"><span data-contrast=\"auto\">DocumentDB Agent Kit: <\/span><a href=\"https:\/\/github.com\/Azure\/documentdb-agent-kit\"><span data-contrast=\"none\">github.com\/Azure\/documentdb-agent-kit<\/span><\/a><span data-ccp-props=\"{&quot;335559739&quot;:80}\">\u00a0<\/span><\/li>\n<\/ul>\n<ul>\n<li aria-setsize=\"-1\" data-leveltext=\"\u2022\" data-font=\"Symbol\" data-listid=\"3\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559682&quot;:3,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\u2022&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" data-aria-posinset=\"31\" data-aria-level=\"1\"><span data-contrast=\"auto\">Azure DocumentDB docs: <\/span><a href=\"https:\/\/learn.microsoft.com\/azure\/documentdb\"><span data-contrast=\"none\">learn.microsoft.com\/azure\/documentdb<\/span><\/a><span data-ccp-props=\"{&quot;335559739&quot;:80}\">\u00a0<\/span><\/li>\n<\/ul>\n<h3 aria-level=\"2\"><b><span data-contrast=\"none\">Conclusion<\/span><\/b><span data-ccp-props=\"{&quot;335559738&quot;:280,&quot;335559739&quot;:160}\">\u00a0<\/span><\/h3>\n<p><span data-contrast=\"auto\">The Azure DocumentDB MCP Toolkit helps close the gap between AI agents and the systems developers actually run. Instead of building custom integration layers, teams can give agents a secure, structured way to inspect data, understand schema and performance signals, and participate in real workflows against Azure DocumentDB. The result is faster experimentation, more grounded answers, and a clearer path from prototype to production for support agents, RAG over operational data, and ad hoc database exploration.<\/span><span data-ccp-props=\"{}\">\u00a0<\/span><\/p>\n<p><div  class=\"d-flex justify-content-center\"><a class=\"cta_button_link btn-primary mb-24\" href=\"https:\/\/github.com\/microsoft\/documentdb-mcp\" target=\"_blank\">Start Building with DocumentDB<\/a><\/div><\/p>\n<h3 aria-level=\"2\"><b><span data-contrast=\"none\">About Azure DocumentDB<\/span><\/b><span data-ccp-props=\"{&quot;335559738&quot;:280,&quot;335559739&quot;:160}\">\u00a0<\/span><\/h3>\n<p>Azure DocumentDB is a fully managed document database service for building and modernizing MongoDB-compatible applications. Powered by the open-source DocumentDB engine, it combines familiar APIs, tools, and workflows with Azure&#8217;s security, scalability, and operational simplicity. Whether you&#8217;re developing new applications or migrating existing MongoDB workloads, Azure DocumentDB helps you get started quickly and scale with confidence.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Developers are moving quickly to build AI-powered experiences, but there is a gap between what an agent can say and what it can actually do. To be useful, an agent needs secure access to live systems, real data, and the same operational context developers already rely on. That is why we are pleased to announce [&hellip;]<\/p>\n","protected":false},"author":125132,"featured_media":135,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[1,4],"tags":[],"class_list":["post-132","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-azure-document-db","category-open-source-development"],"acf":[],"blog_post_summary":"<p>Developers are moving quickly to build AI-powered experiences, but there is a gap between what an agent can say and what it can actually do. To be useful, an agent needs secure access to live systems, real data, and the same operational context developers already rely on. That is why we are pleased to announce [&hellip;]<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/documentdb\/wp-json\/wp\/v2\/posts\/132","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/devblogs.microsoft.com\/documentdb\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/devblogs.microsoft.com\/documentdb\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/documentdb\/wp-json\/wp\/v2\/users\/125132"}],"replies":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/documentdb\/wp-json\/wp\/v2\/comments?post=132"}],"version-history":[{"count":2,"href":"https:\/\/devblogs.microsoft.com\/documentdb\/wp-json\/wp\/v2\/posts\/132\/revisions"}],"predecessor-version":[{"id":139,"href":"https:\/\/devblogs.microsoft.com\/documentdb\/wp-json\/wp\/v2\/posts\/132\/revisions\/139"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/documentdb\/wp-json\/wp\/v2\/media\/135"}],"wp:attachment":[{"href":"https:\/\/devblogs.microsoft.com\/documentdb\/wp-json\/wp\/v2\/media?parent=132"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/documentdb\/wp-json\/wp\/v2\/categories?post=132"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/documentdb\/wp-json\/wp\/v2\/tags?post=132"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}