harper-mcp について
Harper を MCP サーバーとして設定し、MCP クライアント向けのツール、プロンプト、リソースを設計するためのガイドです。接続方法、自動・カスタム機能、運用上のセキュリティを扱います。
主な機能
- 01application と operations プロファイルの設定
- 02クライアントのハンドシェイクと認証の説明
- 03RBAC フィルター付き CRUD ツールの生成
- 04カスタムツール、プロンプト、リソースの定義
- 05レート制限、クォータ、安全性チェックの適用
活用シーン
- 01Harper で MCP エンドポイントを有効化
- 02スキーマに公開するツールの選定
- 03カスタムコンテンツとプロンプトテンプレートの公開
- 04公開 MCP エンドポイントの保護
MCP 対応
Harper が Streamable HTTP 経由で MCP ツール、プロンプト、リソースをクライアントに公開する方法を説明します。クライアントのハンドシェイク、プロファイル、アクセス制御、エンドポイントのセキュリティも扱います。
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ harperfast/ skills --skill harper-mcpインストール後、Claude Code で/harper-mcpを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
AGENTS.mdrules.manifest.yamlrules/automatic-verb-tools.mdconnecting-clients.mdcustom-mcp-prompts.mdcustom-mcp-resources.mdcustom-mcp-tools.mddurable-quotas.mdenabling-mcp.mdrate-limiting.mdresources-surface.mdsecurity-posture.md詳細
Harper MCP
Harper インスタンスを Model Context Protocol(MCP)サーバーとして公開するためのガイドラインと、AI クライアントが利用するツール、プロンプト、リソースを構築するためのガイドラインです。Harper は MCP Streamable HTTP(仕様リビジョン 2025-06-18)を実装しており、独立した 2 つのプロファイル、application(アプリのインターフェイス)と operations(Harper の管理機能)を備えています。
使用するタイミング
次のような場合に、これらのガイドラインを参照してください。
- Harper インスタンスで MCP エンドポイントを有効化または設定する
- MCP クライアント(Claude、エージェントフレームワーク、カスタム HTTP コード)を Harper に接続する
- スキーマに対して AI にどのツールを表示するかを決める、または表示範囲を絞り込む
- カスタム動作(
mcpTools)、プロンプトテンプレート(mcpPrompts)、コンテンツ(mcpResources)を AI クライアントに公開する - 公開または匿名アクセス可能な MCP エンドポイントを保護する(レート制限、永続的なクォータ、セキュリティ強化)
- MCP ワイヤーエラー(セッション/プロトコルヘッダー、400 エラー、SSE)をデバッグする
仕組み
enabling-mcpでプロファイルをマウントし、次にconnecting-clientsでハンドシェイクの仕様を確認します。- ツールのインターフェイスについては、まず
automatic-verb-toolsを参照してください。ほとんどの CRUD ニーズはコードなしで対応できます。実際の動作が必要な場合に限り、custom-mcp-toolsを使用してください。 - コンテンツとテンプレートには
custom-mcp-resourcesとcustom-mcp-promptsを使用します。resources-surfaceでは、コードなしで利用可能な内容を確認できます。 - 外部に公開する前に、
security-postureのチェックリストを確認し、rate-limitingを設定してください(コストが発生するツールにはdurable-quotasも設定します)。
例
各ルールに含まれる具体例(curl によるハンドシェイク、static mcpTools/mcpResources 宣言、クォータフックの実装、セキュリティ強化設定)を参照してください。
優先度別のルールカテゴリ
| 優先度 | カテゴリ | 影響度 | プレフィックス |
|---|---|---|---|
| 1 | セットアップと接続 | HIGH | setup- |
| 2 | ツールとプロンプト | HIGH | tools- |
| 3 | リソース | MEDIUM | resources- |
| 4 | 運用とセキュリティ | HIGH | ops- |
クイックリファレンス
1. セットアップと接続(HIGH)
enabling-mcp— Harper の MCP サーバープロファイル(application と operations)を有効化および設定する方法です。connecting-clients— MCP クライアントを Harper に接続する方法です。initialize ハンドシェイク、セッションおよびプロトコルバージョンのヘッダー、認証について説明します。
2. ツールとプロンプト(HIGH)
automatic-verb-tools— Harper がエクスポートされたテーブルから CRUD MCP ツールを自動生成する方法です。RBAC フィルタリングと allow/deny/maxTools コントロールについて説明します。custom-mcp-tools— static mcpTools を使ってカスタムインスタンスメソッドを MCP ツールとして公開する方法と、匿名公開時のセキュリティモデルについて説明します。custom-mcp-prompts— static mcpPrompts を使って再利用可能なプロンプトテンプレートを MCP クライアントに公開する方法です。
3. リソース(MEDIUM)
resources-surface— MCP リソースのインターフェイスについて説明します。harper:// メタデータ URI、harper+rest:// テーブル記述子、テンプレート、サブスクリプション、list_changed 通知を扱います。custom-mcp-resources— URI テンプレートと補完機能を使い、static mcpResources を通じてドキュメントページ、レポート、バイナリなどのカスタムコンテンツを MCP リソースとして提供する方法です。
4. 運用とセキュリティ(HIGH)
rate-limiting— MCP tools/call のレート制限について説明します。ツール単位、セッション単位、クライアント ID 単位のトークンバケットと、identityHeader の信頼モデルを扱います。durable-quotas— server.setMcpQuotaHandler 登録フックを使って、MCP tools/call に対する永続的なクォータをオペレーターがプラグインする方法と、競合に安全なカウンターパターンについて説明します。security-posture— MCP のセキュリティモデルについて説明します。匿名アクセス、RBAC の境界、オリジン検証、監査ログ、公開インスタンス向けのセキュリティ強化チェックリストを扱います。
使用方法
詳しい説明とコード例については、各ルールファイルをお読みください。
rules/enabling-mcp.md
rules/connecting-clients.md
rules/custom-mcp-tools.md
rules/custom-mcp-resources.md
rules/security-posture.md
コンパイル済みドキュメント全文
すべてのルールを展開した完全なガイドについては、AGENTS.md を参照してください。