Sr. Content Developer at Microsoft, working remotely in PA, TechBash conference organizer, former Microsoft MVP, Husband, Dad and Geek.
149961 stories
·
33 followers

Why Your Azure File Sync Migration Doesn’t Look Like On-Premises

1 Share
There's a very specific moment in almost every Azure File Sync conversation where things go from "this is going great" to "wait, what do you mean we can't do that?" P.S. That happened this week and it took me back, hence the blog post. This usually happens right after the POC looks successful. You've synced a few hundred gigs from the D: drive of an on-premises file server, cloud tiering is working, ACLs look intact, and everyone feels good. Then someone asks how you expose the shares...

Read the whole story
alvinashcraft
2 hours ago
reply
Pennsylvania, USA
Share this story
Delete

Get Ready for a Year of Chaotic Weather in the US

1 Share
A massive Western heat wave and a potential El Niño event raise concerns about a long stretch of unpredictable and extreme weather.
Read the whole story
alvinashcraft
2 hours ago
reply
Pennsylvania, USA
Share this story
Delete

Building a global engineering team (plus AI agents) with Netlify

1 Share
Dana Lawson, CTO of Netlify, shares her insights on leading a lean, globally distributed engineering team that powers 5% of the internet.
Read the whole story
alvinashcraft
2 hours ago
reply
Pennsylvania, USA
Share this story
Delete

Building Knowledge-Grounded AI Agents with Foundry IQ

1 Share

Foundry IQ now integrates with Foundry Agent Service via MCP (Model Context Protocol), enabling developers to build AI agents grounded in enterprise knowledge.

This integration combines Foundry IQ’s intelligent retrieval capabilities with Foundry Agent Service’s orchestration, enabling agents to retrieve and reason over enterprise data.

Key capabilities include:

  • Auto-chunking of documents
  • Vector embedding generation
  • Permission-aware retrieval
  • Semantic reranking
  • Citation-backed responses

Together, these capabilities allow AI agents to retrieve enterprise knowledge and generate responses that are accurate, traceable, and aligned with organizational permissions.

Why Use Foundry IQ with Foundry Agent Service?

Intelligent Retrieval

Foundry IQ extends beyond traditional vector search by introducing:

  • LLM-powered query decomposition
  • Parallel retrieval across multiple sources
  • Semantic reranking of results

This enables agents to retrieve the most relevant enterprise knowledge even for complex queries.

Permission-Aware Retrieval

Agents only access content users are authorized to see.

Access control lists from sources such as:

  • SharePoint
  • OneLake
  • Azure Blob Storage

are automatically synchronized and enforced at query time.

Auto-Managed Indexing

Foundry IQ automatically manages:

  • Document chunking
  • Vector embedding generation
  • Indexing

This eliminates the need to manually build and maintain complex ingestion pipelines.

The Three Pillars of Foundry IQ

1. Knowledge Sources

Foundry IQ connects to enterprise data wherever it lives — SharePoint, Azure Blob Storage, OneLake, and more.

When you add a knowledge source:

  • Auto-chunking — Documents are automatically split into optimal segments
  • Auto-embedding — Vector embeddings are generated without manual pipelines
  • Auto-ACL sync — Access permissions are synchronized from supported sources (SharePoint, OneLake)
  • Auto-Purview integration — Sensitivity labels are respected from supported sources2. Knowledge Bases

2. Knowledge Bases

A Knowledge Base unifies multiple sources into a single queryable index. Multiple agents can share the same knowledge base, ensuring consistent answers across your organization

3. Agentic Retrieval

Agentic retrieval is an LLM-assisted retrieval pipeline that:

  • Decomposes complex questions into subqueries
  • Executes searches in parallel across sources
  • Applies semantic reranking
  • Returns a unified response with citations

Agent → MCP Tool Call → Knowledge Base → Grounded Response with Citations

The retrievalReasoningEffort parameter controls LLM processing:

  • minimal — Fast queries
  • low — Balanced reasoning
  • medium — Complex multi-part questions

Project Architecture

