38 minutes ago · 19 min read3814 words · Tech · hide

I like to understand what’s happening behind the scenes with any technology, especially when a tool or protocol is usually introduced through prebuilt clients. In this tutorial we will use tools commonly found on Linux systems to send MCP requests ourselves, and see how a few of its features work. The focus will be on understanding the protocol, transports, and authentication at a low level, and gaining an insight into how MCP clients and servers communicate under the hood. Setup Start by creating a folder for the tutorial, then a virtual environment with some dependencies that will be needed: mkdir -p tutorial_mcp_low_level cd tutorial_mcp_low_level uv init uv sync uv add fastmcp source .venv/bin/activate Create a server.py with a minimal MCP server setup. from fastmcp import FastMCP mcp = FastMCP("learn") @mcp.tool() def add(a: int, b: int) -> int: """Add two integers together!""" return a + b This is a bare-bones MCP server with a single registered tool: add, which adds two…

Commenting on Bubbles has been removed. Why? If you want to talk about this post, write to the author, use the comments on their blog if it has them, or reply with a "RE:" post on your own blog. Suggestions? feedback@bubbles.town