mcpField
M
MCP Prompt Templates Server

MCP Prompt Templates Server

ローカル
github.com/tubone24AI・エージェント150 週間前に更新

MCP Prompt Templates Server について

MCP Prompt Templates Server は、MCP クライアント向けに設定可能なプロンプトテンプレートと Markdown リソースを管理・提供します。テンプレートをディレクトリから読み込み、YAML で定義した引数を実行時に置換できるため、指示や参考資料を再利用できます。

主な機能

  1. 01ディレクトリからのテンプレート動的読み込み
  2. 02YAML によるテンプレートと引数の設定
  3. 03実行時のテンプレート引数置換
  4. 04MCP 経由での Markdown リソース提供
  5. 05MCP prompts・resources プリミティブの実装

活用シーン

  1. 01会議分析プロンプトの再利用
  2. 02要約やブログ作成用プロンプトの作成
  3. 03ガイドや文書のクライアントへの提供
  4. 04入力引数に応じたプロンプト生成

MCP 対応

MCP prompts プリミティブでテンプレートの一覧表示と生成を行い、resources プリミティブで Markdown コンテンツを提供します。MCP クライアントはリソースを読み込み、テンプレート引数を渡せます。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

MCP プロンプトテンプレートサーバー

カスタマイズ可能なプロンプトテンプレートを管理、提供するための「prompts」プリミティブを備えた Model Context Protocol(MCP)サーバーです。このサーバーを使用すると、会議の分析、コンテンツの要約、ブログ記事の作成など、さまざまなタスクで MCP クライアントが利用できるプロンプトテンプレートを作成、整理、提供できます。

特長

  • 動的なテンプレート読み込み:templates ディレクトリからプロンプトテンプレートを自動的に読み込みます
  • YAML 設定:各テンプレートの設定に YAML を使用するため、メタデータやパラメーターを簡単に定義できます
  • 引数のサポート:テンプレートは、実行時に置き換えられる動的な引数をサポートします
  • リソース管理:MCP リソースプリミティブを通じて、resources ディレクトリ内の Markdown リソースにアクセスできます
  • 型安全な実装:信頼性と開発者体験を向上させるため、TypeScript で構築されています
  • 標準 MCP プロンプト:MCP プロンプトプリミティブを実装しており、あらゆる MCP クライアントと互換性があります
  • 標準 MCP リソース:静的コンテンツやドキュメントにアクセスするための MCP リソースプリミティブを実装しています

デモ

この MCP サーバーは、Claude Desktop で直接使用できる「prompts」を提供します。次のように動作します。

1. 利用可能なプロンプトの表示

MCP サーバーを設定すると、Claude の「+」アイコンをクリックして利用可能なプロンプトの一覧を確認できます。

利用可能なプロンプトの一覧

サーバーは templates ディレクトリからすべてのテンプレートを動的に読み込み、プロンプトとして利用できるようにします。

2. プロンプトの使用

プロンプト(例:today_city_weather_forecast)を選択すると、必要な引数が表示されます。

プロンプトの引数フォーム

必須フィールドに入力します。

  • City:都市名を入力します(例:川崎の場合は「川崎」)
  • Date:予報の日付を入力します(例:「2025-06-02」)
3. プロンプトの実行

「プロンプトを追加」(Add Prompt)をクリックすると、入力した引数を使ってテンプレートが処理されます。

プロンプトの実行結果

サーバーはテンプレート内のプレースホルダーを入力した値に置き換え、書式化されたプロンプトを返します。

4. Claude の応答

次に Claude が生成されたプロンプトを処理し、テンプレートの指示に基づいて応答します。

Claude の応答

この例では、Claude が気象データを分析し、テンプレートで定義された形式に従って、指定した都市と日付の詳細な天気予報を提供します。

インストール

npm install

クイックスタート

  1. プロジェクトをビルドします:

    npm run build
    
  2. サーバーを起動します:

    npm start
    

ホットリロードを有効にして開発する場合:

npm run dev

DXT パッケージの配布

このサーバーは、Claude Desktop にワンクリックでインストールできる DXT(デスクトップ拡張機能)パッケージとして配布することもできます。

DXT パッケージのビルド
  1. DXT 設定を検証します:

    npm run dxt:validate
    
  2. DXT パッケージをビルドします:

    npm run dxt:build
    
  3. .dxt ファイルを作成します:

    npm run dxt:package
    

