Advertisement
Developer Tools & Cloud Infrastructure Sponsor Zone

Model Context Protocol (MCP) Guide: Build Custom Tools for Claude & Cursor

By Dr. Erik Vandeberg Advanced 16 min read Updated 2026-09-12

What You Will Master in This Tutorial

  • Understand the MCP client-server protocol and JSON-RPC 2.0 transport.
  • Build a production MCP server in Python using FastMCP.
  • Expose secure database queries and file readers as agent tools.
  • Configure Cursor, Windsurf, and Claude Desktop to consume custom MCP servers.

1. What is Model Context Protocol (MCP)?

Model Context Protocol (MCP) is an open standard introduced by Anthropic that standardizes how AI applications connect to external data sources, developer tools, and proprietary environments. Think of MCP as the USB-C port for AI agents.

PYTHON
from mcp.server.fastmcp import FastMCP

# Initialize MCP Server
mcp = FastMCP("PostgresTools")

@mcp.tool()
def run_read_only_query(query: str) -> str:
    """Execute a safe SELECT query against the staging database."""
    if not query.strip().lower().startswith("select"):
        raise ValueError("Only read-only SELECT queries are permitted.")
    # Execute query against database pool
    return "Query executed: 24 records returned."

if __name__ == "__main__":
    mcp.run(transport="stdio")
Note: MCP servers can run locally over stdio or remotely over Server-Sent Events (SSE).
Advertisement
Cloud Infrastructure & High-Performance Dev Environments

Knowledge Check: Test Your Understanding

1. What communication protocol does MCP utilize under the hood?

Frequently Asked Questions

Can I use MCP with Cursor and VS Code?
Yes! Both Cursor, Windsurf, and modern VS Code extensions natively support configuring custom MCP servers in their settings JSON.