Skip to main content
Glama
joanby

Catálogo Frogames

by joanby

Catálogo Frogames — servidor MCP remoto

Este es el proyecto del vídeo "Tu servidor MCP fuera del portátil", la segunda parte de Crea tu primer servidor MCP en Python.

Es el estado final: el mismo servidor del vídeo anterior, pero sobre transporte streamable HTTP, con endpoint de salud y autenticación por token, listo para desplegar en un VPS. Si buscas la versión sencilla sobre stdio, está en el repositorio del vídeo anterior.

Qué hay aquí

Fichero

Qué es

servidor.py

El servidor: 1 tool (buscar_curso), 2 resources, /salud y middleware de token

cursos.json

Catálogo real de cursos de Frogames

pyproject.toml

Proyecto uv con mcp[cli] (que ya trae uvicorn)

despliegue/catalogo-mcp.service

Unidad de systemd para que el proceso no se muera nunca

despliegue/nginx-catalogo.conf

Proxy inverso de Nginx, con las líneas que necesita el streaming

Related MCP server: University Course Catalog MCP Server

Probarlo en local

uv sync
CATALOGO_TOKEN=$(openssl rand -hex 32) uv run python servidor.py

El servidor queda escuchando en http://127.0.0.1:8000/mcp (y /salud para comprobar que está vivo). Variables de entorno disponibles: CATALOGO_TOKEN, CATALOGO_HOST, CATALOGO_PORT.

⚠️ Sin CATALOGO_TOKEN, el servidor rechaza todas las peticiones con 401. Es intencionado: es mejor que no arranque útil a que arranque abierto.

Conectarlo desde Claude Code

claude mcp add --transport http catalogo http://127.0.0.1:8000/mcp \
  --header "Authorization: Bearer TU_TOKEN"

Y en producción, con tu dominio:

claude mcp add --transport http catalogo https://TU_DOMINIO/mcp \
  --header "Authorization: Bearer TU_TOKEN"

Desplegarlo en un VPS

Los pasos completos están en el vídeo. Resumen:

  1. Usuario sin privilegios (nunca root), uv instalado, git clone + uv sync.

  2. despliegue/catalogo-mcp.service/etc/systemd/system/, sustituyendo <usuario> y <token>. daemon-reload, enable, start.

  3. Registro DNS de tipo A apuntando al VPS.

  4. despliegue/nginx-catalogo.conf/etc/nginx/sites-available/, sustituyendo <dominio>. Enlace simbólico a sites-enabled, nginx -t, reload.

  5. certbot --nginx -d <dominio> para el HTTPS.

  6. Firewall: solo SSH y Nginx. El puerto 8000 no se abre — el proceso escucha en 127.0.0.1.

Sobre la autenticación

El middleware de este repo es un token estático (Authorization: Bearer …). Es lo mínimo razonable para exponer un servidor MCP en internet y es lo que se enseña en el vídeo.

El SDK de MCP soporta además OAuth 2.1 como servidor de recursos, vía los parámetros auth y token_verifier de MCPServer. Si vas a dar acceso a terceros de verdad, ese es el camino.


Curso completo de Ingeniería de Agentes de IA: https://cursos.frogamesformacion.com/courses/agentes-ia

Maintenance

ActivityMaintained
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/joanby/servidor-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server