AI-assisted development is evolving constantly and at a rate of knots. Over the last year, Model Context Protocol (MCP) has been at the centre of many of the improvements.
This is the first post in a five-part series exploring MCP servers and their application to Infrastructure as Code (IaC) development.
Series Overview:
Model Context Protocol (MCP) is an open standard introduced by Anthropic and subsequently open-sourced to the broader community. It provides a standardised way for AI agents (like large language models) to communicate with external data sources, tools, and application services.
Anthropic have likened MCP to a universal adapter between AI agents and the real world. Without MCP, every integration between an AI agent and an external service would require custom code. With MCP, you can build a server once that exposes specific capabilities—like database queries, API interactions, or file system access—and any MCP-compatible AI agent can use it.
LLMs are trained on large datasets. Without additional data sources, their information is static and frozen at training time.
They cannot:
Example Limitations:
Without additional access to the internet, if you ask an AI agent “What are the current replication options for Azure Storage Accounts?”, it can only tell you what was in its training data—which might be months or years old. It can’t check the current Azure documentation or API specifications.
Similarly, if you ask it to “List all storage accounts in my subscription,” it simply can’t do it. The AI has no way to connect to your Azure environment.
MCP servers provide:
1. Real-time Data Access Query live systems for current information. An MCP server can connect to Azure APIs and retrieve current resource schemas, configurations, and state.
2. Tool Integration Connect to external APIs and services. Whether it’s GitHub, Azure, databases, or custom internal tools, MCP servers can expose them to AI agents.
3. Standardised Communication Use JSON-RPC for reliable, structured interactions. This means any MCP-compatible client can work with any MCP-compatible server.
The MCP Protocol follows a standard client-server architecture. It exposes agent tools and functions with well-defined inputs and outputs described in JSON Schema.
Key Components:
MCP servers can be built for various purposes:
1. Data Access Servers
2. Action Servers
3. Integration Servers
4. Specialised Servers
1. Interoperability Any MCP-compatible client can work with any MCP-compatible server. You are not locked into a specific AI platform.
2. Reusability Build an MCP server once, and multiple AI agents can use it. There is no need to create custom integrations for each AI tool.
3. Extensibility Adding new capabilities is as simple as implementing a new tool in your MCP server. There is no need to modify the AI agent.
4. Security Centralised authentication, authorisation, and auditing. Control exactly what AI agents can access and do.
5. Maintainability Updates to external APIs or services only require updating the MCP server, not every AI integration.
How is this different from just calling an API?
Traditional API Integration:
MCP Integration:
Think of MCP as “APIs for AI agents”, a layer designed for how AI agents interact with external systems.
For Infrastructure as Code:
For Development:
For Data Analysis:
The MCP ecosystem is growing rapidly:
Official Servers:
In this post, we’ve covered the fundamentals of MCP servers—what they are, why they exist, and how they work. Understanding these basics is crucial as we move forward in the series.
In Part 2, we’ll explore how MCP servers differ from and complement Claude Skills, examining when to use each approach and how they work together to create powerful AI-assisted workflows.
Coming Up in This Series: