P

mcp-server-azure-ai-search

...
Created 3/14/2025byfarzad528

Language:

Python

Stars:

33

Forks:

3

Azure AI Search MCP Server

A Model Context Protocol (MCP) server that integrates with Azure AI Search, enabling Claude Desktop to query your search indexes using keyword, vector, or hybrid methods.

demo


Overview

This project provides an MCP server implementation that connects Claude Desktop with Azure AI Search. The server supports three search methods:

  • Keyword Search: Exact lexical matches.
  • Vector Search: Semantic similarity using vector embeddings.
  • Hybrid Search: A combination of keyword and vector searches.

Features

  • Seamless Integration: Connect Claude Desktop with Azure AI Search.
  • Multiple Search Methods: Supports keyword, vector, and hybrid searches.
  • Customizable: Easy to extend with additional tools or modify search logic.

Requirements

  • Python: Version 3.10 or higher
  • Azure AI Search Service: Configured with an index containing vectorized text data
  • Claude Desktop: Latest version
  • Operating System: Windows or macOS (instructions provided for Windows, but adaptable)

Quick Start Guide

1. Installation

  1. Set Up Project Directory:

    mkdir mcp-server-azure-ai-search
    cd mcp-server-azure-ai-search
    
  2. Create a .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. Set Up Virtual Environment

  1. Create and Activate the Virtual Environment:

    uv venv
    .venv\Scripts\activate
    
  2. Install Dependencies:

    uv pip install "mcp[cli]" azure-search-documents==11.5.2 azure-identity python-dotenv
    

3. Server Script

Create a file named azure_search_server.py. This script:

  • Loads configuration from the .env file.

  • Initializes the Azure AI Search client.

              - Defines search functions for keyword, vector, and hybrid searches.
    
  • Registers these functions as MCP tools for Claude Desktop.

For detailed implementation, refer to the inline comments within the script.


Configuring Claude Desktop

  1. Open Claude Desktop.

  2. Navigate to Settings > Developer > Edit Config.

  3. Add the following configuration (update paths and credentials):

    {
      "mcpServers": {
        "azure-search": {
          "command": "C:path\tomcp-server-azure-ai-search.venvScriptspython.exe",
          "args": ["C:path\tomcp-server-azure-ai-searchazure_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"
          }
        }
      }
    }
    

Note: Replace C:\path\to\mcp-server-azure-ai-search with your actual project path.


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:
    • "Can you search for information about AI in my Azure Search index?"
    • "Search for vector databases using the vector search tool."
    • "Find information about neural networks using hybrid search."

Troubleshooting

  • Server Not Appearing:
    • Check Claude Desktop logs (typically found at %APPDATA%\Claude\logs\mcp*.log on Windows).
    • Verify file paths and environment variables in the configuration.
    • Test running the server directly via python azure_search_server.py. or uv run python azure_search_server.py

Customizing Your Server

  • Modify Search Logic: Adjust the search methods in the AzureSearchClient class.

  • Add New Tools: Use the @mcp.tool() decorator to integrate additional search functionalities.

              - **Customize Output:** Edit the markdown formatting function for search results.
    

License

This project is licensed under the MIT License.

Last updated: 3/18/2025

Publisher info

farzad528's avatar

Farzad Sunavala

@farzad528 Principal Product Manager at Microsoft working on Azure AI Search

71
followers
41
following
74
repos

More MCP servers built with Python

apollo-io-mcp-server

MCP server that exposes the Apollo.io API functionalities as tools

By Edward Choh
mcp-openvision

MCP Server using OpenRouter models to get descriptions for images

By Nazruden2
DeepView MCP

Enables IDEs like Cursor and Windsurf to analyze large codebases using Gemini's extensive context window.

By ai-1st