返回市场
提示模板MCP

提示模板MCP

作者:mugoosse2 星标更新:2025-06-19

项目介绍

提示模板 MCP 服务器

用于管理具有动态变量替换功能的提示模板的模型上下文协议(MCP)服务器。此服务器提供了保存、更新、检索和管理可重用提示模板的工具,并自动提取变量。

功能

  • 动态变量提取:自动检测模板中的 {variable} 占位符
  • MCP 工具:通过 MCP 客户端访问的一整套模板管理工具
  • REST API:与外部应用程序集成的 HTTP 端点
  • 持久存储:使用 Cloudflare D1 数据库进行可靠存储
  • 变量替换:使用提供的输入值渲染模板

MCP 工具

服务器暴露了以下 MCP 工具:

  1. save_prompt_template - 保存新的模板并自动提取输入
  2. update_prompt_template - 修改现有模板
  3. delete_prompt_template - 删除模板
  4. list_prompt_templates - 查看所有已保存的模板
  5. 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?"

REST API 端点

  • 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 中设置 MCP 服务器

部署您的服务器后,按照以下步骤将其连接到 Claude Desktop:

  1. 打开 Claude Desktop 配置

    • 在 macOS 上:~/Library/Application Support/Claude/claude_desktop_config.json
    • 在 Windows 上:%APPDATA%\Claude\claude_desktop_config.json
  2. 将您的 MCP 服务器添加到配置文件中:

{
  "mcpServers": {
    "prompt-templates": {
      "command": "npx",
      "args": [
        "@modelcontextprotocol/server-fetch",
        "https://YOUR-WORKER-URL/mcp"
      ]
    }
  }
}

YOUR-WORKER-URL 替换为您部署的 Cloudflare Worker URL。

  1. 完全重启 Claude Desktop(退出并重新打开应用程序)

  2. 验证连接,通过查看 Claude Desktop 中的 🔌 图标,表示 MCP 服务器已连接

测试您的 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}),并使其作为结构化输入可用。

构建于