关于 MCP Server that interacts with Azure AI Foundry (experimental)
该项目是 Azure AI Foundry 的实验性 MCP 服务,提供模型、知识库、评估与微调等方面的统一工具集。仓库说明显示该实现已被弃用,官方已迁移至云端托管的 Foundry MCP Server(预览版)。
主要功能
- 01模型目录浏览与部署相关工具
- 02AI Search 索引、文档与索引器管理
- 03文本与 Agent 评估工具及 Markdown 报告生成
- 04微调任务状态、事件与指标查询
- 05通过 .env 文件加载环境变量
适用场景
- 01在 VS Code 中通过 Copilot Agent 模式查询 Azure AI 模型
- 02管理 Azure AI Search 索引与数据源
- 03对文本或 Agent 输出运行评估并生成报告
MCP 相关
该项目是 MCP 服务,将 Azure AI Foundry 的模型、知识库、评估和微调操作以 MCP 工具形式暴露给客户端。仓库已标注为过时,建议改用云端的 Foundry MCP Server。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
与 Azure AI Foundry 交互的 MCP 服务(实验版)
一个适用于 Azure AI Foundry 的模型上下文协议服务,提供一套统一的工具,用于模型、知识、评估等。
重要通知
Azure AI Foundry MCP 服务(实验版)已迁移至云端,现名为 Foundry MCP Server(预览版)。请查看官方公开文档:开始使用 Foundry MCP Server(预览版)。此 GitHub 仓库包含有关先前实验版服务实现的过时信息,今后不会再更新。请改为参阅新的、托管在远程环境中的 Foundry MCP Server,它具有以下优势:
- 用于 AI 工具编排的云托管接口:Foundry MCP Server(预览版)为符合 MCP 标准的客户端提供安全、可扩展的端点。你无需部署基础设施,即可实现无缝集成和多 Agent 场景。
- 身份和访问控制:该服务使用 Microsoft Entra ID 强制执行身份验证和授权。它会在经过身份验证的用户权限范围内执行所有操作(On-Behalf-Of 流程)。
- 面向场景且可扩展的工具:MCP Server 提供一组不断扩展的工具,用于对 Microsoft Foundry 中的模型、部署、评估和 Agent 执行读取和写入操作。这些工具可扩展,使开发者和 Agent 无需了解后端 API 或数据架构即可与服务交互。
- 提升 Agent 和开发者的效率:自然语言工作流(通过 MCP 客户端和大模型)支持快速发现和调用工具,从而简化开发和多 Agent 编排。
本仓库的其余内容(包括代码库)介绍的是现已弃用的、与 Azure AI Foundry 交互的 MCP 服务(实验版)。
可用工具
功能:模型
| 类别 | 工具 | 说明 |
|---|---|---|
| 探索 | list_models_from_model_catalog | 从 Azure AI Foundry 目录中获取受支持模型的列表。 |
list_azure_ai_foundry_labs_projects | 获取 Azure AI Foundry Labs 中提供的 Microsoft Research 最先进 AI 模型列表。 | |
get_model_details_and_code_samples | 从 Azure AI Foundry 目录中获取特定模型的详细信息和代码示例。 | |
| 构建 | get_prototyping_instructions_for_github_and_labs | 提供全面的说明和设置指南,帮助你开始使用 Azure AI Foundry 和 Azure AI Foundry Labs 中的模型。 |
| 部署 | get_model_quotas | 获取特定 Azure 区域的模型配额。 |
create_azure_ai_services_account | 创建 Azure AI Services 帐户。 | |
list_deployments_from_azure_ai_services | 获取 Azure AI Services 中的部署列表。 | |
deploy_model_on_ai_services | 在 Azure AI Services 上部署模型。 | |
create_foundry_project | 创建新的 Azure AI Foundry 项目。 |
功能:知识
| 类别 | 工具 | 描述 |
|---|---|---|
| 索引 | list_index_names | 从 AI Search Service 获取所有索引名称 |
list_index_schemas | 从 AI Search Service 获取所有索引架构 | |
retrieve_index_schema | 从 AI Search Service 获取特定索引的架构 | |
create_index | 创建新索引 | |
modify_index | 修改现有索引的定义 | |
delete_index | 删除现有索引 | |
| 文档 | add_document | 向索引添加文档 |
delete_document | 从索引中删除文档 | |
| 查询 | query_index | 搜索特定索引以检索匹配的文档 |
get_document_count | 返回索引中的文档总数 | |
| 索引器 | list_indexers | 从 AI Search Service 获取所有索引器名称 |
get_indexer | 从 AI Search Service 获取特定索引器的完整定义 | |
create_indexer | 在 Search Service 中使用技能、索引和数据源创建新的索引器 | |
delete_indexer | 按名称从 AI Search Service 删除索引器 | |
| 数据源 | list_data_sources | 从 AI Search Service 获取所有数据源名称 |
get_data_source | 获取特定数据源的完整定义 | |
| 技能集 | list_skill_sets | 从 AI Search Service 获取所有技能集名称 |
get_skill_set | 获取特定技能集的完整定义 | |
| 内容 | fk_fetch_local_file_contents | 获取本地文件路径中的内容(示例 JSON、文档等) |
fk_fetch_url_contents | 获取 URL 中的内容(示例 JSON、文档等) |
功能:评估
| 类别 | 工具 | 描述 |
|---|---|---|
| 评估器实用工具 | list_text_evaluators | 列出所有可用的文本评估器。 |
list_agent_evaluators | 列出所有可用的 Agent 评估器。 | |
get_text_evaluator_requirements | 显示每个文本评估器的输入要求。 | |
get_agent_evaluator_requirements | 显示每个 Agent 评估器的输入要求。 | |
| 文本评估 | run_text_eval | 对 JSONL 文件或内容运行一个或多个文本评估器。 |
format_evaluation_report | 将评估输出转换为易读的 Markdown 报告。 | |
| Agent 评估 | agent_query_and_evaluate | 查询 Agent,并使用选定的评估器评估其响应。端到端 Agent 评估。 |
run_agent_eval | 使用特定数据(查询、响应、工具调用、定义)评估单次 Agent 交互。 | |
| Agent 服务 | list_agents | 列出已配置项目中所有可用的 Azure AI Agents。 |
connect_agent | 向指定的 Agent 发送查询。 | |
query_default_agent | 查询环境变量中定义的默认 Agent。 |
功能:微调
| 类别 | 工具 | 描述 |
|---|---|---|
| 微调 | fetch_finetuning_status | 获取特定微调作业的详细状态和元数据,包括作业状态、模型、创建和完成时间、超参数以及任何错误。 |
list_finetuning_jobs | 列出资源中的所有微调作业,返回作业 ID 及其当前状态,便于跟踪和管理。 | |
get_finetuning_job_events | 按时间顺序获取特定微调作业的所有事件,包括每个训练步骤、评估和完成时的时间戳及详细消息。 | |
get_finetuning_metrics | 获取特定微调作业的训练和评估指标,包括损失曲线、准确率及其他相关性能指标,用于监控和分析。 | |
list_finetuning_files | 列出 Azure OpenAI 中可用于微调的所有文件,包括文件 ID、名称、用途和状态。 | |
execute_dynamic_swagger_action | 执行通过 Swagger 规范动态生成的任意工具,以便在高级场景中灵活调用 API。 | |
list_dynamic_swagger_tools | 列出通过 Swagger 规范动态注册的所有工具,帮助发现和自动化可用的 API 终结点。 |
提示词示例
模型
探索模型
- 如何帮助我找到合适的模型?
- 我可以使用 Azure AI Foundry 中的哪些模型?
- Azure AI Foundry 中有哪些 OpenAI 模型?
- Azure AI Foundry 中最受欢迎的模型有哪些?为我挑选 10 个模型。
- 哪些模型擅长推理?给我一些示例,分成大模型和小模型两组。
- 可以比较 Phi 模型并说明它们的区别吗?
- 给我看看 Phi-4-reasoning 的模型卡。
- 可以告诉我如何测试模型吗?
- Azure AI Foundry 中的免费 Playground 是什么意思?
- 我可以使用 GitHub 令牌测试模型吗?
- 给我看看最新的、支持 GitHub 令牌的模型。
- Azure AI Foundry 中这些模型的发布者是谁?
- 给我看看 Meta 的模型。
- 给我看看采用 MIT 许可证的模型。
构建原型
- 可以介绍一下如何帮助我使用该模型构建原型吗?
- 描述一下如何使用我的 GitHub 令牌构建一个使用 OpenAI 模型的原型。先不要尝试创建。
- 推荐一些使用模型构建原型的场景。
- 告诉我有关 Azure AI Foundry Labs 的信息。
- 多介绍一些 Magentic One。
- Omniparser 是什么?有哪些潜在用例?
- 可以帮我使用 Omniparser 构建原型吗?
部署 OpenAI 模型
- 可以帮我部署 OpenAI 模型吗?
- 在 Azure AI Foundry 上部署 OpenAI 模型需要执行哪些步骤?
- 可以帮我了解如何在 Azure AI Foundry 上使用 GitHub 令牌运行 OpenAI 模型吗?可以用于生产环境吗?
- 我已经有 Azure AI services 资源了。可以在其上部署 OpenAI 模型吗?
- Azure AI Foundry 中 OpenAI 模型的配额是什么意思?
- 获取我的 AI services 资源的当前配额。
使用 GitHub Copilot 快速入门
此 GitHub 模板只需进行最少的设置,其中包含 MCP 服务配置和所有必需的依赖项,让你可以轻松地开始自己的项目。
这会帮助你在 VS Code 环境的用户设置中自动配置 MCP 服务。 你需要在环境中安装
uvx才能运行该服务。
手动设置
-
按照安装 uv 中的说明安装
uv。 -
在 VS Code 中启动新的工作区。
-
(可选)在工作区根目录下创建
.env文件,以设置环境变量。 -
在工作区根目录下创建
.vscode/mcp.json。{ "servers": { "mcp_foundry_server": { "type": "stdio", "command": "uvx", "args": [ "--prerelease=allow", "--from", "git+https://github.com/azure-ai-foundry/mcp-foundry.git", "run-azure-ai-foundry-mcp", "--envFile", "${workspaceFolder}/.env" ] } } } -
点击
.vscode/mcp.json文件中该服务对应的Start按钮。 -
在 Agent 模式下打开 GitHub Copilot 聊天并开始提问。
有关如何设置 MCP 服务的更多详情,请参阅高级设置的更多示例。
设置环境变量
若要安全地向 MCP 服务传递信息,例如 API 密钥、终结点和其他敏感数据,可以使用环境变量。对于需要身份验证或访问外部服务的工具,这一点尤为重要。
你可以在项目根目录的 .env 文件中设置这些环境变量。设置 MCP 服务时,可以传入 .env 文件的位置;服务启动时会自动加载这些变量。
请参阅示例 .env 文件,了解示例配置。
| 类别 | 变量 | 是否必需? | 说明 |
|---|---|---|---|
| 模型 | GITHUB_TOKEN | 否 | 用于免费测试模型的 GitHub 令牌,但有速率限制。 |
| 知识 | AZURE_AI_SEARCH_ENDPOINT | 始终 | Azure AI Search 服务的终结点 URL。格式应如下:https://<your-search-service-name>.search.windows.net/。 |
AZURE_AI_SEARCH_API_VERSION | 否 | 要使用的 API 版本。默认值为 2025-03-01-preview。 | |
SEARCH_AUTHENTICATION_METHOD | 始终 | service-principal 或 api-search-key。 | |
AZURE_TENANT_ID | 使用 service-principal 时必需 | Azure Active Directory 租户的 ID。 | |
AZURE_CLIENT_ID | 使用 service-principal 时必需 | 服务主体(应用注册)的 ID。 | |
AZURE_CLIENT_SECRET | 使用 service-principal 时必需 | 服务主体的机密凭据。 | |
AZURE_AI_SEARCH_API_KEY | 使用 api-search-key 时必需 | Azure AI Search 服务的 API 密钥。 | |
| 评估 | EVAL_DATA_DIR | 始终 | JSONL 评估数据集的路径。 |
AZURE_OPENAI_ENDPOINT | 文本质量评估器 | Azure OpenAI 的终结点。 | |
AZURE_OPENAI_API_KEY | 文本质量评估器 | Azure OpenAI 的 API 密钥。 | |
AZURE_OPENAI_DEPLOYMENT | 文本质量评估器 | 部署名称(例如,gpt-4o)。 | |
AZURE_OPENAI_API_VERSION | 文本质量评估器 | OpenAI API 的版本。 | |
AZURE_AI_PROJECT_ENDPOINT | Agent 服务 | 用于 Azure AI Agent 查询和评估。 |
说明
模型
GITHUB_TOKEN用于通过 GitHub API 进行模型测试。如果你在探索 Foundry 目录中的模型,则无需设置此项。知识
- 请参阅创建搜索服务,详细了解如何预配搜索服务。
- Azure AI Search 支持多种身份验证方法。你可以使用Microsoft Entra 身份验证或基于密钥的身份验证来验证请求。具体选择取决于你的安全要求以及所使用的 Azure 环境。
- 请参阅身份验证,详细了解搜索服务的身份验证方法。
评估
- 如果你使用Agent 工具或安全评估器,请确保 Azure 项目凭据有效。
- 如果你只进行文本质量评估,则只需 OpenAI 终结点和密钥。
许可证
MIT 许可证。详情请参阅 LICENSE。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。