What Are MCP Servers and Why They Matter for AI-Assisted Development

MCP Claude Code Cursor monday-morning specs · tasks · issues github repos · PRs · issues postgres query · schema clients servers

MCP servers connect AI coding assistants to your tools and project data. Learn how the Model Context Protocol works and why it changes everything.

Angela Edmundson··8 min read

You're using an AI coding assistant. It's good at writing functions, explaining code, and fixing bugs. But ask it what you worked on yesterday, which tasks are blocked, or what your database schema looks like — and it has nothing. It's flying blind.

This is where MCP servers come in. They're the missing layer between your AI assistant and everything it should know about but doesn't.

What MCP actually is

MCP stands for Model Context Protocol. It's an open standard, created by Anthropic, that defines how AI assistants communicate with external tools and data sources. Think of it as a USB port for AI — a universal interface that lets any compliant client talk to any compliant server.

An MCP server is a process that exposes three types of capabilities to an AI assistant:

  • Tools — functions the AI can call (create a task, query a database, post a message)
  • Resources — data the AI can read (project files, API responses, database records)
  • Prompts — templated interactions the server suggests (review workflows, analysis patterns)

The AI assistant (the MCP client) connects to one or more MCP servers over stdio or HTTP. When the AI needs information or wants to take an action, it calls the appropriate server. The server handles the actual work and returns the result.

No API keys baked into prompts. No copy-pasting context. No brittle workarounds. The AI asks, the server answers.

Why AI assistants need this

AI coding assistants have two fundamental constraints that MCP addresses directly.

They're stateless. Every conversation starts from zero. The model doesn't remember what you did last session, what decisions you made, or what's currently broken. Without an external system feeding state back in, you're the one doing the remembering — and the re-explaining.

They have limited context windows. Even with large context models, you can't dump your entire codebase, project history, Jira board, database schema, and Slack threads into a single prompt. You need something that can serve up the right slice of context at the right time.

MCP servers solve both problems. They give the AI a way to pull in relevant state on demand. Instead of you manually assembling context, the AI queries the MCP server for exactly what it needs: the current task list, the spec for the feature it's implementing, the schema of the table it's writing a query against.

This shifts AI assistants from "smart autocomplete" to something closer to a team member with access to the same tools you use.

How the protocol works

The mechanics are simpler than you'd expect.

  1. Discovery. When an MCP client (like Claude Code) starts, it reads its configuration to find registered MCP servers. Each server declaration includes a command to launch the server process.

  2. Initialization. The client starts each server process and performs a handshake. The server announces its capabilities — which tools, resources, and prompts it offers.

  3. Interaction. During a conversation, the AI decides when to call a tool or read a resource. The client sends a JSON-RPC request to the appropriate server. The server processes it and returns the result. The AI incorporates the result into its response.

  4. Lifecycle. Servers stay running for the duration of the session. They can maintain internal state, cache data, or hold connections to external services.

The protocol uses JSON-RPC 2.0 over stdio (for local servers) or HTTP with Server-Sent Events (for remote servers). It's intentionally simple. If you've built a REST API, you can build an MCP server.

Real example: Monday Morning as an MCP server

Monday Morning is a project management layer that stores specs, tasks, issues, and notes as local markdown files in your repo. It runs as an MCP server that gives Claude Code direct access to your project state.

Here's what that looks like in practice.

You open Claude Code on a Monday morning (hence the name). Instead of spending ten minutes explaining where you left off, the AI calls mm_get_working_context and instantly knows:

  • Three tasks are in progress on the auth feature
  • One issue was filed Friday about a race condition in the session handler
  • The spec for the notifications feature was approved but implementation hasn't started
  • Your last session ended mid-refactor on the database layer

From there, you can say "pick up where I left off" and the AI has enough context to do exactly that. It can call mm_get_spec to pull the full specification, mm_start_task to mark a task as in progress, or mm_create_issue when it discovers a bug.

The key point: none of this context lived in the conversation. It lived in your project's .mm/ directory, and the MCP server made it accessible to the AI without you lifting a finger.

Setting up MCP servers with Claude Code

Claude Code reads MCP server configurations from its settings. You can configure them at the project level (in .claude/settings.json) or globally.

A typical MCP server configuration looks like this:

{
  "mcpServers": {
    "monday-morning": {
      "command": "npx",
      "args": ["-y", "monday-morning-mcp"],
      "cwd": "/path/to/your/project"
    }
  }
}

