AI搜索服务

一个通过Azure AI服务提供文档和网页搜索功能的MCP服务器,支持AI增强搜索、多数据源检索和源引用功能。

  • by farzad528
  • Python
  • 本地部署
  • 54 星标
  • 更新于
在 GitHub 查看 farzad528/mcp-server-azure-ai-search

使用说明

Azure AI代理服务+Azure AI搜索MCP服务器

模型上下文协议(MCP)服务器,使Claude Desktop能够使用Azure AI服务搜索您的内容。在Azure AI代理服务(同时提供文档搜索和web搜索)或直接集成Azure AI搜索之间进行选择。


概述

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

  1. Azure AI代理服务实施(推荐) -使用强大的Azure AI代理服务提供:

    • Azure人工智能搜索工具 -使用AI增强的结果搜索您的索引文档
    • Bing Web接地工具 -在网络上搜索源引用
  2. 直接Azure AI搜索实施 -通过三种方法直接连接到Azure AI搜索:

    • 关键字搜索 -精确的词汇匹配
    • 矢量搜索 -基于嵌入的语义相似度
    • 混合搜索 -关键字和矢量搜索的组合

特性

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

快速链接


需求

  • python 3.10或更高版本
  • 克劳德桌面: 最新版本
  • Azure资源:
    • Azure AI搜索服务,其索引包含矢量化文本数据
    • 对于代理服务:具有Azure AI搜索和Bing连接的Azure AI项目
  • 操作系统: Windows或macOS(为Windows提供的说明,但可调整)

Azure AI代理服务实施(推荐)

安装指南

  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代理服务集成。

Azure AI代理服务设置

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

  1. 创建Azure AI项目:

    • 转到Azure门户并创建新的Azure AI项目
    • 注意项目连接字符串和模型部署名称
  2. 创建Azure AI搜索连接:

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

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

    az login
    

配置Claude桌面

{
  "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搜索实施

对于那些喜欢在没有代理服务的情况下直接集成Azure AI搜索的人:

  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搜索直接集成。

  4. 配置Claude桌面:

    {
      "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. 重新启动克劳德桌面 加载新配置
  2. 在输入字段的右下角查找MCP工具图标(锤子图标)
  3. 尝试以下查询:
    • “在我的Azure搜索索引中搜索有关AI的信息”
    • “在网上搜索LLM的最新发展”
    • “使用混合搜索查找有关神经网络的信息”

故障排除

  • 服务器未出现:

    • 检查克劳德桌面日志(位于 %APPDATA%\Claude\logs\mcp*.log 在Windows上)
    • 验证配置中的文件路径和环境变量
    • 直接测试运行服务器: python azure_ai_agent_service_server.py 或 uv run python azure_ai_agent_service_server.py
  • Azure AI代理服务问题:

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

自定义服务器

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

许可证

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