1. 从 prompts.chat 说起:一个 15 万 Star 的提示词库为什么值得拆
prompts.chat 的前身是 Awesome ChatGPT Prompts,目前在 GitHub 上已经积累了超过 15 万 Star,主要语言是 TypeScript/JavaScript,前端框架用的是 Next.js 14 + React + Tailwind CSS,数据层则用 CSV、JSON、Markdown 三种格式并存。它本质上是一个 curated 的提示词集合,覆盖写作、编程、学习辅导、商业分析、创意创作等类别,CC0 公共领域许可,可以自由复制、修改、分发,甚至商用。
但如果你只把它当成一个"提示词大全"来浏览,就浪费了它真正的工程价值。这个项目在架构上做了两件对开发者很关键的事:一是把提示词数据做成了可编程的 API 和 NPM 包,二是提供了 MCP(Model Context Protocol)服务端能力,让 Cursor、Claude Desktop 这类 AI 工具可以直接把提示词库当成一个工具来调用。
我这次要做的,是在本地把 prompts.chat 跑起来,然后通过 MCP 协议把它接入到 AI 工具链里,同时用 TaoToken 的统一 Key 来管理模型调用凭证。整条链路涉及 Next.js 本地启动、MCP 客户端配置、TaoToken Key 申请与注入、连通性验证四个环节。下面按可复制的顺序拆开讲。
2. 前置准备:TaoToken 统一 Key 与本地环境
在动 MCP 配置之前,先把凭证和环境理清楚。TaoToken 在这里扮演的角色是统一模型接入层——你不需要为每个模型单独维护一套 Key,而是用一个 Key 走通对话、编码、Agent 等场景。官网入口是 https://taotoken.net/?utm_source=taotoken_aicg_blog_end&utm_medium=csdn&utm_campaign=rewrite&utm_content= ,API 端点是 https://taotoken.net/api 。
申请 Key 的路径是进入控制台后创建 API Key,具体页面在 https://taotoken.net/console?utm_source=taotoken_aicg_blog_end&utm_content=console&utm_campaign=rewrite ,Key 管理页在 https://taotoken.net/api-keys?utm_source=taotoken_aicg_blog_end&utm_content=api-keys&utm_campaign=rewrite 。拿到 Key 之后先别急着往 MCP 里塞,建议先用模型对话页面做一次最小验证,确认 Key 本身可用:https://taotoken.net/models?utm_source=taotoken_aicg_blog_end&utm_content=models&utm_campaign=rewrite 。
本地环境需要 Node.js 18 以上(Next.js 14 的硬性要求),包管理器用 npm 或 pnpm 都行。我实测下来 pnpm 在 prompts.chat 这种依赖较多的项目上安装更快,但 npm 也完全能跑通。另外确认一下你的终端能正常访问 GitHub 和 npm registry,因为后面要 clone 仓库和装依赖。
注意:TaoToken 的 Key 只用于模型调用层,prompts.chat 本身的 MCP 服务端不需要 Key 就能启动。两者是解耦的,别把 Key 写进 prompts.chat 的仓库配置文件里。
3. 本地跑起 prompts.chat:clone、安装、启动
先把项目拉到本地。官方仓库地址是 f/prompts.chat,用 git clone 即可:
git clone https://github.com/f/prompts.chat.git cd prompts.chat安装依赖。如果你用 npm:
npm install用 pnpm 的话:
pnpm install安装完成后,项目提供了一个 setup 脚本用于初始化配置:
npm run setup这个脚本会引导你设置品牌名、认证方式等。如果你只是本地验证 MCP 通道,可以跳过认证配置,直接启动开发服务器:
npm run dev启动成功后终端会输出类似ready - started server on 0.0.0.0:3000, url: http://localhost:3000的信息。打开浏览器访问 http://localhost:3000 ,能看到提示词库首页就说明 Next.js 侧跑通了。
如果你更倾向容器化,项目也提供了 Docker 方式:
docker run -d -p 3000:3000 \ -e BRAND_NAME="My Prompts" \ ghcr.io/f/prompts.chat:latestDocker 方式省去了 Node 环境配置,适合只想快速验证 MCP 的场景。但要注意容器内的 MCP 服务端端口映射,默认 MCP 走的是 3000 端口的/api/mcp路径。
4. MCP 客户端配置:settings.json 与 config.toml 骨架
prompts.chat 的 MCP 服务端有两种接入方式:远程 URL 和本地 npx 启动。远程方式适合已经部署了 prompts.chat 实例的情况,本地方式适合开发调试。
远程 URL 方式的配置骨架(适用于 Cursor、Claude Desktop 等支持 JSON 配置的客户端):
{ "mcpServers": { "prompts.chat": { "url": "https://prompts.chat/api/mcp" } } }如果你在本地跑 prompts.chat,把 URL 换成http://localhost:3000/api/mcp即可。
本地 npx 启动方式的配置:
{ "mcpServers": { "prompts.chat": { "command": "npx", "args": ["-y", "prompts.chat", "mcp"] } } }对于使用 TOML 配置的客户端(比如某些 Rust 生态的 MCP 客户端),骨架长这样:
[[mcp_servers]] name = "prompts.chat" command = "npx" args = ["-y", "prompts.chat", "mcp"] [mcp_servers.env] TAOTOKEN_API_KEY = "sk-your-taotoken-key" TAOTOKEN_BASE_URL = "https://taotoken.net/api"这里把 TaoToken 的 Key 通过环境变量注入,而不是硬编码在 args 里。这样做的好处是 Key 可以随环境切换,不会因为配置文件提交到 git 而泄露。
如果你用的是 Claude Code 的 Anthropic 兼容模式,配置入口在 https://taotoken.net/claude-code-anthropic?utm_source=taotoken_aicg_blog_end&utm_content=claude-code-anthropic&utm_campaign=rewrite ,那里有对应的 settings 片段可以参考。
提示:MCP 配置里的
command和args是给客户端启动子进程用的,env是传给子进程的环境变量。TaoToken 的 Key 放在 env 里,prompts.chat 的 MCP 服务端本身不读这个变量,但你的 AI 工具在调用模型时会用到它。
5. 验证 MCP 通道连通性:命令与检查点
配置写完之后,最关键的一步是验证通道真的通了。分三层验证:MCP 服务端本身、MCP 客户端到服务端的连接、模型调用链路。
第一层,直接 curl 本地 MCP 端点,确认服务端在监听:
curl -s http://localhost:3000/api/mcp \ -H "Content-Type: application/json" \ -d '{"jsonrpc":"2.0","id":1,"method":"tools/list","params":{}}'如果返回的 JSON 里有result.tools数组,说明 MCP 服务端正常。返回Connection refused说明 Next.js 没启动或端口不对。
第二层,在 MCP 客户端里触发一次工具调用。以 Cursor 为例,打开设置里的 MCP 面板,应该能看到prompts.chat这个 server 的状态是绿色。点击它展开工具列表,能看到search_prompts、get_prompt之类的工具名就说明客户端连上了。
第三层,验证 TaoToken 模型调用。在 AI 工具里发一条消息,让它调用 prompts.chat 的搜索工具查一个提示词,比如"帮我找营销文案相关的提示词"。如果工具被正确调用并返回了结果,同时模型给出了基于结果的回复,说明整条链路通了。
检查点清单:
| 检查项 | 预期结果 | 失败表现 |
|---|---|---|
| Next.js 启动 | 终端输出 ready on :3000 | 端口占用或依赖缺失 |
| MCP 端点 curl | 返回 tools 列表 JSON | 404 或连接拒绝 |
| 客户端 MCP 状态 | 绿色/已连接 | 红色/超时 |
| 工具调用 | 返回提示词数据 | 工具未注册 |
| 模型回复 | 基于工具结果生成 | Key 无效或额度不足 |
6. 常见报错排查
报错一:Error: Cannot find module 'prompts.chat'
npx 方式启动时,如果本地没有缓存这个包,npx 会去 registry 拉取。网络不通或 registry 配置有问题时会报这个错。解决方式是先手动装一次:npm install -g prompts.chat,然后把配置里的command改成prompts.chat,args改成["mcp"]。
报错二:MCP 客户端显示spawn npx ENOENT
这是客户端找不到 npx 可执行文件。在 macOS/Linux 上通常是 PATH 问题,在 Windows 上需要把command改成npx.cmd。或者直接用绝对路径,比如/usr/local/bin/npx。
报错三:TaoToken 返回 401
Key 没注入成功或写错了。检查env里的TAOTOKEN_API_KEY是否以sk-开头,以及客户端是否真的把 env 传给了子进程。有些客户端需要重启才能加载新的 env 配置。
报错四:MCP 工具列表为空
服务端启动了但没注册工具。检查 prompts.chat 的版本,老版本可能没有 MCP 支持。用npx prompts.chat --version确认版本号,低于 MCP 支持版本的先升级。
报错五:本地 3000 端口被占用
Next.js 默认用 3000,如果被其他服务占了会启动失败。可以用npm run dev -- -p 3001换端口,同时把 MCP 配置里的 URL 也改成 3001。
7. 把这条链路用起来:Coding Plan 与长期接入
跑通之后,你手里就有了一条"提示词库 + MCP + 统一模型接入"的链路。对于日常编码场景,可以把 prompts.chat 的 MCP 服务端常驻在 Cursor 或 Claude Code 里,写代码时直接让 AI 去提示词库里检索合适的模板,不用手动复制粘贴。
如果你需要长期跑 Agent 或高频编码任务,TaoToken 的 Coding Plan 提供了更稳定的额度方案,入口在 https://taotoken.net/coding-plan?utm_source=taotoken_aicg_blog_end&utm_content=coding-plan&utm_campaign=rewrite 。接入文档在 https://taotoken.net/doc?utm_source=taotoken_aicg_blog_end&utm_content=doc&utm_campaign=rewrite ,里面有各客户端的完整配置示例。
我自己的做法是把 prompts.chat 的 MCP 配置和 TaoToken 的 Key 分开管理:MCP 配置放在项目的.cursor/mcp.json里随项目走,Key 放在系统环境变量里不落盘。这样换项目时只需要改 MCP 配置,Key 不用动。另外建议定期去 API Keys 页面轮换 Key,尤其是多人协作的环境。