# Claude Desktop Azure AI 搜索服务器
## 基本信息
- Slug: `farzad528-mcp-server-azure-ai-agents`
- Source: modelscope
- Publisher: @farzad528/mcp-server-azure-ai-agents
- Categories: search / cloud-platforms / databases
- Hosted: No
- License: Other
- Source URL: https://www.modelscope.cn/mcp/servers/@farzad528/mcp-server-azure-ai-agents
## 简介
将 Claude Desktop 与 Azure AI Search 集成，允许用户使用关键字、向量或混合搜索方法查询搜索索引。
## 安装提示

```bash
mkdir mcp-server-azure-ai-search cd mcp-server-azure-ai-search
```

## MCP Server 详情

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

一个模型上下文协议 (MCP) 服务器，通过 Azure AI 服务使 Claude Desktop 能够搜索您的内容。您可以选择使用 Azure AI 代理服务（同时支持文档搜索和网络搜索）或直接集成 Azure AI 搜索。

![演示](images/demo.gif)

---

## 概述

该项目提供了两个 MCP 服务器实现，以连接 Claude Desktop 和 Azure 搜索功能：

1. **Azure AI 代理服务实现（推荐）** - 使用强大的 Azure AI 代理服务提供：
   - **Azure AI 搜索工具** - 使用 AI 增强的结果搜索您已索引的文档
   - **Bing 网络基础工具** - 带有来源引用的网络搜索

2. **直接 Azure AI 搜索实现** - 直接连接到 Azure AI 搜索，包含三种方法：
   - **关键词搜索** - 精确的词汇匹配
   - **向量搜索** - 使用嵌入进行语义相似度搜索
   - **混合搜索** - 结合关键词和向量搜索

---

## 特性

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

---

## 快速链接

- [开始使用 Azure AI 搜索](https://learn.microsoft.com/en-us/azure/search/search-get-started-portal)
- [Azure AI 代理服务快速入门](https://learn.microsoft.com/en-us/azure/ai-studio/how-to/agent-quickstart)

---

## 要求

- **Python:** 3.10 或更高版本
- **Claude Desktop:** 最新版本
- **Azure 资源:**
  - 包含矢量化文本数据索引的 Azure AI 搜索服务
  - 对于代理服务：具有 Azure AI 搜索和 Bing 连接的 Azure AI 项目
- **操作系统:** Windows 或 macOS（提供了针对 Windows 的说明，但可以适应）

---

## Azure AI 代理服务实现（推荐）

### 设置指南

1. **项目目录：**

   ```bash
   mkdir mcp-server-azure-ai-search
   cd mcp-server-azure-ai-search
   ```

2. **创建一个 `.env` 文件：**

   ```bash
   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. **设置虚拟环境：**

   ```bash
   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 搜索连接：**
   - 在您的 Azure AI 项目中，添加到您的 Azure AI 搜索服务的连接
   - 记录连接名称和索引名称

3. **创建一个 Bing 网络搜索连接：**
   - 在您的 Azure AI 项目中，添加到 Bing 搜索服务的连接
   - 记录连接名称

4. **使用 Azure 进行身份验证：**
   ```bash
   az login
   ```

### 配置 Claude Desktop

```json
{
  "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` 文件：**

   ```bash
   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. **安装依赖项：**

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

3. **使用 `azure_search_server.py` 脚本** 直接与 Azure AI 搜索集成。

4. **配置 Claude Desktop：**

   ```json
   {
     "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 搜索索引中搜索有关 AI 的信息"
   - "在网上搜索 LLMs 的最新发展"
   - "使用混合搜索查找有关神经网络的信息"

## 故障排除

- **服务器未出现：**
  - 检查 Claude Desktop 日志（在 Windows 上位于 `%APPDATA%\Claude\logs\mcp*.log`）
  - 验证配置中的文件路径和环境变量
  - 尝试直接运行服务器：`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 的方式
- **调整网络搜索参数：** 修改网络搜索工具，使其专注于特定领域

---

## 许可证

此项目根据 MIT 许可证发布。

