Features
Everything you need. Nothing you don't.
Silkweave is small on purpose, but the things you actually need to ship a real server are built in - validation, auth, context, streaming, and docs - and they work the same across every transport because they live in the action layer, not the adapter.
Schemas and types, from one declaration
Inputs and outputs are Zod schemas, so a single declaration gives you runtime validation, static type inference, and generated documentation. There is no second source of truth to keep in sync.
- Zod-powered schemas
Validation, type inference, and docs from one input/output declaration per action.
Actions → - Typed context, no globals
A fluent
Context →.set()API hands each action a typed bag - logger, auth, request - with no module singletons. - Build-time type generation
Emit
Typegen →.d.tsinterfaces from your Zod schemas at build time. Zero runtime cost.
Authentication, built in
@silkweave/auth ships a full OAuth 2.1 proxy - PKCE, refresh tokens, dynamic client registration, and protected resource metadata (RFC 9728) - plus simple bearer-token validation when that is all you need. It is the same auth layer across MCP HTTP, REST, and tRPC.
Auth lives in the action/context layer, so a guard you write once applies the same way whether a request arrives over REST, tRPC, or an MCP tool call. See authentication.
Streaming and AI
- Streaming actions
Yield chunks from an async generator; each adapter delivers them as MCP progress, SSE, NDJSON, or tRPC subscriptions.
Streaming → - Vercel AI SDK native
AI SDK →useChatwired straight to a streaming action over tRPC - typedUIMessageChunks, no Data Stream Protocol. - Binary resources
Return a screenshot, PDF, or JSON artifact from one action: an MCP image block the model can see, raw bytes over REST, a typed envelope over tRPC, a file from the CLI.
Resource results →
Skills, served from your server
Silkweave MCP servers can serve Agent Skills - the SKILL.md directories Claude Code and other agents use - versioned, digest-verified, and installable with one command. Your team points every machine at one server; public skills can additionally ship as native Claude Code plugins via npm.
- Serve skills over MCP
One
Skills over MCP →skillsoption serves each skill asskill://resources, install tools, and server instructions - aligned with the MCP working group's SEP-2640 direction. - Sync with a lockfile
The silkweave CLI →npx silkweave skills syncinstalls and updates skills with per-file sha256 verification, version pinning, and pruning - private servers just add auth. - Claude Code plugin bridge
Public skills →skills packpublishes a skill as a skills-only plugin on npm, and your server emits the marketplace - users get native/plugin installand/plugin update.
Deploy anywhere
- Command-line tools
The same actions as a command-line tool - typed options, positional arguments, NDJSON streaming, and pipe-friendly binary output.
CLI → - Serverless & edge
Stateless MCP on Web Standard APIs - Vercel, Cloudflare Workers, or Bun.
Edge adapter → - Auto-generated Swagger
The Fastify adapter emits OpenAPI specs and an interactive Swagger UI for free.
REST adapter →