# MCP Tools (Project) Generated: 2026-03-09 Current Phase: `P19+MCP-1` Source: 官方 MCP package 文档 + `P19+MCP-1` 执行合同 + 仓库内校验脚本。当前 shell 无法使用 `codex mcp list --json`,因此本目录不以运行时 CLI 枚举作为唯一事实源。 ## Enabled Servers - `postgres` ## Candidate Servers (Not Enabled) - `github` — github deferred;官方 `@modelcontextprotocol/server-github` 当前暴露读写混合工具集,不满足 `Read-only Tools Baseline`,因此本期不启用,也不纳入 enabled servers。 ## Tools - `postgres:query` — 执行数据库只读排障、schema 核对、账本校验与对账查询;所有查询均应运行在 `READ ONLY` 事务语义下。 ## Resources - `postgres:////schema` — schema resources,用于读取表结构、字段类型与列定义,不用于业务写入。 ## Server: postgres ### 用途 - 数据库只读排障 - Prisma / SQL 迁移核对 - 预算、ERP、资产、采购等账本或主数据只读核验 ### 输入与能力范围 - 通过连接串连接 PostgreSQL - 暴露 `postgres:query` 工具 - 暴露 schema resources 用于表结构读取 - 允许执行 `SELECT` / 只读检查类 SQL ### 允许操作 - 查询表结构与字段定义 - 查询计数、汇总、余额、绑定关系、Outbox 状态 - 为本地回归或审计结论提供只读证据 ### 禁止操作 - 禁止 `INSERT / UPDATE / DELETE / DDL` - 禁止修改预算、工作流、资产、采购、报销等核心业务状态 - 禁止绕过仓库内已有的本地验证命令 - 禁止把 MCP 当作应用运行时依赖 ### 凭据要求 - 必须使用只读数据库账号 - 必须使用最小权限连接串 - **不提交真实密钥/连接串**,包括但不限于数据库密码、主机地址、PAT、API Token ### 示例配置 - 仓库示例文件:`.mcp.json.example` - 仅提供 `postgres` 示例,不提供 `github` 启用段 - 占位连接串固定写为:`postgresql://:@:/` ### 回滚方式 - 删除本机未跟踪的 `.mcp.json` - 停止在本地 CLI 中启用 `postgres` MCP - 保留 `docs/mcp-tools.md` 作为事实源与治理文档,不影响业务系统运行 ## Server: github (Deferred) ### 当前不启用原因 - 官方 GitHub MCP server 当前为读写混合工具集 - 现阶段无法以官方能力保证“只读基线” - 若贸然启用,容易突破 `P19+MCP-1` 的只读边界 ### 本期固定结论 - `github` 当前不进入 enabled servers - `github` 当前不纳入“可立即使用工具目录” - 本期不提交 GitHub MCP 示例启用配置 ### 未来启用前置条件 - 需要新的路线合同显式解锁,如 `P19+MCP-2` 或后续治理 phase - 需要确认只读模式、最小权限 PAT 策略、审计与回滚边界 - 需要把读写操作边界从 `P19+MCP-1` 的只读基线中拆分出来单独治理 ## Local Activation Checklist 1. 确认本机支持 MCP 的 CLI 环境可用;若 `codex mcp list --json` 不可用,仍以本文和 `.mcp.json.example` 为唯一仓库事实源。 2. 将 `.mcp.json.example` 复制为本机未跟踪的 `.mcp.json`。 3. 将占位连接串替换为**只读数据库账号**连接串。 4. 确认不会把 `.mcp.json`、密码或其他真实凭据提交进仓库。 5. 仅启用 `postgres`,不得自行把 `github` 提升为 enabled server。 6. 使用 MCP 后,仍必须继续执行仓库内本地验证命令与回归脚本。 ## Safety Rules - MCP 仅用于只读排障、数据库验证与审计辅助。 - MCP 不得写数据库,不得修改业务状态,不得代替测试。 - `docs/mcp-tools.md` 是 MCP 工具目录事实源;若未来配置与本文冲突,以本文与执行合同为准,先修订合同再变更配置。 - `github deferred` 在本期为硬边界,不得在实现过程中偷偷启用。 ## Rollback - 停止使用本机 `.mcp.json` 中的 `postgres` server。 - 删除本机凭据或改回占位配置。 - 保留文档、示例配置与校验脚本,作为后续 phase 的治理基线。