Token导航 LogoToken导航TokenDH.com
AI search with MCP logo
运维云端未说明官方级别未说明来源级核验

AI search with MCP

MCP Server

为Azure AI搜索解决方案提供基础设施支持,包括Azure AI Foundry(Azure OpenAI)账户和GPT-4o部署。

工具数

0

提示词数

0

GitHub Stars

0

资源数

0
BicepAI搜索云端部署

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

bcperry

提供方

bcperry

最后核验

2026/5/17 20:21

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

使用MCP进行人工智能搜索——基础设施

该项目为Azure AI搜索解决方案提供基础设施,该解决方案现在包括一个具有GPT-4o部署的Azure AI Foundry(Azure OpenAI)帐户。这些模板是用二头肌编写的,旨在与Azure Developer CLI一起部署(azd).

建筑🏗️

部署在单个资源组中创建以下资源:

  • 具有系统分配标识的Azure AI搜索服务。
  • 用于摄取搜索内容的存储帐户和私有blob容器。
  • 部署脚本使用的用户分配的托管标识。
  • 具有GPT-4o部署的Azure AI Foundry(Azure OpenAI)帐户。
  • 具有GPT-4o和Ada嵌入部署的Azure AI Foundry(Azure OpenAI)帐户。
  • 角色分配,授予Azure AI搜索服务身份贡献者访问OpenAI资源以进行Entra ID推断的权限。
  • 允许搜索服务读取blob的角色分配和管理搜索服务的部署脚本。

部署

azd auth login
azd up

您可以在运行之前通过设置环境变量来覆盖默认值 azd up例如:

$env:AZURE_ENV_NAME = "mysandbox"
$env:AZURE_LOCATION = "eastus"
$env:AZURE_OPENAI_MODEL_NAME = "gpt-4o"
$env:AZURE_OPENAI_MODEL_VERSION = "2024-11-20"
$env:AZURE_OPENAI_DEPLOYMENT_CAPACITY = "10"
$env:AZURE_OPENAI_EMBEDDINGS_MODEL_NAME = "text-embedding-ada-002"
$env:AZURE_OPENAI_EMBEDDINGS_MODEL_VERSION = "2"
$env:AZURE_OPENAI_EMBEDDINGS_DEPLOYMENT_CAPACITY = "10"
azd up

azd 自动将环境变量映射到 AZURE_ 二头肌参数的前缀。

二头肌参数

参数说明默认值
openAiModelName部署到Azure AI Foundry的模型标识符。gpt-4o
openAiModelVersion要部署的特定模型版本。2024-11-20
openAiDeploymentCapacity分配给GPT-4o部署的吞吐量单位。10
openAiEmbeddingsModelName嵌入部署到Azure AI Foundry的模型标识符。text-embedding-ada-002
openAiEmbeddingsModelVersion要部署的特定嵌入模型版本。2
openAiEmbeddingsDeploymentCapacity分配给嵌入部署的吞吐量单位。10

其他参数,如 environmentName, location,以及 resourceGroupName 继续由 azd.

输出

在部署之后, azd 显示以下输出以进行集成:

  • OPENAI_ACCOUNT_ENDPOINT
  • OPENAI_DEPLOYMENT_NAME
  • OPENAI_EMBEDDINGS_DEPLOYMENT_NAME
  • SEARCH_SERVICE_ENDPOINT
  • STORAGE_ACCOUNT_BLOB_ENDPOINT

在使用AI搜索和GPT-4o功能的应用程序配置或自动化步骤中使用这些值。

角色分配

模板会自动授予Azure AI搜索服务的系统分配的托管身份 认知服务OpenAI贡献者 Azure OpenAI帐户上的角色。从Azure AI Search基于Entra ID访问GPT-4o和嵌入部署都需要此权限。如果需要访问其他工作负载,请分配适当的Azure OpenAI角色(例如, 认知服务OpenAI用户)在OpenAI帐户范围内将其托管身份转换为其他身份。

认证

MCP服务器在其HTTP传输端点上支持Azure AD(Microsoft Entra ID)承载令牌身份验证。身份验证是可选的,并通过环境变量进行控制。

身份验证优先级

服务器按以下顺序评估身份验证配置:

  1. Azure AD(RS256 JWKS) --何时 AZURE_AD_REQUIRE_AUTH=true
  2. 对称密钥(HS256) --何时 MCP_AUTH_SECRET 已设置
  3. 无身份验证 --当两者均未配置时(仅限本地开发)

