#!/usr/bin/env bun /** * MCP server for the skills library. * Exposes tools for listing, searching, pinning, and running skills. * * Usage: * skills mcp # Start MCP server on stdio * skills-mcp # Direct binary * skills-mcp --http # Streamable HTTP on 127.0.0.1:8836 */ /** * FAIL CLOSED AT STARTUP (owner ruling 2026-09-04, hasna/apps#1720; #1720 * validation, round 1): the MCP process resolves the fleet ladder BEFORE it * connects any transport. With no credential, no authority and no * `HASNA_SKILLS_LOCAL=1` opt-in it exits 1 with the ladder's one line on * stderr — before `initialize` is answered, before an HTTP port is bound — * mirroring the CLI, which exits 1 on the same machine. Serving the bundled * catalog to an agent host that registered `skills-mcp` on a station without * its credential is the false green the ruling removed. The explicit local * opt-in starts the server and announces local mode once on stderr; a * credential (or a vault pointer the tools complete per call) starts it hosted. * * Every data tool still runs the same gate per call (lib/read-access.ts), so a * credential that disappears mid-process is refused by the next call too. */ export declare function assertSkillsMcpConfigured(env?: Record): void; /** * Start the Skills MCP server on stdio (newline-delimited JSON-RPC). * * Exported so the `skills mcp` CLI subcommand can start the server directly: * a bare dynamic import of this module is inert, because `import.meta.main` * is false when the module is not the process entry point — which made * `skills mcp` exit rc=0 with zero bytes instead of starting the documented * stdio server (BUG e3997558). */ export declare function startMcpStdio(): Promise;