/** * MCP server exposing tools, prompts, and resources. Resource-template captures * are percent-decoded exactly once; malformed escapes are not found, and * resources with `mcp.enabled: false` are omitted from both lists and reads. * * @module mcp * * @example * ```ts * import { createMCPServer } from "veryfront/mcp"; * import { tool } from "veryfront/tool"; * import { defineSchema } from "veryfront/schemas"; * * // Tools auto-register with MCP when defined * tool({ * id: "search", * description: "Search docs", * inputSchema: defineSchema((v) => v.object({ query: v.string() }))(), * execute: async ({ query }) => ({ results: [] }), * }); * * // Start MCP server — registered tools are exposed automatically. * // `auth` is required: use bearer for production, or the explicit * // `{ type: "none", allowUnauthenticated: true }` opt-in for local dev only. * const server = createMCPServer({ * enabled: true, * auth: { type: "none", allowUnauthenticated: true }, * }); * ``` */ import "../../_dnt.polyfills.js"; export type { MCPServerConfig, MCPStats, MCPTool, ToolAnnotations, ToolListEntry, } from "./types.js"; export { clearMCPRegistry, getMCPRegistry, getMCPStats, registerPrompt, registerResource, registerTool, } from "./registry.js"; export { createMCPServer, MCPServer } from "./server.js"; export { buildFormElicitation, buildUrlElicitation, type ElicitationRequest, type FormElicitationOptions, type UrlElicitationOptions, } from "./elicitation.js"; export { formatSSEEvent, formatSSEPrimingEvent, formatSSERetry } from "./sse.js"; export { SessionManager } from "./session.js"; export { TaskStore } from "./task-store.js"; export type { Task } from "./task-store.js"; //# sourceMappingURL=index.d.ts.map