Mcp Client Helper

Mcp Client Helper

🚀 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:启动指定的服务器
  • 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)

🔧 技术细节

开发要求

  • Node.js 版本:支持版本请参考包依赖
  • 额外依赖:无

📄 许可证

本项目采用 ISC 许可证。

  • 0 关注
  • 0 收藏,26 浏览
  • system 提出于 2025-10-06 16:51

相似服务问题

相关AI产品