Azure AI Agent Service + Azure AI Search MCP Server

Azure AI Agent Service + Azure AI Search MCP Server

镜子 (jìng zi)

MCP-Mirror

研究与数据
访问服务器

README

Azure AI Agent Service + Azure AI Search MCP 服务器

一个模型上下文协议 (MCP) 服务器,使 Claude Desktop 能够使用 Azure AI 服务搜索您的内容。您可以选择 Azure AI Agent Service(同时具有文档搜索和 Web 搜索)或直接集成 Azure AI Search。

demo


概述

本项目提供了两种 MCP 服务器实现,用于将 Claude Desktop 与 Azure 搜索功能连接:

  1. Azure AI Agent Service 实现(推荐) - 使用强大的 Azure AI Agent Service 提供:

    • Azure AI Search 工具 - 使用 AI 增强的结果搜索您索引的文档
    • Bing Web Grounding 工具 - 搜索带有来源引用的 Web
  2. 直接 Azure AI Search 实现 - 直接连接到 Azure AI Search,提供三种方法:

    • 关键词搜索 - 精确的词汇匹配
    • 向量搜索 - 使用嵌入的语义相似性
    • 混合搜索 - 关键词和向量搜索的组合

功能

  • AI 增强搜索 - Azure AI Agent Service 通过智能处理优化搜索结果
  • 多个数据源 - 同时搜索您的私有文档和公共 Web
  • 来源引用 - Web 搜索结果包括原始来源的引用
  • 灵活的实现 - 在 Azure AI Agent Service 或直接 Azure AI Search 集成之间进行选择
  • 无缝 Claude 集成 - 所有搜索功能都可以通过 Claude Desktop 的界面访问
  • 可定制 - 易于扩展或修改搜索行为

快速链接


要求

  • Python: 3.10 或更高版本
  • Claude Desktop: 最新版本
  • Azure 资源:
    • 具有包含向量化文本数据的索引的 Azure AI Search 服务
    • 对于 Agent Service:具有 Azure AI Search 和 Bing 连接的 Azure AI 项目
  • 操作系统: Windows 或 macOS(提供 Windows 的说明,但可以适应)

Azure AI Agent Service 实现(推荐)

设置指南

  1. 项目目录:

    mkdir mcp-server-azure-ai-search
    cd mcp-server-azure-ai-search
    
  2. 创建 .env 文件:

    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. 设置虚拟环境:

    uv venv
    .venv\Scripts\activate
    uv pip install "mcp[cli]" azure-identity python-dotenv azure-ai-projects
    
  4. 使用 azure_ai_agent_service_server.py 脚本 与 Azure AI Agent Service 集成。

Azure AI Agent Service 设置

在使用该实现之前,您需要:

  1. 创建一个 Azure AI 项目:

    • 转到 Azure 门户并创建一个新的 Azure AI 项目
    • 记下项目连接字符串和模型部署名称
  2. 创建一个 Azure AI Search 连接:

    • 在您的 Azure AI 项目中,添加一个到您的 Azure AI Search 服务的连接
    • 记下连接名称和索引名称
  3. 创建一个 Bing Web Search 连接:

    • 在您的 Azure AI 项目中,添加一个到 Bing Search 服务的连接
    • 记下连接名称
  4. 使用 Azure 进行身份验证:

    az login
    

配置 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"
      }
    }
  }
}

注意: 将路径占位符替换为您实际的项目路径。


直接 Azure AI Search 实现

对于那些喜欢直接 Azure AI Search 集成而无需 Agent Service 的人:

  1. 创建一个不同的 .env 文件:

    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. 安装依赖项:

    uv pip install "mcp[cli]" azure-search-documents==11.5.2 azure-identity python-dotenv
    
  3. 使用 azure_search_server.py 脚本 直接与 Azure AI Search 集成。

  4. 配置 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"
          }
        }
      }
    }
    

