mira-app-server
Version:
Mira Server - standalone server application using mira-app-core
42 lines • 1.67 kB
TypeScript
/**
* 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