最終的な .dxt ファイルは dist-dxt ディレクトリに作成され、簡単にインストールできるよう配布できます。

DXT パッケージのインストール
  1. Claude Desktop を開きます
  2. Settings > Extensions に移動します
  3. 「Install Extension」をクリックし、.dxt ファイルを選択します
  4. MCP サーバーが自動的に設定され、使用できる状態になります

テンプレートの作成

テンプレートは templates ディレクトリに整理されています。各テンプレートには次のものが必要です。

  • 説明的な名前のディレクトリ(例:business_team_minutes_template)
  • メタデータと引数を定義する config.yaml ファイル
  • プロンプトテンプレートを記述した template.md ファイル
テンプレートの構造
templates/
└── your_custom_template/
    ├── config.yaml
    └── template.md
設定形式(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.md)

テンプレートでは、引数に Mustache 形式のプレースホルダーを使用します。

# My Template

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

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

MCP サーバーの設定

このサーバーを MCP クライアントで使用するには、MCP の設定に追加します。

Claude Desktop の場合

Claude Desktop の設定ファイルに追加します。

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"]
    }
  }
}
開発の場合

開発中は、tsx を直接使用できます。

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

開発

プロジェクト構成
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
新しいテンプレートの追加
  1. templates/ に新しいディレクトリを作成します
  2. テンプレート設定を含む config.yaml ファイルを追加します
  3. プロンプトテンプレートを含む template.md ファイルを追加します
  4. サーバーを再起動して、新しいテンプレートを読み込みます

リソースの管理

リソースを使用すると、MCP リソースプリミティブを通じて静的な Markdown コンテンツを提供できます。ドキュメント、ガイド、または MCP クライアントがアクセスできるあらゆる参照資料を提供できます。

リソースの構成

リソースは resources ディレクトリに Markdown ファイルとして保存されます。

resources/
├── user-guide.md
├── api-documentation.md
└── troubleshooting-guide.md
リソースの形式

各リソースは標準的な Markdown ファイルです。先頭行は、説明を記載するために任意で # から始めることができます。

# User Guide for Template Management

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

## Section 1
Content here...
リソースの追加
  1. resources/ ディレクトリに .md ファイルを作成します
  2. Markdown コンテンツを追加します
  3. リソースの説明として、任意で # 見出しを先頭に追加します
  4. サーバーを再起動して、新しいリソースを読み込みます
リソースへのアクセス

リソースは、resource://filename(.md 拡張子なし)のような URI を使用して、MCP リソースプリミティブを通じて自動的に公開されます。MCP クライアントは、標準の MCP リソース操作を使用して、これらのリソースを一覧表示および読み取りできます。

API リファレンス

このサーバーは、以下のハンドラーを使用して MCP のプロンプトおよびリソースプリミティブを実装しています。

プロンプト API
プロンプトの一覧表示

利用可能なすべてのプロンプトテンプレートとそのメタデータを返します。

プロンプトの取得

指定されたプロンプトテンプレートを取得し、引数を指定された値に置き換えます。

パラメーター:

  • name:テンプレート名(ディレクトリ名)
  • arguments:置換する引数の値を含むオブジェクト
リソース API
リソースの一覧表示

resources ディレクトリにあるすべてのリソースを返します。

レスポンス:

  • uri、name、description、mimeType を含むリソースオブジェクトの配列
リソースの読み取り

指定されたリソースのコンテンツを取得します。

パラメーター:

  • uri:リソース URI(例:resource://filename)

レスポンス:

  • メタデータ付きのテキスト形式のリソースコンテンツ

ライセンス

MIT ライセンス。詳細は LICENSE ファイルを参照してください。

トラブルシューティング

サーバーがテンプレートを読み込まない
  • templates ディレクトリが存在し、有効なサブディレクトリが含まれていることを確認します
  • 各テンプレートに config.yaml と template.md の両方のファイルがあることを確認します
  • 設定ファイルの YAML 構文を確認します
テンプレートの引数が置換されない
  • テンプレート内の引数名が config.yaml で定義されたものと一致していることを確認します
  • 正しいプレースホルダー構文を使用します:{{ argument_name }}
  • プロンプトの呼び出し時に必須の引数が指定されていることを確認します

サポート

問題、質問、または貢献については、GitHub リポジトリをご覧ください。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。