使用说明
MCP服务器集合
一组模型上下文协议(MCP)服务器,用于将数据库和服务与LLM应用程序(如Claude Desktop、Cursor和其他MCP兼容客户端)集成。
概述
此存储库包含11个全面的MCP服务器:
- PostgreSQL MCP服务器 -全功能PostgreSQL数据库管理(25+工具)
- Redis MCP服务器 -完整的Redis操作和数据结构(70+工具)
- PocketBase MCP服务器 -全面的PocketBase实例管理(60多种工具)
- S3 MCP服务器 -S3兼容对象存储管理(AWS S3、MinIO、DigitalOcean Spaces等)(20多种工具)
- Prisma MCP服务器 -支持PostgreSQL、MySQL、SQLite、MongoDB等的通用数据库ORM(25多种工具)
- Proxmox MCP服务器 -用于VM、容器和基础架构的Proxmox VE虚拟化平台管理(30多种工具)
- Cloudflare MCP服务器 -完整的Cloudflare服务管理,包括DNS、安全、Workers和R2存储(40多种工具)
- LinkedIn MCP服务器 -LinkedIn集成,用于共享帖子、管理内容和社交媒体自动化(12多种工具)
- Ansible MCP服务器 -通过剧本执行、库存管理和基础设施编排实现可靠的自动化(17多种工具)
- Ceph MCP服务器 -Ceph分布式存储集群管理,包括池、操作系统、RBD、CephFS和S3网关(25+工具)
- Jenkins MCP服务器 -Jenkins CI/CD自动化,包括作业管理、构建操作和管道支持(23多种工具)
每个服务器都实现了模型上下文协议规范,使LLM能够通过标准化工具与这些服务进行交互。
快速开始
先决条件
- Node.js 18+和npm
- 已安装并正在运行的相应数据库/服务:
- PostgreSQL for PostgreSQL-mcp服务器
- Redis-mcp服务器的Redis
- PocketBase用于PocketBase mcp服务器
- S3 mcp服务器的S3兼容存储(AWS S3、MinIO等)
- Prisma mcp服务器支持的任何Prisma数据库
- Proxmox VE用于Proxmox mcp服务器
- Cloudflare mcp服务器的Cloudflare帐户
- LinkedIn mcp服务器的LinkedIn帐户和应用程序凭据
- Ansible 2.9+用于Ansible mcp服务器
- Ceph-mcp服务器的Ceph集群和CLI工具
- Jenkins-mcp服务器的Jenkins实例
安装
- 克隆此存储库:
git clone https://github.com/yourusername/mcp-servers.git
cd mcp-servers
- 安装并构建您需要的每台服务器:
# PostgreSQL MCP Server
cd postgresql-mcp-server
npm install
npm run build
# Redis MCP Server
cd ../redis-mcp-server
npm install
npm run build
# PocketBase MCP Server
cd ../pocketbase-mcp-server
npm install
npm run build
# S3 MCP Server
cd ../s3-mcp-server
npm install
npm run build
# Prisma MCP Server
cd ../prisma-mcp-server
npm install
npm run build
# Proxmox MCP Server
cd ../proxmox-mcp-server
npm install
npm run build
# Cloudflare MCP Server
cd ../cloudflare-mcp-server
npm install
npm run build
# LinkedIn MCP Server
cd ../linkedin-mcp-server
npm install
npm run build
# Ansible MCP Server
cd ../ansible-mcp-server
npm install
npm run build
# Ceph MCP Server
cd ../ceph-mcp-server
npm install
npm run build
配置
每个服务器都可以使用环境变量、配置文件或克劳德桌面/Claude代码设置进行配置。
多实例支持
所有MCP服务器都支持使用 MCP_SERVER_NAME 环境变量。这对于以下情况特别有用:
- 多环境设置 (开发、分期、生产)
- 微服务架构 使用单独的数据库
- 多个项目 需要不同的配置
- Claude代码CLI使用 具有命名实例
示例:多个PostgreSQL数据库
# Create instance-specific config files
echo '{"host":"dev-db","database":"app_dev"}' > .dev-postgres.json
echo '{"host":"prod-db","database":"app_prod"}' > .prod-postgres.json
# Run with instance names
MCP_SERVER_NAME=dev-postgres node postgresql-mcp-server/dist/mcp-server.js
MCP_SERVER_NAME=prod-postgres node postgresql-mcp-server/dist/mcp-server.js
实例命名约定:
- 主要配置:
.{MCP_SERVER_NAME}.json(例如。,.my-postgres.json) - 回退配置:
.{service}-mcp.json(例如。,.postgresql-mcp.json) - 环境变量保持不变
克劳德代码vs克劳德桌面
克劳德代码(CLI):通过服务器名称配置本机支持命名实例。使用 MCP_SERVER_NAME 环境变量,指定要加载的配置。
克劳德桌面:在JSON配置文件中使用不同的服务器名称和环境变量配置多个实例。
基本配置示例
PostgreSQL配置
创建 .postgresql-mcp.json 在您的项目中:
{
"host": "localhost",
"port": 5432,
"database": "mydb",
"user": "postgres",
"password": "password"
}
或者使用环境变量:
export PGHOST=localhost
export PGPORT=5432
export PGDATABASE=mydb
export PGUSER=postgres
export PGPASSWORD=password
Redis配置
创建 .redis-mcp.json 在您的项目中:
{
"host": "localhost",
"port": 6379,
"password": "optional_password"
}
或者使用环境变量:
export REDIS_HOST=localhost
export REDIS_PORT=6379
export REDIS_PASSWORD=optional_password
PocketBase配置
创建 .pocketbase-mcp.json 在您的项目中:
{
"url": "http://localhost:8090"
}
或者使用环境变量:
export POCKETBASE_URL=http://localhost:8090
S3配置
创建 .s3-mcp.json 在您的项目中:
{
"endPoint": "s3.amazonaws.com",
"port": 443,
"useSSL": true,
"accessKey": "your-access-key",
"secretKey": "your-secret-key",
"region": "us-east-1"
}
或者使用环境变量:
# For AWS S3
export AWS_ACCESS_KEY_ID=your-access-key
export AWS_SECRET_ACCESS_KEY=your-secret-key
export AWS_REGION=us-east-1
# For MinIO or other S3-compatible services
export MINIO_ENDPOINT=localhost
export MINIO_PORT=9000
export MINIO_ACCESS_KEY=minioadmin
export MINIO_SECRET_KEY=minioadmin
Prisma配置
创建 .prisma-mcp.json 在您的项目中:
{
"databaseUrl": "postgresql://user:password@localhost:5432/mydb",
"schemaPath": "./prisma/schema.prisma",
"enableLogging": true
}
或者使用环境变量:
export DATABASE_URL=postgresql://user:password@localhost:5432/mydb
export PRISMA_SCHEMA_PATH=./prisma/schema.prisma
Proxmox配置
创建 .proxmox-mcp.json 在您的项目中:
{
"host": "proxmox.example.com",
"port": 8006,
"username": "api-user",
"realm": "pve",
"tokenId": "mcp-token",
"tokenSecret": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
}
或者使用环境变量:
export PROXMOX_HOST=proxmox.example.com
export PROXMOX_USERNAME=api-user
export PROXMOX_REALM=pve
export PROXMOX_TOKEN_ID=mcp-token
export PROXMOX_TOKEN_SECRET=your-token-secret
Cloudflare配置
创建 .cloudflare-mcp.json 在您的项目中:
{
"apiToken": "your-cloudflare-api-token",
"accountId": "your-account-id"
}
或者使用环境变量:
export CLOUDFLARE_API_TOKEN=your-api-token
export CLOUDFLARE_ACCOUNT_ID=your-account-id
LinkedIn配置
创建 .linkedin-mcp.json 在您的项目中:
{
"clientId": "your-linkedin-client-id",
"clientSecret": "your-linkedin-client-secret",
"redirectUri": "http://localhost:3000/callback",
"scope": "openid profile email w_member_social"
}
或者使用环境变量:
export LINKEDIN_CLIENT_ID=your-client-id
export LINKEDIN_CLIENT_SECRET=your-client-secret
export LINKEDIN_REDIRECT_URI=http://localhost:3000/callback
合理的配置
创建 .ansible-mcp.json 在您的项目中:
{
"inventoryPath": "./inventory",
"playbooksPath": "./playbooks",
"vaultPasswordFile": "./.vault_pass",
"remoteUser": "ansible",
"forks": 10,
"hostKeyChecking": false
}
或者使用环境变量:
export ANSIBLE_INVENTORY=./inventory
export ANSIBLE_PLAYBOOKS_PATH=./playbooks
export ANSIBLE_VAULT_PASSWORD_FILE=./.vault_pass
export ANSIBLE_HOST_KEY_CHECKING=false
Ceph配置
创建 .ceph-mcp.json 在您的项目中:
{
"cluster_name": "ceph",
"monitor_hosts": ["mon1.example.com", "mon2.example.com"],
"username": "client.admin",
"keyring_path": "/etc/ceph/ceph.client.admin.keyring",
"pool_name": "default"
}
或者使用环境变量:
export CEPH_CLUSTER_NAME=ceph
export CEPH_MONITOR_HOSTS="mon1.example.com,mon2.example.com"
export CEPH_USERNAME=client.admin
export CEPH_KEYRING_PATH=/etc/ceph/ceph.client.admin.keyring
export CEPH_POOL_NAME=default
客户端集成
Claude桌面集成
将服务器添加到Claude Desktop配置文件中:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
视窗: %APPDATA%/Claude/claude_desktop_config.json
{
"mcpServers": {
"postgresql": {
"command": "/path/to/mcp-servers/postgresql-mcp-server/dist/mcp-server.js",
"args": [],
"env": {
"PGHOST": "localhost",
"PGPORT": "5432",
"PGDATABASE": "mydb",
"PGUSER": "postgres",
"PGPASSWORD": "password"
}
},
"redis": {
"command": "/path/to/mcp-servers/redis-mcp-server/dist/mcp-server.js",
"args": [],
"env": {
"REDIS_HOST": "localhost",
"REDIS_PORT": "6379"
}
},
"pocketbase": {
"command": "/path/to/mcp-servers/pocketbase-mcp-server/dist/mcp-server.js",
"args": [],
"env": {
"POCKETBASE_URL": "http://localhost:8090"
}
},
"s3": {
"command": "/path/to/mcp-servers/s3-mcp-server/dist/mcp-server.js",
"args": [],
"env": {
"AWS_ACCESS_KEY_ID": "your-access-key",
"AWS_SECRET_ACCESS_KEY": "your-secret-key",
"AWS_REGION": "us-east-1"
}
},
"prisma": {
"command": "/path/to/mcp-servers/prisma-mcp-server/dist/mcp-server.js",
"args": [],
"env": {
"DATABASE_URL": "postgresql://user:password@localhost:5432/mydb"
}
},
"proxmox": {
"command": "/path/to/mcp-servers/proxmox-mcp-server/dist/mcp-server.js",
"args": [],
"env": {
"PROXMOX_HOST": "proxmox.example.com",
"PROXMOX_USERNAME": "api-user",
"PROXMOX_REALM": "pve",
"PROXMOX_TOKEN_ID": "mcp-token",
"PROXMOX_TOKEN_SECRET": "your-token-secret"
}
},
"cloudflare": {
"command": "/path/to/mcp-servers/cloudflare-mcp-server/dist/mcp-server.js",
"args": [],
"env": {
"CLOUDFLARE_API_TOKEN": "your-api-token"
}
},
"linkedin": {
"command": "/path/to/mcp-servers/linkedin-mcp-server/dist/mcp-server.js",
"args": [],
"env": {}
},
"ansible": {
"command": "/path/to/mcp-servers/ansible-mcp-server/dist/mcp-server.js",
"args": [],
"env": {
"ANSIBLE_INVENTORY": "/path/to/inventory"
}
},
"ceph": {
"command": "/path/to/mcp-servers/ceph-mcp-server/dist/mcp-server.js",
"args": [],
"env": {
"CEPH_CLUSTER_NAME": "ceph",
"CEPH_MONITOR_HOSTS": "mon1.example.com,mon2.example.com"
}
}
}
}
Claude代码集成
使用Claude Code,您可以通过设置 MCP_SERVER_NAME 环境变量:
# Development database
MCP_SERVER_NAME=dev-db node postgresql-mcp-server/dist/mcp-server.js
# Production database
MCP_SERVER_NAME=prod-db node postgresql-mcp-server/dist/mcp-server.js
# Different S3 buckets
MCP_SERVER_NAME=images-bucket node s3-mcp-server/dist/mcp-server.js
MCP_SERVER_NAME=docs-bucket node s3-mcp-server/dist/mcp-server.js
创建相应的配置文件:
# .dev-db.json
{"host": "dev-postgres", "database": "app_dev"}
# .prod-db.json
{"host": "prod-postgres", "database": "app_prod"}
# .images-bucket.json
{"endPoint": "s3.amazonaws.com", "accessKey": "...", "region": "us-east-1"}
# .docs-bucket.json
{"endPoint": "eu.minio.com", "accessKey": "...", "region": "eu-west-1"}
微服务架构支持
对于具有多个数据库的微服务,配置单独的命名实例:
Claude桌面配置:
{
"mcpServers": {
"postgres-service1": {
"command": "/path/to/postgresql-mcp-server/dist/mcp-server.js",
"env": {
"MCP_SERVER_NAME": "service1-db",
"PGDATABASE": "service1_db",
"PGPORT": "5432"
}
},
"postgres-service2": {
"command": "/path/to/postgresql-mcp-server/dist/mcp-server.js",
"env": {
"MCP_SERVER_NAME": "service2-db",
"PGDATABASE": "service2_db",
"PGPORT": "5433"
}
}
}
}
Claude代码用法:
# Create config files
echo '{"host":"service1-db","database":"service1_db"}' > .service1-db.json
echo '{"host":"service2-db","database":"service2_db"}' > .service2-db.json
# Run with instance names
MCP_SERVER_NAME=service1-db node postgresql-mcp-server/dist/mcp-server.js
MCP_SERVER_NAME=service2-db node postgresql-mcp-server/dist/mcp-server.js
然后在提示中指定哪个数据库:
- 使用postgres-service1,显示所有用户
- “查询postgres-service2中的订单”
按服务器列出的功能
PostgreSQL MCP服务器
- 查询执行:原始SQL、参数化查询、事务
- 模式管理:创建/列出架构,完全支持DDL
- 表操作:CRUD、统计、维护
- 性能工具:解释计划、索引、真空、分析
- 高级功能:视图、函数、约束、备份
Redis MCP服务器
- 数据类型:字符串、列表、哈希、集合、排序集合、流
- 高级操作:地理、HyperLogLog、发布/订阅、交易
- 管理:配置、监控、持久性
- 集群支持:独立、哨兵和集群模式
- 脚本编写:Lua脚本执行
PocketBase MCP服务器
- 收集管理:CRUD、模式更新、导入/导出
- 记录操作:带过滤和分页的完整CRUD
- 认证:多种身份验证方法,用户管理
- 文件管理:URL生成,私有文件
- 系统操作:备份、日志、设置、挂钩
S3 MCP服务器
- 通用S3支持:与AWS S3、MinIO、DigitalOcean Spaces、Backblaze B2等兼容。
- 铲斗操作:创建、列出、删除、策略、版本控制
- 对象管理:上传、下载、复制、删除、元数据
- 存储工具:预设网址、标签、使用统计
- 二进制支持:无缝处理文本和二进制内容
Prisma MCP服务器
- 多数据库支持:PostgreSQL、MySQL、SQLite、MongoDB、SQL Server、CockroachDB
- 模式管理:读取、写入、验证、格式化Prisma模式
- 迁移系统:创建、应用、部署、回滚数据库迁移
- 数据操作:带关系、过滤、分页的完整CRUD
- 高级查询:聚合、原始SQL、事务
- 开发工具:数据库自检、种子设定、重置
Proxmox MCP服务器
- 虚拟机管理:创建、克隆、启动、停止、迁移虚拟机
- 容器支持:完整的LXC容器生命周期管理
- 存储操作:管理磁盘、ISO、模板和备份
- 群集管理:监视节点、资源和群集运行状况
- 备份/恢复:具有压缩和调度功能的自动备份
- 任务监控:跟踪长时间运行的操作和迁移
Cloudflare MCP服务器
- DNS管理:完成所有记录类型的DNS记录管理
- 安全功能:防火墙规则、WAF、SSL/TLS证书、DDoS保护
- 演出:缓存管理、页面规则、性能优化
- 工人平台:部署和管理Workers脚本、KV存储、cron触发器
- R2存储:S3兼容对象存储管理
- 区域管理:创建、配置和管理Cloudflare区域
LinkedIn MCP服务器
- OAuth2身份验证:使用自动令牌刷新进行安全登录
- 内容共享:在LinkedIn上分享文字帖子、文章和图片
- 岗位管理:查看、分析和删除您的LinkedIn帖子
- 分析:获取参与度指标和发布绩效数据
- 公司页面:以公司管理员的身份搜索公司并共享内容
- 媒体上传:上传和共享带有字幕的图像
Ansible MCP服务器
- 剧本执行:运行具有完整选项支持和历史跟踪的剧本
- 库存管理:具有SQLite后端和Proxmox集成的动态库存
- 临时命令:在任何主机模式上执行Ansible模块
- 剧本库:组织、分类和跟踪剧本使用情况
- 保险库集成:使用Ansible Vault加密/解密敏感数据
- 执行历史:使用详细的日志记录和指标跟踪所有运行
- Galaxy支持:从需求文件中安装角色和集合
- Proxmox导入:从Proxmox集群导入虚拟机和容器
Ceph MCP服务器
- 群集管理:监控运行状况、状态、配置和性能
- 游泳池运营:创建、管理和监视存储池
- OSD管理:查看和管理对象存储守护程序
- RBD支持:全面的RADOS块设备管理
- CephFS操作:监视元数据服务器和文件系统
- S3网关:管理RADOS网关用户和存储桶
发展
在发展中奔跑
# In any server directory
npm run dev
建筑
npm run build
添加新工具
- 使用Zod定义工具模式
- 添加到中的工具列表
mcp-server.ts - 实现处理程序
- 重建和测试
故障排除
服务器无法在Claude Desktop中加载
-
检查权限:确保
dist/mcp-server.js可执行:chmod +x dist/mcp-server.js -
验证构建:确保TypeScript已编译:
npm run build -
检查凭据:验证数据库连接设置
-
查看日志:检查Claude Desktop日志以获取详细的错误消息
连接问题
- 确保数据库/服务正在运行
- 检查防火墙规则
- 验证凭据和权限
- 首先测试与本机客户端的连接
架构验证错误
如果您看到“无效的文字值,预期的'object'”错误,请确保所有服务器都使用具有正确JSON模式格式的最新版本。
文档
每台服务器都有详细的文档:
贡献
欢迎投稿!拜托:
- 分叉存储库
- 创建要素分支
- 如果适用,添加测试
- 提交拉取请求
许可证
ISC许可证-有关详细信息,请参阅各个服务器目录。
支持
对于问题、疑问或贡献:
- 在GitHub上打开一个问题
- 检查现有文档
- 审查已解决的问题以寻求解决方案
最后更新日期:2025-06-14
