Token导航 LogoToken导航

MCP Server · 运维云端

Remote MCP Pattern Azure

一个基于Terraform、Azure DevOps和工作负载身份联合的Microsoft Azure上的生产级MCP服务器托管基础设施解决方案。

未说明官方级别未说明来源级核验工具 0
安全认证基础设施即代码云计算

快速开始

公开资料没有提供安装命令,按仓库或官方文档接入。
作者 / 组织
okaneconnor
提供方
okaneconnor

工具数量

0

来源目录标注

资源数量

0

来源目录标注

提示词数量

0

来源目录标注

GitHub Star

4

仓库热度

收录来源

1 个

MCP World

选型结论

Remote MCP Pattern Azure 属于运维云端类 MCP Server,公开资料标注 0 个工具,通过传输方式未标注接入,客户端适配情况以官方文档为准,没有现成的安装命令;接入前要先准备 OAuth 授权。

分类

运维云端

传输方式

未说明

认证方式

OAuth 授权

部署方式

公开资料未说明

安装与配置

公开目录没有给出安装命令,需要按仓库 README安装;下面按同类条目的通用流程说明。

公开命令不是通用的启动方式,拼不出可靠配置示例;请在客户端 MCP 配置里按官方文档填写 command 和 args。

上手步骤

  1. 1

    先确认运行方式

    公开资料没有标注传输方式,先看仓库 README,确认是本地进程还是远程地址。

  2. 2

    获取服务

    公开目录没有给出安装命令,按仓库 README里的步骤安装或获取服务。

  3. 3

    写入客户端配置

    在客户端的 MCP 配置里填启动命令和参数,保存后完全退出客户端再打开,让新配置生效。

  4. 4

    验证是否可用

    连接成功后客户端会列出 0 个工具,随便调一个只读工具确认能返回结果。

接入前确认

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

公开资料仍需确认:安装命令

详细介绍

Azure上的远程MCP托管模式

一种生产就绪的基础架构模式,用于使用Terraform、Azure DevOps和工作负载身份联合在Microsoft Azure上托管模型上下文协议(MCP)服务器。

先决条件

  • 具有所有者/贡献者访问权限的Azure订阅
  • Azure CLI已安装并通过身份验证
  • 地形>=1.5
  • Azure DevOps组织(或GitHub Actions/Jenkins)

______________________________________________________________________

入门指南

步骤1:创建资源组和托管身份

首先,我们创建将在Terraform之外管理的基础资源。我们使用工作负载身份联合进行身份验证,它提供:

  • 无需管理或轮换客户端机密
  • 无泄密风险
  • 零信任安全原则
  • 微软推荐的CI/CD方法
设置环境变量
SUBSCRIPTION_ID=""
RESOURCE_GROUP=""          # e.g., rg-mcp-pipeline
LOCATION=""                       # e.g., uksouth, eastus
IDENTITY_NAME=""             # e.g., id-mcp-pipeline
创建资源
az account set --subscription $SUBSCRIPTION_ID

az group create \
  --name $RESOURCE_GROUP \
  --location $LOCATION

az identity create \
  --name $IDENTITY_NAME \
  --resource-group $RESOURCE_GROUP \
  --location $LOCATION
获取身份详细信息
IDENTITY_CLIENT_ID=$(az identity show --name $IDENTITY_NAME --resource-group $RESOURCE_GROUP --query clientId -o tsv)
IDENTITY_PRINCIPAL_ID=$(az identity show --name $IDENTITY_NAME --resource-group $RESOURCE_GROUP --query principalId -o tsv)

echo "Client ID: $IDENTITY_CLIENT_ID"
echo "Principal ID: $IDENTITY_PRINCIPAL_ID"

保存这些值-在接下来的步骤中您将需要它们。

______________________________________________________________________

步骤2:配置Azure DevOps

创建ADO组织和项目
  1. 引导到 Azure DevOps 并创建您的组织
  2. 为您的MCP基础设施创建新项目
创建服务连接

首选 项目设置 > 服务连接 > 新建服务连接:

