mcpField
M
MCP Prompt Templates Server

MCP Prompt Templates Server

Local
github.com/tubone24AI & Agents1Updated 50w ago

About MCP Prompt Templates Server

MCP Prompt Templates Server manages configurable prompt templates and Markdown resources for MCP clients. It loads templates from a directory, with YAML-defined arguments that can be substituted at runtime, for reusable task instructions and reference material.

Key features

  1. 01Load templates dynamically from a directory
  2. 02Configure templates and arguments with YAML
  3. 03Substitute template arguments at runtime
  4. 04Serve Markdown resources through MCP
  5. 05Implement MCP prompts and resources primitives

Use cases

  1. 01Reuse prompts for meeting analysis
  2. 02Create prompts for summaries or blog posts
  3. 03Provide guides and documents to clients
  4. 04Generate prompts from supplied arguments

MCP support

It lists and renders templates through the MCP prompts primitive and serves Markdown content through the resources primitive. MCP clients can read resources and provide template arguments.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

No install method listed yet

We haven’t collected a package or remote endpoint for this server. Follow the instructions in the project README.

Repository

Tools

No tool list yet

Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.

Details

From the project README

MCP Prompt Templates Server

A Model Context Protocol (MCP) server that provides a "prompts" primitive for managing and serving customizable prompt templates. This server allows you to create, organize, and serve prompt templates that can be used by MCP clients for various tasks like meeting analysis, content summarization, and blog post creation.

Features

  • Dynamic Template Loading: Automatically loads prompt templates from the templates directory
  • YAML Configuration: Each template uses YAML for configuration, making it easy to define metadata and parameters
  • Argument Support: Templates support dynamic arguments that can be replaced at runtime
  • Resource Management: Provides access to Markdown resources from the resources directory through MCP resources primitive
  • Type-Safe Implementation: Built with TypeScript for improved reliability and developer experience
  • Standard MCP Prompts: Implements the MCP prompts primitive, making it compatible with any MCP client
  • Standard MCP Resources: Implements the MCP resources primitive for accessing static content and documentation

Demo

This MCP server provides "prompts" that can be used directly in Claude Desktop. Here's how it works:

1. Viewing Available Prompts

When the MCP server is configured, you can see the list of available prompts by clicking "+" icon in Claude:

Available prompts list

The server dynamically loads all templates from the templates directory and makes them available as prompts.

2. Using a Prompt

Select a prompt (e.g., today_city_weather_forecast) to see its required arguments:

Prompt argument form

Fill in the required fields:

  • City: Enter the city name (e.g., "川崎" for Kawasaki)
  • Date: Enter the date for the forecast (e.g., "2025-06-02")
3. Prompt Execution

After clicking "プロンプトを追加" (Add Prompt), the template is processed with your arguments:

Prompt execution result

The server replaces the placeholders in the template with your provided values and returns the formatted prompt.

4. Claude's Response

Claude then processes the generated prompt and provides a response based on the template's instructions:

Claude's response

In this example, Claude analyzes weather data and provides a detailed weather forecast for the specified city and date, following the format defined in the template.

Installation

npm install

Quick Start

  1. Build the project:

    npm run build
    
  2. Start the server:

    npm start
    

For development with hot-reloading:

npm run dev

DXT Package Distribution

This server can also be distributed as a DXT (Desktop Extension) package for one-click installation in Claude Desktop.

Building DXT Package
  1. Validate DXT configuration:

    npm run dxt:validate
    
  2. Build the DXT package:

    npm run dxt:build
    
  3. Create the .dxt file:

    npm run dxt:package
    

The final .dxt file will be created in the dist-dxt directory and can be distributed for easy installation.

Installing DXT Package
  1. Open Claude Desktop
  2. Go to Settings > Extensions
  3. Click "Install Extension" and select the .dxt file
  4. The MCP server will be automatically configured and ready to use

Creating Templates

