Skip to content

Getting Started

Installation

Terminal window
npm install @delta-mcp/server @delta-mcp/client

Your 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 only
const schema = await client.describeTool("search"); // full schema, fetched on demand
const result = await client.callTool("search", { query: "delta mcp" });
transport.close();

CLI

Terminal window
npx @delta-mcp/cli list node ./server.js # list tools
npx @delta-mcp/cli describe node ./server.js search # full schema
npx @delta-mcp/cli call node ./server.js search '{"query":"x"}' # call tool
npx @delta-mcp/cli bench node ./server.js # benchmark

Next steps