Token导航 LogoToken导航TokenDH.com
roma MCP logo
AI代理未说明官方级别未说明来源级核验

roma MCP

MCP Server

ROMA MCP Bridge 是一个轻量级桥接器,通过 SSH 连接到 ROMA 跳板机,使 AI 助手能够安全地访问运维功能,复用 ROMA 的认证、权限和审计系统。

工具数

11

提示词数

0

GitHub Stars

0

资源数

0
安全访问GoClaudeClaude DesktopClaudeCursor

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

binrchq

提供方

binrchq

最后核验

2026/5/17 20:22

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

ROMA MCP Integration

MCP (Model Context Protocol) 让 AI 助手(Claude Desktop 等)能够安全地访问 ROMA 跳板机的运维功能。

🎯 核心理念

ROMA MCP Bridge 是一个轻量级桥接器,通过 SSH 连接到 ROMA 跳板机,完全复用 ROMA 的认证、权限、审计系统。

Claude Desktop
    ↓ stdio (JSON-RPC)
MCP Bridge (~8MB,~580 行代码)
    ↓ SSH (tcp:2200)
ROMA 跳板机
    ├─ 认证 ✅
    ├─ 权限检查 ✅
    ├─ 审计日志 ✅
    └─ SSH 到目标服务器

📁 目录结构

mcp/
├── bridge/                    # ✅ MCP Bridge(主要实现)
│   ├── main.go               # 主程序
│   ├── client.go             # SSH 客户端
│   ├── types.go              # 类型定义
│   ├── mappings.go           # 工具映射
│   ├── README.md             # 使用指南
│   └── ARCHITECTURE.md       # 架构说明
│
├── client/                    # 测试客户端(可选)
│   └── main.go               # 用于测试 MCP 工具
│
└── README.md                  # 本文件

🚀 快速开始

1. 编译 MCP Bridge

cd /usr/sourcecode/roma/mcp/bridge
go build -o roma-mcp-bridge

2. 配置 Claude Desktop

编辑 ~/.config/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "roma": {
      "command": "/usr/sourcecode/roma/mcp/bridge/roma-mcp-bridge",
      "env": {
        "ROMA_SSH_HOST": "10.2.2.230",
        "ROMA_SSH_PORT": "2200",
        "ROMA_SSH_USER": "super",
        "ROMA_SSH_KEY": "-----BEGIN OPENSSH PRIVATE KEY-----\n...\n-----END OPENSSH PRIVATE KEY-----"
      }
    }
  }
}

3. 重启 Claude Desktop

完全退出并重启 Claude Desktop,MCP Bridge 会自动启动。

4. 测试

在 Claude 中说:

请列出所有 Linux 服务器

Claude 会自动调用 MCP Bridge,通过 SSH 连接到 ROMA,执行 ls linux 命令并展示结果。

📚 文档

主要文档(推荐)

其他文档

🎨 特性

轻量级:~580 行代码,二进制 ~8MB ✅ 安全:SSH Key 认证,所有操作经过 ROMA 权限检查 ✅ 统一审计:所有操作记录在 ROMA 的 access_logs ✅ 零维护:不需要数据库,不需要管理凭证 ✅ 高性能:直接 SSH,延迟低 ✅ 易扩展:添加新工具只需在 mappings.go 中添加映射

🛠️ 工具列表

资源管理

  • list_resources - 列出资源
  • execute_command - 执行命令

系统信息

  • whoami - 当前用户信息
  • get_history - 命令历史

便捷工具

  • get_disk_usage - 磁盘使用情况
  • get_process_list - 进程列表
  • get_memory_usage - 内存使用情况
  • get_cpu_info - CPU 信息
  • get_network_info - 网络信息
  • get_uptime - 运行时间和负载
  • get_system_info - 系统详细信息

完整列表请查看 bridge/mappings.go

🔧 开发

添加新工具

编辑 bridge/mappings.go

"your_new_tool": {
    Method:      "roma_ln",
    ROMACommand: "ln",
    Description: "工具描述",
    Parameters: []ParameterDef{
        {
            Name:        "identifier",
            Type:        "string",
            Description: "资源标识符",
            Required:    true,
        },
    },
    Transform: func(args map[string]interface{}) map[string]interface{} {
        return map[string]interface{}{
            "resource_type": "linux",
            "identifier":    args["identifier"],
            "command":       "your_command_here",
        }
    },
}

