Servidores MCP,
a escala pico.
Dale herramientas reales a cualquier LLM en un solo archivo. Tipado con tu librería de esquemas, servido por stdio o HTTP, en Node, Bun, Deno y el edge.
server.ts9 líneas
import { pico } from "picomcp";
import { z } from "zod";
pico({ name: "weather" })
.tool("forecast", {
input: z.object({ city: z.string() }),
run: ({ city }) => getForecast(city),
})
.serve(); // stdio — or .serve({ http: 3000 })
- AUna sola factoría
pico()devuelve un servidor. Encadena herramientas, recursos y prompts. Sin clases, sin decoradores, sin archivo de configuración. - BEsquema dentro, tipos fueraZod, Valibot o ArkType mediante Standard Schema. Handlers tipados, JSON Schema generado, errores legibles.
- CCualquier transportestdio para clientes de escritorio, Streamable HTTP para la web. Un handler
fetchestándar para todo lo demás.
Ficha técnica
FIG. 02 — qué trae la cajaBundle3.9 kBminificado y comprimido con gzip, tipos incluidos
Dependencias0los tipos de Standard Schema van integrados
RuntimesNode ≥ 22 · Bun · Deno · Workersningún módulo de Node en el núcleo
Transportesstdio · Streamable HTTPademás de
server.fetch y server.handleEsquemasZod · Valibot · ArkTypeo cualquier Standard Schema
ProtocoloMCP 2025-11-25probado con el cliente del SDK oficial
Documentación también para agentes
FIG. 03 — legible por máquinas
Funciona con cualquier cliente MCP
- Claude
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Zed
- JetBrains
- Tu agente