Templates are organized in the templates directory. Each template requires:

  • A directory with a descriptive name (e.g., business_team_minutes_template)
  • A config.yaml file defining metadata and arguments
  • A template.md file containing the prompt template
Template Structure
templates/
└── your_custom_template/
    ├── config.yaml
    └── template.md
Configuration Format (config.yaml)
description: "A detailed description of what this template does"
version: "1.0"
arguments:
  - name: "argument_name"
    description: "Description of this argument"
    required: true
  - name: "optional_argument"
    description: "This argument is optional"
    required: false
metadata:
  tags:
    - tag1
    - tag2
  suggested_use: "When and how to use this template"
  output_format: "markdown"
Template Format (template.md)

Templates use Mustache-style placeholders for arguments:

# My Template

Date: {{ date }}
Title: {{ title }}

Content that uses the arguments provided by the user.
{{ main_content }}

MCP Server Configuration

To use this server with an MCP client, add it to your MCP settings configuration.

For Claude Desktop

Add to your Claude Desktop configuration file:

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json Windows: %APPDATA%\Claude\claude_desktop_config.json

{
  "mcpServers": {
    "prompt-templates": {
      "command": "node",
      "args": ["/path/to/mcp-prompt-templates-ts/dist/server.js"]
    }
  }
}
For Development

During development, you can use tsx directly:

{
  "mcpServers": {
    "prompt-templates": {
      "command": "npx",
      "args": ["tsx", "/path/to/mcp-prompt-templates-ts/src/server.ts"]
    }
  }
}

Development

Project Structure
mcp-prompt-templates-ts/
├── src/
│   ├── server.ts    # Main MCP server implementation
│   └── client.ts    # Test client for development
├── templates/       # Prompt templates directory
├── resources/       # Static Markdown resources directory
├── dist/           # Compiled JavaScript output
├── package.json
├── tsconfig.json
└── README.md
Adding New Templates
  1. Create a new directory in templates/
  2. Add a config.yaml file with the template configuration
  3. Add a template.md file with the prompt template
  4. Restart the server to load the new template

Managing Resources

Resources provide a way to serve static Markdown content through the MCP resources primitive. These can be documentation, guides, or any reference material that MCP clients can access.

Resource Structure

Resources are stored as Markdown files in the resources directory:

resources/
├── user-guide.md
├── api-documentation.md
└── troubleshooting-guide.md
Resource Format

Each resource is a standard Markdown file. The first line can optionally start with # to provide a description:

# User Guide for Template Management

This guide explains how to create and manage prompt templates...

## Section 1
Content here...
Adding Resources
  1. Create a .md file in the resources/ directory
  2. Add your Markdown content
  3. Optionally start with a # heading for the resource description
  4. Restart the server to load the new resource
Accessing Resources

Resources are automatically exposed through the MCP resources primitive with URIs like resource://filename (without the .md extension). MCP clients can list and read these resources using standard MCP resource operations.

API Reference

This server implements the MCP prompts and resources primitives with the following handlers:

Prompts API
List Prompts

Returns all available prompt templates with their metadata.

Get Prompt

Retrieves a specific prompt template and replaces arguments with provided values.

Parameters:

  • name: The template name (directory name)
  • arguments: Object containing argument values to substitute
Resources API
List Resources

Returns all available resources from the resources directory.

Response:

  • Array of resource objects with uri, name, description, and mimeType
Read Resource

Retrieves the content of a specific resource.

Parameters:

  • uri: The resource URI (e.g., resource://filename)

Response:

  • Resource content as text with metadata

License

MIT License - see LICENSE file for details

Troubleshooting

Server not loading templates
  • Ensure templates directory exists and contains valid subdirectories
  • Check that each template has both config.yaml and template.md files
  • Verify YAML syntax in configuration files
Template arguments not replacing
  • Ensure argument names in template match those defined in config.yaml
  • Use the correct placeholder syntax: {{ argument_name }}
  • Check that required arguments are provided when calling the prompt

Support

For issues, questions, or contributions, please visit the GitHub repository.

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.