Server MCP,
in scala pico.
Dai strumenti veri a qualsiasi LLM, in un solo file. Tipizzato dalla tua libreria di schemi, servito via stdio o HTTP, su Node, Bun, Deno e l’edge.
server.ts9 righe
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 factory
pico()restituisce un server. Concatena tool, risorse e prompt. Niente classi, niente decorator, niente file di configurazione. - BSchema in, tipi outZod, Valibot o ArkType tramite Standard Schema. Handler tipizzati, JSON Schema generato, errori leggibili.
- COgni trasportostdio per i client desktop, Streamable HTTP per il web. Un handler
fetchstandard per tutto il resto.
Scheda tecnica
FIG. 02 — cosa c’è nella scatolaBundle3.9 kBminificato e compresso con gzip, tipi inclusi
Dipendenze0i tipi di Standard Schema sono incorporati
RuntimeNode ≥ 22 · Bun · Deno · Workersnessun modulo Node nel nucleo
Trasportistdio · Streamable HTTPpiù
server.fetch e server.handleSchemiZod · Valibot · ArkTypeo qualsiasi Standard Schema
ProtocolloMCP 2025-11-25testato con il client dell’SDK ufficiale
Documentazione anche per gli agenti
FIG. 03 — leggibile dalle macchine
Funziona con ogni client MCP
- Claude
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Zed
- JetBrains
- Il tuo agente