scp-mcp-server
v1.2.3
Published
MinIO MCP Server for file operations - provides tools for listing, checking, and downloading files from MinIO storage
Maintainers
Readme
SCP MCP Server
MCP (Model Context Protocol) Server - 为AI助手提供文件存储、远程执行、服务发现和代码浏览能力。
功能
提供15个MCP工具:
MinIO文件操作工具
| 工具 | 功能 |
|------|------|
| list_files | 列出MinIO存储桶中的文件 |
| file_exists | 检查文件是否存在 |
| get_file_info | 获取文件详细信息 |
| get_download_url | 获取内网预签名下载URL |
| get_external_download_url | 获取外网预签名下载URL |
SSH远程命令执行工具
| 工具 | 功能 |
|------|------|
| ssh_list_servers | 列出已配置的SSH服务器 |
| ssh_execute | 在指定服务器执行命令 |
| ssh_test_connection | 测试服务器连接 |
Eureka服务发现工具
| 工具 | 功能 |
|------|------|
| eureka_check_services | 查询Eureka中指定服务的在线状态 |
GitLab代码浏览工具
| 工具 | 功能 |
|------|------|
| gitlab_get_file | 获取文件内容(支持行范围) |
| gitlab_search_code | 搜索代码 |
| gitlab_list_projects | 列出可访问的项目 |
| gitlab_get_project | 获取项目详情 |
| gitlab_list_branches | 列出项目分支 |
| gitlab_get_blame | 获取文件Blame信息(查看代码提交人) |
安装
npx scp-mcp-server配置
环境变量
MinIO配置
| 变量 | 说明 | 必填 |
|------|------|------|
| MINIO_ENDPOINT | MinIO服务地址 (如 http://10.100.8.11:9000) | ✅ |
| MINIO_ACCESS_KEY | 访问密钥 | ✅ |
| MINIO_SECRET_KEY | 密钥密码 | ✅ |
| MINIO_BUCKET | 存储桶名称 | ✅ |
| MINIO_CLIENT_ENDPOINT | 外网访问地址 (用于生成外网URL) | ❌ |
SSH服务器配置
支持配置多个SSH服务器,使用编号后缀区分:
| 变量 | 说明 | 必填 |
|------|------|------|
| SSH_SERVER_1_NAME | 服务器名称 | ✅ |
| SSH_SERVER_1_HOST | 服务器地址 | ✅ |
| SSH_SERVER_1_PORT | SSH端口 (默认22) | ❌ |
| SSH_SERVER_1_USERNAME | 用户名 | ✅ |
| SSH_SERVER_1_PASSWORD | 密码 | ✅ |
配置第二台服务器使用 SSH_SERVER_2_*,以此类推。
GitLab配置
| 变量 | 说明 | 必填 |
|------|------|------|
| GITLAB_URL | GitLab服务器地址 (如 https://gitlab.example.com) | ✅ |
| GITLAB_TOKEN | 个人访问令牌 (需要API权限) | ✅ |
Eureka配置
Eureka工具无需预先配置环境变量,使用时直接传入 eurekaUrl 和 expectedServices 参数即可。
Continue配置示例
mcpServers:
- name: scp-mcp-server
type: stdio
command: npx
args:
- scp-mcp-server
env:
# MinIO配置
MINIO_ENDPOINT: http://your-minio-server:9000
MINIO_ACCESS_KEY: your-access-key
MINIO_SECRET_KEY: your-secret-key
MINIO_BUCKET: your-bucket
MINIO_CLIENT_ENDPOINT: https://your-public-endpoint:9000
# SSH服务器1
SSH_SERVER_1_NAME: server1
SSH_SERVER_1_HOST: 10.100.12.96
SSH_SERVER_1_PORT: "22"
SSH_SERVER_1_USERNAME: scp
SSH_SERVER_1_PASSWORD: scp
# SSH服务器2
SSH_SERVER_2_NAME: server2
SSH_SERVER_2_HOST: 10.100.15.131
SSH_SERVER_2_PORT: "22"
SSH_SERVER_2_USERNAME: xsbank
SSH_SERVER_2_PASSWORD: passw0rd_X2021
# GitLab配置
GITLAB_URL: https://gitlab.example.com
GITLAB_TOKEN: your-personal-access-token
timeout: 30000Claude Desktop配置示例
{
"mcpServers": {
"scp-mcp-server": {
"command": "npx",
"args": ["scp-mcp-server"],
"env": {
"MINIO_ENDPOINT": "http://your-minio-server:9000",
"MINIO_ACCESS_KEY": "your-access-key",
"MINIO_SECRET_KEY": "your-secret-key",
"MINIO_BUCKET": "your-bucket",
"MINIO_CLIENT_ENDPOINT": "https://your-public-endpoint:9000",
"SSH_SERVER_1_NAME": "server1",
"SSH_SERVER_1_HOST": "10.100.12.96",
"SSH_SERVER_1_PORT": "22",
"SSH_SERVER_1_USERNAME": "scp",
"SSH_SERVER_1_PASSWORD": "scp",
"GITLAB_URL": "https://gitlab.example.com",
"GITLAB_TOKEN": "your-personal-access-token"
}
}
}
}要求
- Node.js >= 18.0.0
License
MIT