┌─────────────────────────────────────────────────────────────────────┐ │ FOUNDRY AGENT SERVICE │ │ ┌─────────────┐ ┌─────────────┐ ┌─────────────────────────┐ │ │ │ Agent │───▶│ MCP Tool │───▶│ Project Connection │ │ │ │ (gpt-4.1) │ │ (knowledge_ │ │ (RemoteTool + MI Auth) │ │ │ └─────────────┘ │ base_retrieve) └─────────────────────────┘ │ └─────────────────────────────│───────────────────────────────────────┘ │ ▼ ┌─────────────────────────────────────────────────────────────────────┐ │ FOUNDRY IQ (Azure AI Search) │ │ ┌─────────────────────────────────────────────────────────────┐ │ │ │ MCP Endpoint: │ │ │ │ /knowledgebases/{kb-name}/mcp?api-version=2025-11-01-preview│ │ │ └─────────────────────────────────────────────────────────────┘ │ │ │ │ │ ┌─────────────────┐ ┌─────────────────┐ ┌─────────────────────┐ │ │ │ Knowledge │ │ Knowledge │ │ Indexed Documents │ │ │ │ Sources │──│ Base │──│ (auto-chunked, │ │ │ │ (Blob, SP, etc) │ │ (unified index) │ │ auto-embedded) │ │ │ └─────────────────┘ └─────────────────┘ └─────────────────────┘ │ └─────────────────────────────────────────────────────────────────────┘

 

Prerequisites

Enable RBAC on Azure AI Search

az search service update --name your-search --resource-group your-rg \ --auth-options aadOrApiKey

 

Assign Role to Project's Managed Identity

az role assignment create --assignee $PROJECT_MI \ --role "Search Index Data Reader" \ --scope "/subscriptions/.../Microsoft.Search/searchServices/{search}"

 

Install Dependencies

pip install azure-ai-projects>=2.0.0b4 azure-identity python-dotenv requests

 

Connecting a Knowledge Base to an Agent

The integration requires three steps.

Connect Knowledge Base to Agent via MCP

The integration requires three steps:

  1. Create a project connection — Links your AI Foundry project to the knowledge base using ProjectManagedIdentity authentication
  2. Create an agent with MCPTool — The agent uses knowledge_base_retrieve to query the knowledge base
  3. Chat with the agent — Use the OpenAI client to have grounded conversations

Step 1: Create Project Connection

import requests from azure.identity import DefaultAzureCredential, get_bearer_token_provider credential = DefaultAzureCredential() PROJECT_RESOURCE_ID = "/subscriptions/.../providers/Microsoft.CognitiveServices/accounts/.../projects/..." MCP_ENDPOINT = "https://{search}.search.windows.net/knowledgebases/{kb}/mcp?api-version=2025-11-01-preview" def create_project_connection(): """Create MCP connection to knowledge base.""" bearer = get_bearer_token_provider(credential, "https://management.azure.com/.default") response = requests.put( f"https://management.azure.com{PROJECT_RESOURCE_ID}/connections/kb-connection?api-version=2025-10-01-preview", headers={"Authorization": f"Bearer {bearer()}"}, json={ "name": "kb-connection", "properties": { "authType": "ProjectManagedIdentity", "category": "RemoteTool", "target": MCP_ENDPOINT, "isSharedToAll": True, "audience": "https://search.azure.com/", "metadata": {"ApiType": "Azure"} } } ) response.raise_for_status()

 

Step 2: Create Agent with MCP Tool

from azure.ai.projects import AIProjectClient from azure.ai.projects.models import PromptAgentDefinition, MCPTool def create_agent(): client = AIProjectClient(endpoint=PROJECT_ENDPOINT, credential=credential) # MCP tool connects agent to knowledge base mcp_kb_tool = MCPTool( server_label="knowledge-base", server_url=MCP_ENDPOINT, require_approval="never", allowed_tools=["knowledge_base_retrieve"], project_connection_id="kb-connection" ) # Create agent with knowledge base tool agent = client.agents.create_version( agent_name="enterprise-assistant", definition=PromptAgentDefinition( model="gpt-4.1", instructions="""You MUST use the knowledge_base_retrieve tool for every question. Include citations from sources.""", tools=[mcp_kb_tool] ) ) return agent, client

 