设置值
类型Azure资源管理器
身份类型管理身份
订阅``
资源组``
管理身份``
服务连接名称``
创建联合凭据并分配权限
# Set variables (use values from Step 1)
ADO_ORG=""
ADO_PROJECT=""
SERVICE_CONNECTION_NAME=""

# Create Federated Credential
az identity federated-credential create \
  --name "ado-federation" \
  --identity-name $IDENTITY_NAME \
  --resource-group $RESOURCE_GROUP \
  --issuer "https://vstoken.dev.azure.com/${ADO_ORG}" \
  --subject "sc://${ADO_ORG}/${ADO_PROJECT}/${SERVICE_CONNECTION_NAME}" \
  --audiences "api://AzureADTokenExchange"

# Assign Contributor role
az role assignment create \
  --assignee-object-id $IDENTITY_PRINCIPAL_ID \
  --assignee-principal-type ServicePrincipal \
  --role "Contributor" \
  --scope "/subscriptions/$SUBSCRIPTION_ID"

# Assign User Access Administrator (required for Terraform RBAC)
az role assignment create \
  --assignee-object-id $IDENTITY_PRINCIPAL_ID \
  --assignee-principal-type ServicePrincipal \
  --role "User Access Administrator" \
  --scope "/subscriptions/$SUBSCRIPTION_ID"
分配参赛者ID权限

管道需要应用程序管理员角色和Microsoft Graph权限:

MI_OBJECT_ID=$(az identity show \
  --name $IDENTITY_NAME \
  --resource-group $RESOURCE_GROUP \
  --query principalId -o tsv)

# Assign Application Administrator role
az rest --method POST \
  --uri "https://graph.microsoft.com/v1.0/roleManagement/directory/roleAssignments" \
  --headers "Content-Type=application/json" \
  --body "{
    \"@odata.type\": \"#microsoft.graph.unifiedRoleAssignment\",
    \"principalId\": \"$MI_OBJECT_ID\",
    \"roleDefinitionId\": \"9b895d92-2cd3-44c7-9d02-a6ac2d5ea5c3\",
    \"directoryScopeId\": \"/\"
  }"

# Get Microsoft Graph Service Principal
MSGRAPH_SP_ID=$(az ad sp list --filter "appId eq '00000003-0000-0000-c000-000000000000'" --query "[0].id" -o tsv)

# Grant AppRoleAssignment.ReadWrite.All (for admin consent)
az rest --method POST \
  --uri "https://graph.microsoft.com/v1.0/servicePrincipals/${MI_OBJECT_ID}/appRoleAssignments" \
  --headers "Content-Type=application/json" \
  --body "{
    \"principalId\": \"${MI_OBJECT_ID}\",
    \"resourceId\": \"${MSGRAPH_SP_ID}\",
    \"appRoleId\": \"06b708a9-e830-4db3-a914-8e69da51d44f\"
  }"

# Grant Group.ReadWrite.All (for Entra ID groups)
az rest --method POST \
  --uri "https://graph.microsoft.com/v1.0/servicePrincipals/${MI_OBJECT_ID}/appRoleAssignments" \
  --headers "Content-Type=application/json" \
  --body "{
    \"principalId\": \"${MI_OBJECT_ID}\",
    \"resourceId\": \"${MSGRAPH_SP_ID}\",
    \"appRoleId\": \"62a82d76-70ea-41e2-9197-370581804d09\"
  }"

______________________________________________________________________

步骤3:创建远程状态存储

地形状态存储在Azure Blob存储中。出于引导目的,这在Terraform之外进行管理。

创建存储帐户
STORAGE_ACCOUNT=""         # e.g., stmcptfstate (must be globally unique)
CONTAINER_NAME=""           # e.g., tfstate

az storage account create \
  --name $STORAGE_ACCOUNT \
  --resource-group $RESOURCE_GROUP \
  --location $LOCATION \
  --sku Standard_LRS \
  --kind StorageV2 \
  --min-tls-version TLS1_2 \
  --allow-blob-public-access false