测试服务器

  1. 重启 Claude Desktop 以加载新配置
  2. 在输入字段的右下角查找 MCP 工具图标(锤子图标)
  3. 尝试以下查询:
    • "在我的 Azure Search 索引中搜索有关 AI 的信息"
    • "在 Web 上搜索 LLM 的最新发展"
    • "使用混合搜索查找有关神经网络的信息"

故障排除

  • 服务器未出现:

    • 检查 Claude Desktop 日志(位于 Windows 上的 %APPDATA%\Claude\logs\mcp*.log
    • 验证配置文件中的文件路径和环境变量
    • 测试直接运行服务器:python azure_ai_agent_service_server.pyuv run python azure_ai_agent_service_server.py
  • Azure AI Agent Service 问题:

    • 确保您的 Azure AI 项目已正确配置
    • 验证连接是否存在且已正确配置
    • 检查您的 Azure 身份验证状态

自定义您的服务器

  • 修改工具说明: 调整提供给每个代理的说明,以更改他们处理查询的方式
  • 添加新工具: 使用 @mcp.tool() 装饰器来集成其他工具
  • 自定义响应格式: 编辑响应的格式以及如何返回到 Claude Desktop
  • 调整 Web 搜索参数: 修改 Web 搜索工具以专注于特定域

许可证

本项目根据 MIT 许可证获得许可。

推荐服务器

Crypto Price & Market Analysis MCP Server

Crypto Price & Market Analysis MCP Server

一个模型上下文协议 (MCP) 服务器,它使用 CoinCap API 提供全面的加密货币分析。该服务器通过一个易于使用的界面提供实时价格数据、市场分析和历史趋势。 (Alternative, slightly more formal and technical translation): 一个模型上下文协议 (MCP) 服务器,利用 CoinCap API 提供全面的加密货币分析服务。该服务器通过用户友好的界面,提供实时价格数据、市场分析以及历史趋势数据。

精选
TypeScript
MCP PubMed Search

MCP PubMed Search

用于搜索 PubMed 的服务器(PubMed 是一个免费的在线数据库,用户可以在其中搜索生物医学和生命科学文献)。 我是在 MCP 发布当天创建的,但当时正在度假。 我看到有人在您的数据库中发布了类似的服务器,但还是决定发布我的服务器。

精选
Python
mixpanel

mixpanel

连接到您的 Mixpanel 数据。 从 Mixpanel 分析查询事件、留存和漏斗数据。

精选
TypeScript
Sequential Thinking MCP Server

Sequential Thinking MCP Server

这个服务器通过将复杂问题分解为顺序步骤来促进结构化的问题解决,支持修订,并通过完整的 MCP 集成来实现多条解决方案路径。

精选
Python
Nefino MCP Server

Nefino MCP Server

为大型语言模型提供访问德国可再生能源项目新闻和信息的能力,允许按地点、主题(太阳能、风能、氢能)和日期范围进行筛选。

官方
Python
Vectorize

Vectorize

将 MCP 服务器向量化以实现高级检索、私有深度研究、Anything-to-Markdown 文件提取和文本分块。

官方
JavaScript
Mathematica Documentation MCP server

Mathematica Documentation MCP server

一个服务器,通过 FastMCP 提供对 Mathematica 文档的访问,使用户能够从 Wolfram Mathematica 检索函数文档和列出软件包符号。

本地
Python
kb-mcp-server

kb-mcp-server

一个 MCP 服务器,旨在实现便携性、本地化、简易性和便利性,以支持对 txtai “all in one” 嵌入数据库进行基于语义/图的检索。任何 tar.gz 格式的 txtai 嵌入数据库都可以被加载。

本地
Python
Research MCP Server

Research MCP Server

这个服务器用作 MCP 服务器,与 Notion 交互以检索和创建调查数据,并与 Claude Desktop Client 集成以进行和审查调查。

本地
Python
Cryo MCP Server

Cryo MCP Server

一个API服务器,实现了模型补全协议(MCP),用于Cryo区块链数据提取,允许用户通过任何兼容MCP的客户端查询以太坊区块链数据。

本地
Python