@toolprint/hypertool-mcp
Version:
HyperTool MCP proxy server for routing requests between clients and multiple underlying MCP servers
69 lines • 2 kB
TypeScript
/**
* File-based implementation of ServerConfigRecord repository
* Stores server configurations in mcp.json and /mcp/*.json files
*/
import { ServerConfigRecord, IServerConfigRecordRepository } from "../interfaces.js";
/**
* File-based server configuration record repository
* Uses existing mcp.json file structure
*/
export declare class FileServerConfigRecordRepository implements IServerConfigRecordRepository {
private basePath;
private globalConfigPath;
private perAppConfigDir;
private parser;
constructor(basePath?: string);
/**
* Initialize the repository (ensure directories exist)
*/
init(): Promise<void>;
/**
* Generate a stable ID for a server based on its location and name
*/
private generateServerId;
/**
* Calculate checksum for a server config
*/
private calculateChecksum;
/**
* Parse source from server ID
*/
private parseServerId;
/**
* Load all server configurations from all sources
*/
private loadAllServers;
/**
* Load a config file
*/
private loadConfigFile;
/**
* Save a config file
*/
private saveConfigFile;
/**
* Add a new server configuration record
*/
add(server: Omit<ServerConfigRecord, "id">): Promise<ServerConfigRecord>;
/**
* Update an existing server configuration record
*/
update(server: ServerConfigRecord): Promise<ServerConfigRecord | null>;
/**
* Delete a server configuration record
*/
delete(id: string): Promise<boolean>;
/**
* Find a server configuration record by ID
*/
findById(id: string): Promise<ServerConfigRecord | null>;
/**
* Find a server configuration record by name
*/
findByName(name: string): Promise<ServerConfigRecord | null>;
/**
* Find all server configuration records
*/
findAll(): Promise<ServerConfigRecord[]>;
}
//# sourceMappingURL=FileServerConfigRecordRepository.d.ts.map