Step 3: Chat with the Agent

def chat(agent, client): openai_client = client.get_openai_client() conversation = openai_client.conversations.create() while True: question = input("You: ").strip() if question.lower() == "quit": break response = openai_client.responses.create( conversation=conversation.id, input=question, extra_body={ "agent_reference": { "name": agent.name, "type": "agent_reference" } } ) print(f"Assistant: {response.output_text}")

 

More Information

Summary

The integration of Foundry IQ with Foundry Agent Service enables developers to build knowledge-grounded AI agents for enterprise scenarios.

By combining:

  • MCP-based tool calling
  • Permission-aware retrieval
  • Automatic document processing
  • Semantic reranking

organizations can build secure, enterprise-ready AI agents that deliver accurate, traceable responses backed by source data.

Read the whole story
alvinashcraft
3 hours ago
reply
Pennsylvania, USA
Share this story
Delete

The ‘Tale of Two Dictionaries,’ with Peter Sokolowski

1 Share

1169. In this bonus segment, originally released in November, we look at Peter Sokolowski's "Tale of Two Dictionaries," tracing the word "dictionary" back to a 16th-century Latin work by a monk named Calepino. We look at how this original source led to the first monolingual dictionaries in both English and French, all within a year of each other.

Find Peter on BlueSky.

🔗 Join the Grammar Girl Patreon.

🔗 Share your familect recording in Speakpipe or by leaving a voicemail at 833-214-GIRL (833-214-4475)

🔗 Watch my LinkedIn Learning writing courses.

🔗 Subscribe to the newsletter.

🔗 Take our advertising survey

🔗 Get the edited transcript.

🔗 Get Grammar Girl books

| HOST: Mignon Fogarty

| Grammar Girl is part of the Quick and Dirty Tips podcast network.

  • Audio Engineer: Dan Feierabend
  • Director of Podcast: Holly Hutchings
  • Advertising Operations Specialist: Morgan Christianson
  • Marketing and Video: Nat Hoopes, Rebekah Sebastian
  • Podcast Associate: Maram Elnagheeb

| Theme music by Catherine Rannus.

| Grammar Girl Social Media: YouTubeTikTokFacebook. ThreadsInstagramLinkedInMastodonBluesky.





Download audio: https://dts.podtrac.com/redirect.mp3/media.blubrry.com/grammargirl/cdn.simplecast.com/media/audio/transcoded/dd74e7bd-f654-43a6-b249-3f071c897900/e7b2fc84-d82d-4b4d-980c-6414facd80c3/episodes/audio/group/9e6e4051-1674-4396-b57c-5d0cc7406c7a/group-item/9e90fe8d-2a24-4e20-b950-7205a5cabcf4/128_default_tc.mp3?aid=rss_feed&feed=XcH2p3Ah
Read the whole story
alvinashcraft
3 hours ago
reply
Pennsylvania, USA
Share this story
Delete

A Primer on Using Agent Skills

1 Share
From: AIDailyBrief
Duration: 14:27
Views: 1,927

Agent skills are modular folders of instructions, scripts, and assets enabling progressive disclosure so agents load precise knowledge only when needed. Anthropic's Claude Code taxonomy groups skills into data fetching, business automation, code quality, verification, and incident runbooks while emphasizing gotchas, small skill bodies, and filesystem-style packaging. Skill Creator adds testing, benchmarking, and auto-description tuning to preserve trigger reliability across model updates and to distinguish capability uplifts from encoded-preference workflows.

The AI Daily Brief helps you understand the most important news and discussions in AI.
Subscribe to the podcast version of The AI Daily Brief wherever you listen: https://pod.link/1680633614
Get it ad free at http://patreon.com/aidailybrief
Learn more about the show https://aidailybrief.ai/

Read the whole story
alvinashcraft
3 hours ago
reply
Pennsylvania, USA
Share this story
Delete
Next Page of Stories