/** * MCP Server 配置管理器 * * 职责: * 1. 启动时扫描 project + user 两层 mcp 目录,读取 .json 和 _index.json * 2. 提供 CRUD(list / get / create / update / delete / enable / disable) * 3. 通过 chokidar 监听两层目录的变更,去抖 200ms 后增量重载并 emit resource:changed * 4. 维护 _index.json(启用列表 + 顺序),每次变更自动同步 * * 覆盖语义:项目级与用户级同名时,项目级 wins;两个版本都保留在 records 中。 */ import type { ResourceScope } from '../types.js'; import type { MCPInput, MCPServerConfig, MCPServerSummary } from './types.js'; export type { MCPServerSummary }; /** * MCP Server 注册表类 */ export declare class MCPRegistry { private state; private reloadTimeout?; /** * 初始化:扫描两层目录 + 启动 watcher */ init(): Promise; /** * 释放 watcher */ dispose(): Promise; /** * 调度延迟重载(去抖) */ private scheduleReload; /** * 全量重载 */ private reload; /** * 列出所有 server(合并两层,项目级 shadow 用户级) * 返回所有条目(包括被遮蔽的用户层条目),便于 UI 展示完整状态 */ list(): MCPServerSummary[]; /** * 获取单个 server 完整配置(winning 或指定 scope) */ get(name: string, scope?: ResourceScope): MCPServerConfig | null; /** * 创建新 server */ create(name: string, input: MCPInput, scope?: ResourceScope): Promise; /** * 更新 server */ update(name: string, input: Partial, scope?: ResourceScope): Promise; /** * 删除 server */ delete(name: string, scope?: ResourceScope): Promise; /** * 启用/禁用 server */ toggle(name: string, enabled: boolean, scope?: ResourceScope): Promise; /** * 更新索引中的单个 server 状态 */ private updateIndexForServerInIndex; /** * 从索引中完全移除 */ private removeFromIndexInIndex; /** * 同步索引到磁盘(写入指定 scope) */ private syncIndex; /** * 导出为 opencode 兼容的配置格式(用于启动 MCP server) * 遍历所有 enabled 的 server,生成 opencode MCP 配置格式 */ exportForOpenCode(): Record; } /** * 获取全局 MCP registry 单例 */ export declare function getMCPRegistry(): MCPRegistry; //# sourceMappingURL=manager.d.ts.map