My Credentials Mcp

My Credentials Mcp

🚀 🔐 我的凭证MCP服务器

这是一个专为Claude Desktop提供安全数据库操作和凭证生成工具的服务器。它基于模型上下文协议(MCP),能让你通过自然语言与PostgreSQL数据库交互,并生成各类凭证。

GitHub Node PostgreSQL

🚀 快速开始

开发者必备条件

  • Node.js 18 及以上版本
  • PostgreSQL 数据库
  • Cloudflare 账户(免费套餐即可)
  • 用于 OAuth 的 GitHub 账户

1. 克隆仓库

git clone https://github.com/preangelleo/my-credentials-mcp.git
cd my-credentials-mcp
npm install

2. 数据库设置

设置你的 PostgreSQL 数据库,并记录连接信息:

# 示例连接字符串格式:
postgresql://username:password@hostname:5432/database_name

3. 配置环境变量

创建 .dev.vars 文件:

# GitHub OAuth 配置
GITHUB_CLIENT_ID=your_github_client_id
GITHUB_CLIENT_SECRET=your_github_client_secret
COOKIE_ENCRYPTION_KEY=your_random_32_byte_key

# 数据库配置  
DATABASE_URL=postgresql://user:pass@host:5432/db

4. 设置 GitHub OAuth 应用

  1. 访问 GitHub 开发者设置
  2. 创建新的 OAuth 应用:
    • 主页 URLhttp://localhost:8792(开发环境)
    • 回调 URLhttp://localhost:8792/callback
  3. 将客户端 ID 和密钥复制到 .dev.vars 文件中

5. 配置用户访问权限

编辑 src/tools/http-api-tools.ts 文件的第 11 行:

const ALLOWED_USERNAMES = new Set<string>([
'your-github-username'  // 替换为你的 GitHub 用户名
]);

6. 部署 HTTP API 包装器(推荐)

HTTP API 包装器可提高数据库连接的可靠性:

# 在你的服务器上设置 API 包装器
cd mcp-api-wrapper
cp .env.example .env
# 使用你的数据库凭证配置 .env 文件
npm install
node server.js

7. 部署到 Cloudflare Workers

# 安装 Wrangler CLI
npm install -g wrangler

# 登录 Cloudflare
wrangler login

# 创建用于 OAuth 的 KV 命名空间
wrangler kv namespace create "OAUTH_KV"
# 使用返回的命名空间 ID 更新 wrangler.jsonc 文件

# 设置生产环境的机密信息
wrangler secret put GITHUB_CLIENT_ID
wrangler secret put GITHUB_CLIENT_SECRET
wrangler secret put COOKIE_ENCRYPTION_KEY
wrangler secret put DATABASE_URL

# 部署
wrangler deploy

8. 连接到 Claude Desktop

添加到你的 Claude Desktop 配置中:

{
"mcpServers": {
"my-credentials": {
"command": "npx",
"args": [
"mcp-remote",
"https://your-worker-name.your-subdomain.workers.dev/mcp"
]
}
}
}

✨ 主要特性

🗄️ 数据库操作

  • 查询数据库:通过自然语言执行只读 SQL 查询
  • 数据库管理:插入、更新、删除操作(基于角色的权限控制)
  • 模式发现:自动发现表、列和关系
  • 产品反馈系统:内置建议和错误报告系统
  • 增强的工具描述:提供全面的示例、表结构和 SQL 指导,以优化大语言模型(LLM)的执行

🔐 凭证生成(14 种工具)

  • 唯一标识符:生成 UUID4、ULID、Nano ID
  • 密码:生成具有可定制复杂度规则的安全密码
  • API 密钥:支持多种格式(十六进制、Base64、Base64URL)
  • 令牌:生成 Bearer 令牌、JWT 密钥、会话令牌、CSRF 令牌
  • 加密元素:生成盐、初始化向量(IV)、HMAC 密钥、加密密钥
  • 特定服务凭证:生成 AWS 凭证、GitHub 令牌、数据库密码
  • 批量操作:一次生成多个凭证

🛡️ 安全特性

  • GitHub OAuth 认证:单用户访问控制
  • SQL 注入防护:多层验证和清理机制
  • 基于角色的权限:区分读写访问级别
  • HTTP API 包装器:绕过 Cloudflare Workers 的限制
  • 审计日志:记录所有操作及用户上下文

🆕 近期改进(v0.0.1)

