
Overview

2025.05.03
0
Go数据库服务MCP 服务器数据库
db-mcp 是一个简单的演示性 MCP HTTP 服务器,可与 claude.ai 或其他兼容的 MCP 客户端配合使用。该服务需要配置数据库持久化以保存客户端注册等信息,并通过 Pomerium 进行访问保护。
View on GitHub
Overview
基本能力
产品定位
db-mcp 是一个基于 MCP 协议的 HTTP 服务器,主要用于数据库服务的演示和测试。
核心功能
- 提供 MCP HTTP 服务器功能
- 支持与兼容 MCP 客户端交互
- 需要数据库持久化存储客户端注册信息
- 通过 Pomerium 实现访问保护
适用场景
- 数据库服务演示
- MCP 协议测试环境
- 需要数据库持久化的客户端注册场景
工具列表
- Pomerium - 用于访问保护和认证
- PostgreSQL - 作为数据存储后端
- SQLite - 用于演示数据库
常见问题解答
- 需要配置数据库持久化
- 需要在路由中设置域名
- 需要使用 Pomerium 的 main 分支
使用教程
使用依赖
- 安装 Docker
- 安装 Pomerium (main 分支)
安装教程
- 配置 config.yaml 文件
authenticate_service_url: https://authenticate.pomerium.app
autocert: true
runtime_flags:
mcp: true
databroker_storage_type: postgres
databroker_storage_connection_string: postgresql://postgres:postgres@postgres:5432/pomerium?sslmode=disable
routes:
- from: https://db-mcp.your-domain.com
to: http://mcp-sqlite:8080
preserve_host_header: true
mcp: {}
policy:
- allow:
or:
- domain:
is: your-domain.com
- 启动服务
services:
postgres:
image: postgres:17
environment:
POSTGRES_USER: postgres
POSTGRES_PASSWORD: postgres
POSTGRES_DB: pomerium
POSTGRES_HOST_AUTH_METHOD: trust
ports:
- 5432:5432
volumes:
- postgres-data:/var/lib/postgresql/data
pomerium:
image: pomerium/pomerium:main
ports:
- "443:443"
- "80:80"
volumes:
- ./config.yaml:/pomerium/config.yaml
- pomerium-autocert:/data/autocert
mcp-sqlite:
build:
context: mcp-sqlite
dockerfile: Dockerfile
volumes:
- ./db/northwind.db:/northwind.db
environment:
PORT: 8080
DB_FILE: /northwind.db
BASE_URL: https://db-mcp.your-domain.com
expose:
- 8080
volumes:
postgres-data:
pomerium-autocert:
调试方式
- 检查 PostgreSQL 服务是否正常运行
- 验证 Pomerium 配置是否正确
- 检查 MCP 服务是否在 8080 端口监听