# Assign yourself Storage Blob Data Contributor
az ad signed-in-user show --query id -o tsv | az role assignment create \
  --role "Storage Blob Data Contributor" \
  --assignee @- \
  --scope "/subscriptions/$SUBSCRIPTION_ID/resourceGroups/$RESOURCE_GROUP/providers/Microsoft.Storage/storageAccounts/$STORAGE_ACCOUNT"

# Create container
az storage container create \
  --account-name $STORAGE_ACCOUNT \
  --name $CONTAINER_NAME \
  --auth-mode login

# Grant Pipeline identity access
az role assignment create \
  --assignee-object-id $IDENTITY_PRINCIPAL_ID \
  --assignee-principal-type ServicePrincipal \
  --role "Storage Blob Data Contributor" \
  --scope "/subscriptions/$SUBSCRIPTION_ID/resourceGroups/$RESOURCE_GROUP/providers/Microsoft.Storage/storageAccounts/$STORAGE_ACCOUNT"
初始化地形状态

为了高效部署,基础设施分为两个阶段:

# Stage 1 - ACR and Managed Identity
cd terraform/stage1
terraform init \
  -reconfigure \
  -backend-config="storage_account_name=$STORAGE_ACCOUNT" \
  -backend-config="resource_group_name=$RESOURCE_GROUP" \
  -backend-config="key=stage1.tfstate"

# Stage 2 - Main Infrastructure
cd ../stage2
terraform init \
  -reconfigure \
  -backend-config="storage_account_name=$STORAGE_ACCOUNT" \
  -backend-config="resource_group_name=$RESOURCE_GROUP" \
  -backend-config="key=stage2.tfstate"

______________________________________________________________________

步骤4:部署基础设施

配置变量

更新 terraform/environments/dev/terraform.tfvars 与你的价值观。

通过Pipeline部署

触发Azure DevOps管道以部署所有基础设施。

本地部署

如果在本地部署,请执行以下步骤:

第一阶段-部署ACR和托管身份
cd terraform/stage1
terraform plan -var-file="../environments/dev/terraform.tfvars"
terraform apply -var-file="../environments/dev/terraform.tfvars"
构建和推送MCP服务器映像

确保你已经安装并运行了Docker Desktop。

# Set ACR name (from Stage 1 output or terraform.tfvars)
ACR_NAME=""  # e.g., acrmcppoddev

# Login to ACR
az acr login --name $ACR_NAME

# Navigate to the mongo-db-server directory
cd mongo-db-server

# Build for Linux AMD64 (required for Azure Container Instances)
docker build --platform linux/amd64 -t ${ACR_NAME}.azurecr.io/mongodb-mcp:latest .

# Push to ACR
docker push ${ACR_NAME}.azurecr.io/mongodb-mcp:latest

# Return to terraform directory
cd ../terraform/stage2
指定密钥保管库权限

在部署阶段2之前,为自己分配密钥保管库管理员角色:

USER_OBJECT_ID=$(az ad signed-in-user show --query id -o tsv)
KEY_VAULT_NAME=""  # e.g., keyvault-mcp-pod-dev
SUBSCRIPTION_ID=""
RESOURCE_GROUP=""

az role assignment create \
  --role "Key Vault Administrator" \
  --assignee $USER_OBJECT_ID \
  --scope "/subscriptions/$SUBSCRIPTION_ID/resourceGroups/$RESOURCE_GROUP/providers/Microsoft.KeyVault/vaults/$KEY_VAULT_NAME"
第2阶段-部署主要基础设施
# Initialize terraform (if not already done)
terraform init \
  -backend-config="storage_account_name=$STORAGE_ACCOUNT" \
  -backend-config="resource_group_name=$RESOURCE_GROUP" \
  -backend-config="key=stage2.tfstate"

# Plan and apply
terraform plan -var-file="../environments/dev/terraform.tfvars"
terraform apply -var-file="../environments/dev/terraform.tfvars"

______________________________________________________________________

项目结构

