MPC-PoC-1-EchoServerToolsbasicas
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@MPC-PoC-1-EchoServerToolsbasicas echo 'hello world'"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
PoC 1 — MCP Echo Server (Tools básicas sobre stdio)
Primera PoC de una serie de 5 para aprender MCP (Model Context Protocol) en profundidad. Server MCP en Python que expone 3 tools simples sobre transporte stdio, pensado para validar el handshake completo initialize → negociación de capabilities → tools/list → tools/call contra Claude Desktop / Claude Code.
Spec completa de la PoC: POC1_MCP_ECHO_SERVER.md.
Tools expuestas
Tool | Input | Output | Propósito didáctico |
|
| el mismo string | Validar ida y vuelta trivial |
|
| la suma | Validar tipado de inputs y coerción |
|
| el string invertido | Validar manejo de strings no triviales |
Implementadas como funciones síncronas y puras (sin efectos secundarios) usando la API moderna FastMCP del SDK mcp (decorador @mcp.tool()).
Related MCP server: MCP Demo
Instalar dependencias
Con uv (preferido):
uv syncCon venv + pip:
python -m venv .venv
.venv\Scripts\activate # Windows
pip install -e .Registrar el server en Claude Desktop
Editar claude_desktop_config.json (en Windows: %APPDATA%\Claude\claude_desktop_config.json) y agregar:
{
"mcpServers": {
"poc1-echo-server": {
"command": "uv",
"args": [
"run",
"--directory",
"C:\\PoC\\MCP\\MPC-PoC-1-EchoServerToolsbasicas",
"python",
"server.py"
]
}
}
}Si preferís usar el intérprete de un venv en vez de uv, reemplazá command/args por la ruta absoluta al python.exe del venv y ["C:\\PoC\\MCP\\MPC-PoC-1-EchoServerToolsbasicas\\server.py"].
Reiniciar Claude Desktop para que detecte el nuevo server.
Probar cada tool
Frases de ejemplo para gatillar cada tool desde el chat de Claude Desktop:
echo: "Usá la tool echo para repetir el mensaje 'hola mundo'"
add: "Sumá 15.5 y 22.3 usando la tool add"
reverse: "Invertí el string 'MCP' con la tool reverse"
También podés correr el server directo para validar que arranca sin errores:
python server.pyVa a quedar esperando input JSON-RPC por stdin (comportamiento normal); Ctrl+C para salir.
Ver los logs de stderr (debug del handshake)
Todo el logging va a stderr (nunca a stdout, que es el canal del protocolo). Claude Desktop guarda los logs de cada MCP server en:
%APPDATA%\Claude\logs\mcp-server-poc1-echo-server.logAhí se ve el initialize, la negociación de capabilities y cada tools/call con sus argumentos, gracias al logging agregado en server.py.
Qué aprendí
El SDK
mcpmoderno resuelve casi todo conFastMCP+@mcp.tool(): el schema de inputs se genera solo a partir de los type hints, sin tocar JSON Schema a mano.El canal stdout está reservado 100% para JSON-RPC — cualquier
print()o log mal dirigido rompe el protocolo; todo el logging tiene que ir a stderr explícitamente.El handshake (
initialize→tools/list→tools/call) es visible y depurable en los logs de Claude Desktop, lo cual hace mucho más fácil diagnosticar problemas de conexión que "adivinar" desde el lado del cliente.Correr el server standalone (
python server.py) antes de registrarlo en Claude Desktop ahorra un ciclo completo de debugging: si arranca limpio ahí, el problema de conexión está en la config, no en el código.
Siguiente en la serie
PoC 2 — Resource Provider: exponer Google Sheets como Resources leíbles vía MCP.
Available Tools
3 toolsTool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 3 tools
Each tool performs a completely distinct operation: echo returns input unchanged, add performs numeric addition, reverse flips a string's character order. There is no overlap or ambiguity between them.
All three tool names are single lowercase verbs in a consistent imperative style: echo, add, reverse. The pattern is uniform and predictable.
Three tools is a reasonable size for a basic PoC utility server. While slightly minimal, it stays within a well-scoped range and avoids being either overly thin or bloated.
For a simple echo server with basic utilities, the set covers its apparent purpose without glaring gaps. The operations are self-contained, though there is no clear domain model requiring CRUD coverage.
Related MCP Connectors
MCP server for progressive tool usage at any scale (see https://klavis.ai)
Nifty's MCP server — exposes tasks, projects, messages, and files as tools for AI agents.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceA minimal MCP server that exposes tools for addition, echoing text, time lookup, and URL fetching, with support for HTTP and stdio transports.-
- FlicenseNot gradedqualityDmaintenanceA model-agnostic MCP server exposing example tools (add1, multiply2, greet) for learning purposes, working with any LLM through stdio transport.-
- FlicenseNot gradedqualityDmaintenanceMinimal MCP server for testing GitHub PR checks pipeline, with deterministic tools echo, add, and server_info.-
- AlicenseNot gradedqualityDmaintenanceA simple MCP server/client implementation for testing Hermes Agent, exposing basic tools like echo, add, and get_server_info via stdio.MIT