# picomcp > MCP servers, at pico scale. A zero-dependency TypeScript framework for Model Context Protocol servers. About 4 kB, typed from Zod/Valibot/ArkType schemas, runs on Node 22+, Bun, Deno and Workers, serves over stdio and Streamable HTTP. Install with `npm i picomcp`. Minimal server: ```ts import { pico } from "picomcp"; import { z } from "zod"; pico({ name: "weather" }) .tool("forecast", { input: z.object({ city: z.string() }), run: ({ city }) => `Sunny in ${city}` }) .serve(); ``` ## Getting started - [Introduction](https://picomcp.github.io/picomcp/docs/index.md): What picomcp is, what it is not, and the ten lines that explain it. - [Quickstart](https://picomcp.github.io/picomcp/docs/quickstart.md): Scaffold, test and connect your first MCP server in five minutes. - [Connect a client](https://picomcp.github.io/picomcp/docs/clients.md): Configuration for Claude Code, Claude Desktop, Cursor, VS Code and the MCP Inspector. ## Guides - [Tools](https://picomcp.github.io/picomcp/docs/tools.md): Define tools, validate input, return text, objects or media, report errors and handle cancellation. - [Resources](https://picomcp.github.io/picomcp/docs/resources.md): Expose files, records and live data the client can read, with typed URI templates. - [Prompts](https://picomcp.github.io/picomcp/docs/prompts.md): Offer reusable prompt templates that users pick from the client, with validated arguments. - [Schemas](https://picomcp.github.io/picomcp/docs/schemas.md): Use Zod, Valibot, ArkType or any Standard Schema library, and how JSON Schema is generated. - [Transports](https://picomcp.github.io/picomcp/docs/transports.md): stdio for local clients, Streamable HTTP for remote ones, and the fetch handler that powers both. - [Testing](https://picomcp.github.io/picomcp/docs/testing.md): Test tools in-process with full types, then test the protocol end to end. - [Deploy](https://picomcp.github.io/picomcp/docs/deploy.md): Run a remote MCP server on Cloudflare Workers, Deno Deploy, Bun, Node, Hono or Next.js, with authentication. ## Reference - [API reference](https://picomcp.github.io/picomcp/docs/api.md): Every export of picomcp, with signatures. - [Protocol coverage](https://picomcp.github.io/picomcp/docs/protocol.md): Exactly which parts of the MCP specification picomcp implements, and which it does not yet. ## For AI agents - [For AI agents](https://picomcp.github.io/picomcp/docs/agents.md): Machine-readable docs, llms.txt, Markdown pages and rules to give your coding agent. ## Optional - [Full documentation](https://picomcp.github.io/picomcp/llms-full.txt): every page in one file - [Full documentation, Français](https://picomcp.github.io/picomcp/fr/llms-full.txt): translation - [Full documentation, Deutsch](https://picomcp.github.io/picomcp/de/llms-full.txt): translation - [Full documentation, Italiano](https://picomcp.github.io/picomcp/it/llms-full.txt): translation - [Full documentation, Español](https://picomcp.github.io/picomcp/es/llms-full.txt): translation - [Full documentation, Русский](https://picomcp.github.io/picomcp/ru/llms-full.txt): translation - [Full documentation, 简体中文](https://picomcp.github.io/picomcp/zh/llms-full.txt): translation - [Full documentation, 日本語](https://picomcp.github.io/picomcp/ja/llms-full.txt): translation - [Source code](https://github.com/picomcp/picomcp): the library is under 800 lines of TypeScript in src/, about half of it types and doc comments