SuperAPI AI 工具集

amnesic

amnesic 是一个面向 PostgreSQL、MySQL、MSSQL 和 SQLite 的持久化 SQL 数据库语义记忆 MCP 服务器。它区别于只做查询执行的数据库 MCP 工具,会累积并保存数据库模式(schema)的含义——例如表和列的注释、status=3 代表什么、哪些列实际上是外键、遗留表的用途——并在以后的每次会话中自动提供给 AI 客户端。它面向 Claude Code、Claude Desktop、Cursor、VS Code、Cline、Windsurf 等任何兼容 MCP 的客户端,按设计只读,拒绝 INSERT、UPDATE、DELETE、DROP、TRUNCATE、ALTER、CREATE、EXEC、MERGE、GRANT、REVOKE 等写入语句,并通过静态 SQL 分析和事务回滚两层防护保证安全,可指向生产库。安装支持 pipx、uv 或 pip,通过 amnesic init 向导配置连接,密码存储于 ~/.config/amnesic/.env(chmod 600),连接块写入 ~/.config/amnesic/connections.toml。知识按连接存储在本地 SQLite 文件,可导出、导入、清除和同步。

访问官网

工具介绍

用途

amnesic 是一个 MCP 服务器,为 SQL 数据库提供持久化的语义记忆。每次 AI 会话开始时都是“冷启动”:你需要重新解释有哪些表、status 列的 3 代表什么、哪个外键连接 orders 和 users。amnesic 用一个按数据库保存的本地 SQLite 知识库解决这个问题,使这些注释和关系在会话之间持续存在。它把自己定位为介于“查询执行器”和“企业级数据目录”之间的第三种选择:具备数据目录级的语义记忆,但只有查询执行器的部署成本。

主要能力

  • 持久化注释:为表和列添加注释,注释在重启、模型更新和新会话后依然保留。注释一次 status 枚举,未来每个会话自动看到标签。
  • 关系图:发现并保存外键关系,未来的 JOIN 查询可直接使用该图。
  • 可搜索知识库:使用 SQLite FTS5 与 BM25 排序进行关键词搜索,无嵌入、无外部服务。db_search 支持在大型模式中按关键词查找相关表/列,返回带描述和高亮片段的排序结果。
  • 环境间同步:在 staging 中积累注释,然后同步到 prod。返回 {synced, skipped, warnings},目标模式中缺失的表会跳过并说明原因,缺失的列会警告但不阻塞其余同步。
  • 可移植性:知识可导出、导入、清除、移除,即使没有数据库凭据也能操作本地文件。
  • 只读安全设计:拒绝 INSERT、UPDATE、DELETE、DROP、TRUNCATE、ALTER、CREATE、EXEC、EXECUTE、MERGE、BULK、GRANT、REVOKE、DENY,包括隐藏在 WITH CTE 中的写入语句。只有 SELECT 和 WITH ... SELECT 能到达数据库。

使用方式

安装可通过三种方式之一:

  • pipx(一次性安装):
  • uv(单二进制替代,速度快,无需 Python):
  • 普通 pip(安装到当前 Python 环境):

安装后 amnesic init 会询问数据库类型、主机和凭据,测试连接后再保存,密码安全存储在 ~/.config/amnesic/.env(chmod 600),连接块写入 ~/.config/amnesic/connections.toml。设置 $AMNESIC_HOME 或 $XDG_CONFIG_HOME 可覆盖存储位置。

若不想使用凭据,可运行 amnesic init --demo,它会添加一个自包含的 SQLite 示例数据库(电商模式:customers / products / orders,带外键和枚举列),让你在一分钟内试用所有工具。

稍后添加更多连接使用 amnesic add;轮换密码使用 amnesic set-secret,变量名是 connections.toml 中 ${...} 引用的环境变量名,向导自动生成为 <CONNECTION_NAME_UPPERCASE_WITH_UNDERSCORES>_PASSWORD。

将 amnesic 添加到 AI 客户端时,所有 MCP 客户端使用同一片段:

  • Claude Code:使用一行安装,无需编辑 JSON(来源:SurajKGoyal/amnesic-marketplace)。
  • Claude Desktop:添加到配置文件,macOS 为 ~/Library/Application Support/Claude/claude_desktop_config.json,Windows 为 %APPDATA%\Claude\claude_desktop_config.json,Linux 为 ~/.config/Claude/claude_desktop_config.json。
  • Cursor:一键安装,或添加到项目 .cursor/mcp.json 或全局 ~/.cursor/mcp.json。
  • VS Code(带 MCP 扩展):添加到 .vscode/mcp.json。

不使用全局安装时(临时方式),可用 uvx 或 pipx 在 MCP 客户端每次启动时获取,需显式传递驱动 extras,多驱动用逗号分隔,如 amnesic[postgres,mssql],或使用 amnesic[all]。

升级使用与安装相同的工具,然后重启 MCP 客户端。升级是安全的,注释不会丢失,知识文件在首次加载时自动迁移到新 schema,只会添加列,绝不删除数据。查看版本使用 amnesic --version。

管理连接和知识的命令:export / import / clear / remove,这些命令只操作本地文件,即使连接凭据未设置也能工作。remove 会以精准字符串编辑 connections.toml,保持其他块的格式和注释逐字节不变。

高级用法:若想自行管理配置文件,可生成空白模板,写出 ~/.config/amnesic/connections.toml 并退出向导。凭据使用 ${ENV_VAR},不要硬编码密码。密钥从 ~/.config/amnesic/.env 自动加载(格式 KEY=VALUE,每行一条,# 为注释)。规范连接名使用点号表示法,例如 orders.prod、orders.staging、analytics、local。

适用场景

  • 单人开发者在自己的项目、开发库或测试数据上使用 Claude Pro / Cursor / Copilot。
  • 查询个人 SQLite 或自托管 Postgres 的业余项目。
  • 处理公开模式的开源维护者。
  • 使用具有明确隔离的企业级 AI 的团队:AWS Bedrock(租户 + IAM)、Azure OpenAI(区域固定、自有订阅)、Anthropic Enterprise(零数据保留、退出训练)、Vertex AI(自有 GCP 项目)、自托管(Ollama、vLLM、本地 Claude/GPT,数据不出网络)。
  • 任何使用付费 AI 计划、具有零保留保证和覆盖相关处理的 DPA 的用户。

限制

  • 不执行插入、更新、删除等写入操作,也不提供执行计划、索引建议或数据库健康诊断——这些不是它的职责,应配合查询执行器使用。
  • 数据库本身并不知道列的含义,只有通过 amnesic 的注释层才能提供语义。
  • 若数据库保存他人数据(用户、客户、患者)且未确认 AI 提供商条款覆盖该处理,或使用消费级 AI 处理受监管数据(HIPAA 覆盖实体的 PHI、PCI-DSS 持卡人数据、GDPR 或印度 DPDP 法案下的受限 PII),或雇主政策限制在生产库使用外部 AI 工具,或受数据驻留规则约束,需要更谨慎评估。
  • 信任边界取决于 MCP 客户端将数据发送到哪里,而不是 amnesic 本身。
  • 文档中未提供具体的收费、价格、平台兼容性细节之外的更多信息。