mcp-prompt-engine
MCP Prompt Engine
Сервер протокола управления моделями (MCP) для управления и предоставления динамических шаблонов промптов с использованием элегантного и мощного движка текстовых шаблонов. Создавайте повторно используемые промпты на основе логики с переменными, частичными шаблонами и условиями, которые можно передать любому совместимому MCP-клиенту, такому как Claude Code, Claude Desktop, Gemini CLI, VSCode с Copilot и другим.
Основные возможности
Совместимость с MCP: Работает «из коробки» с любым MCP-клиентом, поддерживающим промпты.
Мощные шаблоны Go: Использует всю мощь синтаксиса text/template языка Go, включая переменные, условия, циклы и многое другое.
Повторно используемые частичные шаблоны: Определяйте общие компоненты в частичных шаблонах (например,
_header.tmpl) и используйте их повторно в своих промптах.Аргументы промптов: Все переменные шаблона автоматически предоставляются как аргументы MCP-промпта, что позволяет передавать динамические входные данные от клиентов.
Горячая перезагрузка: Автоматически обнаруживает изменения в файлах промптов и перезагружает их без перезапуска сервера.
Богатый CLI: Современный интерфейс командной строки для перечисления, проверки и рендеринга шаблонов для удобной разработки и тестирования.
Умная обработка аргументов:
Автоматически анализирует JSON-аргументы (логические значения, числа, массивы, объекты).
Внедряет переменные окружения в качестве резервных значений для аргументов шаблона.
Контейнеризация: Полная поддержка Docker для простого развертывания и интеграции.
Related MCP server: MCP Prompt Manager
Хостинг
Развернутая версия доступна на Fronteir AI.
Начало работы
1. Установка
Установите с помощью Go:
go install github.com/vasayxtx/mcp-prompt-engine@latest(Для других методов, таких как Docker или готовые бинарные файлы, см. раздел Установка ниже.)
2. Создание промпта
Создайте каталог prompts и добавьте файл шаблона. Давайте создадим промпт для помощи в написании сообщения коммита Git.
Сначала создайте повторно используемый частичный шаблон с именем prompts/_git_commit_role.tmpl:
```go
{{ define "_git_commit_role" }}
You are an expert programmer specializing in writing clear, concise, and conventional Git commit messages.
Commit message must strictly follow the Conventional Commits specification.
The final commit message you generate must be formatted exactly as follows:
```
<type>: A brief, imperative-tense summary of changes
[Optional longer description, explaining the "why" of the change. Use dash points for clarity.]
```
{{ if .type -}}
Use {{.type}} as a type.
{{ end }}
{{ end }}
```Теперь создайте основной промпт prompts/git_stage_commit.tmpl, который использует этот частичный шаблон:
{{- /* Коммит текущих подготовленных изменений */ -}}
GXP3
### 3. Проверка промпта
Проверьте свой промпт, чтобы убедиться в отсутствии синтаксических ошибок:
GXP4
### 4. Подключение MCP-сервера к клиенту
Добавьте MCP-сервер в свой MCP-клиент. См. [Подключение к клиентам](#connecting-to-clients) для примеров конфигурации.
### 5. Использование промпта
Ваш промпт `git_stage_commit` теперь будет доступен в вашем клиенте!
Например, в Claude Desktop вы можете выбрать промпт `git_stage_commit`, предоставить аргумент MCP-промпта `type` и получить сгенерированный промпт, который поможет вам сделать коммит с идеальным сообщением.
В Claude Code или Gemini CLI вы можете начать вводить `/git_stage_commit`, и он предложит промпт с предоставленными аргументами, который будет выполнен после выбора.
***
## Установка
### Готовые бинарные файлы
Скачайте последний релиз для вашей ОС со [страницы релизов GitHub](https://github.com/vasayxtx/mcp-prompt-engine/releases).
### Сборка из исходного кода
GXP5
### Docker
Доступен готовый Docker-образ. Примонтируйте локальные каталоги `prompts` и `logs` к контейнеру.
GXP6
Вы также можете собрать образ локально с помощью `make docker-build`.
***
## Использование
### Создание шаблонов промптов
Создайте каталог для хранения шаблонов промптов. Каждый шаблон должен быть файлом `.tmpl`, использующим синтаксис [text/template](https://pkg.go.dev/text/template) языка Go в следующем формате:
GXP7
Комментарий в первой строке (`{{/* описание */}}`) используется как описание промпта, а остальная часть файла — это шаблон промпта.
Частичные шаблоны должны иметь префикс в виде подчеркивания (например, `_header.tmpl`) и могут быть включены в другие шаблоны с помощью `{{template "partial_name" .}}`.
### Синтаксис шаблонов
Сервер использует движок `text/template` языка Go, который предоставляет мощные возможности шаблонизации:
* **Переменные**: `{{.variable_name}}` — доступ к переменным шаблона
* **Встроенные переменные**:
* `{{.date}}` — текущая дата и время
* **Условия**: `{{if .condition}}...{{end}}`, `{{if .condition}}...{{else}}...{{end}}`
* **Логические операторы**: `{{if and .condition1 .condition2}}...{{end}}`, `{{if or .condition1 .condition2}}...{{end}}`
* **Циклы**: `{{range .items}}...{{end}}`
* **Включение шаблонов**: `{{template "partial_name" .}}` или `{{template "partial_name" dict "key" "value"}}`
См. [документацию Go text/template](https://pkg.go.dev/text/template) для получения дополнительной информации о синтаксисе и функциях.
### Разбор JSON-аргументов
Сервер автоматически анализирует значения аргументов как JSON, когда это возможно, что позволяет использовать сложные типы данных в шаблонах:
* **Логические значения**: `true`, `false` → логические значения Go
* **Числа**: `42`, `3.14` → числовые значения Go
* **Массивы**: `["item1", "item2"]` → срезы Go для использования с `{{range}}`
* **Объекты**: `{"key": "value"}` → карты Go для структурированных данных
* **Строки**: Некорректный JSON остается строкой
Это позволяет выполнять расширенные операции с шаблонами, такие как:
GXP8
Чтобы отключить разбор JSON и обрабатывать все аргументы как строки, используйте флаг `--disable-json-args` для команд `serve` и `render`.
### Команды CLI
CLI — ваш основной инструмент для управления и тестирования шаблонов.
По умолчанию он ищет шаблоны в каталоге `./prompts`, но вы можете указать другой каталог с помощью флага `--prompts`.
**1. Список шаблонов**
GXP9
**2. Рендеринг шаблона**
Отрендерите промпт прямо в терминале, предоставив аргументы с помощью флага `-a` или `--arg`.
Он автоматически внедрит переменные окружения в качестве резервных значений для любых отсутствующих аргументов. Например, если у вас есть переменная окружения `TYPE=fix`, она будет внедрена в шаблон как `{{.type}}`.
GXP10
**3. Проверка шаблонов**
Проверьте все свои шаблоны на наличие синтаксических ошибок. Команда вернет ошибку, если какой-либо шаблон недействителен.
GXP11
**4. Запуск сервера**
Запустите MCP-сервер, чтобы сделать ваши промпты доступными для клиентов.
GXP12
***
## Подключение к клиентам
Чтобы использовать этот движок с любым клиентом, поддерживающим MCP Prompts, добавьте новую запись в конфигурацию MCP-серверов.
Расположение глобальной конфигурации (MacOS):
* Claude Code: `~/.claude.json` (раздел `mcpServers`)
* Claude Desktop: `~/Library/Application Support/Claude/claude_desktop_config.json` (раздел `mcpServers`)
* Gemini CLI: `~/.gemini/settings.json` (раздел `mcpServers`)
**Пример для локального бинарного файла:**
GXP13
**Пример для Docker:**
GXP14
## Лицензия
Этот проект лицензирован по лицензии MIT — подробности см. в файле [LICENSE](./LICENSE).This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- Flicense-qualityDmaintenanceA basic MCP server template that provides a foundation for building custom tools, resources, and prompts. Serves as a starting point for developers to create their own MCP server functionality.
- Alicense-qualityCmaintenanceGit-driven MCP server that manages and provides prompt templates with Handlebars support, enabling teams to collaborate on and version-control reusable, dynamic prompts across AI editors like Cursor and Claude Desktop.ISC
- AlicenseBqualityDmaintenanceAn MCP server that registers customizable prompt templates as tools for natural language interaction. It supports hot-reloading and easy extension via YAML or JSON files to automate tasks like code review, refactoring, and content summarization.2111MIT
- Alicense-qualityCmaintenanceA lightweight, file-based server for managing and serving personal prompt templates with variable substitution support via the Model Context Protocol. It allows users to store, update, and organize prompts in a local directory through integrated MCP tools and CLI assistants.97MIT
Related MCP Connectors
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…
MCP server for generating rough-draft project plans from natural-language prompts.
MCP Server for Slima - AI Writing IDE for Novel Authors with AI Beta Reader.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/vasayxtx/mcp-prompt-engine'
If you have feedback or need assistance with the MCP directory API, please join our Discord server