MCP.so
Sign In
Servers

Simple MCP Client / Server

@tikoehle

Overview

What is Simple MCP Client / Server?

Simple MCP Client / Server is a reference implementation that demonstrates building a Model Context Protocol (MCP) server and client. It provides a basic weather forecast and alert server using stdio and SSE transports, intended as a quickstart for developers learning MCP.

How to use Simple MCP Client / Server?

Install uv and then clone the repository. Create an MCP server project with uv init mcp_server, add dependencies (mcp[cli] and httpx), and write a Python server file. Start the server with uv run weather_stdio.py. Run the client with uv run client_stdio.py ../mcp_server/weather_stdio.py. Test with VSCode/Cline or MCP Inspector.

Key features of Simple MCP Client / Server

  • Provides two weather tools: forecast and alerts.
  • Supports both stdio and SSE transport.
  • Includes a client that connects to the server.
  • Testable via VSCode/Cline or MCP Inspector.
  • Uses uv for dependency management and execution.
  • Designed as a quickstart example for MCP development.

Use cases of Simple MCP Client / Server

  • Learning how to create an MCP server from scratch.
  • Testing MCP tools locally with a client or inspector.
  • Demonstrating stdio and SSE transport modes.
  • Integrating weather data into MCP‑compatible applications.

FAQ from Simple MCP Client / Server

What dependencies are required?

You need uv (installed via the shell script), Python, and the MCP Python package with the CLI extra. Also httpx is required for the weather data fetching.

How do I test the server?

You can test it through VSCode/Cline by adding the server configuration to mcpServers, or by using MCP Inspector (uv run mcp dev ./weather_stdio.py).

What transports are supported?

The server supports both STDIO (standard input/output) and SSE (Server‑Sent Events) over HTTP. The SSE server runs on port 8001 by default.

Can I run the server on a remote machine?

Yes, for SSE transport the server runs on a remote machine. The MCP Inspector client UI can connect to it using the SSE URL (e.g., http://comp9:8001/sse). For STDIO, the client must be on the same machine.

Are there any restrictions on logging?

Local MCP servers should not log messages to stdout because it will interfere with protocol operation.

More from Other