Skip to content
このページは AI の支援により作成・翻訳されました。誤りがあれば、改善にご協力ください。 GitHub で編集

MCPサーバー

OpenPRにはAIアシスタントがプロジェクト、イシュー、スプリント、ラベル、コメント、提案、ファイルを管理するための34ツールを公開する組み込みのMCP(Model Context Protocol)サーバーが含まれています。サーバーは3つのトランスポートプロトコルを同時にサポートします。

トランスポートプロトコル

プロトコルユースケースエンドポイント
HTTPWeb統合、OpenClawプラグインPOST /mcp/rpc
stdioClaude Desktop、Codex、ローカルCLIstdin/stdout JSON-RPC
SSEストリーミングクライアント、リアルタイムUIGET /sse + POST /messages

マルチプロトコル

HTTPモードでは、3つのプロトコルすべてが単一のポートで利用可能です:/mcp/rpc(HTTP)、/sse + /messages(SSE)、/health(ヘルスチェック)。

設定

環境変数

変数必須説明
OPENPR_API_URLはいAPIサーバーのベースURLhttp://localhost:3000
OPENPR_BOT_TOKENはいopr_プレフィックス付きボットトークンopr_abc123...
OPENPR_WORKSPACE_IDはいデフォルトのワークスペースUUIDe5166fd1-...

Claude Desktop / Cursor / Codex(stdio)

MCPクライアント設定に追加:

json
{
  "mcpServers": {
    "openpr": {
      "command": "/path/to/mcp-server",
      "args": ["--transport", "stdio"],
      "env": {
        "OPENPR_API_URL": "http://localhost:3000",
        "OPENPR_BOT_TOKEN": "opr_your_token_here",
        "OPENPR_WORKSPACE_ID": "your-workspace-uuid"
      }
    }
  }
}

HTTPモード

bash
# Start the MCP server
./target/release/mcp-server --transport http --bind-addr 0.0.0.0:8090

# Verify
curl -X POST http://localhost:8090/mcp/rpc \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'

SSEモード

bash
# 1. Connect SSE stream (returns session endpoint)
curl -N -H "Accept: text/event-stream" http://localhost:8090/sse
# -> event: endpoint
# -> data: /messages?session_id=<uuid>

# 2. POST request to the returned endpoint
curl -X POST "http://localhost:8090/messages?session_id=<uuid>" \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"projects.list","arguments":{}}}'
# -> Response arrives via SSE stream as event: message

Docker Compose

yaml
mcp-server:
  build:
    context: .
    dockerfile: Dockerfile.prebuilt
    args:
      APP_BIN: mcp-server
  environment:
    - OPENPR_API_URL=http://api:8080
    - OPENPR_BOT_TOKEN=opr_your_token
    - OPENPR_WORKSPACE_ID=your-workspace-uuid
  ports:
    - "8090:8090"
  command: ["./mcp-server", "--transport", "http", "--bind-addr", "0.0.0.0:8090"]

ツールリファレンス(34ツール)

プロジェクト(5)

ツール必須パラメータ説明
projects.list--ワークスペース内のすべてのプロジェクトをリスト
projects.getproject_idイシュー数付きのプロジェクト詳細を取得
projects.createkey, nameプロジェクトを作成
projects.updateproject_id名前/説明を更新
projects.deleteproject_idプロジェクトを削除

ワークアイテム / イシュー(11)

ツール必須パラメータ説明
work_items.listproject_idプロジェクト内のイシューをリスト
work_items.getwork_item_idUUIDでイシューを取得
work_items.get_by_identifieridentifier人間IDで取得(例:API-42
work_items.createproject_id, titleオプションの状態、優先度、説明、assignee_id、due_at、添付ファイルでイシューを作成
work_items.updatework_item_id任意のフィールドを更新
work_items.deletework_item_idイシューを削除
work_items.searchqueryすべてのプロジェクト横断でフルテキスト検索
work_items.add_labelwork_item_id, label_id1つのラベルを追加
work_items.add_labelswork_item_id, label_ids複数のラベルを追加
work_items.remove_labelwork_item_id, label_idラベルを削除
work_items.list_labelswork_item_idイシューのラベルをリスト

コメント(3)

ツール必須パラメータ説明
comments.creatework_item_id, contentオプションの添付ファイルでコメントを作成
comments.listwork_item_idイシューのコメントをリスト
comments.deletecomment_idコメントを削除

ファイル(1)

ツール必須パラメータ説明
files.uploadfilename, content_base64ファイルをアップロード(base64)、URLとファイル名を返す

ラベル(5)

ツール必須パラメータ説明
labels.list--すべてのワークスペースラベルをリスト
labels.list_by_projectproject_idプロジェクトのラベルをリスト
labels.createname, colorラベルを作成(カラー:16進数、例:#2563eb
labels.updatelabel_id名前/カラー/説明を更新
labels.deletelabel_idラベルを削除

スプリント(4)

ツール必須パラメータ説明
sprints.listproject_idプロジェクトのスプリントをリスト
sprints.createproject_id, nameオプションのstart_date、end_dateでスプリントを作成
sprints.updatesprint_id名前/日付/ステータスを更新
sprints.deletesprint_idスプリントを削除

提案(3)

ツール必須パラメータ説明
proposals.listproject_idオプションのステータスフィルタで提案をリスト
proposals.getproposal_id提案の詳細を取得
proposals.createproject_id, title, descriptionガバナンス提案を作成

メンバーと検索(2)

ツール必須パラメータ説明
members.list--ワークスペースメンバーとロールをリスト
search.allqueryプロジェクト、イシュー、コメント横断でグローバル検索

レスポンスフォーマット

すべてのMCPツールレスポンスは以下の構造に従います:

成功

json
{
  "code": 0,
  "message": "success",
  "data": { ... }
}

エラー

json
{
  "code": 400,
  "message": "error description"
}

ボットトークン認証

MCPサーバーはボットトークン(プレフィックスopr_)で認証します。ボットトークンはWorkspace Settings(ワークスペース設定) > **Bot Tokens(ボットトークン)**で作成してください。

各ボットトークンは:

  • 表示名を持つ(アクティビティフィードに表示)
  • 1つのワークスペースにスコープされる
  • 監査証跡の完全性のためにbot_mcpユーザーエンティティを作成する
  • ワークスペースメンバーが利用可能なすべての読み書き操作をサポートする

エージェント統合

コーディングエージェント向けに、OpenPRは以下を提供します:

  • AGENTS.mdapps/mcp-server/AGENTS.md)-- エージェント向けのワークフローパターンとツール例。
  • スキルパッケージskills/openpr-mcp/SKILL.md)-- ワークフローテンプレートとスクリプトを持つガバナンス付きスキル。

推奨エージェントワークフロー:

  1. ツールのセマンティクスのためにAGENTS.mdを読み込む。
  2. tools/listを使用してランタイムで利用可能なツールを列挙する。
  3. ワークフローパターンに従う:検索 -> 作成 -> ラベル付け -> コメント。

次のステップ

Released under the Apache-2.0 License.