🔧 错误修复与稳定性提升

  • 修复 HTTP 500 错误:解决 submitProductSuggestion API 冲突问题
  • 模式注册:修复 Zod 模式的 TypeScript 编译问题
  • 数据库参数处理:改进 HTTP API 包装器的 SQL 查询处理
  • API 统一:消除重复的 HTTP 实现

📚 文档增强

  • 🎯 全面的工具描述:每个 MCP 工具都包含详细的参数解释、使用示例和工作流程
  • 📊 完整的表结构:提供所有数据库表的完整列定义和关系
  • 🔍 SQL 查询示例:提供常见操作的实用 PostgreSQL 示例
  • ⚠️ 最佳实践指南:包含安全警告、故障排除提示和优化建议
  • 💡 LLM 优化:增强的描述减少参数错误,提高执行成功率

🏗️ 架构

此 MCP 服务器采用混合架构,专为生产部署优化:

Claude Desktop → MCP Server (Cloudflare Workers) → HTTP API Wrapper → PostgreSQL
  • MCP 服务器:部署在 Cloudflare Workers 上,实现全球可用
  • HTTP API 包装器:基于 Express.js 的服务器,绕过连接限制
  • 数据库:PostgreSQL 数据库,支持连接池和安全验证

📋 数据库表

核心表

  • local_credentials - 安全的凭证存储和管理
  • complaints - AI 代理的匿名反馈系统
  • product_improvement_suggestions - 用户反馈和改进请求

🛠️ 可用的 MCP 工具

数据库工具

  • listTables - 发现数据库模式和结构
  • queryDatabase - 执行只读 SQL 查询
  • executeDatabase - 执行写操作(仅限特权用户)

产品反馈工具

  • submitProductSuggestion - 提交改进建议或错误报告
  • getProductSuggestions - 浏览和筛选反馈
  • updateSuggestionStatus - 更新建议状态(仅限开发者)

凭证生成工具

  • generateUuid - 生成 UUID4 和 ULID
  • generatePassword - 生成具有复杂度规则的安全密码
  • generateApiKey - 生成多种格式的 API 密钥
  • generateToken - 生成 Bearer、JWT、会话、CSRF 令牌
  • generateCrypto - 生成加密元素(盐、密钥、IV)
  • generateServiceCredential - 生成特定服务的凭证
  • generateBatch - 一次生成多个凭证
  • [还有 7 种生成工具...]

💻 使用示例

数据库查询

"What tables are in my database?"
"Show me all credentials created this week"
"Insert a new API key for the GitHub service"

凭证生成

"Generate a secure password for production use"
"Create an API key for my web service"
"Generate AWS credentials for deployment"

产品反馈

"Submit a bug report about the query timeout issue"
"Check the status of my feature requests"
"Browse suggestions for database improvements"

🔒 安全注意事项

  • 单用户访问:配置你的 GitHub 用户名以实现独占访问
  • 环境变量:切勿在代码中硬编码凭证
  • SQL 验证:内置 SQL 注入防护机制
  • 仅使用 HTTPS:所有通信均加密传输
  • 审计跟踪:记录所有操作

📚 开发

文件结构

src/
├── auth/           # GitHub OAuth 处理
├── database/       # 数据库连接和安全
├── tools/          # MCP 工具实现
│   ├── database-tools.ts
│   ├── credential-generation-tools.ts
│   ├── http-api-tools.ts
│   └── register-tools.ts
└── types.ts        # TypeScript 定义

mcp-api-wrapper/    # 用于数据库访问的 HTTP API 包装器

测试

# 运行开发服务器
wrangler dev

# 使用 MCP 检查器进行测试
npx @modelcontextprotocol/inspector@latest
# 连接到:http://localhost:8792/mcp

🤝 贡献指南

  1. 分叉仓库
  2. 创建功能分支
  3. 进行更改
  4. 全面测试
  5. 提交拉取请求

📄 许可证

本项目采用 MIT 许可证。详情请参阅 LICENSE 文件。

🔗 链接

  • GitHub 仓库:https://github.com/preangelleo/my-credentials-mcp
  • 模型上下文协议:https://modelcontextprotocol.io/introduction
  • Cloudflare Workers:https://workers.cloudflare.com/
  • Claude Desktop:https://claude.ai/download

⚠️ 重要提示

  • 本服务器设计为通过你的 GitHub 账户实现单用户访问
  • 始终使用环境变量存储敏感配置
  • 在生产环境部署前,务必在开发环境进行全面测试
  • 建议定期对生产环境进行安全审计

为 Claude Desktop 社区精心打造 ❤️

  • 0 关注
  • 0 收藏,11 浏览
  • system 提出于 2025-09-24 22:36

相似服务问题