DEV Community

studio meyer
studio meyer

Posted on • Originally published at studiomeyer.io

MCP Server Architecture: How We Build Intelligent Agent Networks

The Model Context Protocol (MCP) is fundamentally changing how AI agents interact with the real world. Instead of isolated language models that only process text, MCP provides a standardized connection between AI and external systems -- databases, APIs, file systems, websites. At Studio Meyer, we use MCP servers to build intelligent agent networks for our clients. This article explains the architecture behind it.

What Is the Model Context Protocol?

MCP is an open protocol developed by Anthropic. It defines how AI agents access external tools and data sources. Think of MCP as USB-C for AI: a standardized connector that links vastly different systems together.

Without MCP, every AI integration must be built individually. Every API needs its own code, its own error handling, its own authentication. MCP solves this problem through three core primitives that every MCP Server provides.

The Three Primitives: Tools, Resources, Prompts

Every MCP Server offers one or more of these interfaces:

Tools

Tools are executable functions. An AI agent calls a tool, passes parameters, and receives a result. Tools are the heart of MCP Architecture -- they make the agent capable of taking action.

{
  "name": "analyze_website",
  "description": "Analyzes a website and returns structure, performance, and SEO data",
  "inputSchema": {
    "type": "object",
    "properties": {
      "url": { "type": "string", "description": "The URL to analyze" },
      "depth": { "type": "number", "description": "Crawl depth (1-5)" }
    },
    "required": ["url"]
  }
}
Enter fullscreen mode Exit fullscreen mode

The agent autonomously decides when a tool is useful. It reads the description, understands the parameters, and formulates the call. This is what distinguishes MCP Tools from classic API calls: the agent selects and combines tools on its own.

Resources

Resources are data sources that an agent can read. They provide context -- files, database records, configurations. Unlike tools, resources do not modify anything. They supply information.

mcp://website/sitemap
mcp://database/customers/active
mcp://config/brand-guidelines
Enter fullscreen mode Exit fullscreen mode

An agent can load a client's brand guidelines as a resource before making design decisions, for example. This way it works with context rather than guessing blindly.

Prompts

Prompts are predefined instruction templates that an MCP Server provides. They help the agent approach complex tasks in a structured way. A prompt might read: "Analyze this website against WCAG 2.1 criteria and produce an accessibility audit report."

The Server-Client Model

MCP Architecture follows a clear client-server model:

  • MCP Server: Provides tools, resources, and prompts. Runs as a standalone process.
  • MCP Client: Part of the AI agent. Connects to one or more MCP servers.
  • MCP Host: The application where the agent runs (e.g., Claude Desktop, an IDE, or a web app).

A single agent can connect to dozens of MCP servers simultaneously. Each server is specialized -- one for database access, one for website analysis, one for image generation. This creates an Agent Network: a web of specialized capabilities that the agent orchestrates based on the task at hand.

Connection Handshake

The client sends an initialize request to the server. The server responds with its capabilities -- which tools, resources, and prompts it offers. After that, the client can call tools or read resources at any time.

{
  "method": "initialize",
  "params": {
    "protocolVersion": "2025-03-26",
    "clientInfo": {
      "name": "studio-meyer-agent",
      "version": "1.0.0"
    }
  }
}
Enter fullscreen mode Exit fullscreen mode

Transport Layers: How MCP Communicates

MCP is transport-agnostic. The protocol only defines the message format (JSON-RPC 2.0), not the delivery mechanism. There are currently three common transport layers:

stdio (Standard Input/Output)

The simplest approach. The MCP Server runs as a child process of the client. Communication flows through stdin/stdout. Ideal for local development and desktop applications.

Advantages: No network required, minimal latency, simple setup.
Disadvantages: Local only, no sharing between clients.

HTTP with Server-Sent Events (SSE)

For distributed systems. The client sends HTTP requests, and the server streams responses via SSE. This enables cloud-hosted MCP servers reachable over the internet.

Advantages: Remote access, scalable, firewall-friendly.
Disadvantages: Higher latency, requires authentication.

Streamable HTTP

The newest transport standard. Combines the simplicity of HTTP with bidirectional streaming. A single HTTP endpoint /mcp accepts JSON-RPC messages and streams responses back. Supports session management via the Mcp-Session-Id header.

Advantages: Simpler than SSE, session-capable, flexible.
Disadvantages: Not yet universally supported.

WebMCP: MCP in the Browser

The most exciting development for websites is WebMCP. This initiative brings MCP directly into the browser. Through a new browser API -- navigator.modelContext -- any website can expose its capabilities as an MCP Server.

How WebMCP Works

A website declares an AI Endpoint in its HTML:

