Mirror of https://github.com/farzad528/mcp-server-azure-ai-agents

Azure AI Agent Service + Azure AI Search MCP Server

A Model Context Protocol (MCP) server that enables Claude Desktop to search your content using Azure AI services. Choose between Azure AI Agent Service (with both document search and web search) or direct Azure AI Search integration.

demo

Overview

This project provides two MCP server implementations to connect Claude Desktop with Azure search capabilities:

  1. Azure AI Agent Service Implementation (Recommended) - Uses the powerful Azure AI Agent Service to provide:

    • Azure AI Search Tool - Search your indexed documents with AI-enhanced results
    • Bing Web Grounding Tool - Search the web with source citations
  2. Direct Azure AI Search Implementation - Connects directly to Azure AI Search with three methods:

    • Keyword Search - Exact lexical matches
    • Vector Search - Semantic similarity using embeddings
    • Hybrid Search - Combination of keyword and vector searches

Features

  • AI-Enhanced Search - Azure AI Agent Service optimizes search results with intelligent processing
  • Multiple Data Sources - Search both your private documents and the public web
  • Source Citations - Web search results include citations to original sources
  • Flexible Implementation - Choose between Azure AI Agent Service or direct Azure AI Search integration
  • Seamless Claude Integration - All search capabilities accessible through Claude Desktop's interface
  • Customizable - Easy to extend or modify search behavior

Quick Links

Requirements

  • Python: Version 3.10 or higher
  • Claude Desktop: Latest version
  • Azure Resources:
    • Azure AI Search service with an index containing vectorized text data
    • For Agent Service: Azure AI Project with Azure AI Search and Bing connections
  • Operating System: Windows or macOS (instructions provided for Windows, but adaptable)

Azure AI Agent Service Implementation (Recommended)

Setup Guide

  1. Project Directory:

    mkdir mcp-server-azure-ai-search
    cd mcp-server-azure-ai-search
    
  2. Create a .env File:

    echo "PROJECT_CONNECTION_STRING=your-project-connection-string" > .env
    echo "MODEL_DEPLOYMENT_NAME=your-model-deployment-name" >> .env
    echo "AI_SEARCH_CONNECTION_NAME=your-search-connection-name" >> .env
    echo "BING_CONNECTION_NAME=your-bing-connection-name" >> .env
    echo "AI_SEARCH_INDEX_NAME=your-index-name" >> .env
    
  3. Set Up Virtual Environment:

    uv venv
    .venv\Scripts\activate
    uv pip install "mcp[cli]" azure-identity python-dotenv azure-ai-projects
    
  4. Use the azure_ai_agent_service_server.py script for integration with Azure AI Agent Service.

Azure AI Agent Service Setup

Before using the implementation, you need to:

  1. Create an Azure AI Project:

    • Go to the Azure Portal and create a new Azure AI Project
    • Note the project connection string and model deployment name
  2. Create an Azure AI Search Connection:

    • In your Azure AI Project, add a connection to your Azure AI Search service
    • Note the connection name and index name
  3. Create a Bing Web Search Connection:

    • In your Azure AI Project, add a connection to Bing Search service
    • Note the connection name
  4. Authenticate with Azure:

    az login
    

Configuring Claude Desktop

{
  "mcpServers": {
    "azure-ai-agent": {
      "command": "C:\\path\\to\\.venv\\Scripts\\python.exe",
      "args": ["C:\\path\\to\\azure_ai_agent_service_server.py"],
      "env": {
        "PROJECT_CONNECTION_STRING": "your-project-connection-string",
        "MODEL_DEPLOYMENT_NAME": "your-model-deployment-name",
        "AI_SEARCH_CONNECTION_NAME": "your-search-connection-name",
        "BING_CONNECTION_NAME": "your-bing-connection-name",
        "AI_SEARCH_INDEX_NAME": "your-index-name"
      }
    }
  }
}

Note: Replace path placeholders with your actual project paths.

Direct Azure AI Search Implementation

For those who prefer direct Azure AI Search integration without the Agent Service:

  1. Create a different .env File:

    echo "AZURE_SEARCH_SERVICE_ENDPOINT=https://your-service-name.search.windows.net" > .env
    echo "AZURE_SEARCH_INDEX_NAME=your-index-name" >> .env
    echo "AZURE_SEARCH_API_KEY=your-api-key" >> .env
    
  2. Install Dependencies:

    uv pip install "mcp[cli]" azure-search-documents==11.5.2 azure-identity python-dotenv
    
  3. Use the azure_search_server.py script for direct integration with Azure AI Search.

  4. Configure Claude Desktop:

    {
      "mcpServers": {
        "azure-search": {
          "command": "C:\\path\\to\\.venv\\Scripts\\python.exe",
          "args": ["C:\\path\\to\\azure_search_server.py"],
          "env": {
            "AZURE_SEARCH_SERVICE_ENDPOINT": "https://your-service-name.search.windows.net",
            "AZURE_SEARCH_INDEX_NAME": "your-index-name",
            "AZURE_SEARCH_API_KEY": "your-api-key"
          }
        }
      }
    }
    

Testing the Server

  1. Restart Claude Desktop to load the new configuration
  2. Look for the MCP tools icon (hammer icon) in the bottom-right of the input field
  3. Try queries such as:
    • "Search for information about AI in my Azure Search index"
    • "Search the web for the latest developments in LLMs"
    • "Find information about neural networks using hybrid search"

Troubleshooting

  • Server Not Appearing:

    • Check Claude Desktop logs (located at %APPDATA%\Claude\logs\mcp*.log on Windows)
    • Verify file paths and environment variables in the configuration
    • Test running the server directly: python azure_ai_agent_service_server.py or uv run python azure_ai_agent_service_server.py
  • Azure AI Agent Service Issues:

    • Ensure your Azure AI Project is correctly configured
    • Verify that connections exist and are properly configured
    • Check your Azure authentication status

Customizing Your Server

  • Modify Tool Instructions: Adjust the instructions provided to each agent to change how they process queries
  • Add New Tools: Use the @mcp.tool() decorator to integrate additional tools
  • Customize Response Formatting: Edit how responses are formatted and returned to Claude Desktop
  • Adjust Web Search Parameters: Modify the web search tool to focus on specific domains

License

This project is licensed under the MIT License.

MCP Server · Populars

MCP Server · New

    82ch

    MCP-Dandan - MCP Security Framework

    MCP Security Solution for Agentic AI — real-time proxying, behavior analysis, and malicious tool detection

    Community 82ch
    Vvkmnn

    claude-historian-mcp

    🤖 An MCP server for Claude Code conversation history

    Community Vvkmnn
    tommyreid622

    Polymarket Copy Trading Bot

    Polymarket trading bot: Polymarket copytrading bot, Polymarket arbitrage bot on Polymarket, Monitor real price on Polymarket and calculate prob and automatically mirror positions with intelligent sizing and safety checks on Polymarket.(copytrading bot & arbitrage bot))

    Community tommyreid622
    aws

    MCP Proxy for AWS

    AWS MCP Proxy Server

    Community aws
    railsblueprint

    Blueprint MCP

    MCP server for browser automation across Chrome, Firefox, and Safari using real browser profiles

    Community railsblueprint