import type { OntologyConfig, EnvironmentConfig, AuthResult, UiConfig } from "../../config/types.js"; import type { Logger } from "../resolver.js"; /** * Field reference info for MCP tools */ export interface McpFieldReference { /** Path to the field in the schema */ path: string; /** Name of the function that provides options */ functionName: string; } /** * MCP Tool UI metadata for MCP Apps integration */ export interface McpToolUiMeta { resourceUri: string; config?: UiConfig; } /** * MCP Tool definition */ export interface McpTool { name: string; description: string; inputSchema: Record; outputSchema?: Record; access: string[]; entities: string[]; fieldReferences?: McpFieldReference[]; /** UI configuration for MCP Apps visualization */ ui?: McpToolUiMeta; } /** * Generate MCP tool definitions from ontology config */ export declare function generateMcpTools(config: OntologyConfig): McpTool[]; /** * Filter tools by access groups */ export declare function filterToolsByAccess(tools: McpTool[], accessGroups: string[]): McpTool[]; /** * Create a tool executor function that accepts per-request auth result */ export declare function createToolExecutor(config: OntologyConfig, env: string, envConfig: EnvironmentConfig, logger: Logger): (toolName: string, args: unknown, authResult: AuthResult) => Promise;