Skip to main content
Toolshed runs as an MCP server (server name toolshed, version 0.0.1) that agents connect to over stdio. It exposes exactly four tools:
ToolPurposeAnnotations
runExecute TypeScript in the sandboxdestructiveHint, openWorldHint
search_toolsFuzzy search the tool catalogreadOnlyHint
read_toolGet full schema for a toolreadOnlyHint
resumeApprove or deny a pending elicitationdestructiveHint, openWorldHint
  1. Discover — call search_tools with a keyword to find relevant tools
  2. Inspect — call read_tool to see the full input/output schema
  3. Execute — call run with a TypeScript script that uses the tools.* proxy
  4. Approve — if the result contains a paused field, call resume to approve or deny

Server creation

The MCP server is created via createMcpServer from @toolshed/mcp-host:
import { createMcpServer } from "@toolshed/mcp-host";

const server = createMcpServer({
  runtime,        // Runtime instance (local or Vercel)
  allTools,       // Full tool catalog
  searchTools,    // (query, limit) => ToolDefinition[]
  elicitation,    // Optional ElicitationEngine
  resumeRemote,   // Optional remote resume callback
});