MCP管理 mcp

MCP管理是一个用于管理模型上下文协议(MCP)服务器、外部工具和AI集成的技能,涉及服务器管理、工具交互、配置更新等关键功能,是软件开发和AI应用中的得力助手。

DevOps 0 次安装 0 次浏览 更新于 3/5/2026

MCP - 完整API参考

管理模型上下文协议(MCP)服务器、外部工具和AI集成。


聊天命令

服务器管理

/mcp list                                   列出配置的MCP服务器
/mcp status                                检查服务器连接状态
/mcp add <name> <command>                   添加新的MCP服务器
/mcp remove <name>                          移除MCP服务器
/mcp restart <name>                         重启服务器

工具交互

/mcp tools                                  列出可用工具
/mcp tools <server>                         特定服务器的工具
/mcp call <server> <tool> [args]            直接调用工具
/mcp resources <server>                     列出服务器资源

配置

/mcp config <server>                        查看服务器配置
/mcp config <server> set <key> <value>      更新配置
/mcp logs <server>                          查看服务器日志

TypeScript API参考

创建MCP客户端

import { createMCPClient } from 'clodds/mcp';

const mcp = createMCPClient({
  // 传输
  transport: 'stdio',  // 'stdio' | 'sse'

  // 服务器命令
  command: 'npx',
  args: ['-y', '@modelcontextprotocol/server-filesystem'],

  // 选项
  timeout: 30000,
  retries: 3,
});

连接到服务器

// 连接
await mcp.connect();

// 检查状态
const status = mcp.getStatus();
console.log(`已连接: ${status.connected}`);
console.log(`服务器: ${status.serverInfo?.name}`);
console.log(`版本: ${status.serverInfo?.version}`);

// 断开连接
await mcp.disconnect();

列出工具

// 获取可用工具
const tools = await mcp.listTools();

for (const tool of tools) {
  console.log(`${tool.name}: ${tool.description}`);
  console.log(`  输入模式: ${JSON.stringify(tool.inputSchema)}`);
}

调用工具

// 调用工具
const result = await mcp.callTool({
  name: 'read_file',
  arguments: {
    path: '/path/to/file.txt',
  },
});

console.log(`结果: ${JSON.stringify(result)}`);

列出资源

// 获取可用资源
const resources = await mcp.listResources();

for (const resource of resources) {
  console.log(`${resource.uri}: ${resource.name}`);
  console.log(`  类型: ${resource.mimeType}`);
}

// 读取资源
const content = await mcp.readResource('file:///path/to/file.txt');
console.log(content);

列出提示

// 获取可用提示
const prompts = await mcp.listPrompts();

for (const prompt of prompts) {
  console.log(`${prompt.name}: ${prompt.description}`);
}

// 获取提示内容
const prompt = await mcp.getPrompt('code-review', {
  code: 'function add(a, b) { return a + b; }',
});

console.log(prompt.messages);

MCP注册表

import { createMCPRegistry } from 'clodds/mcp';

const registry = createMCPRegistry({
  configPath: './mcp-servers.json',
});

// 添加服务器
registry.addServer({
  name: 'filesystem',
  command: 'npx',
  args: ['-y', '@modelcontextprotocol/server-filesystem', '/home/user'],
  env: {},
});

// 列出服务器
const servers = registry.listServers();

// 获取服务器
const server = registry.getServer('filesystem');

// 移除服务器
registry.removeServer('filesystem');

// 启动所有服务器
await registry.startAll();

// 停止所有服务器
await registry.stopAll();

流行的MCP服务器

服务器 用途 安装
filesystem 文件操作 @modelcontextprotocol/server-filesystem
github GitHub API @modelcontextprotocol/server-github
postgres 数据库查询 @modelcontextprotocol/server-postgres
brave-search 网页搜索 @modelcontextprotocol/server-brave-search
puppeteer 浏览器自动化 @modelcontextprotocol/server-puppeteer

服务器配置

{
  "mcpServers": {
    "filesystem": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-filesystem", "/home/user"],
      "env": {}
    },
    "github": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-github"],
      "env": {
        "GITHUB_TOKEN": "ghp_..."
      }
    }
  }
}

CLI命令

# 列出MCP服务器
clodds mcp list

# 添加MCP服务器
clodds mcp add filesystem "npx -y @modelcontextprotocol/server-filesystem /home"

# 测试服务器连接
clodds mcp test filesystem

# 移除服务器
clodds mcp remove filesystem

最佳实践

  1. 使用官方服务器 — 从经过充分测试的MCP服务器开始
  2. 限制文件访问 — 将文件系统服务器限制在特定目录
  3. 保护凭据 — 使用环境变量存储令牌,而不是命令参数
  4. 监控日志 — 检查服务器日志以查找错误
  5. 超时处理 — 为慢速操作设置适当的超时