<meta name="model-context" content="/.well-known/mcp.json">
Enter fullscreen mode Exit fullscreen mode

The mcp.json file describes the available tools and resources. An AI agent visiting the website can automatically discover and use these capabilities.

{
  "name": "restaurant-booking",
  "description": "Restaurant reservation system",
  "tools": [
    {
      "name": "check_availability",
      "description": "Checks available tables for a given date",
      "inputSchema": {
        "type": "object",
        "properties": {
          "date": { "type": "string", "format": "date" },
          "guests": { "type": "integer", "minimum": 1 }
        }
      }
    },
    {
      "name": "make_reservation",
      "description": "Books a table",
      "inputSchema": {
        "type": "object",
        "properties": {
          "date": { "type": "string" },
          "time": { "type": "string" },
          "guests": { "type": "integer" },
          "name": { "type": "string" }
        }
      }
    }
  ]
}
Enter fullscreen mode Exit fullscreen mode

From "Normal" to "Agent-Ready"

What does this mean for businesses? Every website can transform from a passive brochure into an active AI Endpoint. A restaurant that shows a static menu today can offer reservations, menu queries, and review lookups as MCP Tools tomorrow.

A user's AI agent could say: "Find me an Italian restaurant in Hamburg with availability on Saturday for 4 people" -- and the answer comes directly from the restaurant's MCP Server, not from a stale database.

In Practice: How Studio Meyer Builds MCP Servers

At Studio Meyer, we build MCP servers as an integral part of modern websites. Our approach:

Step 1: Analyze the Business Logic

What actions does the business offer? Appointment booking, product search, availability checks, price calculations. Each of these actions becomes an MCP Tool.

Step 2: Tool Definition

We define tools with precise descriptions and strict input validation. The description is critical -- it determines when an agent selects the tool.

server.tool(
  "calculate_project_cost",
  "Calculates the cost for a web design project based on scope and features",
  {
    projectType: z.enum(["landing", "corporate", "shop", "webapp"]),
    pages: z.number().min(1).max(50),
    features: z.array(z.string()).optional()
  },
  async ({ projectType, pages, features }) => {
    const estimate = await calculateEstimate(projectType, pages, features);
    return {
      content: [{
        type: "text",
        text: JSON.stringify(estimate)
      }]
    };
  }
);
Enter fullscreen mode Exit fullscreen mode

Step 3: Resource Provisioning

Static information -- business hours, services, portfolio -- is provided as resources. This allows an agent to answer questions without calling tools.

Step 4: WebMCP Integration

The mcp.json file is generated and served under /.well-known/. The meta tags are added to the HTML. The website is now an AI Endpoint.

Step 5: Testing and Monitoring

We test every MCP Server with automated tool calls and monitor response times, error rates, and usage patterns.

Multiple MCP Servers as an Agent Network

The real power emerges when multiple MCP servers work together. At Studio Meyer, we operate over 200 MCP Tools internally, distributed across specialized servers:

  • Website Analysis: Structure, performance, SEO, accessibility
  • Design Generation: Animations, layouts, color systems, typography
  • Code Quality: Linting, security audits, Lighthouse tests
  • Deployment: Docker, Nginx, SSL, health checks
  • Business: CRM, billing, monitoring, onboarding

Each server is independently deployable and scalable. The agent dynamically selects which servers it needs for a given task. This is a true Agent Network -- not a monolithic system, but a flexible mesh of specialized services.

MCP vs. Traditional APIs: What Is the Difference?

At first glance, MCP looks like yet another API layer. In reality, there are fundamental differences that make MCP superior for AI agents:

Self-Describing Interfaces

A REST API needs documentation. A developer reads the docs, understands the endpoints, and writes code. An MCP Server describes itself. The agent reads the tool definitions and immediately understands what is possible. No docs needed, no human interpretation required.

Dynamic Composition

REST APIs are hard-wired. Endpoint A calls endpoint B -- that is written in code. MCP Tools are combined dynamically. The agent decides at runtime which tools it needs and in what order to call them. This enables workflows that were not even envisioned at development time.

Error Handling by the Agent

When an API call fails, the developer must program the error handling. With MCP, the agent takes over this role. It reads the error message, understands the problem, and tries alternative approaches. A tool returns "fully booked"? The agent asks for a different date instead of crashing with an error.

Unified Protocol

Every REST API has its own authentication, its own data format, its own conventions. MCP standardizes all of that. An agent that can communicate with one MCP Server can communicate with any MCP Server. That is the decisive scaling advantage.

Use Cases by Industry

MCP is applicable across industries. Here are examples of MCP Tools that Studio Meyer develops for different sectors:

