MCP-Client-Helpy是一款强大的MCP服务器管理工具库,可通过配置文件轻松管理和控制多个MCP服务器实例,极大提升服务器管理效率。
MCP-Client-Helpy工具库能帮助你通过配置文件高效管理和控制多个MCP服务器实例。下面将为你介绍它的安装、配置和使用方法。
使用以下命令进行安装:
npm install mcp-client-helper
配置对象格式示例如下:
{
"mcpServers": {
"github": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-github"],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "your-token-here"
}
},
"other-server": {
"command": "your-command",
"args": ["arg1", "arg2"],
"env": {
"KEY": "value"
}
}
}
}
import { MCPServerManager } from 'mcp-client-helper';
import { readFileSync } from 'fs';
async function main() {
// 从配置文件加载配置
const config = JSON.parse(readFileSync('path/to/your/config.json', 'utf-8'));
// 创建服务器管理器实例
const manager = new MCPServerManager(config);
try {
// 获取所有配置的服务器名称
const serverNames = manager.getServerNames();
console.log('可用的服务器:', serverNames);
// 监听特定服务器的事件
manager.on('log', (serverName, log) => {
console.log(`[${serverName}] 日志:`, log);
});
manager.on('error', (serverName, error) => {
console.error(`[{serverName}] 错误:`, error);
});
manager.on('exit', (serverName, code) => {
console.log(`[{serverName}] 服务器退出,退出码:`, code);
});
// 启动指定的服务器
await manager.start('github');
// 获取服务器状态
const status = manager.getStatus('github');
console.log('服务器状态:', status);
// 重启服务器
await manager.restart('github');
// 停止服务器
await manager.stop('github');
// 动态更新配置
manager.updateConfig(newConfig);
} catch (error) {
console.error('错误:', error);
}
}
main().catch(console.error);
constructor(config: MCPConfig)
配置参数:
config: MCP服务器配置对象,包含所有要管理的服务器配置start(serverName: string): Promise:启动指定的服务器stop(serverName: string): Promise:停止指定的服务器restart(serverName: string): Promise:重启指定的服务器getStatus(serverName: string): ServerStatus | undefined:获取指定服务器的状态getServerNames():返回所有配置的服务器名称updateConfig(newConfig: MCPConfig):动态更新配置log:当服务器输出日志时触发,参数为 (serverName: string, log: string)error:当服务器发生错误时触发,参数为 (serverName: string, error: Error)exit:当服务器退出时触发,参数为 (serverName: string, code: number)本项目采用 ISC 许可证。