🚀 Smart Prompts MCP Server
Smart Prompts MCP Serverは、GitHubリポジトリからプロンプトを取得する拡張型MCP(Model Context Protocol)サーバーです。インテリジェントな発見、構成、管理機能を備えています。これは、prompts-mcp-server の拡張フォークであり、GitHub統合と高度な機能が追加されています。
🚀 クイックスタート
このサーバーを使用する前に、いくつかの前提条件を満たす必要があります。その後、インストールと設定を行います。
✨ 主な機能
コア機能
- 🔄 GitHub統合:GitHubリポジトリ(公開/非公開)から直接プロンプトを取得します。
- 🔍 スマートな発見:カテゴリとタグフィルタリングによる高度な検索機能があります。
- 🔗 プロンプト構成:複数のプロンプトをワークフローに組み合わせることができます。
- 📊 使用状況追跡:プロンプトの使用パターンに関する分析情報を提供します。
- ⚡ リアルタイム更新:GitHubと自動的に同期されます。
- 🤖 AIガイダンス:拡張されたツール説明とワークフロー推奨事項があります。
MCPプロトコルサポート
- ツール:プロンプト管理用の7つの専用ツールがあります。
- リソース:閲覧と発見用の13以上のリソースエンドポイントがあります。
- プロンプト:Handlebarsをサポートする動的なテンプレートがあります。
📦 インストール
ステップ1: リポジトリのクローンと依存関係のインストール
git clone https://github.com/jezweb/smart-prompts-mcp.git
cd smart-prompts-mcp
npm install
npm run build
./verify-install.sh
ステップ2: 環境変数の設定
プロジェクトのルートディレクトリに .env
ファイルを作成します。
GITHUB_OWNER=your-username
GITHUB_REPO=your-prompts-repo
GITHUB_BRANCH=main
GITHUB_PATH=
GITHUB_TOKEN=ghp_xxxxx
CACHE_TTL=300000
CACHE_REFRESH_INTERVAL=60000
ENABLE_SEMANTIC_SEARCH=true
ENABLE_PROMPT_COMPOSITION=true
ENABLE_USAGE_TRACKING=true
ステップ3: MCPクライアントの設定
Claude Desktop (macOS) の場合
~/Library/Application Support/Claude/claude_desktop_config.json
に以下を追加します。
{
"mcpServers": {
"smart-prompts": {
"command": "node",
"args": ["/absolute/path/to/smart-prompts-mcp/dist/index.js"],
"env": {
"GITHUB_OWNER": "your-username",
"GITHUB_REPO": "your-prompts-repo",
"GITHUB_TOKEN": "ghp_your_token_here"
}
}
}
}
Roo Cline (VS Code) の場合
Roo Cline MCP設定に以下を追加します。
"smart-prompts": {
"command": "node",
"args": ["/absolute/path/to/smart-prompts-mcp/dist/index.js"],
"env": {
"GITHUB_OWNER": "your-username",
"GITHUB_REPO": "your-prompts-repo",
"GITHUB_TOKEN": "ghp_your_token_here"
}
}
📁 プロンプトの組織化のベストプラクティス
推奨されるフォルダ構造
your-prompts-repo/
├── README.md # リポジトリの概要
├── ai-prompts/ # AIとメタプロンプト
│ ├── meta-prompt-builder.md
│ └── prompt-engineer.md
├── development/ # 開発用プロンプト
│ ├── backend/
│ │ ├── api-design.md
│ │ └── database-schema.md
│ ├── frontend/
│ │ ├── react-component.md
│ │ └── vue-composition.md
│ └── testing/
│ ├── unit-test-writer.md
│ └── e2e-test-suite.md
├── content-creation/ # コンテンツ作成用プロンプト
│ ├── blog-post-writer.md
│ └── youtube-metadata.md
├── business/ # ビジネス用プロンプト
│ ├── proposal-generator.md
│ └── email-templates.md
└── INDEX.md # オプション: カテゴリインデックス
命名規則
- ファイル:ケバブケースを使用します(例:
api-documentation-generator.md
)
- プロンプト名:フロントマターでスネークケースを使用します(例:
api_documentation_generator
)
- カテゴリ:ハイフン付きの小文字を使用します(例:
content-creation
)
- 名前は説明的で簡潔に
📝 プロンプトファイルの形式
---
name: api_documentation_generator
title: REST API Documentation Generator
description: Generate comprehensive API documentation with examples
category: documentation
tags: [api, rest, documentation, openapi, swagger]
difficulty: intermediate
author: jezweb
version: 1.0
arguments:
- name: api_spec
description: The API specification or endpoint details
required: true
- name: format
description: Output format (markdown, openapi, etc)
required: false
default: markdown
---
Generate comprehensive documentation for {{api_spec}} in {{format}} format.
Include:
- Endpoint descriptions
- Request/response examples
- Authentication details
- Error codes
- Rate limiting information
🛠️ 利用可能なツール
- 🔍
search_prompts
- ここから始めましょう!キーワード、カテゴリ、またはタグで検索します。
- 📋
list_prompt_categories
- カウント付きで利用可能なカテゴリを閲覧します。
- 📖
get_prompt
- 特定のプロンプトを取得します(検索から正確な名前を使用)。
- ✨
create_github_prompt
- GitHubで新しいプロンプトを作成します。
- 🔗
compose_prompts
- 複数のプロンプトを組み合わせます。
- ❓
prompts_help
- コンテキストに応じたヘルプとガイダンスを取得します。
- ✅
check_github_status
- GitHubの接続を確認します。
推奨されるワークフロー
1. search_prompts → 既存のプロンプトを探す
2. get_prompt → 完全な内容を表示する
3. compose_prompts → 必要に応じて組み合わせる
4. create_github_prompt → 何も存在しない場合のみ
🔧 トラブルシューティング
一般的な問題と解決策
1. "GitHub access failed" エラー
GITHUB_TOKEN=ghp_your_actual_token
GITHUB_TOKEN=your_token node test-server.js
2. "Rate limit exceeded" エラー
- GitHubトークンを追加してレート制限を増やします。
- キャッシュの更新間隔を短くします。
CACHE_TTL
を使用してキャッシュを長時間保持します。
3. "No prompts found"
- リポジトリの構造が期待される形式と一致することを確認します。
- サブディレクトリを使用している場合は、
GITHUB_PATH
を検証します。
.md
ファイルにYAMLフロントマターがあることを確認します。
4. MCPクライアントが接続しない
- 設定で絶対パスを使用します。
- Node.jsがPATHに含まれていることを確認します。
- すべての環境変数を検証します。
- ログを確認します:
tail -f ~/.claude/logs/mcp.log
5. パフォーマンスが遅い
CACHE_TTL
を増やして更新頻度を減らします。
- リポジトリのサイズを縮小します(古いプロンプトをアーカイブ)。
- カテゴリを使用して検索範囲を制限します。
📈 スケーリングに関する考慮事項
現在の制限事項
-
GitHub APIのレート制限
- 60リクエスト/時間(未認証)
- 5,000リクエスト/時間(認証済み)
- 各ディレクトリの取得 = 1リクエスト
-
検索の制限
- GitHubにはネイティブのセマンティック検索がありません。
- すべてのファイルを線形検索します。
- 100以上のプロンプトではパフォーマンスが低下します。
スケーリング戦略
50 - 200個のプロンプトの場合
- ✅ 現在の実装で十分です。
- カテゴリとタグを使用して組織化します。
- ローカルキャッシュを実装します。
- より高いレート制限のためにGitHubトークンを追加します。
200 - 1000個のプロンプトの場合
1000個以上のプロンプトの場合
- 🗄️ データベースレイヤー
- ローカルキャッシュにSQLiteを使用します。
- 全文検索機能があります。
- 定期的にGitHubと同期します。
- 🔍 Elasticsearch/Algolia統合
- 適切な検索インフラストラクチャがあります。
- ファセット検索ができます。
- 関連性のランキングがあります。
将来のスケーリング機能(ロードマップ)
-
検索インデックスの生成
- GitHub Actionでインデックスをビルドします。
- 単一のインデックスファイルをダウンロードします。
- ローカルのセマンティック検索ができます。
-
遅延読み込み
- 必要に応じてカテゴリを取得します。
- 段階的な機能強化があります。
- 大きなリストの仮想スクロールができます。
-
CDNサポート
- エッジでプロンプトをキャッシュします。
- GitHub APIの呼び出しを減らします。
- グローバルなアクセスが速くなります。
🚀 将来のMCPサーバーのアイデア
GitHub統合パターンを基に、以下のような潜在的なMCPサーバーが考えられます。
1. Code Snippets MCP Server
GitHubに再利用可能なコードスニペットを保存し、管理します。
- 言語別の組織化
- 構文ハイライト
- 依存関係管理
- バージョン履歴
2. Documentation Templates MCP
GitHubベースのドキュメントテンプレートライブラリです。
- READMEジェネレーター
- APIドキュメントテンプレート
- プロジェクトドキュメント
- コードから自動生成
3. AI Personas MCP Server
AIのパーソナリティ設定を管理します。
- 専門知識の定義
- コミュニケーションスタイル
- 行動特性
- チーム共有
4. Project Scaffolding MCP
完全なプロジェクトテンプレート管理です。
- テクノロジースタック
- ボイラープレートコード
- ベストプラクティス
- 設定プリセット
5. Learning Resources MCP
選りすぐりの教育コンテンツです。
- チュートリアルとガイド
- コード例
- 進捗追跡
- スキルベースの推奨事項
6. Configuration Manager MCP
バージョン管理されたアプリケーション設定です。
- 環境管理
- シークレットの取り扱い
- チーム同期
- ロールバックサポート
7. Workflow Automation MCP
GitHub Actionsとの統合です。
- ワークフローテンプレート
- CI/CDパイプライン
- 自動化スクリプト
- クロスリポジトリオーケストレーション
8. Knowledge Base MCP
チームの知識管理です。
- Q&Aペア
- トラブルシューティングガイド
- ベストプラクティス
- 検索可能なウィキ
🧪 テスト
サーバーには信頼性とパフォーマンスを保証するための包括的なテストが含まれています。
テストスイートの機能
- 重要な機能の100%テストカバレッジ
- 詳細なメトリックを持つパフォーマンスベンチマーク
- インタラクティブなチャートを持つビジュアルテストレポート
- GitHub Actionsを介した自動化されたCI/CD
テストの実行
npm test
npm run test:watch
npm run test:coverage
npm run test:perf
npm run test:verify
テストレポート
テスト結果は複数の形式で自動生成されます。
- JSON:分析用の詳細な結果 (
test-results/latest.json
)
- Markdown:人間が読みやすいレポート (
test-results/latest.md
)
- HTML:インタラクティブなビジュアルレポート (
test-results/latest.html
)
最新のテスト結果を確認しましょう。
🧪 開発
npm run dev
npm run build
npm start
🤝 コントリビューション
コントリビューションを歓迎します!ガイドラインについては CONTRIBUTING.md を参照してください。
優先エリア
-
検索機能の改善
- ファジー検索を実装する
- 検索結果のランキングを追加する
- 正規表現パターンをサポートする
-
パフォーマンスの最適化
- コネクションプーリングを実装する
- リクエストのバッチ処理を追加する
- キャッシュ戦略を最適化する
-
UI/ビジュアライゼーション
- 閲覧用のWebインターフェース
- プロンプトのプレビューツール
- 使用状況分析ダッシュボード
📄 ライセンス
MITライセンス - 詳細については LICENSE ファイルを参照してください。
🙏 謝辞
📞 サポート
Made with ❤️ for the MCP community