.
├── terraform/
│   ├── stage1/                 # ACR & Managed Identity
│   ├── stage2/                 # Main infrastructure
│   ├── environments/
│   │   └── dev/
│   │       └── terraform.tfvars
│   └── modules/
│       ├── acr/                # Azure Container Registry
│       ├── apim/               # API Management
│       ├── app-registration/   # OAuth 2.0
│       ├── container-instance/ # MCP Containers
│       ├── cosmosdb-mongodb/   # Database
│       ├── entra-groups/       # Access Control Groups
│       ├── key-vault/          # Secrets
│       ├── managed-identity/   # Identity
│       ├── monitoring/         # Observability
│       ├── private-endpoint/   # Private Connectivity
│       ├── rbac/               # Role Assignments
│       └── vnet/               # Networking
├── pipelines/                  # Azure DevOps pipelines
└── docs/
    └── diagrams/

______________________________________________________________________

证券收益

特点优点
工作负载身份联合没有要管理或轮换的秘密
专用端点数据库仅可在ExpressRoute内访问
OAuth 2.0+Entra ID企业身份验证
基于组的路由管理员与只读访问控制
RBAC Everywhere最低权限访问

______________________________________________________________________

支持

对于问题或疑问,请在此存储库中提出问题。

工具与能力

工具数量

0

资源数量

0

提示词数量

0

能力标签

HCL本地部署云计算基础设施即代码容器托管DevOps安全认证

数量来自来源目录的标注,具体工具清单以官方文档为准。

典型使用场景

看服务状态

查询容器、日志和监控指标,定位异常。

执行部署变更

在权限范围内触发发布、回滚和环境切换。

核对资源用量

汇总用量,找出闲置和超额的部分。

选择建议

值得选的地方

  • 只提供 0 个工具,职责集中,接入后不容易误操作。
  • 公开说明写得比较完整,接入前能看清能力边界。

先想清楚的地方

  • 公开资料没有可直接复制的安装命令,第一次接入要自己找入口。
  • 需要自备OAuth 授权,没有凭据没法直接试。
  • 第三方目录整理,版本更新和行为细节以官方仓库为准。

更适合

  • 需要在运维云端场景里让模型直接调用外部能力的人。
  • 愿意照着官方文档一步步配环境的人。

不太适合

  • 暂时拿不到OAuth 授权的人。
  • 希望一条命令就装好、不想看文档的人。
  • 需要厂商级 SLA 和技术支持的生产环境。

同类对比

5 个同类
MCP Server工具数传输方式安装命令收录来源最后核验
Remote MCP Pattern Azure

MCP World · 本页

0未说明未标注1 个2026-05-17
Ui Tars Desktop 8a825770

MCP World

0stdio有1 个2026-05-17
Elie222 MCP

MCP World

0未说明未标注1 个2026-05-17
Arizeai Phoenix MCP

MCP World

0stdio有3 个2026-05-17
Unity MCP 87ee506e

MCP World

42HTTP有2 个2026-05-17

按同分类和工具数量挑出最接近的几条,字段以各自详情页为准。

常见问题

5 条

Remote MCP Pattern Azure 怎么安装?

公开目录没有给出可以直接复制的安装命令,需要按仓库 README里的步骤安装;装好后写进客户端的 MCP 配置再重启。

Remote MCP Pattern Azure 怎么在 Claude Desktop、Cursor 里配置?

它是传输方式未标注,客户端配置里要写启动命令和参数,运行环境是 未标注;保存后完全退出客户端再打开,配置才会生效。

Remote MCP Pattern Azure 收费吗?

本站只整理公开资料,不代收费用,也没有标注具体价格。是否收费取决于服务本身和背后的接口额度,正式使用前按官方说明确认。

Remote MCP Pattern Azure 需要 API Key 吗?

公开资料标注的认证方式是OAuth 授权,也就是要先拿到凭据才能连上;凭据只填在自己本地的配置里,不要写进公开仓库。

Remote MCP Pattern Azure 支持哪些客户端?

公开资料没有标注具体客户端;能配置本地 MCP 命令的客户端都能接,配置方式参照官方文档。

来源信息

继续浏览同类 MCP