<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Mcp | The .NET Blog</title><link>https://thedotnetblog.com/ca/tags/mcp/</link><description>Articles, tutorials and insights from the .NET community.</description><generator>Hugo</generator><language>ca</language><managingEditor>@thedotnetblog (The .NET Blog)</managingEditor><webMaster>@thedotnetblog</webMaster><lastBuildDate>Sat, 25 Apr 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://thedotnetblog.com/ca/tags/mcp/index.xml" rel="self" type="application/rss+xml"/><item><title>CodeAct al Agent Framework: Com Reduir la Latència del teu Agent a la Meitat</title><link>https://thedotnetblog.com/ca/posts/emiliano-montesdeoca/codeact-agent-framework-hyperlight-50-percent-faster/</link><pubDate>Sat, 25 Apr 2026 00:00:00 +0000</pubDate><author>Emiliano Montesdeoca</author><guid>https://thedotnetblog.com/ca/posts/emiliano-montesdeoca/codeact-agent-framework-hyperlight-50-percent-faster/</guid><description>CodeAct col·lapsa cadenes d'eines de múltiples passos en un únic bloc de codi sandboxed — reduint la latència un 52% i l'ús de tokens un 64%. Aquí tens el que significa pels teus agents i quan fer-lo servir.</description><content:encoded>&lt;p&gt;&lt;em&gt;Aquest post ha estat traduït automàticament. Per a la versió original, &lt;a href="https://thedotnetblog.com/ca/posts/emiliano-montesdeoca/codeact-agent-framework-hyperlight-50-percent-faster/"&gt;fes clic aquí&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Hi ha un moment en tot projecte d&amp;rsquo;agents en què mires el trace i penses: &amp;ldquo;per què tarda tant això?&amp;rdquo; El model està bé. Les eines funcionen. Però hi ha set round trips per obtenir un resultat que es podria calcular d&amp;rsquo;una sola vegada.&lt;/p&gt;
&lt;p&gt;Exactament aquest és el problema que resol CodeAct — i l&amp;rsquo;&lt;a href="https://devblogs.microsoft.com/agent-framework/codeact-with-hyperlight/"&gt;equip d&amp;rsquo;Agent Framework acaba de publicar suport alpha&lt;/a&gt; a través del nou paquet &lt;code&gt;agent-framework-hyperlight&lt;/code&gt;.&lt;/p&gt;
&lt;h2 id="què-és-codeact"&gt;Què és CodeAct?&lt;/h2&gt;
&lt;p&gt;El &lt;a href="https://arxiv.org/abs/2402.01030"&gt;patró CodeAct&lt;/a&gt; és elegantment simple: en lloc de donar al model una llista d&amp;rsquo;eines i deixar-lo cridar-les una per una, li dones una única eina &lt;code&gt;execute_code&lt;/code&gt; i li permets expressar el &lt;em&gt;pla complet&lt;/em&gt; com un programa Python curt. L&amp;rsquo;agent escriu el codi una vegada, el sandbox l&amp;rsquo;executa, i tornes a rebre un únic resultat consolidat.&lt;/p&gt;
&lt;p&gt;Un pla de cinc passos que abans requeria cinc torns del model ara es converteix en un torn &lt;code&gt;execute_code&lt;/code&gt; que conté un script Python que crida les teves eines via &lt;code&gt;call_tool(...)&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;El benchmark del repositori ho fa concret. Vuit usuaris, dotzenes de comandes, cinc eines. Mateix model, mateixes eines, mateix prompt — només cablejat diferent:&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Cablejat&lt;/th&gt;
&lt;th&gt;Temps&lt;/th&gt;
&lt;th&gt;Tokens&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Tradicional&lt;/td&gt;
&lt;td&gt;27.81s&lt;/td&gt;
&lt;td&gt;6.890&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;CodeAct&lt;/td&gt;
&lt;td&gt;13.23s&lt;/td&gt;
&lt;td&gt;2.489&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Millora&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;52,4%&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;63,9%&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="la-peça-de-seguretat-micro-vms-de-hyperlight"&gt;La peça de seguretat: micro-VMs de Hyperlight&lt;/h2&gt;
&lt;p&gt;El paquet &lt;code&gt;agent-framework-hyperlight&lt;/code&gt; utilitza micro-VMs de &lt;a href="https://github.com/hyperlight-dev/hyperlight"&gt;Hyperlight&lt;/a&gt;. Cada crida &lt;code&gt;execute_code&lt;/code&gt; obté la seva pròpia micro-VM recentment creada — amb la seva pròpia memòria, sense accés al sistema de fitxers del host més enllà del que muntes explícitament. L&amp;rsquo;arrencada es mesura en mil·lisegons.&lt;/p&gt;
&lt;p&gt;Les teves eines segueixen executant-se al host. El &lt;em&gt;codi de pegament&lt;/em&gt; generat pel model s&amp;rsquo;executa en el sandbox. Aquesta és la divisió correcta.&lt;/p&gt;
&lt;h2 id="com-connectar-ho"&gt;Com connectar-ho&lt;/h2&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-python" data-lang="python"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="nn"&gt;agent_framework&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;Agent&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;tool&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="nn"&gt;agent_framework_hyperlight&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;HyperlightCodeActProvider&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nd"&gt;@tool&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;get_weather&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;city&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;str&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;-&amp;gt;&lt;/span&gt; &lt;span class="nb"&gt;dict&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nb"&gt;str&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nb"&gt;float&lt;/span&gt; &lt;span class="o"&gt;|&lt;/span&gt; &lt;span class="nb"&gt;str&lt;/span&gt;&lt;span class="p"&gt;]:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="s2"&gt;&amp;#34;&amp;#34;&amp;#34;Return the current weather for a city.&amp;#34;&amp;#34;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;city&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;city&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;temperature_c&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mf"&gt;21.5&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;conditions&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;partly cloudy&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;codeact&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;HyperlightCodeActProvider&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;tools&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;get_weather&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;approval_mode&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;never_require&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;agent&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;Agent&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;client&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;client&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;name&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;CodeActAgent&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;instructions&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;You are a helpful assistant.&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;context_providers&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;codeact&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="quan-fer-servir-codeact-i-quan-no"&gt;Quan fer servir CodeAct (i quan no)&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Fes servir CodeAct quan:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;La tasca encadena moltes crides petites a eines (consultes, joins, càlculs, formatació)&lt;/li&gt;
&lt;li&gt;Et preocupa la latència i el cost de tokens&lt;/li&gt;
&lt;li&gt;Vols aïllament fort per crida en codi generat pel model&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Queda&amp;rsquo;t amb el tool-calling tradicional quan:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;L&amp;rsquo;agent només fa una o dues crides a eines per torn&lt;/li&gt;
&lt;li&gt;Cada crida té efectes secundaris que vols aprovar individualment&lt;/li&gt;
&lt;li&gt;Les descripcions d&amp;rsquo;eines són escasses o ambigües&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="prova-ho-ara"&gt;Prova-ho ara&lt;/h2&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;pip install agent-framework-hyperlight --pre
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Consulta el &lt;a href="https://devblogs.microsoft.com/agent-framework/codeact-with-hyperlight/"&gt;post complet al blog d&amp;rsquo;Agent Framework&lt;/a&gt; per a cobertura més profunda.&lt;/p&gt;</content:encoded></item><item><title>El Azure MCP Server Ara és un .mcpb — Instal·la'l sense Cap Runtime</title><link>https://thedotnetblog.com/ca/posts/emiliano-montesdeoca/azure-mcp-server-mcpb-no-runtime-install/</link><pubDate>Sat, 25 Apr 2026 00:00:00 +0000</pubDate><author>Emiliano Montesdeoca</author><guid>https://thedotnetblog.com/ca/posts/emiliano-montesdeoca/azure-mcp-server-mcpb-no-runtime-install/</guid><description>L'Azure MCP Server ja està disponible com a MCP Bundle (.mcpb) — descarrega'l, arrossega'l a Claude Desktop i ja està. Sense Node.js, Python ni .NET requerits.</description><content:encoded>&lt;p&gt;&lt;em&gt;Aquest post ha estat traduït automàticament. Per a la versió original, &lt;a href="https://thedotnetblog.com/ca/posts/emiliano-montesdeoca/azure-mcp-server-mcpb-no-runtime-install/"&gt;fes clic aquí&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Saps el que era molest de configurar servidors MCP? Necessitaves un runtime. Node.js per a la versió npm, Python per a pip/uvx, .NET SDK per a la variant dotnet.&lt;/p&gt;
&lt;p&gt;L&amp;rsquo;&lt;a href="https://devblogs.microsoft.com/azure-sdk/azure-mcp-server-mcpb-support/"&gt;Azure MCP Server acaba de canviar això&lt;/a&gt;. Ara està disponible com a &lt;code&gt;.mcpb&lt;/code&gt; — un MCP Bundle — i la configuració és arrossegar i deixar anar.&lt;/p&gt;
&lt;h2 id="què-és-un-mcp-bundle"&gt;Què és un MCP Bundle?&lt;/h2&gt;
&lt;p&gt;Pensa-hi com una extensió de VS Code (&lt;code&gt;.vsix&lt;/code&gt;) o una extensió de navegador (&lt;code&gt;.crx&lt;/code&gt;), però per a servidors MCP. Un fitxer &lt;code&gt;.mcpb&lt;/code&gt; és un arxiu ZIP autònom que inclou el binari del servidor i totes les seves dependències.&lt;/p&gt;
&lt;h2 id="com-installar-lo"&gt;Com instal·lar-lo&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;1. Descarrega el bundle per a la teva plataforma&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Ves a la &lt;a href="https://github.com/microsoft/mcp/releases?q=Azure.Mcp.Server"&gt;pàgina de GitHub Releases&lt;/a&gt; i descarrega el fitxer &lt;code&gt;.mcpb&lt;/code&gt; per al teu OS i arquitectura.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;2. Instal·la a Claude Desktop&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;La manera més fàcil: arrossega i deixa anar el fitxer &lt;code&gt;.mcpb&lt;/code&gt; a la finestra de Claude Desktop mentre estàs a la pàgina de configuració d&amp;rsquo;Extensions. Revisa els detalls del servidor, fes clic a Instal·la i confirma.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;3. Autentifica&amp;rsquo;t a Azure&lt;/strong&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;az login
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="per-a-començar"&gt;Per a començar&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Descarrega&lt;/strong&gt;: &lt;a href="https://github.com/microsoft/mcp/releases?q=Azure.Mcp.Server-"&gt;GitHub Releases&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Repositori&lt;/strong&gt;: &lt;a href="https://aka.ms/azmcp"&gt;aka.ms/azmcp&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Consulta el &lt;a href="https://devblogs.microsoft.com/azure-sdk/azure-mcp-server-mcpb-support/"&gt;post complet&lt;/a&gt; per a més detalls.&lt;/p&gt;</content:encoded></item><item><title>Foundry Toolboxes: Un únic endpoint per a totes les eines dels teus agents</title><link>https://thedotnetblog.com/ca/posts/emiliano-montesdeoca/foundry-toolboxes-curate-manage-tools-ai-agents/</link><pubDate>Thu, 23 Apr 2026 00:00:00 +0000</pubDate><author>Emiliano Montesdeoca</author><guid>https://thedotnetblog.com/ca/posts/emiliano-montesdeoca/foundry-toolboxes-curate-manage-tools-ai-agents/</guid><description>Microsoft Foundry acaba de llançar Toolboxes en preview pública — una manera de curar, gestionar i exposar eines d'agents IA a través d'un únic endpoint compatible amb MCP.</description><content:encoded>&lt;p&gt;&lt;em&gt;Aquesta publicació ha estat traduïda automàticament. Per a la versió original, &lt;a href="https://thedotnetblog.com/ca/posts/emiliano-montesdeoca/foundry-toolboxes-curate-manage-tools-ai-agents/"&gt;feu clic aquí&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Hi ha un problema que sembla avorrit fins que el pateixes de primera mà: la teva organització està construint múltiples agents d&amp;rsquo;IA, cadascun necessita eines, i cada equip les connecta des de zero. La mateixa integració de cerca web, la mateixa config d&amp;rsquo;Azure AI Search, la mateixa connexió al servidor MCP de GitHub — però en un altre repositori, per un altre equip, amb altres credencials i sense cap governança compartida.&lt;/p&gt;
&lt;p&gt;Microsoft Foundry acaba de llançar &lt;a href="https://devblogs.microsoft.com/foundry/introducing-toolboxes-in-foundry/"&gt;Toolboxes&lt;/a&gt; en preview pública, i és una resposta directa a aquest problema.&lt;/p&gt;
&lt;h2 id="què-és-un-toolbox"&gt;Què és un Toolbox?&lt;/h2&gt;
&lt;p&gt;Un Toolbox és un bundle d&amp;rsquo;eines amb nom, reutilitzable, que defineixes una vegada a Foundry i exposes a través d&amp;rsquo;un únic endpoint compatible amb MCP. Qualsevol runtime d&amp;rsquo;agent que parli MCP pot consumir-lo — no estàs bloquejat a Foundry Agents.&lt;/p&gt;
&lt;p&gt;La proposta és simple: &lt;strong&gt;build once, consume anywhere&lt;/strong&gt;. Defineix les eines, configura l&amp;rsquo;autenticació de forma centralitzada, publica l&amp;rsquo;endpoint. Cada agent que necessiti les eines es connecta a l&amp;rsquo;endpoint i les obté totes.&lt;/p&gt;
&lt;h2 id="els-quatre-pilars-dos-disponibles-avui"&gt;Els quatre pilars (dos disponibles avui)&lt;/h2&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Pilar&lt;/th&gt;
&lt;th&gt;Estat&lt;/th&gt;
&lt;th&gt;Què fa&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Discover&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Pròximament&lt;/td&gt;
&lt;td&gt;Troba eines aprovades sense buscar manualment&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Build&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Disponible avui&lt;/td&gt;
&lt;td&gt;Agrupa eines en un bundle reutilitzable&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Consume&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Disponible avui&lt;/td&gt;
&lt;td&gt;Un únic endpoint MCP exposa totes les eines&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Govern&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Pròximament&lt;/td&gt;
&lt;td&gt;Auth centralitzada + observabilitat en totes les crides&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="exemple-pràctic"&gt;Exemple pràctic&lt;/h2&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-python" data-lang="python"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="nn"&gt;azure.identity&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;DefaultAzureCredential&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="nn"&gt;azure.ai.projects&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;AIProjectClient&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="nn"&gt;os&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;client&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;AIProjectClient&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;endpoint&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;os&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;environ&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;FOUNDRY_PROJECT_ENDPOINT&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;credential&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;DefaultAzureCredential&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;toolbox_version&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;client&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;beta&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;toolboxes&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;create_toolbox_version&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;toolbox_name&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;customer-feedback-triaging-toolbox&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;description&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;Cerca documentació i respon a issues de GitHub.&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;tools&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;type&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;web_search&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;description&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;Cerca documentació pública&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;type&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;azure_ai_search&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;index_name&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;internal-docs&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;type&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;mcp_server&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;server_url&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;https://your-github-mcp-server.com&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Un cop publicat, Foundry et dona un endpoint unificat. Un punt de connexió, totes les eines.&lt;/p&gt;
&lt;h2 id="no-estàs-bloquejat-a-foundry-agents"&gt;No estàs bloquejat a Foundry Agents&lt;/h2&gt;
&lt;p&gt;Els Toolboxes es &lt;strong&gt;creen i gestionen&lt;/strong&gt; a Foundry, però la superfície de consum és el protocol MCP obert. Pots usar-los des d&amp;rsquo;agents personalitzats amb Microsoft Agent Framework o LangGraph, GitHub Copilot i qualsevol runtime que parli MCP.&lt;/p&gt;
&lt;h2 id="per-què-importa-ara"&gt;Per què importa ara&lt;/h2&gt;
&lt;p&gt;L&amp;rsquo;onada multi-agent està arribant a producció. Cada nou agent és una nova superfície per a configuració duplicada, credencials desfasades i comportament inconsistent. La base de Build + Consume és suficient per començar a centralitzar. Quan arribi el pilar Govern, tindràs una capa d&amp;rsquo;eines observable i controlada centralment per a tota la teva flota d&amp;rsquo;agents.&lt;/p&gt;
&lt;h2 id="conclusió"&gt;Conclusió&lt;/h2&gt;
&lt;p&gt;Això és aviat — preview pública, SDK Python primer. Però el model és sòlid i el disseny natiu MCP significa que funciona amb les eines que ja estàs construint. Fes una ullada a l&amp;rsquo;&lt;a href="https://devblogs.microsoft.com/foundry/introducing-toolboxes-in-foundry/"&gt;anunci oficial&lt;/a&gt; per començar.&lt;/p&gt;</content:encoded></item><item><title>Les eines MCP d'Azure s'incorporen ara a Visual Studio 2022: no es requereix cap extensió</title><link>https://thedotnetblog.com/ca/posts/emiliano-montesdeoca/azure-mcp-tools-built-into-visual-studio-2022/</link><pubDate>Thu, 16 Apr 2026 00:00:00 +0000</pubDate><author>Emiliano Montesdeoca</author><guid>https://thedotnetblog.com/ca/posts/emiliano-montesdeoca/azure-mcp-tools-built-into-visual-studio-2022/</guid><description>Les eines d'Azure MCP s'envien com a part de la càrrega de treball de desenvolupament d'Azure a Visual Studio 2022. Més de 230 eines, 45 serveis d'Azure, sense extensions per instal·lar.</description><content:encoded>&lt;p&gt;Si heu estat utilitzant les eines de l&amp;rsquo;Azure MCP a Visual Studio mitjançant l&amp;rsquo;extensió separada, ja coneixeu l&amp;rsquo;exercici: instal·leu el VSIX, reinicieu, espereu que no es trenqui, gestioneu els desajustos de versions. Aquesta fricció ha desaparegut.&lt;/p&gt;
&lt;p&gt;Yun Jung Choi &lt;a href="https://devblogs.microsoft.com/visualstudio/azure-mcp-tools-now-ship-built-into-visual-studio-2022-no-extension-required/"&gt;va anunciar&lt;/a&gt; que les eines d&amp;rsquo;Azure MCP ara s&amp;rsquo;envien directament com a part de la càrrega de treball de desenvolupament d&amp;rsquo;Azure a Visual Studio 2022. Sense extensió. No VSIX. No reinicia el ball.&lt;/p&gt;
&lt;h2 id="què-significa-realment-això"&gt;Què significa realment això&lt;/h2&gt;
&lt;p&gt;A partir de la versió 17.14.30 de Visual Studio 2022, l&amp;rsquo;Azure MCP Server s&amp;rsquo;inclou amb la càrrega de treball de desenvolupament d&amp;rsquo;Azure. Si ja teniu aquesta càrrega de treball instal·lada, només cal que l&amp;rsquo;activeu a GitHub Copilot Chat i ja heu acabat.&lt;/p&gt;
&lt;p&gt;Més de 230 eines en 45 serveis Azure, accessibles directament des de la finestra de xat. Enumereu els vostres comptes d&amp;rsquo;emmagatzematge, implementeu una aplicació ASP.NET Core, diagnostiqueu problemes del servei d&amp;rsquo;aplicacions, consulteu Log Analytics, tot sense obrir una pestanya del navegador.&lt;/p&gt;
&lt;h2 id="per-què-això-importa-més-del-que-sembla"&gt;Per què això importa més del que sembla&lt;/h2&gt;
&lt;p&gt;Això és el que passa amb les eines per a desenvolupadors: cada pas addicional és fricció i la fricció mata l&amp;rsquo;adopció. Tenir MCP com a extensió independent significava desajustos de versions, errors d&amp;rsquo;instal·lació i una cosa més a mantenir actualitzada. Incorporar-lo a la càrrega de treball significa:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Camí d&amp;rsquo;actualització únic&lt;/strong&gt; mitjançant l&amp;rsquo;instal·lador de Visual Studio&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Sense deriva de versió&lt;/strong&gt; entre l&amp;rsquo;extensió i l&amp;rsquo;IDE&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Sempre actual&lt;/strong&gt;: el servidor MCP s&amp;rsquo;actualitza amb versions regulars de VS&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Per als equips que s&amp;rsquo;estandarditzen a Azure, això és un gran problema. Instal·leu la càrrega de treball una vegada, activeu les eines i hi són per a cada sessió.&lt;/p&gt;
&lt;h2 id="què-pots-fer-amb-ell"&gt;Què pots fer amb ell&lt;/h2&gt;
&lt;p&gt;Les eines cobreixen tot el cicle de vida del desenvolupament mitjançant Copilot Chat:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Aprendre&lt;/strong&gt;: pregunteu sobre els serveis d&amp;rsquo;Azure, les pràctiques recomanades i els patrons d&amp;rsquo;arquitectura&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Disseny i desenvolupament&lt;/strong&gt;: obteniu recomanacions de servei, configureu el codi de l&amp;rsquo;aplicació&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Desplega&lt;/strong&gt;: proveïu recursos i implementeu-los directament des de l&amp;rsquo;IDE&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Resolució de problemes&lt;/strong&gt;: consulteu registres, comproveu l&amp;rsquo;estat dels recursos, diagnosticeu problemes de producció&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Un exemple ràpid: escriviu això a Copilot Chat:&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;List my storage accounts in my current subscription.
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Copilot truca a les eines d&amp;rsquo;Azure MCP darrere de les escenes, consulta les vostres subscripcions i retorna una llista amb format amb noms, ubicacions i SKU. No cal cap portal.&lt;/p&gt;
&lt;h2 id="com-activar-lo"&gt;Com activar-lo&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;Actualització a Visual Studio 2022 &lt;strong&gt;17.14.30&lt;/strong&gt; o superior&lt;/li&gt;
&lt;li&gt;Assegureu-vos que la càrrega de treball &lt;strong&gt;Desenvolupament d&amp;rsquo;Azure&lt;/strong&gt; estigui instal·lada&lt;/li&gt;
&lt;li&gt;Obriu GitHub Copilot Chat&lt;/li&gt;
&lt;li&gt;Feu clic al botó &lt;strong&gt;Selecciona eines&lt;/strong&gt; (la icona de dues claus)&lt;/li&gt;
&lt;li&gt;Activa &lt;strong&gt;Servidor MCP d&amp;rsquo;Azure&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Això és tot. Es manté activat durant les sessions.&lt;/p&gt;
&lt;h2 id="una-advertència"&gt;Una advertència&lt;/h2&gt;
&lt;p&gt;Les eines estan desactivades de manera predeterminada: heu d&amp;rsquo;activar-les. I les eines específiques de VS 2026 no estan disponibles a VS 2022. La disponibilitat de les eines també depèn dels vostres permisos de subscripció a Azure, igual que el portal.&lt;/p&gt;
&lt;h2 id="la-imatge-més-gran"&gt;La imatge més gran&lt;/h2&gt;
&lt;p&gt;Això forma part d&amp;rsquo;una tendència clara: MCP s&amp;rsquo;està convertint en la forma estàndard d&amp;rsquo;aprofitar les eines de núvol en els IDE de desenvolupadors. Ja hem vist la &lt;a href="https://devblogs.microsoft.com/azure-sdk/announcing-azure-mcp-server-2-0-stable-release/"&gt;versión estable d&amp;rsquo;Azure MCP Server 2.0&lt;/a&gt; i les integracions MCP a VS Code i altres editors. Tenir-lo integrat al sistema de càrrega de treball de Visual Studio és la progressió natural.&lt;/p&gt;
&lt;p&gt;Per als desenvolupadors de.NET que vivim a Visual Studio, això elimina un altre motiu per canviar de context al portal Azure. I sincerament, com menys canvis de pestanya, millor.&lt;/p&gt;</content:encoded></item><item><title>L'Azure MCP Server 2.0 s'acaba de caure: l'automatització del núvol agent autoallotjada és aquí</title><link>https://thedotnetblog.com/ca/posts/emiliano-montesdeoca/azure-mcp-server-2-self-hosted-agentic-cloud/</link><pubDate>Sat, 11 Apr 2026 00:00:00 +0000</pubDate><author>Emiliano Montesdeoca</author><guid>https://thedotnetblog.com/ca/posts/emiliano-montesdeoca/azure-mcp-server-2-self-hosted-agentic-cloud/</guid><description>Azure MCP Server 2.0 es manté estable amb desplegaments remots autoallotjats, 276 eines en 57 serveis Azure i seguretat de nivell empresarial: això és el que importa per als desenvolupadors de.NET que creen fluxos de treball agents.</description><content:encoded>&lt;p&gt;Si darrerament heu estat creant alguna cosa amb MCP i Azure, probablement ja sabeu que l&amp;rsquo;experiència local funciona bé. Connecteu un servidor MCP, deixeu que el vostre agent d&amp;rsquo;IA parli amb els recursos d&amp;rsquo;Azure, seguiu endavant. Però, en el moment que necessiteu compartir aquesta configuració amb un equip? Allà va ser on les coses es van complicar.&lt;/p&gt;
&lt;p&gt;Ja no. Servidor MCP d&amp;rsquo;Azure &lt;a href="https://devblogs.microsoft.com/azure-sdk/announcing-azure-mcp-server-2-0-stable-release/"&gt;acaba d&amp;rsquo;aconseguir 2.0 estable&lt;/a&gt;, i la funció de titular és exactament el que els equips empresarials han demanat: &lt;strong&gt;suport del servidor MCP remot autoallotjat&lt;/strong&gt;.&lt;/p&gt;
&lt;h2 id="què-és-azure-mcp-server"&gt;Què és Azure MCP Server?&lt;/h2&gt;
&lt;p&gt;Actualització ràpida. Azure MCP Server implementa l&amp;rsquo;especificació &lt;a href="https://modelcontextprotocol.io/docs/getting-started/intro"&gt;Model Context Protocol&lt;/a&gt; i exposa les capacitats d&amp;rsquo;Azure com a eines estructurades i detectables que els agents d&amp;rsquo;IA poden invocar. Penseu en això com un pont estandarditzat entre el vostre agent i Azure: subministrament, desplegament, supervisió, diagnòstic, tot mitjançant una interfície coherent.&lt;/p&gt;
&lt;p&gt;Les xifres parlen per si soles: &lt;strong&gt;276 eines MCP en 57 serveis Azure&lt;/strong&gt;. Això és una cobertura seriosa.&lt;/p&gt;
&lt;h2 id="el-gran-problema-desplegaments-remots-autoallotjats"&gt;El gran problema: desplegaments remots autoallotjats&lt;/h2&gt;
&lt;p&gt;Aquí està la cosa. Executar MCP localment a la vostra màquina està bé per a desenvolupament i experiments. Però en un escenari d&amp;rsquo;equip real, necessiteu:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Accés compartit per a desenvolupadors i sistemes d&amp;rsquo;agents interns&lt;/li&gt;
&lt;li&gt;Configuració centralitzada (context de l&amp;rsquo;arrendatari, valors predeterminats de subscripció, telemetria)&lt;/li&gt;
&lt;li&gt;Xarxa empresarial i límits polítics&lt;/li&gt;
&lt;li&gt;Integració en pipelines CI/CD&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Azure MCP Server 2.0 aborda tot això. Podeu implementar-lo com a servei intern gestionat de manera centralitzada amb transport basat en HTTP, autenticació adequada i govern coherent.&lt;/p&gt;
&lt;p&gt;Per a l&amp;rsquo;autenticació, obteniu dues opcions sòlides:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Identitat gestionada&lt;/strong&gt;: quan s&amp;rsquo;executa al costat de &lt;a href="https://aka.ms/azmcp/self-host/foundry"&gt;Microsoft Foundry&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Flux en nom de (OBO)&lt;/strong&gt;: delegació d&amp;rsquo;OpenID Connect que crida a les API d&amp;rsquo;Azure mitjançant el context de l&amp;rsquo;usuari iniciat&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Aquest flux OBO és especialment interessant per als desenvolupadors de.NET. Vol dir que els vostres fluxos de treball d&amp;rsquo;agent poden funcionar amb els permisos reals de l&amp;rsquo;usuari, no amb un compte de servei amb privilegis excessius. Principi del mínim privilegi, integrat.&lt;/p&gt;
&lt;h2 id="enduriment-de-la-seguretat"&gt;Enduriment de la seguretat&lt;/h2&gt;
&lt;p&gt;Això no és només una versió de funcions, també és una de seguretat. La versió 2.0 afegeix:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Validació de punt final més forta&lt;/li&gt;
&lt;li&gt;Proteccions contra patrons d&amp;rsquo;injecció en eines orientades a la consulta&lt;/li&gt;
&lt;li&gt;Controls d&amp;rsquo;aïllament més estrictes per a entorns de desenvolupament&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Si voleu exposar MCP com a servei compartit, aquestes garanties són importants. Molts.&lt;/p&gt;
&lt;h2 id="on-el-pots-utilitzar"&gt;On el pots utilitzar?&lt;/h2&gt;
&lt;p&gt;La història de la compatibilitat del client és àmplia. Azure MCP Server 2.0 funciona amb:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;IDEs&lt;/strong&gt;: VS Code, Visual Studio, IntelliJ, Eclipse, Cursor&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Agents CLI&lt;/strong&gt;: GitHub Copilot CLI, Claude Code&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Autònom&lt;/strong&gt;: servidor local per a configuracions senzilles&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Control remot autoallotjat&lt;/strong&gt;: la nova estrella de la 2.0&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;A més, hi ha suport sobirà al núvol per al govern d&amp;rsquo;Azure dels Estats Units i Azure operat per 21Vianet, que és fonamental per als desplegaments regulats.&lt;/p&gt;
&lt;h2 id="per-què-això-és-important-per-als-desenvolupadors-denet"&gt;Per què això és important per als desenvolupadors de.NET&lt;/h2&gt;
&lt;p&gt;Si esteu creant aplicacions agents amb.NET, ja sigui el nucli semàntic, el Microsoft Agent Framework o la vostra pròpia orquestració, Azure MCP Server 2.0 us ofereix una manera preparada per a la producció de permetre que els vostres agents interactuïn amb la infraestructura Azure. No hi ha embolcalls REST personalitzats. No hi ha patrons d&amp;rsquo;integració específics del servei. Només MCP.&lt;/p&gt;
&lt;p&gt;Combinat amb l&amp;rsquo;&lt;a href="https://devblogs.microsoft.com/azure-sdk/mcp-as-easy-as-1-2-3-introducing-the-fluent-api-for-mcp-apps/"&gt;API fluida per a aplicacions MCP&lt;/a&gt; que va caure fa uns dies, l&amp;rsquo;ecosistema.NET MCP està madurant ràpidament.&lt;/p&gt;
&lt;h2 id="primers-passos"&gt;Primers passos&lt;/h2&gt;
&lt;p&gt;Tria el teu camí:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://aka.ms/azmcp"&gt;GitHub Repo&lt;/a&gt;&lt;/strong&gt; — codi font, documents, tot&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://aka.ms/azmcp/download/docker"&gt;Imatge Docker&lt;/a&gt;&lt;/strong&gt; — desplegament en contenidors&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://aka.ms/azmcp/download/vscode"&gt;Extensió de codi VS&lt;/a&gt;&lt;/strong&gt; — Integració IDE&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://aka.ms/azmcp/self-host"&gt;Guia d&amp;rsquo;allotjament personal&lt;/a&gt;&lt;/strong&gt;: la funció insígnia 2.0&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="tancant"&gt;Tancant&lt;/h2&gt;
&lt;p&gt;Azure MCP Server 2.0 és exactament el tipus d&amp;rsquo;actualització d&amp;rsquo;infraestructura que no sembla cridaner en una demostració, però que ho canvia tot a la pràctica. MCP remot autoallotjat amb autenticació adequada, reforç de la seguretat i suport sobirà del núvol significa que MCP està preparat per a equips reals que creen fluxos de treball reals a l&amp;rsquo;Azure. Si heu estat esperant el senyal &amp;ldquo;preparat per a l&amp;rsquo;empresa&amp;rdquo;, això és tot.&lt;/p&gt;</content:encoded></item><item><title>Connecteu els vostres servidors MCP a les funcions d'Azure amb els agents de Foundry: aquí teniu com</title><link>https://thedotnetblog.com/ca/posts/emiliano-montesdeoca/foundry-agents-mcp-servers-azure-functions/</link><pubDate>Fri, 10 Apr 2026 00:00:00 +0000</pubDate><author>Emiliano Montesdeoca</author><guid>https://thedotnetblog.com/ca/posts/emiliano-montesdeoca/foundry-agents-mcp-servers-azure-functions/</guid><description>Creeu el vostre servidor MCP una vegada, implementeu-lo a Azure Functions i connecteu-lo als agents de Microsoft Foundry amb l'autenticació adequada. Les vostres eines funcionen a tot arreu: VS Code, Cursor i ara agents d'IA empresarials.</description><content:encoded>&lt;p&gt;Aquí hi ha una cosa que m&amp;rsquo;encanta de l&amp;rsquo;ecosistema MCP: creeu el vostre servidor una vegada i funciona a tot arreu. VS Code, Visual Studio, Cursor, ChatGPT: cada client MCP pot descobrir i utilitzar les vostres eines. Ara, Microsoft afegeix un altre consumidor a aquesta llista: agents de Foundry.&lt;/p&gt;
&lt;p&gt;Lily Ma de l&amp;rsquo;equip d&amp;rsquo;Azure SDK &lt;a href="https://devblogs.microsoft.com/azure-sdk/give-your-foundry-agent-custom-tools-with-mcp-servers-on-azure-functions/"&gt;va publicar una guia pràctica&lt;/a&gt; sobre la connexió de servidors MCP desplegats a Azure Functions amb agents de Microsoft Foundry. Si ja teniu un servidor MCP, això és pur valor afegit, no cal reconstruir-lo.&lt;/p&gt;
&lt;h2 id="per-què-aquesta-combinació-té-sentit"&gt;Per què aquesta combinació té sentit&lt;/h2&gt;
&lt;p&gt;Azure Functions us ofereix una infraestructura escalable, una autenticació integrada i una facturació sense servidor per allotjar servidors MCP. Microsoft Foundry us ofereix agents d&amp;rsquo;IA que poden raonar, planificar i prendre accions. Connectar les dues significa que les vostres eines personalitzades (consultar una base de dades, trucar a una API empresarial, executar una lògica de validació) esdevenen capacitats que els agents d&amp;rsquo;IA empresarials poden descobrir i utilitzar de manera autònoma.&lt;/p&gt;
&lt;p&gt;El punt clau: el vostre servidor MCP es manté igual. Només esteu afegint Foundry com un altre consumidor. Les mateixes eines que funcionen a la configuració de VS Code ara alimenten un agent d&amp;rsquo;IA amb el qual interactuen el vostre equip o clients.&lt;/p&gt;
&lt;h2 id="opcions-dautenticació"&gt;Opcions d&amp;rsquo;autenticació&lt;/h2&gt;
&lt;p&gt;Aquí és on la publicació realment afegeix valor. Quatre mètodes d&amp;rsquo;autenticació segons el vostre escenari:&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Mètode&lt;/th&gt;
&lt;th&gt;Cas d&amp;rsquo;ús&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Basat en clau&lt;/strong&gt; (per defecte)&lt;/td&gt;
&lt;td&gt;Desenvolupament o servidors sense autenticació Entra&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Entrada de Microsoft&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Producció amb identitats gestionades&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Transmissió d&amp;rsquo;identitat OAuth&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Producció on cada usuari s&amp;rsquo;autentica individualment&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;No autenticat&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Desenvolupament/proves o dades públiques només&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;Per a la producció, el camí recomanat és Microsoft Entra amb la identitat de l&amp;rsquo;agent. El pas d&amp;rsquo;identitat d&amp;rsquo;OAuth és per quan el context de l&amp;rsquo;usuari importa: l&amp;rsquo;agent demana als usuaris que iniciïn sessió i cada sol·licitud porta el testimoni propi de l&amp;rsquo;usuari.&lt;/p&gt;
&lt;h2 id="configurant-lo"&gt;Configurant-lo&lt;/h2&gt;
&lt;p&gt;El flux d&amp;rsquo;alt nivell:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Implementeu el vostre servidor MCP a Azure Functions&lt;/strong&gt;: mostres disponibles per a &lt;a href="https://github.com/Azure-Samples/remote-mcp-functions-dotnet"&gt;.NET&lt;/a&gt;, Python, TypeScript i Java&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Activa l&amp;rsquo;autenticació MCP integrada&lt;/strong&gt; a l&amp;rsquo;aplicació de funcions&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Obteniu l&amp;rsquo;URL del vostre punt final&lt;/strong&gt; — &lt;code&gt;https://&amp;lt;FUNCTION_APP_NAME&amp;gt;.azurewebsites.net/runtime/webhooks/mcp&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Afegiu el servidor MCP com a eina a Foundry&lt;/strong&gt;: aneu al vostre agent al portal, afegiu una eina MCP nova, proporcioneu el punt final i les credencials.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;A continuació, proveu-ho al parc infantil de l&amp;rsquo;Agent Builder enviant un missatge que activaria una de les vostres eines.&lt;/p&gt;
&lt;h2 id="la-meva-opinió"&gt;La meva opinió&lt;/h2&gt;
&lt;p&gt;La història de la composició aquí s&amp;rsquo;està fent molt forta. Creeu el vostre servidor MCP una vegada a.NET (o Python, TypeScript, Java), implementeu-lo a Azure Functions i tots els clients compatibles amb MCP el podran utilitzar: eines de codificació, aplicacions de xat i ara agents d&amp;rsquo;IA empresarials. Aquest és un patró &amp;ldquo;Escriu una vegada, utilitza a tot arreu&amp;rdquo; que realment funciona.&lt;/p&gt;
&lt;p&gt;Per als desenvolupadors de.NET específicament, l&amp;rsquo;&lt;a href="https://github.com/Azure-Samples/remote-mcp-functions-dotnet"&gt;extensió MCP d&amp;rsquo;Azure Functions&lt;/a&gt; ho fa senzill. Definiu les vostres eines com a Azure Functions, les implementeu i disposeu d&amp;rsquo;un servidor MCP de nivell de producció amb tota la seguretat i escala que ofereix Azure Functions.&lt;/p&gt;
&lt;h2 id="tancant"&gt;Tancant&lt;/h2&gt;
&lt;p&gt;Si teniu eines MCP que s&amp;rsquo;executen a Azure Functions, connectar-les als agents de Foundry és una victòria ràpida: les vostres eines personalitzades es converteixen en capacitats d&amp;rsquo;IA empresarial amb una autenticació adequada i sense canvis de codi al propi servidor.&lt;/p&gt;
&lt;p&gt;Llegiu la &lt;a href="https://devblogs.microsoft.com/azure-sdk/give-your-foundry-agent-custom-tools-with-mcp-servers-on-azure-functions/"&gt;guia completa&lt;/a&gt; per obtenir instruccions pas a pas sobre cada mètode d&amp;rsquo;autenticació i consulteu la &lt;a href="https://learn.microsoft.com/azure/azure-functions/functions-mcp-foundry-tools?tabs=entra%2Cmcp-extension%2Cfoundry"&gt;documentació detallada&lt;/a&gt; per a les configuracions de producció.&lt;/p&gt;</content:encoded></item><item><title>L'enginyeria de la plataforma agentica s'està tornant real: Git-APE mostra com</title><link>https://thedotnetblog.com/ca/posts/emiliano-montesdeoca/agentic-platform-engineering-git-ape/</link><pubDate>Fri, 10 Apr 2026 00:00:00 +0000</pubDate><author>Emiliano Montesdeoca</author><guid>https://thedotnetblog.com/ca/posts/emiliano-montesdeoca/agentic-platform-engineering-git-ape/</guid><description>El projecte Git-APE de Microsoft posa en pràctica l'enginyeria de plataformes agents, utilitzant agents GitHub Copilot i Azure MCP per convertir les sol·licituds de llenguatge natural en una infraestructura de núvol validada.</description><content:encoded>&lt;p&gt;L&amp;rsquo;enginyeria de plataformes ha estat un d&amp;rsquo;aquells termes que sona molt bé a les conferències, però normalment significa &amp;ldquo;vam construir un portal intern i un embolcall de Terraform&amp;rdquo;. La veritable promesa: una infraestructura d&amp;rsquo;autoservei que és realment segura, governada i ràpida, sempre ha estat a pocs passos.&lt;/p&gt;
&lt;p&gt;L&amp;rsquo;equip d&amp;rsquo;Azure acaba de publicar la &lt;a href="https://devblogs.microsoft.com/all-things-azure/putting-agentic-platform-engineering-to-the-test/"&gt;Part 2 de la seva sèrie d&amp;rsquo;enginyeria de plataformes agents&lt;/a&gt;, i aquesta tracta sobre la implementació pràctica. L&amp;rsquo;anomenen &lt;strong&gt;Git-APE&lt;/strong&gt; (sí, l&amp;rsquo;acrònim és intencionat) i és un projecte de codi obert que utilitza agents GitHub Copilot més servidors Azure MCP per convertir les sol·licituds de llenguatge natural en una infraestructura validada i desplegada.&lt;/p&gt;
&lt;h2 id="què-fa-realment-git-ape"&gt;Què fa realment Git-APE&lt;/h2&gt;
&lt;p&gt;La idea bàsica: en lloc que els desenvolupadors aprenguin mòduls de Terraform, naveguin per les interfícies d&amp;rsquo;usuari del portal o presenten entrades a un equip de plataforma, parlen amb un agent Copilot. L&amp;rsquo;agent interpreta la intenció, genera Infrastructure-as-Code, la valida amb polítiques i desplega, tot dins de VS Code.&lt;/p&gt;
&lt;p&gt;Aquí teniu la configuració:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;git clone https://github.com/Azure/git-ape
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;cd&lt;/span&gt; git-ape
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Obriu l&amp;rsquo;espai de treball a VS Code i GitHub Copilot descobreix automàticament els fitxers de configuració de l&amp;rsquo;agent. Interacciones directament amb l&amp;rsquo;agent:&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;@git-ape deploy a function app with storage in West Europe
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;L&amp;rsquo;agent utilitza Azure MCP Server sota el capó per interactuar amb els serveis d&amp;rsquo;Azure. La configuració de MCP a la configuració del codi VS permet capacitats específiques:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-json" data-lang="json"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;azureMcp.serverMode&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;namespace&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;azureMcp.enabledServices&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="s2"&gt;&amp;#34;deploy&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;bestpractices&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;group&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="s2"&gt;&amp;#34;subscription&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;functionapp&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;storage&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="s2"&gt;&amp;#34;sql&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;monitor&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;],&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;azureMcp.readOnly&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;false&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="per-què-això-és-important"&gt;Per què això és important&lt;/h2&gt;
&lt;p&gt;Per a aquells que estem construint a Azure, això canvia la conversa sobre l&amp;rsquo;enginyeria de la plataforma de &amp;ldquo;com construïm un portal&amp;rdquo; a &amp;ldquo;com descriurem les nostres baranes com a API&amp;rdquo;. Quan la interfície de la vostra plataforma és un agent d&amp;rsquo;IA, la qualitat de les vostres limitacions i polítiques es converteix en el producte.&lt;/p&gt;
&lt;p&gt;El bloc de la Part 1 va exposar la teoria: les API ben descrites, els esquemes de control i les baranes explícites fan que les plataformes estiguin preparades per a agents. La part 2 demostra que funciona enviant eines reals. L&amp;rsquo;agent no només genera recursos a cegues, sinó que valida les millors pràctiques, respecta les convencions de denominació i aplica les polítiques de la vostra organització.&lt;/p&gt;
&lt;p&gt;La neteja és igual de fàcil:&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;@git-ape destroy my-resource-group
&lt;/code&gt;&lt;/pre&gt;&lt;h2 id="la-meva-opinió"&gt;La meva opinió&lt;/h2&gt;
&lt;p&gt;Seré sincer: aquest tracta més del patró que de l&amp;rsquo;eina específica. El mateix Git-APE és una arquitectura de demostració/referència. Però la idea subjacent (agents com a interfície de la vostra plataforma, MCP com a protocol, GitHub Copilot com a amfitrió) és cap a on es dirigeix ​​l&amp;rsquo;experiència dels desenvolupadors empresarials.&lt;/p&gt;
&lt;p&gt;Si sou un equip de plataformes que mira com fer que els vostres agents d&amp;rsquo;eines internes siguin amigables, no hi ha millor punt de partida. I si sou un desenvolupador de.NET i us pregunteu com es connecta això amb el vostre món: els agents Azure MCP Server i GitHub Copilot funcionen amb qualsevol càrrega de treball d&amp;rsquo;Azure. La vostra API ASP.NET Core, la vostra pila.NET Aspire, els vostres microserveis en contenidors: tot això pot ser l&amp;rsquo;objectiu d&amp;rsquo;un flux de desplegament agent.&lt;/p&gt;
&lt;h2 id="tancant"&gt;Tancant&lt;/h2&gt;
&lt;p&gt;Git-APE és una visió primerenca però concreta de l&amp;rsquo;enginyeria de plataformes agències a la pràctica. Cloneu el &lt;a href="https://github.com/Azure/git-ape"&gt;repo&lt;/a&gt;, proveu la demostració i comenceu a pensar com haurien de buscar un agent per utilitzar-los de manera segura les API i les polítiques de la vostra plataforma.&lt;/p&gt;
&lt;p&gt;Llegiu la &lt;a href="https://devblogs.microsoft.com/all-things-azure/putting-agentic-platform-engineering-to-the-test/"&gt;publicació completa&lt;/a&gt; per a la guia i les demostracions de vídeo.&lt;/p&gt;</content:encoded></item><item><title>Les aplicacions MCP obtenen una API fluida: creeu interfícies d'usuari d'eines d'IA rica a.NET amb tres passos</title><link>https://thedotnetblog.com/ca/posts/emiliano-montesdeoca/mcp-fluent-api-azure-functions-dotnet/</link><pubDate>Fri, 10 Apr 2026 00:00:00 +0000</pubDate><author>Emiliano Montesdeoca</author><guid>https://thedotnetblog.com/ca/posts/emiliano-montesdeoca/mcp-fluent-api-azure-functions-dotnet/</guid><description>La nova API de configuració fluida per a aplicacions MCP a Azure Functions us permet convertir qualsevol eina.NET MCP en una aplicació completa amb vistes, permisos i polítiques de CSP en poques línies de codi.</description><content:encoded>&lt;p&gt;Les eines MCP són excel·lents per oferir capacitats als agents d&amp;rsquo;IA. Però, què passa si la vostra eina ha de mostrar alguna cosa a l&amp;rsquo;usuari: un tauler, un formulari, una visualització interactiva? Aquí és on entren les aplicacions MCP i són molt més fàcils de crear.&lt;/p&gt;
&lt;p&gt;Lilian Kasem de l&amp;rsquo;equip de l&amp;rsquo;SDK d&amp;rsquo;Azure &lt;a href="https://devblogs.microsoft.com/azure-sdk/mcp-as-easy-as-1-2-3-introducing-the-fluent-api-for-mcp-apps/"&gt;va presentar la nova API de configuració fluida&lt;/a&gt; per a les aplicacions MCP a.NET Azure Functions, i és el tipus de millora de l&amp;rsquo;experiència dels desenvolupadors que us fa preguntar-vos per què no sempre va ser tan senzill.&lt;/p&gt;
&lt;h2 id="què-són-les-aplicacions-mcp"&gt;Què són les aplicacions MCP?&lt;/h2&gt;
&lt;p&gt;Les aplicacions MCP amplien el protocol de context del model deixant que les eines portin les seves pròpies vistes d&amp;rsquo;interfície d&amp;rsquo;usuari, actius estàtics i controls de seguretat. En lloc de només retornar text, la vostra eina MCP pot representar experiències HTML completes (taulers interactius, visualitzacions de dades, formularis de configuració), tot això invocable pels agents d&amp;rsquo;IA i presentat als usuaris pels clients MCP.&lt;/p&gt;
&lt;p&gt;El problema va ser que el cablejat de tot això manualment requeria conèixer íntimament les especificacions MCP: &lt;code&gt;ui://&lt;/code&gt; URI, tipus de mime especials, coordinació de metadades entre eines i recursos. No és difícil, però complicat.&lt;/p&gt;
&lt;h2 id="lapi-fluida-en-tres-passos"&gt;L&amp;rsquo;API fluida en tres passos&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Pas 1: defineix la teva funció.&lt;/strong&gt; Només una eina MCP estàndard d&amp;rsquo;Azure Functions:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-csharp" data-lang="csharp"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="na"&gt;[Function(nameof(HelloApp))]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kd"&gt;public&lt;/span&gt; &lt;span class="kt"&gt;string&lt;/span&gt; &lt;span class="n"&gt;HelloApp&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="na"&gt; [McpToolTrigger(&amp;#34;HelloApp&amp;#34;, &amp;#34;A simple MCP App that says hello.&amp;#34;)]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;ToolInvocationContext&lt;/span&gt; &lt;span class="n"&gt;context&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="s"&gt;&amp;#34;Hello from app&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;Pas 2: promocioneu-lo a una aplicació MCP.&lt;/strong&gt; A l&amp;rsquo;inici del vostre programa:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-csharp" data-lang="csharp"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;builder&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;ConfigureMcpTool&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;HelloApp&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;AsMcpApp&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;app&lt;/span&gt; &lt;span class="p"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="n"&gt;app&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;WithView&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;assets/hello-app.html&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;WithTitle&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;Hello App&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;WithPermissions&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;McpAppPermissions&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;ClipboardWrite&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; &lt;span class="n"&gt;McpAppPermissions&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;ClipboardRead&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;WithCsp&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;csp&lt;/span&gt; &lt;span class="p"&gt;=&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;csp&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;AllowBaseUri&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;https://www.microsoft.com&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;ConnectTo&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;https://www.microsoft.com&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}));&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;Pas 3: afegiu la vostra vista HTML.&lt;/strong&gt; Creeu &lt;code&gt;assets/hello-app.html&lt;/code&gt; amb la interfície d&amp;rsquo;usuari que necessiteu.&lt;/p&gt;
&lt;p&gt;Això és tot. L&amp;rsquo;API fluida gestiona tota la fontaneria d&amp;rsquo;especificacions MCP: genera la funció de recursos sintètics, estableix el tipus de mime correcte, injecta les metadades que connecten l&amp;rsquo;eina a la seva vista.&lt;/p&gt;
&lt;h2 id="la-superfície-de-lapi-està-ben-dissenyada"&gt;La superfície de l&amp;rsquo;API està ben dissenyada&lt;/h2&gt;
&lt;p&gt;Algunes coses que m&amp;rsquo;agraden molt:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Les fonts de visualització són flexibles.&lt;/strong&gt; Podeu publicar HTML des de fitxers al disc o inserir recursos directament al vostre conjunt per a desplegaments autònoms:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-csharp" data-lang="csharp"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;app&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;WithView&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;McpViewSource&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;FromFile&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;assets/my-view.html&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;app&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;WithView&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;McpViewSource&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;FromEmbeddedResource&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;MyApp.Resources.view.html&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;CSP es pot redactar.&lt;/strong&gt; Llista de permisos explícita que els orígens de la teva aplicació necessita, seguint els principis de privilegis mínims. Truqueu a &lt;code&gt;WithCsp&lt;/code&gt; diverses vegades i els orígens s&amp;rsquo;acumulen:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-csharp" data-lang="csharp"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;WithCsp&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;csp&lt;/span&gt; &lt;span class="p"&gt;=&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;csp&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;ConnectTo&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;https://api.example.com&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;LoadResourcesFrom&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;https://cdn.example.com&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;AllowFrame&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;https://youtube.com&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;})&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;Control de visibilitat.&lt;/strong&gt; Podeu fer que una eina només sigui visible per al LLM, només per a la interfície d&amp;rsquo;usuari de l&amp;rsquo;amfitrió o ambdues. Voleu una eina que només representi la interfície d&amp;rsquo;usuari i que el model no l&amp;rsquo;hagi de cridar? Fàcil:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-csharp" data-lang="csharp"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;WithVisibility&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;McpVisibility&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;App&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="c1"&gt;// UI-only, hidden from the model&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="primers-passos"&gt;Primers passos&lt;/h2&gt;
&lt;p&gt;Afegeix el paquet de previsualització:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;dotnet add package Microsoft.Azure.Functions.Worker.Extensions.Mcp --version 1.5.0-preview.1
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Si ja esteu creant eines MCP amb Azure Functions, això és només una actualització del paquet. El &lt;a href="https://learn.microsoft.com/azure/azure-functions/scenario-mcp-apps?tabs=bash%2Clinux&amp;amp;pivots=programming-language-csharp"&gt;inici ràpid de les aplicacions MCP&lt;/a&gt; és el millor lloc per començar si sou nou al concepte.&lt;/p&gt;
&lt;h2 id="tancant"&gt;Tancant&lt;/h2&gt;
&lt;p&gt;Les aplicacions MCP són un dels desenvolupaments més interessants de l&amp;rsquo;espai d&amp;rsquo;eines d&amp;rsquo;IA: eines que no només * fan coses * sinó que poden * mostrar coses * als usuaris. L&amp;rsquo;API fluida elimina la complexitat del protocol i us permet centrar-vos en allò que importa: la lògica de l&amp;rsquo;eina i la seva interfície d&amp;rsquo;usuari.&lt;/p&gt;
&lt;p&gt;Llegiu la &lt;a href="https://devblogs.microsoft.com/azure-sdk/mcp-as-easy-as-1-2-3-introducing-the-fluent-api-for-mcp-apps/"&gt;publicació completa&lt;/a&gt; per obtenir la referència completa de l&amp;rsquo;API i els exemples.&lt;/p&gt;</content:encoded></item><item><title>Servidor SQL MCP: la manera correcta de donar accés a la base de dades d'AI Agents</title><link>https://thedotnetblog.com/ca/posts/emiliano-montesdeoca/sql-mcp-server-data-api-builder/</link><pubDate>Fri, 10 Apr 2026 00:00:00 +0000</pubDate><author>Emiliano Montesdeoca</author><guid>https://thedotnetblog.com/ca/posts/emiliano-montesdeoca/sql-mcp-server-data-api-builder/</guid><description>El servidor SQL MCP del creador d'API de dades ofereix als agents d'IA un accés segur i determinista a la base de dades sense exposar esquemes ni confiar en NL2SQL. RBAC, emmagatzematge en memòria cau, suport multibase de dades, tot integrat.</description><content:encoded>&lt;p&gt;Siguem sincers: la majoria dels servidors MCP de bases de dades disponibles avui dia són aterridors. Prenen una consulta en llenguatge natural, generen SQL sobre la marxa i l&amp;rsquo;executen amb les dades de producció. Què podria sortir malament? (Tot. Tot podria sortir malament.)&lt;/p&gt;
&lt;p&gt;L&amp;rsquo;equip d&amp;rsquo;Azure SQL acaba de &lt;a href="https://devblogs.microsoft.com/azure-sql/introducing-sql-mcp-server/"&gt;introduir SQL MCP Server&lt;/a&gt;, i té un enfocament fonamentalment diferent. Creat com a característica del Data API Builder (DAB) 2.0, ofereix als agents d&amp;rsquo;IA un accés estructurat i determinista a les operacions de la base de dades, sense NL2SQL, sense exposar el vostre esquema i amb RBAC complet a cada pas.&lt;/p&gt;
&lt;h2 id="per-què-no-nl2sql"&gt;Per què no NL2SQL?&lt;/h2&gt;
&lt;p&gt;Aquesta és la decisió de disseny més interessant. Els models no són deterministes i les consultes complexes tenen més probabilitats de produir errors subtils. Les consultes exactes que els usuaris esperen que l&amp;rsquo;IA pugui generar són també les que necessiten més escrutini quan es produeixen de manera no determinista.&lt;/p&gt;
&lt;p&gt;En lloc d&amp;rsquo;això, SQL MCP Server utilitza un enfocament &lt;strong&gt;NL2DAB&lt;/strong&gt;. L&amp;rsquo;agent treballa amb la capa d&amp;rsquo;abstracció d&amp;rsquo;entitats del creador de l&amp;rsquo;API de dades i el creador de consultes integrat per produir un T-SQL precís i ben format de manera determinista. Mateix resultat per a l&amp;rsquo;usuari, però sense risc de JOIN al·lucinats o exposició accidental de dades.&lt;/p&gt;
&lt;h2 id="set-eines-no-set-centes"&gt;Set eines, no set-centes&lt;/h2&gt;
&lt;p&gt;SQL MCP Server exposa exactament set eines DML, independentment de la mida de la base de dades:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;describe_entities&lt;/code&gt; — descobreix entitats i operacions disponibles&lt;/li&gt;
&lt;li&gt;&lt;code&gt;create_record&lt;/code&gt; — inserir files&lt;/li&gt;
&lt;li&gt;&lt;code&gt;read_records&lt;/code&gt; — consulteu taules i vistes&lt;/li&gt;
&lt;li&gt;&lt;code&gt;update_record&lt;/code&gt; — modifica les files&lt;/li&gt;
&lt;li&gt;&lt;code&gt;delete_record&lt;/code&gt; — elimina les files&lt;/li&gt;
&lt;li&gt;&lt;code&gt;execute_entity&lt;/code&gt; — executa procediments emmagatzemats&lt;/li&gt;
&lt;li&gt;&lt;code&gt;aggregate_records&lt;/code&gt; — consultes d&amp;rsquo;agregació&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Això és intel·ligent perquè les finestres de context són l&amp;rsquo;espai de pensament de l&amp;rsquo;agent. Inundar-los amb centenars de definicions d&amp;rsquo;eines deixa menys espai per al raonament. Set eines fixes mantenen l&amp;rsquo;agent centrat a &lt;em&gt;pensar&lt;/em&gt; en lloc de &lt;em&gt;navegar&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;Cada eina es pot activar o desactivar individualment:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-json" data-lang="json"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s2"&gt;&amp;#34;runtime&amp;#34;&lt;/span&gt;&lt;span class="err"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;mcp&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;enabled&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;true&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;path&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;/mcp&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;dml-tools&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;describe-entities&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;true&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;create-record&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;true&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;read-records&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;true&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;update-record&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;true&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;delete-record&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;true&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;execute-entity&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;true&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;aggregate-records&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;true&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="com-començar-en-tres-ordres"&gt;Com començar en tres ordres&lt;/h2&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;dab init &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; --database-type mssql &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; --connection-string &lt;span class="s2"&gt;&amp;#34;@env(&amp;#39;sql_connection_string&amp;#39;)&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;dab add Customers &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; --source dbo.Customers &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; --permissions &lt;span class="s2"&gt;&amp;#34;anonymous:*&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;dab start
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Això és un servidor SQL MCP en execució que exposa la vostra taula de clients. La capa d&amp;rsquo;abstracció d&amp;rsquo;entitats significa que podeu aliar noms i columnes, limitar camps per rol i controlar exactament el que veuen els agents, sense exposar els detalls de l&amp;rsquo;esquema intern.&lt;/p&gt;
&lt;h2 id="la-història-de-seguretat-és-sòlida"&gt;La història de seguretat és sòlida&lt;/h2&gt;
&lt;p&gt;Aquí és on la maduresa del creador de l&amp;rsquo;API de dades té els seus fruits:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;RBAC a cada capa&lt;/strong&gt;: cada entitat defineix quins rols poden llegir, crear, actualitzar o suprimir i quins camps són visibles&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Integració d&amp;rsquo;Azure Key Vault&lt;/strong&gt;: cadenes de connexió i secrets gestionats de manera segura&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Microsoft Entra + OAuth personalitzat&lt;/strong&gt;: autenticació de grau de producció&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Política de seguretat de contingut&lt;/strong&gt;: els agents interactuen mitjançant un contracte controlat, no SQL brut&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;L&amp;rsquo;abstracció de l&amp;rsquo;esquema és especialment important. Els noms de les vostres taules i columnes internes mai s&amp;rsquo;exposen a l&amp;rsquo;agent. Definiu entitats, àlies i descripcions que tinguin sentit per a la interacció de l&amp;rsquo;IA, no la vostra base de dades ERD.&lt;/p&gt;
&lt;h2 id="multibase-de-dades-i-multiprotocol"&gt;Multibase de dades i multiprotocol&lt;/h2&gt;
&lt;p&gt;SQL MCP Server és compatible amb Microsoft SQL, PostgreSQL, Azure Cosmos DB i MySQL. I com que és una funció DAB, obteniu punts finals REST, GraphQL i MCP simultàniament des de la mateixa configuració. Les mateixes definicions d&amp;rsquo;entitat, les mateixes regles RBAC, la mateixa seguretat, als tres protocols.&lt;/p&gt;
&lt;p&gt;La configuració automàtica a DAB 2.0 pot fins i tot inspeccionar la vostra base de dades i crear la configuració de manera dinàmica, si us sentiu còmode amb menys abstracció per a la creació de prototips ràpids.&lt;/p&gt;
&lt;h2 id="la-meva-opinió"&gt;La meva opinió&lt;/h2&gt;
&lt;p&gt;Així és com hauria de funcionar l&amp;rsquo;accés a la base de dades empresarial per als agents d&amp;rsquo;IA. No &amp;ldquo;hey LLM, escriu-me una mica d&amp;rsquo;SQL i YOLO contra la producció&amp;rdquo;. En lloc d&amp;rsquo;això: una capa d&amp;rsquo;entitat ben definida, generació de consultes deterministes, RBAC a cada pas, memòria cau, monitorització i telemetria. És avorrit de la millor manera possible.&lt;/p&gt;
&lt;p&gt;Per als desenvolupadors de.NET, la història d&amp;rsquo;integració és neta: DAB és una eina.NET, el servidor MCP s&amp;rsquo;executa com a contenidor i funciona amb Azure SQL, que la majoria de nosaltres ja estem utilitzant. Si esteu creant agents d&amp;rsquo;IA que necessiten accés a dades, comenceu aquí.&lt;/p&gt;
&lt;h2 id="tancant"&gt;Tancant&lt;/h2&gt;
&lt;p&gt;SQL MCP Server és gratuït, de codi obert i s&amp;rsquo;executa a qualsevol lloc. És l&amp;rsquo;enfocament prescriptiu de Microsoft per oferir als agents d&amp;rsquo;IA un accés segur a la base de dades. Consulteu la &lt;a href="https://devblogs.microsoft.com/azure-sql/introducing-sql-mcp-server/"&gt;publicació completa&lt;/a&gt; i la &lt;a href="https://aka.ms/sql/mcp"&gt;documentació&lt;/a&gt; per començar.&lt;/p&gt;</content:encoded></item><item><title>Servidor SQL MCP, Copilot a SSMS i un concentrador de bases de dades amb agents d'IA: el que realment importa de SQLCon 2026</title><link>https://thedotnetblog.com/ca/posts/emiliano-montesdeoca/agentic-ai-microsoft-databases-what-matters/</link><pubDate>Sat, 28 Mar 2026 00:00:00 +0000</pubDate><author>Emiliano Montesdeoca</author><guid>https://thedotnetblog.com/ca/posts/emiliano-montesdeoca/agentic-ai-microsoft-databases-what-matters/</guid><description>Microsoft va deixar caure una pila d'anuncis de bases de dades a SQLCon 2026. Aquí teniu les coses que realment importen si esteu creant aplicacions basades en IA a Azure SQL.</description><content:encoded>&lt;p&gt;Microsoft acaba de començar &lt;a href="https://www.microsoft.com/en-us/sql-server/blog/2026/03/18/advancing-agentic-ai-with-microsoft-databases-across-a-unified-data-estate/"&gt;SQLCon 2026 juntament amb FabCon a Atlanta&lt;/a&gt;, i hi ha molt per desempaquetar. L&amp;rsquo;anunci original cobreix des de plans d&amp;rsquo;estalvi fins a funcions de compliment empresarial. Vaig a ometre les diapositives de preus empresarials i em centraré en les peces que importen si sou un desenvolupador que construeix coses amb Azure SQL i AI.&lt;/p&gt;
&lt;h2 id="el-servidor-sql-mcp-està-en-previsualització-pública"&gt;El servidor SQL MCP està en previsualització pública&lt;/h2&gt;
&lt;p&gt;Aquest és el titular per a mi. L&amp;rsquo;Azure SQL Database Hyperscale ara té un &lt;strong&gt;SQL MCP Server&lt;/strong&gt; en previsualització pública que us permet connectar de manera segura les vostres dades SQL a agents d&amp;rsquo;IA i Copilots mitjançant el &lt;a href="https://modelcontextprotocol.io/"&gt;Model Context Protocol&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Si heu estat seguint l&amp;rsquo;onada MCP, i sincerament, és difícil perdre&amp;rsquo;s ara mateix, això és un gran problema. En lloc de crear canalitzacions de dades personalitzades per alimentar el context dels vostres agents d&amp;rsquo;IA des de la vostra base de dades, obteniu un protocol estandarditzat per exposar les dades SQL directament. Els vostres agents poden consultar, raonar i actuar sobre la informació de la base de dades en directe.&lt;/p&gt;
&lt;p&gt;Per a aquells de nosaltres que creem agents d&amp;rsquo;IA amb Semantic Kernel o Microsoft Agent Framework, això obre un camí d&amp;rsquo;integració net. El vostre agent necessita comprovar l&amp;rsquo;inventari? Busqueu un registre de client? Validar una comanda? MCP li ofereix una manera estructurada de fer-ho sense que escriviu codi d&amp;rsquo;obtenció de dades a mida per a cada escenari.&lt;/p&gt;
&lt;h2 id="github-copilot-a-ssms-22-ara-és-ga"&gt;GitHub Copilot a SSMS 22 ara és GA&lt;/h2&gt;
&lt;p&gt;Si passeu algun temps a SQL Server Management Studio (i siguem sincers, la majoria de nosaltres encara ho fem), GitHub Copilot ara està disponible generalment a SSMS 22. La mateixa experiència Copilot que ja feu servir a VS Code i Visual Studio, però per a T-SQL.&lt;/p&gt;
&lt;p&gt;El valor pràctic aquí és senzill: assistència basada en xat per escriure consultes, refactoritzar procediments emmagatzemats, resoldre problemes de rendiment i gestionar tasques d&amp;rsquo;administració. No hi ha res revolucionari en concepte, però tenir-lo allà mateix a SSMS significa que no cal que canvieu de context a un altre editor només per obtenir ajuda d&amp;rsquo;IA amb el treball de la vostra base de dades.&lt;/p&gt;
&lt;h2 id="els-índexs-vectorials-han-rebut-una-actualització-seriosa"&gt;Els índexs vectorials han rebut una actualització seriosa&lt;/h2&gt;
&lt;p&gt;L&amp;rsquo;Azure SQL Database ara té índexs vectorials més ràpids i capaços amb suport complet per a la inserció, l&amp;rsquo;actualització i la supressió. Això vol dir que les vostres dades vectorials es mantenen actuals en temps real, sense necessitat de reindexació per lots.&lt;/p&gt;
&lt;p&gt;Aquí teniu les novetats:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Quantització&lt;/strong&gt; per a mides d&amp;rsquo;índex més petites sense perdre massa precisió&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Filtratge iteratiu&lt;/strong&gt; per obtenir resultats més precisos&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Integració més estreta de l&amp;rsquo;optimitzador de consultes&lt;/strong&gt; per a un rendiment previsible&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Si esteu fent la generació augmentada per la recuperació (RAG) amb Azure SQL com a magatzem de vectors, aquestes millores són directament útils. Podeu mantenir els vostres vectors al costat de les vostres dades relacionals a la mateixa base de dades, cosa que simplifica significativament la vostra arquitectura en comparació amb l&amp;rsquo;execució d&amp;rsquo;una base de dades vectorial separada.&lt;/p&gt;
&lt;p&gt;Les mateixes millores vectorials també estan disponibles a la base de dades SQL a Fabric, ja que totes dues s&amp;rsquo;executen amb el mateix motor SQL a sota.&lt;/p&gt;
&lt;h2 id="database-hub-in-fabric-gestió-agentica"&gt;Database Hub in Fabric: gestió agentica&lt;/h2&gt;
&lt;p&gt;Aquest és més avançat, però és interessant. Microsoft va anunciar el &lt;strong&gt;Database Hub a Microsoft Fabric&lt;/strong&gt; (accés anticipat), que us ofereix un únic panell de vidre a Azure SQL, Cosmos DB, PostgreSQL, MySQL i SQL Server mitjançant Arc.&lt;/p&gt;
&lt;p&gt;L&amp;rsquo;angle interessant no és només la visió unificada, sinó l&amp;rsquo;enfocament agent de la gestió. Els agents d&amp;rsquo;IA controlen contínuament el patrimoni de la vostra base de dades, evidencien què ha canviat, expliquen per què és important i suggereixen què fer a continuació. És un model human-in-the-loop on l&amp;rsquo;agent fa el treball i tu fas les trucades.&lt;/p&gt;
&lt;p&gt;Per als equips que gestionen més d&amp;rsquo;un grapat de bases de dades, això podria reduir realment el soroll operatiu. En lloc de saltar entre portals i comprovar manualment les mètriques, l&amp;rsquo;agent us porta el senyal.&lt;/p&gt;
&lt;h2 id="què-significa-això-per-als-desenvolupadors-denet"&gt;Què significa això per als desenvolupadors de.NET&lt;/h2&gt;
&lt;p&gt;El fil que connecta tots aquests anuncis és clar: Microsoft està incorporant agents d&amp;rsquo;IA a cada capa de la pila de bases de dades. No com un truc, sinó com una capa d&amp;rsquo;eines pràctica.&lt;/p&gt;
&lt;p&gt;Si esteu creant aplicacions.NET amb el suport d&amp;rsquo;Azure SQL, això és el que faria realment:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Proveu el servidor SQL MCP&lt;/strong&gt; si esteu creant agents d&amp;rsquo;IA. És la manera més neta de donar accés a la base de dades dels vostres agents sense fontaneria personalitzada.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Activa Copilot a SSMS&lt;/strong&gt; si encara no ho has fet: guanys de productivitat gratuïts per al treball SQL diari.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Mira els índexs vectorials&lt;/strong&gt; si estàs fent RAG i actualment tens una botiga de vectors independent. La consolidació a Azure SQL significa un servei menys per gestionar.&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="tancant"&gt;Tancant&lt;/h2&gt;
&lt;p&gt;L&amp;rsquo;anunci complet té més: plans d&amp;rsquo;estalvi, assistents de migració, funcions de compliment, però la història del desenvolupador es troba al servidor MCP, les millores vectorials i la capa de gestió agent. Aquestes són les peces que canvien la manera de construir, no només el pressupost.&lt;/p&gt;
&lt;p&gt;Fes una ullada a l&amp;rsquo;&lt;a href="https://www.microsoft.com/en-us/sql-server/blog/2026/03/18/advancing-agentic-ai-with-microsoft-databases-across-a-unified-data-estate/"&gt;anunci complet de Shireesh Thota&lt;/a&gt; per obtenir la imatge completa i &lt;a href="https://aka.ms/database-hub"&gt;inscriu-te a l&amp;rsquo;accés anticipat al centre de bases de dades&lt;/a&gt; si vols provar la nova experiència de gestió.&lt;/p&gt;</content:encoded></item><item><title>El servidor Azure DevOps MCP arriba a Microsoft Foundry: què significa això per als vostres agents d'IA</title><link>https://thedotnetblog.com/ca/posts/emiliano-montesdeoca/azure-devops-mcp-server-microsoft-foundry/</link><pubDate>Thu, 26 Mar 2026 00:00:00 +0000</pubDate><author>Emiliano Montesdeoca</author><guid>https://thedotnetblog.com/ca/posts/emiliano-montesdeoca/azure-devops-mcp-server-microsoft-foundry/</guid><description>El servidor Azure DevOps MCP ja està disponible a Microsoft Foundry. Connecteu els vostres agents d'IA directament als fluxos de treball de DevOps (elements de treball, repositoris, canalitzacions) amb uns quants clics.</description><content:encoded>&lt;p&gt;MCP (Model Context Protocol) ha tingut un moment. Si heu estat seguint l&amp;rsquo;ecosistema d&amp;rsquo;agents d&amp;rsquo;IA, probablement heu notat que els servidors MCP apareixen a tot arreu, donant als agents la possibilitat d&amp;rsquo;interaccionar amb eines i serveis externs mitjançant un protocol estandarditzat.&lt;/p&gt;
&lt;p&gt;Ara el &lt;a href="https://devblogs.microsoft.com/devops/remote-mcp-server-preview-in-microsoft-foundry/"&gt;Servidor MCP d&amp;rsquo;Azure DevOps està disponible a Microsoft Foundry&lt;/a&gt;, i aquesta és una d&amp;rsquo;aquestes integracions que et fa pensar en les possibilitats pràctiques.&lt;/p&gt;
&lt;h2 id="què-està-passant-realment-aquí"&gt;Què està passant realment aquí&lt;/h2&gt;
&lt;p&gt;Microsoft ja va llançar l&amp;rsquo;Azure DevOps MCP Server com a &lt;a href="https://devblogs.microsoft.com/devops/azure-devops-remote-mcp-server-public-preview"&gt;vista prèvia pública&lt;/a&gt;, això és el propi servidor MCP. La novetat és la integració de Foundry. Ara podeu afegir l&amp;rsquo;Azure DevOps MCP Server als vostres agents de Foundry directament des del catàleg d&amp;rsquo;eines.&lt;/p&gt;
&lt;p&gt;Per a aquells que encara no estiguin familiaritzats amb Foundry: és la plataforma unificada de Microsoft per crear i gestionar aplicacions i agents basats en IA a escala. Accés al model, orquestració, avaluació, desplegament, tot en un sol lloc.&lt;/p&gt;
&lt;h2 id="configurant-lo"&gt;Configurant-lo&lt;/h2&gt;
&lt;p&gt;La configuració és sorprenentment senzilla:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Al vostre agent de Foundry, aneu a &lt;strong&gt;Afegeix eines&lt;/strong&gt; &amp;gt; &lt;strong&gt;Catàleg&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Cerqueu &amp;ldquo;Azure DevOps&amp;rdquo;&lt;/li&gt;
&lt;li&gt;Seleccioneu el servidor Azure DevOps MCP (visualització prèvia) i feu clic a &lt;strong&gt;Crea&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Introduïu el nom de la vostra organització i connecteu-vos&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Això és tot. El vostre agent ara té accés a les eines d&amp;rsquo;Azure DevOps.&lt;/p&gt;
&lt;h2 id="controlar-a-què-pot-accedir-el-vostre-agent"&gt;Controlar a què pot accedir el vostre agent&lt;/h2&gt;
&lt;p&gt;Aquesta és la part que agraeixo: no us enganxeu amb un enfocament de tot o res. Podeu especificar quines eines estan disponibles per al vostre agent. Per tant, si només voleu que llegeixi elements de treball però no toqui les canalitzacions, podeu configurar-ho. Principi de privilegis mínims, aplicat als vostres agents d&amp;rsquo;IA.&lt;/p&gt;
&lt;p&gt;Això és important per als escenaris empresarials en què no voleu que un agent activi accidentalment una canalització de desplegament perquè algú li va demanar que &amp;ldquo;ajudés amb el llançament&amp;rdquo;.&lt;/p&gt;
&lt;h2 id="per-què-això-és-interessant-per-als-equipsnet"&gt;Per què això és interessant per als equips.NET&lt;/h2&gt;
&lt;p&gt;Penseu en què permet això a la pràctica:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Ajudants de planificació de sprint&lt;/strong&gt;: agents que poden extreure elements de treball, analitzar dades de velocitat i suggerir capacitat de sprint&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Bots de revisió de codi&lt;/strong&gt;: agents que entenen el vostre context de relacions públiques perquè poden llegir els vostres repositoris i els elements de treball enllaçats.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Resposta a incidents&lt;/strong&gt;: agents que poden crear elements de treball, consultar implementacions recents i correlacionar errors amb canvis recents&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Incorporació de desenvolupadors&lt;/strong&gt; — &amp;ldquo;En què he de treballar?&amp;rdquo; obté una resposta real recolzada per dades reals del projecte&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Per als equips.NET que ja utilitzen Azure DevOps per als seus pipelines CI/CD i la gestió de projectes, tenir un agent d&amp;rsquo;IA que pugui interactuar directament amb aquests sistemes és un pas important cap a una automatització útil (no només chatbot com a servei).&lt;/p&gt;
&lt;h2 id="la-imatge-mcp-més-gran"&gt;La imatge MCP més gran&lt;/h2&gt;
&lt;p&gt;Això forma part d&amp;rsquo;una tendència més àmplia: els servidors MCP s&amp;rsquo;estan convertint en la manera estàndard en què els agents d&amp;rsquo;IA interactuen amb el món exterior. Els veiem per a GitHub, Azure DevOps, bases de dades, API SaaS, i Foundry s&amp;rsquo;està convertint en el centre on s&amp;rsquo;uneixen totes aquestes connexions.&lt;/p&gt;
&lt;p&gt;Si esteu creant agents a l&amp;rsquo;ecosistema.NET, val la pena prestar atenció a MCP. El protocol està estandarditzat, les eines estan madurant i la integració de Foundry el fa accessible sense haver de connectar manualment les connexions del servidor.&lt;/p&gt;
&lt;h2 id="tancant"&gt;Tancant&lt;/h2&gt;
&lt;p&gt;El servidor Azure DevOps MCP a Foundry està en vista prèvia, així que espereu que evolucioni. Però el flux de treball bàsic és sòlid: connecteu-vos, configureu l&amp;rsquo;accés a les eines i deixeu que els vostres agents treballin amb les vostres dades de DevOps. Si ja sou a l&amp;rsquo;ecosistema de Foundry, això és a uns quants clics. Prova-ho i mira quins fluxos de treball pots crear.&lt;/p&gt;
&lt;p&gt;Consulteu l&amp;rsquo;&lt;a href="https://devblogs.microsoft.com/devops/remote-mcp-server-preview-in-microsoft-foundry/"&gt;anunci complet&lt;/a&gt; per a la configuració pas a pas i més detalls.&lt;/p&gt;</content:encoded></item></channel></rss>