Skip to main content
Glama
juan97serrano

Demo MCP Server

README.md
# Demo: servidor MCP + LLM mockeado

Ejemplo mínimo del protocolo MCP (Model Context Protocol) con:

- [`server.py`](server.py): servidor MCP con dos tools (`suma`, `clima`).
- [`mock_llm.py`](mock_llm.py): un "LLM" 100% falso, basado en reglas con
  regex, que decide qué tool llamar según el mensaje del usuario. No hace
  ninguna llamada a red ni a ninguna API real.
- [`client.py`](client.py): cliente MCP que lanza `server.py` como
  subproceso, le pide la lista de tools, y usa `mock_llm.py` para decidir
  qué tool invocar y cómo redactar la respuesta final con el resultado.

## Setup

```bash
python3.11 -m venv .venv
./.venv/bin/pip install -r requirements.txt
```

## Ejecutar

```bash
./.venv/bin/python client.py
```

Prueba en el propio [`client.py`](client.py) tres mensajes: una suma, una
consulta de clima y un mensaje sin match, para ver los tres caminos
(tool `suma`, tool `clima`, sin tool).

## Sustituir el LLM mockeado por uno real

`mock_llm.py` expone la misma forma que necesitarías para conectar un LLM
real vía tool-calling (p. ej. Claude): recibe el mensaje del usuario y la
lista de tools, decide si llamar a una y con qué argumentos, y luego
redacta la respuesta final a partir del resultado de la tool. Cambiar
`MockLLM` por un cliente real (Anthropic, OpenAI, etc.) no requiere tocar
`server.py` ni la lógica de `client.py` que habla con MCP.