mcp-prompts-rs について
mcp-prompts-rsは、テンプレート変数に対応し、ファイルシステムまたはPostgreSQLに保存できるRust製のプロンプト管理サーバーです。再利用可能なプロンプトやプロジェクトテンプレートを管理するチーム向けです。
主な機能
- 01プロンプトの作成・更新・削除
- 02プロンプトの分類と取得
- 03テンプレート変数への対応
- 04ファイルシステムまたはPostgreSQLへの保存
- 05テンプレートによるプロジェクト作成の自動化
活用シーン
- 01分類済みプロンプト集の管理
- 02実行時変数を使ったプロンプトの調整
- 03PostgreSQLまたはファイルへのプロンプト保存
- 04テンプレートからのソフトウェアプロジェクト作成
MCP 対応
このサーバーはMCPを実装し、AIアシスタント向けにプロンプト管理機能を公開します。RESTエンドポイントと更新通知用のSSEエンドポイントも提供します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
mcp-prompts-rs
Model Context Protocol(MCP)を使用して AI プロンプトを管理する Rust 製サーバーです。
概要
mcp-prompts-rs は、AI アプリケーションをデータソースやツールに接続するためのオープンスタンダードである Model Context Protocol(MCP)に準拠した、プロンプト管理サーバーの Rust 実装です。このプロジェクトは、元の mcp-prompts TypeScript 実装を Rust で書き直したものです。
このサーバーは、テンプレート変数、カテゴリ分類、複数のストレージバックエンドに対応し、AI プロンプトの保存、取得、管理機能を提供します。
機能
- プロンプト管理:カテゴリ分類を使用して、プロンプトの作成、取得、更新、削除ができます
- テンプレートのサポート:実行時にカスタマイズできる変数を含むプロンプトを作成できます
- ストレージバックエンド:ファイルシステムと PostgreSQL のストレージオプションに対応しています
- API:リアルタイム更新に対応した Server-Sent Events(SSE)を備える RESTful エンドポイント
- MCP 統合:Claude などの AI アシスタントとシームレスに統合できるよう、Model Context Protocol を実装しています
- プロジェクトのオーケストレーション:テンプレートを使ったソフトウェアプロジェクト作成を自動化するツール
- デプロイ:Docker に対応し、ヘルスチェックエンドポイントを備えています
インストール
前提条件
- Rust 1.70 以降
- Cargo(Rust のパッケージマネージャー)
- 任意:データベースストレージ用の PostgreSQL
セットアップ
- リポジトリをクローンします:
git clone https://github.com/sparesparrow/mcp-prompts-rs.git
cd mcp-prompts-rs
- プロジェクトをビルドします:
cargo build
使用方法
サーバーの起動
デフォルト設定でサーバーを起動します:
cargo run
カスタム設定を使用する場合:
cargo run -- --port 3000 --storage filesystem
CLI オプション
--port <PORT>:サーバーのポートを設定します(デフォルト:8080)--storage <TYPE>:ストレージバックエンドを選択します(filesystem、postgres)--db-url <URL>:PostgreSQL 接続文字列(postgres ストレージ使用時)--prompt-dir <DIR>:プロンプトを保存するディレクトリ(filesystem ストレージ使用時)
Claude との統合
Claude Desktop と統合するには:
- Claude Desktop を開きます
- Settings → Developer → Edit Config に移動します
- 次の内容を設定に追加します:
{
"mcp": {
"servers": [
{
"name": "mcp-prompts-rs",
"url": "http://localhost:8080"
}
]
}
}
API エンドポイント
プロンプト
GET /prompts:すべてのプロンプトを一覧表示しますGET /prompts/:id:指定したプロンプトを取得しますPOST /prompts:新しいプロンプトを作成します(少なくともnameとcontentフィールドが必要です)PUT /prompts/:id:既存のプロンプトを更新します(少なくともnameとcontentフィールドが必要です)DELETE /prompts/:id:プロンプトを削除します
使用例(curl を使用)
- すべてのプロンプトを一覧表示:
curl -X GET http://localhost:3000/prompts - プロンプトを作成:
curl -X POST http://localhost:3000/prompts \ -H "Content-Type: application/json" \ -d '{"name": "test-prompt", "title": "Test Prompt", "content": "This is a test prompt."}' - ID でプロンプトを取得:
curl -X GET http://localhost:3000/prompts/<id> - プロンプトを更新:
curl -X PUT http://localhost:3000/prompts/<id> \ -H "Content-Type: application/json" \ -d '{"name": "test-prompt", "title": "Updated Test Prompt", "content": "This is an updated test prompt."}' - プロンプトを削除:
curl -X DELETE http://localhost:3000/prompts/<id>
SSE
GET /events:リアルタイム更新用の Server-Sent Events エンドポイント
開発
プロジェクト構成
src/main.rs:エントリーポイントとサーバーのセットアップsrc/prompt/:プロンプトのモデルとロジックsrc/storage/:ストレージバックエンドの実装src/api/:API エンドポイントのハンドラーsrc/template/:テンプレート処理ユーティリティ
ソースからのビルド
cargo build
テストの実行
cargo test
Docker のサポート
Docker でビルドして実行します:
docker build -t mcp-prompts-rs .
docker run -p 8080:8080 mcp-prompts-rs
コントリビューション
コントリビューションを歓迎します。お気軽に Pull Request を送信してください。
- リポジトリをフォークします
- 機能ブランチを作成します(
git checkout -b feature/amazing-feature) - 変更をコミットします(
git commit -m 'Add some amazing feature') - ブランチにプッシュします(
git push origin feature/amazing-feature) - Pull Request を作成します
ライセンス
このプロジェクトは Apache License 2.0 の下でライセンスされています。詳細は LICENSE ファイルをご覧ください。
謝辞
- 元となった mcp-prompts TypeScript プロジェクト
- Model Context Protocol
- MCP 用 Rust SDK
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。