MCP 客户端配置服务器
这个MCP服务器帮助管理不同MCP客户端的配置。它提供了检索、列出、添加和删除客户端配置文件中服务器配置的工具。该服务器会根据操作系统(Windows或macOS)和指定的客户端自动检测合适的配置文件路径。
安装
npm install -g @landawn/mcp-config-server
yarn add @landawn/mcp-config-server
配置
要将此服务器用作依赖项,请确保它已正确安装。有关配置和使用的详细信息,请参阅项目文档。
支持的客户端
-
Windows:
- Cline:
%APPDATA%\Code\User\globalStorage\saoudrizwan.claude-dev\settings\cline_mcp_settings.json
- Roo Code:
%APPDATA%\Code\User\globalStorage\rooveterinaryinc.roo-cline\settings\cline_mcp_settings.json
- WindSurf:
%APPDATA%\WindSurf\mcp_settings.json
- Claude:
%APPDATA%\Claude\claude_desktop_config.json
-
macOS:
- Cline:
~/Library/Application Support/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json
- Roo Code:
~/Library/Application Support/Code/User/globalStorage/rooveterinaryinc.roo-cline/settings/cline_mcp_settings.json
- WindSurf:
~/.codeium/windsurf/mcp_config.json
- Claude:
~/Library/Application Support/Claude/claude_desktop_config.json
使用场景
- 数据同步:在多个客户端之间同步配置,确保一致性。
- 集中管理:在一个地方管理所有客户端的配置,便于维护和更新。
- 版本控制:将配置文件纳入版本控制系统,记录变更历史。
工具集
检索配置
const { getConfig } = require('@landawn/mcp-config-server');
getConfig('cline', 'existing-server').then(config => {
console.log('Retrieved configuration:', config);
}).catch(err => {
console.error('Error retrieving configuration:', err);
});
列举所有服务器
const { listConfigs } = require('@landawn/mcp-config-server');
listConfigs('cline').then.servers => {
console.log('List of servers:', servers);
}).catch(err => {
console.error('Error listing configurations:', err);
});
添加新服务器
const { addConfig } = require('@landawn/mcp-config-server');
addConfig('cline', 'new-server', {
"api-key": "your-api-key",
"endpoint": "http://localhost:3000"
}).then(message => {
console.log('Success message:', message);
}).catch(err => {
console.error('Error adding configuration:', err);
});
更新现有服务器
const { updateConfig } = require('@landawn/mcp-config-server');
updateConfig('cline', 'existing-server', {
"allow_override": true,
"new-setting": "value"
}).then(config => {
console.log('Updated configuration:', config);
}).catch(err => {
console.error('Error updating configuration:', err);
});
删除服务器
const { removeConfig } = require('@landawn/mcp-config-server');
removeConfig('cline', 'existing-server').then(message => {
console.log('Success message:', message);
}).catch(err => {
console.error('Error removing configuration:', err);
});
实现细节
- 服务器根据操作系统和指定客户端自动检测配置文件路径。
- 所有配置文件在修改后都会以美化JSON格式保存。
- 提供错误处理,针对找不到的配置文件等情况提供相应提示。
- 自动创建配置文件和目录,如果它们不存在。
常见问题
-
配置文件未找到
- 添加新服务器时会自动创建配置文件。
- 其他操作在找不到配置文件时会显示错误消息。
-
服务器已存在
-
不受支持的平台
- 目前仅支持Windows和macOS。
- Linux支持可能在未来的版本中添加。
最佳实践
- 在更新或删除服务器之前,始终检查其是否存在。
- 使用一致的服务器名称跨客户端进行管理,以简化操作。
- 考虑在服务器配置中使用环境变量来存储敏感信息。