/**
 * Mira MCP Server
 *
 * 把 mira-app-core/shared/sdk 的全部能力暴露为 MCP tools，通过 stdio 与
 * MCP 客户端（如 Claude / 其它 agent）通信。鉴权复用 CLI 的 profile 体系：
 * 工具默认使用当前 profile 的 server+token；未登录时返回清晰的错误提示。
 *
 * 启动方式：mira-app-server --mcp [--server <url>] [--token <token>] [--debug]
 *
 * 重要：MCP 协议要求 stdout 仅承载 JSON-RPC，所有日志必须走 stderr。
 */
import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
import { MiraClient } from 'mira-app-core/shared/sdk';
/** MCP 启动选项 */
export interface McpServerOptions {
    /** 覆盖目标服务器地址 */
    server?: string;
    /** 覆盖访问令牌 */
    token?: string;
    /** 调试日志（写到 stderr） */
    debug?: boolean;
}
/** 工具上下文：每个工具 handler 通过它拿到已鉴权的 client 与连接信息 */
export interface ToolContext {
    /** 当前使用的服务器地址 */
    server: string;
    /** 当前 token（可能为空 = 未登录） */
    token?: string;
    /**
     * 获取一个 MiraClient。requireAuth=true 且无 token 时抛出清晰错误。
     */
    getClient: (requireAuth?: boolean) => MiraClient;
    /** 调试日志 */
    debug: (msg: string) => void;
}
/** 工具注册函数签名 */
export type ToolRegistrar = (server: McpServer, ctx: ToolContext) => void;
/**
 * 启动 MCP 服务（stdio 传输）。进程会持续运行直到 stdin 关闭或客户端断开。
 */
export declare function startMcpServer(options?: McpServerOptions): Promise<void>;
//# sourceMappingURL=server.d.ts.map