Hospitality

  • check_availability -- Check available tables
  • make_reservation -- Book a table
  • get_menu -- Retrieve current menu
  • dietary_filter -- Filter dishes by allergy or diet

Real Estate

  • search_properties -- Search listings by criteria
  • schedule_viewing -- Book a property viewing
  • get_expose -- Retrieve listing PDF
  • calculate_financing -- Mortgage calculator

E-Commerce

  • search_products -- Search and filter products
  • check_stock -- Check availability
  • get_shipping_estimate -- Calculate delivery time
  • track_order -- Track an order

Professional Services

  • get_services -- Retrieve service catalog
  • book_appointment -- Schedule an appointment
  • get_quote -- Generate a cost estimate
  • check_status -- Query project status

In every industry, MCP Tools transform a passive website into an active business partner for AI agents. The tools map to business logic that already exists -- they simply make it accessible to agents.

Security: Authentication and Authorization

MCP servers exposed over a network must be secured:

Authentication

  • OAuth 2.1 for user authentication
  • API keys for server-to-server communication
  • JWT tokens with short expiration for session-based access

Authorization

Not every agent should be allowed to call every tool. Role-Based Access Control (RBAC) defines which roles may invoke which tools. A public agent may call check_availability but not delete_reservation.

Rate Limiting

Every MCP Server implements rate limiting -- a maximum of N calls per minute per client. This protects against abuse and ensures fair resource distribution.

Input Validation

Every tool call is validated against its defined JSON schema. Invalid inputs are rejected immediately, before they reach the business logic.

Performance: Fast Responses for Agents

AI agents expect fast responses. If a tool takes 10 seconds, the user experience suffers. Our performance strategy:

Response Times

  • Target: Under 200ms for simple tools, under 2 seconds for complex operations
  • Caching: Frequently requested data is cached (Redis, in-memory)
  • Connection Pooling: Database connections are reused

Scaling

  • Horizontal: Multiple instances behind a load balancer
  • Vertical: CPU and memory limits per container
  • Geographic: Edge deployment for global reachability

Monitoring

Every MCP Server reports metrics: call counts, latency, error rates. Anomalies trigger automatic alerts.

The Path to an Agent-Ready Website

Converting an existing website to MCP is not a complete rebuild. It is an extension:

  1. Analysis: What functions does the website have? What would an agent need?
  2. Tool Design: Define functions as MCP Tools -- with clear descriptions and schemas
  3. Server Implementation: Build the MCP Server in TypeScript or Python
  4. WebMCP Integration: Create mcp.json, add meta tags
  5. Testing: Automated tests, manual verification with different agents
  6. Deployment: Docker containers, monitoring, alerting
  7. Iteration: Analyze usage data, optimize tools, add new ones

Tool Composition: How Agents Solve Complex Tasks

The true intelligence of an Agent Network reveals itself in tool composition. A single tool answers a single question. But an agent that combines multiple tools solves complex tasks.

An example: A user asks their AI assistant "Plan a business dinner in Hamburg for next Tuesday, 4 people, vegetarian options must be available."

The agent could execute the following tool chain:

  1. search_restaurants with filter: Hamburg, Tuesday, at least 4 seats
  2. get_menu for each result to check for vegetarian options
  3. check_availability for the matching restaurants
  4. make_reservation at the best match
  5. send_confirmation to the participants

No single tool could accomplish this alone. But the combination produces a complete workflow. And the agent assembled this workflow itself -- it was not programmed. This is the strength of MCP Architecture: it enables emergent capabilities through the combination of simple tools.

Why Act Now?

The major AI providers -- Anthropic, OpenAI, Google -- already support MCP or will soon. When users ask their AI assistants "Book me a table at Restaurant X," the agent will visit the website. If it finds an AI Endpoint, it can book directly. If it does not, it moves to a competitor.

Businesses that adopt MCP early gain a clear competitive advantage. They are visible to AI agents while the competition remains invisible.

Studio Meyer Makes Your Website Agent-Ready

We install WebMCP for your website -- including custom MCP Tools tailored to your business. In 5 days, your website becomes a fully functional AI Endpoint.

The package for EUR 499 includes:

  • Analysis of your business logic and identification of relevant tools
  • Development and deployment of a custom MCP Server
  • WebMCP integration with mcp.json and meta tags
  • Testing with current AI agents (Claude, ChatGPT, Gemini)
  • Monitoring setup for usage and performance
  • 30 days of support after go-live

Your website will not only be found by humans -- it will be understood and used by AI agents. This is the future of the web, and it starts now.


Originally published on studiomeyer.io. StudioMeyer is an AI-first digital studio building premium websites and intelligent automation for businesses.

Top comments (0)