That's it. When Claude Code starts, it launches the server process, performs the handshake, and the AI gains access to every tool the server exposes. You can register multiple servers — a project management server, a database server, a design tool server — and the AI can use all of them in a single conversation.

To add an MCP server from the Claude Code CLI:

claude mcp add monday-morning npx -y monday-morning-mcp

You can verify it's connected by asking Claude Code to list its available tools. You'll see the server's tools alongside the built-in ones.

The MCP ecosystem

Monday Morning is one MCP server in a growing ecosystem. Here are some notable ones:

Data and databases. Postgres, SQLite, and Redis MCP servers let the AI query your databases directly. Instead of you copying schema definitions into the prompt, the AI runs introspection queries through the MCP server and gets the real schema.

Version control. GitHub and Git MCP servers give the AI access to issues, pull requests, commit history, and repo metadata. The AI can check open PRs, read issue descriptions, and understand the project's development history.

Design tools. Figma's MCP server lets the AI inspect design files, read component properties, and understand the design system. This bridges the gap between design and implementation in a way that screenshots in prompts never could.

File systems. The filesystem MCP server provides controlled access to local files. The AI can read, write, and search files within defined boundaries.

Communication. Slack and email MCP servers let the AI read messages and post updates. Useful for pulling in context from team discussions or sending status updates.

Cloud infrastructure. AWS, Cloudflare, and other cloud provider MCP servers let the AI interact with your infrastructure — reading logs, checking deployments, managing resources.

The ecosystem is still early but moving fast. The pattern is clear: any tool or data source a developer uses regularly will eventually have an MCP server.

Building your own MCP server

If your team has internal tools or custom workflows, building an MCP server is a viable option. The official SDKs are available in TypeScript and Python, and a minimal server can be under 50 lines of code.

import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
import { z } from "zod";

const server = new McpServer({ name: "my-server", version: "1.0.0" });

server.tool("get_status", { project: z.string() }, async ({ project }) => {
  const status = await fetchProjectStatus(project);
  return { content: [{ type: "text", text: JSON.stringify(status) }] };
});

You define tools with input schemas (using Zod for validation), implement the handler, and the SDK handles the protocol details. The barrier to entry is low, which is why the ecosystem is growing as fast as it is.

Where this is heading

MCP matters because it solves the integration problem at the protocol level rather than the application level. Before MCP, every AI tool had its own way of connecting to external data — custom plugins, proprietary APIs, hardcoded integrations. None of them were interoperable.

With MCP, a server written for Claude Code works with any MCP-compatible client. A tool built for one workflow is reusable in another. The ecosystem compounds instead of fragmenting.

For developers using AI coding assistants today, the practical takeaway is this: start connecting your AI to your actual tools and data. The gap between what AI assistants know and what they could know is enormous, and MCP servers close it.

Your AI doesn't need to be smarter. It needs to know what you know. MCP makes that possible.

Frequently Asked Questions

What is an MCP server?
An MCP server is a lightweight process that exposes tools, resources, and prompts to AI coding assistants using the Model Context Protocol. It acts as a bridge between the AI and external systems — project management tools, databases, APIs, design tools — so the AI can read and act on real data instead of guessing.
How is MCP different from function calling or plugins?
Function calling is model-specific and typically defined inline within a single conversation. MCP is a standardized protocol that works across clients, supports persistent connections, and lets servers expose dynamic tools and resources. Think of function calling as hardcoded instructions; MCP is a plug-and-play interface.
Do I need to write my own MCP server?
No. There are dozens of open-source MCP servers available for common tools like GitHub, Postgres, Slack, and file systems. You can also use application-specific servers like Monday Morning. Writing your own is an option if you need custom integrations, and the SDK makes it straightforward.
Which AI assistants support MCP?
Claude Code has native MCP support and is the most mature client. Claude Desktop also supports MCP servers. The protocol is open, and other AI tools are beginning to adopt it. Any client that implements the MCP specification can connect to any MCP server.
Is MCP only for coding assistants?
No. MCP is a general-purpose protocol for connecting AI models to external context and capabilities. While coding assistants are the most common use case today, MCP servers can serve any AI application that needs to interact with tools, databases, or APIs.
#mcp#mcp-server#claude-code#ai-tools#developer-tools

Keep Reading