Token导航 LogoToken导航TokenDH.com
Azure Apim MCP Agent logo
AI代理未说明官方级别未说明来源级核验

Azure Apim MCP Agent

MCP Server

一个参考实现,用于将Azure API Management暴露为MCP服务器,使AI代理能够通过自然语言发现、查询和交互API。

工具数

0

提示词数

0

GitHub Stars

0

资源数

0
API集成自然语言处理C#ClaudeClaudeVS Code

安装说明

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

作者 / 组织

aundykmahesh

提供方

aundykmahesh

最后核验

2026/5/17 20:19

快速接入

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

详细介绍

天蓝色apim-mcp试剂

一个参考实现,用于将Azure API管理公开为MCP(模型上下文协议)服务器,使Claude和M365 Copilot等人工智能代理能够使用自然语言发现、查询和与您的API交互-本质上是 API目录的副本.

建筑

Claude / Copilot / VS Code (MCP Client)
        |
Azure API Management (MCP Server feature)
  - Auth: subscription key + Entra ID
  - Maps REST operations -> MCP tools
        |
Azure Container Apps (Functions, scale-to-zero)
  - RESTful API endpoints
        |
Azure ARM APIs (managed identity)
  - Reads API metadata from APIM instances

APIM内置的MCP服务器功能处理MCP协议。函数应用程序是一个普通的REST API。

REST API端点

方法路径描述
得到/instances列出所有已配置的APIM实例
得到/instances/{name}/apis列出实例中的所有API
得到/instances/{name}/apis/search?keyword={kw}按关键字搜索API
得到/instances/{name}/apis/{apiId}获取API元数据
得到/instances/{name}/apis/{apiId}/spec下载OpenAPI规范
得到/instances/{name}/apis/{apiId}/operations列出API中的所有操作(终结点)
得到/instances/{name}/catalog完整目录:所有API及其操作
职位/chat自然语言API查询(Azure OpenAI)
得到/health健康检查

先决条件

本地开发

  1. 克隆仓库并还原包:
dotnet restore
  1. 在中配置您的APIM实例 src/AzureApimMcp.Functions/local.settings.json:
{
  "IsEncrypted": false,
  "Values": {
    "AzureWebJobsStorage": "UseDevelopmentStorage=true",
    "FUNCTIONS_WORKER_RUNTIME": "dotnet-isolated",
    "Apim__Instances__0__Name": "dev",
    "Apim__Instances__0__SubscriptionId": "",
    "Apim__Instances__0__ResourceGroup": "",
    "Apim__Instances__0__ServiceName": "",
    "AzureOpenAI__Endpoint": "",
    "AzureOpenAI__DeploymentName": ""
  }
}

Azure OpenAI设置是可选的。如果省略 /chat 终结点将不可用,但所有其他终结点将正常工作。

  1. 在本地运行:
cd src/AzureApimMcp.Functions
func start
  1. 测试端点:
curl http://localhost:7071/health
curl http://localhost:7071/instances
curl http://localhost:7071/instances/dev/apis
curl "http://localhost:7071/instances/dev/apis/search?keyword=payment"
curl http://localhost:7071/instances/dev/apis/my-api/operations
curl http://localhost:7071/instances/dev/catalog
curl -X POST http://localhost:7071/chat \
  -H "Content-Type: application/json" \
  -d '{"message": "which API gives me a customer transaction history?", "sessionId": "test1"}'

部署

快速部署(推荐)

使用附带的部署脚本来构建、推送和部署所有内容:

./deploy.ps1

选项:

  • ./deploy.ps1 -SkipBuild --跳过Docker构建/推送,部署基础架构,仅重新启动
  • ./deploy.ps1 -SkipInfra --跳过二头肌部署,仅构建和重新启动

手动部署

构建并推送容器镜像

az acr login --name 
docker build -f src/AzureApimMcp.Functions/Dockerfile -t .azurecr.io/apim-mcp:latest .
docker push .azurecr.io/apim-mcp:latest

使用二头肌部署基础设施

az deployment group create \
  --resource-group  \
  --template-file infra/main.bicep \
  --parameters infra/main.bicepparam

更新容器应用程序

az containerapp update \
  --resource-group  \
  --name apim-mcp-app \
  --image .azurecr.io/apim-mcp:latest

配置APIM MCP服务器

部署后,配置APIM以将API公开为MCP服务器:

  1. 导航到Azure门户中的APIM实例
  2. 首选 MCP服务器 在API部分
  3. 将已部署的API添加为MCP服务器
  4. 从REST操作配置MCP工具映射

添加多个APIM实例

通过环境变量添加更多实例或 local.settings.json:

{
  "Apim__Instances__0__Name": "production",
  "Apim__Instances__0__SubscriptionId": "...",
  "Apim__Instances__0__ResourceGroup": "...",
  "Apim__Instances__0__ServiceName": "...",
  "Apim__Instances__1__Name": "staging",
  "Apim__Instances__1__SubscriptionId": "...",
  "Apim__Instances__1__ResourceGroup": "...",
  "Apim__Instances__1__ServiceName": "..."
}

项目结构

src/AzureApimMcp.Functions/
  Configuration/     - Strongly-typed config models
  Services/          - IApimService + ApimService (ARM SDK)
  Functions/         - HTTP trigger functions (REST + Chat endpoints)
  Program.cs         - Host builder + DI registration
  openapi.json       - OpenAPI specification

infra/
  main.bicep         - Orchestrator
  main.bicepparam    - Parameter values
  modules/           - ACR, ACA, identity, RBAC, APIM

deploy.ps1           - Build, push, and deploy script

目录标签

目录标签

API集成自然语言处理C#ClaudeAPI管理本地部署MCP协议Azure服务AI集成

支持客户端

ClaudeVS Code

接入字段

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

未说明

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

session

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

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

0

权限和风险

未说明session部署方式未说明

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

安装前确认

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

仍需确认:installCommand

来源信息

继续浏览同类 MCP