@cerebro-nervio/mcp-kit
v0.1.0
Published
Minimal boilerplate MCP server toolkit
Downloads
12
Maintainers
Readme
@cerebro-nervio/mcp-kit
Minimal boilerplate toolkit for creating MCP (Model Context Protocol) servers.
Installation
pnpm add @cerebro-nervio/mcp-kit zodQuick Start
import { z } from "zod";
import { defineMCP, defineTool, startServer } from "@cerebro-nervio/mcp-kit";
// Define a tool
const greet = defineTool({
name: "greet",
description: "Greets a user by name",
schema: z.object({ name: z.string() }),
run: async (input) => `Hello, ${input.name}!`,
});
// Define and start the MCP
startServer(defineMCP({
name: "hello-mcp",
version: "1.0.0",
tools: [greet],
}));API
defineTool(options)
Creates a tool definition.
defineTool({
name: string, // Tool identifier (kebab-case)
description: string, // Human-readable description
schema?: ZodSchema, // Input validation (optional)
run: (input, ctx) => Promise<any>, // Implementation
})defineMCP(options)
Creates an MCP definition.
defineMCP({
name: string, // MCP identifier
version?: string, // SemVer version
runtime?: string, // Kit version constraint
tools: ToolDefinition[],
})startServer(mcp, options?)
Starts the MCP server.
startServer(mcp, {
transport: "stdio", // Transport type (default: stdio)
})Context (ctx)
Every tool receives a context object:
ctx.log(message) // Log to stderr
ctx.fs.read(path) // Read file contentsExamples
MCPs live inside nerves at .nerve/mcp-servers/. See the base nerve for examples:
packages/nerves/base/.nerve/mcp-servers/echo/- Minimal MCP (<20 lines)packages/nerves/base/.nerve/mcp-servers/file-reader/- File system tools
Each MCP is a publishable package. Install in other nerves via npm or copy the directory.
License
MIT
