Getting Started
Installation
npm install @delta-mcp/server @delta-mcp/clientYour first server
import { DeltaServer } from "@delta-mcp/server";
class MyServer extends DeltaServer { constructor() { super({ name: "my-server", version: "1.0.0" });
this.tool({ name: "search", description: "Search docs and return top results", // ≤60 chars, enforced inputSchema: { type: "object", properties: { query: { type: "string" }, page: { type: "number" }, }, required: ["query"], }, }); }
protected async callTool(name: string, args: Record<string, unknown>): Promise<unknown> { if (name === "search") return performSearch(args.query as string); throw new Error(`Unknown tool: ${name}`); }}
new MyServer().startStdio();Connect a client
import { DeltaClient, StdioClientTransport } from "@delta-mcp/client";
const transport = new StdioClientTransport("node", ["./server.js"]);const client = new DeltaClient(transport);
await client.initialize({ name: "my-client", version: "1.0.0" });
const tools = await client.listTools(); // names + 60-char descriptions onlyconst schema = await client.describeTool("search"); // full schema, fetched on demandconst result = await client.callTool("search", { query: "delta mcp" });
transport.close();CLI
npx @delta-mcp/cli list node ./server.js # list toolsnpx @delta-mcp/cli describe node ./server.js search # full schemanpx @delta-mcp/cli call node ./server.js search '{"query":"x"}' # call toolnpx @delta-mcp/cli bench node ./server.js # benchmark