环境变量

变量必填默认描述
AZURE_AD_REQUIRE_AUTH没有false设置为 true 启用Azure AD令牌验证
AZURE_AD_TENANT_ID启用身份验证时--Azure AD租户ID
AZURE_AD_CLIENT_ID启用身份验证时--MCP服务器的应用程序注册客户端ID(应用程序ID)
CLOUD_NAME--设置为 AzureUSGovernment Azure政府;省略商业云
MCP_AUTH_SECRET没有--HS256 JWT身份验证的共享密钥(回退)
MCP_AUTH_ISSUER没有mcp-issuerHS256身份验证的预期JWT颁发者
MCP_AUTH_AUDIENCE没有azure-ai-search-mcpHS256身份验证的预期JWT受众

Azure AD应用程序注册设置

  1. 注册MCP服务器应用程序 在Azure AD中:

- Azure 门户→ Azure Active Directory→ 应用程序注册→ 新注册 - 姓名: mcp-azure-ai-search (或您喜欢的名字) - 支持的帐户类型:单租户 - 无需重定向URI(仅限服务器)

  1. 公开API:

- 应用程序注册→ 您的应用程序→ 公开API - 设置应用程序ID URI: api:// - 添加作用域: api:///.default

  1. 授予调用应用程序权限:

- 调用后端的应用程序注册需要API权限→ 添加权限→ 我的API→ 选择MCP服务器应用程序→ 选择 .default 范围 - 授予管理员同意

  1. 配置部署环境:
   AZURE_AD_REQUIRE_AUTH=true
   AZURE_AD_TENANT_ID=
   AZURE_AD_CLIENT_ID=
   CLOUD_NAME=AzureUSGovernment   # omit for commercial cloud

验证身份

启用Azure AD身份验证后,服务器将在启动时记录:

INFO: Azure AD auth enabled – issuer=https://login.microsoftonline.us//v2.0, audience=api://

没有有效的请求 Authorization: Bearer 标头接收HTTP 401。

手动验证 az rest

如果您需要在外部验证索引、技能集或索引器定义 azd 部署时,存储库包括准备发送的有效载荷(index-test.json, skillset-test.json,以及 indexer-test.json).更新占位符值(例如OpenAI资源URI),并从PowerShell运行以下命令:

$resourceGroup = ""
$searchServiceName = ""
$searchEndpoint = "https://$searchServiceName.search.windows.net"
$apiVersion = "2024-09-01-preview"
$indexName = "avcoe-demo-ai-search-mcp-index-and-vectorize"
$skillsetName = "avcoe-demo-ai-search-mcp-index-and-vectorize-skillset"
$indexerName = "avcoe-demo-ai-search-mcp-index-and-vectorize-indexer"
$indexPayloadPath = "$(Resolve-Path ./index-test.json)"
$skillsetPayloadPath = "$(Resolve-Path ./skillset-test.json)"
$indexerPayloadPath = "$(Resolve-Path ./indexer-test.json)"

$adminKey = az search admin-key show `
	--resource-group $resourceGroup `
	--service-name $searchServiceName `
	--query primaryKey -o tsv

az rest --method put `
	--uri "$searchEndpoint/indexes('$indexName')" `
	--headers "Content-Type=application/json" "api-key=$adminKey" `
	--url-parameters "api-version=$apiVersion" `
	--body @$indexPayloadPath `
	--skip-authorization-header

az rest --method put `
	--uri "$searchEndpoint/skillsets/$skillsetName" `
	--headers "Content-Type=application/json" "api-key=$adminKey" `
	--url-parameters "api-version=$apiVersion" `
	--body @$skillsetPayloadPath `
	--skip-authorization-header

az rest --method put `
	--uri "$searchEndpoint/indexers('$indexerName')" `
	--headers "Content-Type=application/json" "api-key=$adminKey" `
	--url-parameters "api-version=$apiVersion" `
	--body @$indexerPayloadPath `
	--skip-authorization-header

手动调用有助于快速解决API架构问题,并反映Bicep模块使用的部署脚本逻辑。

目录标签

目录标签

BicepAI搜索云端部署本地部署AzureOpenAIBicep部署基础设施

接入字段

传输方式(transport,传输协议)

未说明

鉴权方式(authType,认证方式)

token

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

未说明token部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

仍需确认:installCommand

来源信息

继续浏览同类 MCP