MCP服务器集合

一组用于将数据库和服务与LLM应用(如Claude Desktop、Cursor等MCP兼容客户端)集成的MCP服务器。

  • by brynnjocelyn
  • JavaScript
  • 本地部署
  • 更新于
在 GitHub 查看 brynnjocelyn/mcp-servers

使用说明

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实例

安装

  1. 克隆此存储库:
git clone https://github.com/yourusername/mcp-servers.git
cd mcp-servers
  1. 安装并构建您需要的每台服务器:
# 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

添加新工具

  1. 使用Zod定义工具模式
  2. 添加到中的工具列表 mcp-server.ts
  3. 实现处理程序
  4. 重建和测试

故障排除

服务器无法在Claude Desktop中加载

  1. 检查权限:确保 dist/mcp-server.js 可执行:

    chmod +x dist/mcp-server.js
    
  2. 验证构建:确保TypeScript已编译:

    npm run build
    
  3. 检查凭据:验证数据库连接设置

  4. 查看日志:检查Claude Desktop日志以获取详细的错误消息

连接问题

  • 确保数据库/服务正在运行
  • 检查防火墙规则
  • 验证凭据和权限
  • 首先测试与本机客户端的连接

架构验证错误

如果您看到“无效的文字值,预期的'object'”错误,请确保所有服务器都使用具有正确JSON模式格式的最新版本。

文档

每台服务器都有详细的文档:

贡献

欢迎投稿!拜托:

  1. 分叉存储库
  2. 创建要素分支
  3. 如果适用,添加测试
  4. 提交拉取请求

许可证

ISC许可证-有关详细信息,请参阅各个服务器目录。

支持

对于问题、疑问或贡献:

  • 在GitHub上打开一个问题
  • 检查现有文档
  • 审查已解决的问题以寻求解决方案

最后更新日期:2025-06-14