mcp-node
A single-tenant, self-managing MCP node in one capped Azure resource group.
Overview
An open MCP server you stand up in your own Azure with one command. It runs on a Function App (serverless, scale-to-zero), lives in one resource group capped at about ten dollars a month, and gives a connected AI the tools to manage that resource group and its own code. One owner, one connection, full access; no permission system to configure.
It is the foundation for the Building an AI System series, and the base the rest of the stack builds on.
Architecture
One resource group holds everything: the Function App that serves the MCP endpoint and the OAuth sign-in, a Key Vault for secrets, a managed identity scoped to that group, App Insights, and a monthly budget cap. Tools connect out to Azure and GitHub; you add more by dropping a module and redeploying.
Lessons learned
- Scale-to-zero plus your own AI keeps an idle node near zero cost
- A managed identity beats a stored secret for letting the node act on Azure
- On an RBAC Key Vault, subscription Owner does not grant secret access; grant it explicitly
- Shipping the install as one agent prompt removes almost all setup friction
Deployment
One-shot deploy into a fresh resource group: a bicep template plus an agent install prompt (or a plain script), with a built-in cost cap.