用于管理具有动态变量替换功能的提示模板的模型上下文协议(MCP)服务器。此服务器提供了保存、更新、检索和管理可重用提示模板的工具,并自动提取变量。
{variable} 占位符服务器暴露了以下 MCP 工具:
save_prompt_template - 保存新的模板并自动提取输入update_prompt_template - 修改现有模板delete_prompt_template - 删除模板list_prompt_templates - 查看所有已保存的模板get_prompt_by_name - 使用输入值检索和渲染模板// 保存一个模板
await save_prompt_template({
name: "greeting",
template: "Hello my name is {firstName} {lastName}. What is my name?"
});
// 自动提取:firstName, lastName 作为所需输入
// 使用模板
await get_prompt_by_name({
name: "greeting",
inputs: {
firstName: "John",
lastName: "Doe"
}
});
// 返回:"Hello my name is John Doe. What is my name?"
GET /prompts - 列出所有模板GET /prompts/:name - 获取特定模板POST /prompts - 创建新模板PUT /prompts/:name - 更新模板DELETE /prompts/:name - 删除模板该项目使用 HONC 堆栈(Hono + Cloudflare)和 D1 数据库进行存储。
├── src
│ ├── index.ts # MCP 服务器及 API 端点
│ └── db
│ └── schema.ts # 提示模板数据库模式
├── wrangler.toml # Cloudflare Workers 配置
├── drizzle.config.ts # Drizzle ORM 配置
├── package.json
└── tsconfig.json
运行迁移并(可选地)填充数据库:
# 这是一个方便的脚本,它运行 db:touch, db:generate, db:migrate 和 db:seed
npm run db:setup
运行开发服务器:
npm run dev
在迭代数据库模式时,您需要生成一个新的迁移文件并应用它:
npm run db:generate
npm run db:migrate
在将您的 worker 部署到 Cloudflare 之前,请确保您有一个正在运行的 Cloudflare D1 实例来连接您的 worker。
您可以通过导航到“Workers & Pages”部分并选择“D1 SQL Database”来创建一个 D1 实例。
或者,您可以使用 CLI 创建一个 D1 实例:
npx wrangler d1 create <database-name>
创建数据库后,更新 wrangler.toml 文件中的数据库 id。
[[d1_databases]]
binding = "DB"
database_name = "honc-d1-database"
database_id = "<database-id-you-just-created>"
migrations_dir = "drizzle/migrations"
在 .prod.vars 文件中包含以下信息:
CLOUDFLARE_D1_TOKEN="" # 具有 D1 编辑权限的 API 令牌。您可以在 Cloudflare 个人资料中创建 API 令牌
CLOUDFLARE_ACCOUNT_ID="" # 在 Workers & Pages 概述中找到您的账户 id(右上角)
CLOUDFLARE_DATABASE_ID="" # 在 Workers & Pages 下的 D1 SQL Database 中找到数据库 ID 并选择创建的数据库
如果您还没有生成最新的迁移文件,请运行:
npm run db:generate
之后,运行生产环境的迁移脚本:
npm run db:migrate:prod
更改 wrangler.toml 文件中的项目名称以适应您的项目:
name = "prompt-templates-mcp"
最后,部署您的 worker:
npm run deploy
服务器使用简单的模式来存储提示模板:
promptTemplates {
id: integer (主键)
name: text (唯一)
template: text
inputs: text (JSON 数组形式的所需变量)
createdAt: text
updatedAt: text
}
部署您的服务器后,按照以下步骤将其连接到 Claude Desktop:
打开 Claude Desktop 配置
~/Library/Application Support/Claude/claude_desktop_config.json将您的 MCP 服务器添加到配置文件中:
{
"mcpServers": {
"prompt-templates": {
"command": "npx",
"args": [
"@modelcontextprotocol/server-fetch",
"https://YOUR-WORKER-URL/mcp"
]
}
}
}
将 YOUR-WORKER-URL 替换为您部署的 Cloudflare Worker URL。
完全重启 Claude Desktop(退出并重新打开应用程序)
验证连接,通过查看 Claude Desktop 中的 🔌 图标,表示 MCP 服务器已连接
一旦连接,您可以在对话中使用这些工具:
保存一个模板:
使用 save_prompt_template 工具保存此模板:
- 名称: "greeting"
- 描述: "个性化问候模板"
- 模板: "Hello my name is {firstName} {lastName}. What is my name?"
列出您的模板:
使用 list_prompt_templates 工具显示所有已保存的模板
使用一个模板:
使用 get_prompt_by_name 工具:
- 名称: "greeting"
- 输入: {"firstName": "John", "lastName": "Doe"}
服务器会自动从您保存的任何模板中提取变量(例如,您示例中的 {firstName} 和 {lastName}),并使其作为结构化输入可用。