article
README
🚀 MCP-Client-Helpy工具库
MCP-Client-Helpy是一款强大的MCP服务器管理工具库,可通过配置文件轻松管理和控制多个MCP服务器实例,极大提升服务器管理效率。
🚀 快速开始
MCP-Client-Helpy工具库能帮助你通过配置文件高效管理和控制多个MCP服务器实例。下面将为你介绍它的安装、配置和使用方法。
✨ 主要特性
- 📋 通过配置管理多个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);
📄 API文档
MCPServerManager
构造函数
constructor(config: MCPConfig)
配置参数:
config: MCP服务器配置对象,包含所有要管理的服务器配置
方法
start(serverName: string): Promise<void>:启动指定的服务器stop(serverName: string): Promise<void>:停止指定的服务器restart(serverName: string): Promise<void>:重启指定的服务器getStatus(serverName: string): ServerStatus | undefined:获取指定服务器的状态getServerNames():返回所有配置的服务器名称updateConfig(newConfig: MCPConfig):动态更新配置
事件
log:当服务器输出日志时触发,参数为(serverName: string, log: string)error:当服务器发生错误时触发,参数为(serverName: string, error: Error)exit:当服务器退出时触发,参数为(serverName: string, code: number)
🔧 技术细节
开发要求
- Node.js 版本:支持版本请参考包依赖
- 额外依赖:无
📄 许可证
本项目采用 ISC 许可证。
微信扫一扫