🚀 MCP Starter Kit: Tu primer Agente con Docker y Python
Este repositorio contiene el código fuente oficial del video de Joaquin Ruiz Lite: "Si no usas MCP, tu IA está incompleta (Docker Toolkit + Python)".
Aquí encontrarás un ejemplo práctico y minimalista de cómo crear un Servidor MCP (Model Context Protocol) desde cero, dockerizarlo y conectarlo a Claude Desktop.
📺 Sobre el Proyecto
El objetivo de este proyecto es demostrar que no necesitas ser un experto en LLMs para dotar a la IA de herramientas. En este ejemplo creamos un Dado de 12 caras (D12). Si entiendes este código, entiendes la base para conectar bases de datos, APIs o scripts de automatización.
📂 Estructura del Proyecto
server.py: El código del servidor usandoFastMCP(Python).Dockerfile: La receta para empaquetar el servidor de forma aislada.requirements.txt: Dependencias necesarias.claude_desktop_config.json: Ejemplo de configuración para tu cliente.
🛠️ Requisitos
- Docker Desktop instalado y corriendo.
- Claude Desktop (o cualquier cliente compatible con MCP).
⚡ Guía de Inicio Rápido
1. Clonar el repositorio
git clone [https://github.com/JoaquinRuiz/mcp-docker-tutorial.git](https://github.com/JoaquinRuiz/mcp-docker-tutorial)
cd mcp-starter-kit
2. Construir la imagen de Docker
Vamos a crear la imagen de nuestro servidor.
docker build -t mcp-d12 .
3. Configurar Claude Desktop
Abre tu archivo de configuración de Claude.
- Mac:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
Añade el siguiente bloque dentro de mcpServers:
{
"mcpServers": {
"d12-roller": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"mcp-d12"
]
}
}
}
Nota de Ingeniero: El flag -i es crucial porque MCP utiliza stdio (entrada/salida estándar) para comunicarse con el contenedor.
4. ¡A probar!
Reinicia Claude Desktop. Verás un icono de un enchufe 🔌 o un martillo 🔨 indicando que las herramientas están cargadas. Prueba con el prompt:
"Tira el dado de 12 caras y si sale más de 6, cuéntame un chiste corto."
📚 Aprende más con Jokioki
Si este código te ha servido, profundizar en la lógica detrás de la IA es lo que te diferenciará como ingeniero. Echa un vistazo a mis libros:
🤝 Contribuir
¿Se te ocurren más herramientas simples para empezar? ¡Haz un Pull Request! Vamos a construir el mejor repo de iniciación a MCP en español.
Hecho con ☕ y código por JoaquinRuizLite. ¡No olvides suscribirte al canal!
Metadata
Release files for iflow-mcp_joaquinruiz_mcp-docker-tutorial 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| iflow_mcp_joaquinruiz_mcp_docker_tutorial-0.1.0.tar.gz | 2.6 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| iflow_mcp_joaquinruiz_mcp_docker_tutorial-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 6.2 kB
Release files / iflow_mcp_joaquinruiz_mcp_docker_tutorial-0.1.0.tar.gz
| Download URL | iflow_mcp_joaquinruiz_mcp_docker_tutorial-0.1.0.tar.gz |
|---|---|
| Size | 2.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
125b85f32a4dc59ccc958e67db84cb513d28fd05d2684b50471e119f653e486b
|
|
BLAKE2b-256 checksum How to use checksums |
ae31a24674daed41271cfb48f9cac23b9c185851477cc39917a64e63b1dc2167
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.9.26 {"installer":{"name":"uv","version":"0.9.26","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"13","id":"trixie","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|
Release files / iflow_mcp_joaquinruiz_mcp_docker_tutorial-0.1.0-py3-none-any.whl
| Download URL | iflow_mcp_joaquinruiz_mcp_docker_tutorial-0.1.0-py3-none-any.whl |
|---|---|
| Size | 3.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
23bacd1ce0b87ef1449b5071bdb799c2c5033da9369f27e0990efa6d2e34e545
|
|
BLAKE2b-256 checksum How to use checksums |
f4130997be96b7f5e9ac382965ca8a6ebbfdc25e520db92140f380fa78e91a9e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.9.26 {"installer":{"name":"uv","version":"0.9.26","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"13","id":"trixie","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|