测试

使用测试客户端:

cd client
go build -o mcp-client
./mcp-client -tool list_resources -args '{"resource_type":"linux"}'

或直接使用 Claude Desktop 测试。

📖 工作原理

  1. Claude 理解用户意图

用户:"查看 server1 的磁盘使用情况"

  1. 选择并调用 MCP 工具

工具:get_disk_usage 参数:{identifier: "server1", resource_type: "linux"}

  1. MCP Bridge 转换为 SSH 命令

SSH 命令:ln -t linux server1 "df -h"

  1. SSH 到 ROMA 跳板机

- ROMA 验证 SSH Key ✅ - ROMA 检查权限 ✅ - ROMA 记录审计日志 ✅

  1. ROMA 连接目标服务器

ROMA → SSH → server1 → 执行 df -h

  1. 返回结果

server1 → ROMA → MCP Bridge → Claude → 用户

🔒 安全性

认证链

  • MCP Bridge ↔ ROMA:SSH Key 认证
  • ROMA ↔ 目标服务器:ROMA 管理的凭证(加密存储)

权限控制

  • 所有操作都经过 ROMA 的角色权限检查
  • 支持:super, ops, trial, ordinary 等角色

审计日志

  • 所有操作记录在 access_logs
  • 包含:用户、时间、操作、资源、结果

🆚 与其他方案的对比

方案通过 HTTP API直接访问数据库SSH 到 ROMA(本方案)
代码量~1000 行~4000 行~580 行 ✅
二进制大小~15MB~50MB~8MB ✅
依赖HTTP Server数据库+SSH仅 SSH ✅
权限控制需要重新实现需要重新实现复用 ROMA ✅
审计日志需要单独记录需要单独记录统一在 ROMA ✅
维护成本低 ✅

📦 历史

  • v1.0 (已归档):独立服务实现(直接访问数据库)

- 位置:_archive/old-mcp-implementations/mcp-server-old/ - 问题:代码重复、维护困难

  • v2.0 (当前):轻量级 Bridge 实现

- 位置:mcp/bridge/ - 优势:简洁、复用 ROMA、易维护

🤝 贡献

欢迎贡献新工具!

  1. Fork 项目
  2. bridge/mappings.go 中添加工具映射
  3. 测试
  4. 提交 Pull Request

📄 许可证

MIT License - 与 ROMA 主项目相同

🔗 相关链接

💡 常见问题

Q: 为什么要 SSH 到 ROMA 而不是 HTTP API?

A: ROMA 本身就是跳板机!用户通过 SSH 连接到 ROMA 来访问其他服务器。MCP Bridge 做同样的事,这样:

  • 完全复用 ROMA 的认证、权限、审计系统
  • 不需要额外的 HTTP Server
  • 代码更简洁
  • 维护更容易

Q: 如何添加新工具?

A: 只需在 bridge/mappings.go 中添加映射,无需修改其他代码。

Q: 支持哪些 AI 工具?

A: 支持所有兼容 MCP 的 AI 工具:

  • Claude Desktop ✅
  • Continue ✅
  • Cursor ✅
  • 其他 MCP 兼容工具 ✅

Q: 性能如何?

A:

  • 延迟:20-100ms(取决于网络)
  • 内存:10-20MB
  • CPU:<1%(空闲时)

Q: 安全吗?

A:

  • SSH Key 认证 ✅
  • ROMA 权限检查 ✅
  • 完整审计日志 ✅
  • 不暴露数据库 ✅

开始使用: bridge/README.md

目录标签

目录标签

安全访问GoClaude运维自动化本地部署SSH桥接AI助手集成轻量级工具

支持客户端

Claude DesktopClaudeCursor

接入字段

传输方式(transport,传输协议)

未说明

鉴权方式(authType,认证方式)

none

工具数量(toolCount,工具数)

11

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

未说明none部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

仍需确认:installCommand

来源信息

继续浏览同类 MCP