Herramienta gratuita

De API REST a servidor MCP en Ruby

Lo que hace falta de verdad para exponer una API REST como servidor MCP en Ruby: el SDK, una herramienta que funciona y la parte que decide si un agente la usa bien.

SDK de la comunidad community SDKs
Instalación
gem install mcp
Una herramienta MCP que funciona en Ruby
# Community SDK; check the gem tracks a current spec revision before relying on it.
server = MCP::Server.new(name: "my-server")

server.register_tool(
  name: "get_order",
  description: "Look up one order by its id and return its current status.",
  input_schema: { type: "object",
                  properties: { orderId: { type: "string",
                                           description: "The order id to look up" } },
                  required: ["orderId"] }
) { |args| fetch_order(args["orderId"]) }

Funciona. Nadie más puede verlo.

Un servidor que funciona es donde acaba el esfuerzo y empieza la venta. Apunta MCP Showcase hacia él y obtén un playground en vivo que tus clientes pueden probar, con documentación generada para cada herramienta.

Cómo funciona

link
Instala el SDK

Se muestra arriba, junto con si está mantenido oficialmente o es un proyecto de la comunidad, algo que importa más en unos lenguajes que en otros.

play_circle
Envuelve un endpoint

Empieza con una sola herramienta, no con toda tu API. Las definiciones de herramientas se envían al modelo en cada petición, y el acierto al elegir baja según crece la lista.

checklist
Pruébalo antes de conectar un agente

Pasa la URL desplegada por el MCP Inspector para confirmar que el handshake se completa y que las herramientas aparecen como querías.

El SDK de Ruby

gem install mcpcommunity SDKs, un proyecto de la comunidad: no hay SDK bajo modelcontextprotocol para Ruby.

Eso importa más de lo que parece. El protocolo se ha movido rápido, sobre todo en transportes, y un port que dejó de seguir revisiones de la especificación funcionará con unos clientes y fallará en silencio con otros. Comprueba la última revisión que siguió la biblioteca antes de construir sobre ella.

No hay un único SDK oficial

Ruby no tiene un SDK mantenido bajo modelcontextprotocol, así que las opciones son gemas de la comunidad de completitud y actualidad variables. Comprueba cuándo siguió la gema una revisión de la especificación por última vez antes de comprometerte: el protocolo ha avanzado más rápido que la mayoría de ports comunitarios, sobre todo en transportes.

Envolver un endpoint REST

Un servidor MCP es una capa fina sobre código que ya tienes. Cada herramienta necesita tres cosas: un nombre, una descripción que diga qué hace y cuándo elegirla, y un esquema de entrada. El SDK de Ruby se encarga del protocolo; lo que escribes tú es la correspondencia entre esos argumentos y tu llamada HTTP existente.

Empieza por un endpoint y no por toda tu API. Las definiciones de herramientas se reenvían al modelo en cada petición, así que cada una es un coste de contexto permanente, y el acierto del modelo al elegir baja según crece la lista. Ocho herramientas bien descritas ganan a ochenta.

La parte que no va de Ruby

Sea cual sea el lenguaje, las descripciones deciden si el agente se comporta. Las lee el modelo, no tus compañeros, y una herramienta descrita en tres palabras se llama a ciegas. Puedes revisar las tuyas con el linter de esquemas MCP y ver qué cuesta la lista por petición con la calculadora de tokens.

Herramientas y guías relacionadas

Un servidor que funciona es la mitad del trabajo

Una vez que arranca, queda el problema de que nadie puede saber qué hace. Un cliente potencial no puede leer tu código Ruby y no instalará un cliente para averiguarlo. MCP Showcase apunta a la misma URL y produce un playground en vivo con documentación generada para cada herramienta, de modo que evaluar tu servidor cueste un clic.

Preguntas frecuentes

Envuelve en una herramienta cada endpoint que quieras que un agente alcance: un nombre, una frase sobre qué hace y cuándo usarla, y un esquema de entrada. El SDK de Ruby se encarga del protocolo; lo que escribes tú es la correspondencia entre los argumentos de la herramienta y tu llamada HTTP existente.

No, y este es el error más común. Las definiciones de herramientas se reenvían en cada petición: ochenta endpoints son ochenta descripciones en la ventana de contexto de cada turno, y la capacidad del modelo para elegir la correcta cae con claridad según crece la lista. Empieza por las pocas que un agente necesita de verdad.

La etiqueta sobre el código te lo dice. Donde no hay SDK oficial, las opciones de la comunidad siguen la especificación con mayor o menor fidelidad: comprueba cuándo siguió la biblioteca una revisión del protocolo por última vez, sobre todo en transportes, antes de construir sobre ella.

Streamable HTTP para todo lo desplegado. Los clientes lo intentan cada vez más en primer lugar y algunos ya no recurren al antiguo HTTP+SSE, lo que se manifiesta como un cliente que simplemente no ve tu servidor y no como un error.

No puedes saberlo releyendo tu propio código, porque ya sabes qué hacen las herramientas. Pasa el servidor por el linter de esquemas: revisa las descripciones y los esquemas de entrada como los lee un modelo y señala los que obligarían a un agente a adivinar.

Más herramientas MCP gratuitas