🚀 ProductPlan MCP Server
AIを使ってロードマップと対話しましょう。 Claude、Cursor、またはその他のAIアシスタントと自然な会話を通じて、質問をしたり、アイデアを作成したり、OKRの進捗状況を確認したり、ローンチを管理したりできます。
🚀 クイックスタート
ステップ1: ProductPlan APIトークンを取得する
- ProductPlanにログインします。
- 設定 → APIに移動するか、このリンクを直接訪問します。
- APIトークンをコピーします。
ステップ2: アプリをダウンロードする
リリースページにアクセスし、あなたのコンピュータに適したファイルをダウンロードします。
| コンピュータの種類 |
ダウンロードするファイル |
| Mac (M1, M2, M3, M4) |
productplan-darwin-arm64 |
| Mac (Intel) |
productplan-darwin-amd64 |
| Windows |
productplan-windows-amd64.exe |
| Linux |
productplan-linux-amd64 |
Mac/Linuxの場合、ターミナルを開き、以下の2つのコマンドを実行します(ダウンロードしたファイル名に置き換えてください)。
chmod +x ~/Downloads/productplan-darwin-arm64
sudo mv ~/Downloads/productplan-darwin-arm64 /usr/local/bin/productplan
パスワードを求められるのは正常な現象です。
Windowsの場合:
- バイナリ用のフォルダを作成します(存在しない場合)。
mkdir C:\Tools
- ダウンロードした
.exeファイルをそのフォルダに移動し、名前を変更します。move %USERPROFILE%\Downloads\productplan-windows-amd64.exe C:\Tools\productplan.exe
- AIアシスタントの設定(ステップ3で説明)で
C:\Tools\productplan.exeの完全なパスを使用します。
注意:PATHに追加するのをスキップして、設定で完全なファイルパスを使用することができます。
ステップ3: AIアシスタントに接続する
使用するツールを選択します。
Claude Desktop (クリックして展開)
- 設定ファイルを見つけます。
- Mac:
~/Library/Application Support/Claude/claude_desktop_config.json
- Windows:
%APPDATA%\Claude\claude_desktop_config.json
- 任意のテキストエディタで開き、以下を追加します(
your-tokenを実際のAPIトークンに置き換えてください)。
Mac/Linux:
{
"mcpServers": {
"productplan": {
"command": "/usr/local/bin/productplan",
"env": {
"PRODUCTPLAN_API_TOKEN": "your-token"
}
}
}
}
Windows:
{
"mcpServers": {
"productplan": {
"command": "C:\\Tools\\productplan.exe",
"env": {
"PRODUCTPLAN_API_TOKEN": "your-token"
}
}
}
}
- Claude Desktopを再起動します。
Claude Code (ターミナル)
設定ファイルに以下を追加します。
- Mac/Linux:
~/.claude.json
- Windows:
%USERPROFILE%\.claude.json
Mac/Linux:
{
"mcpServers": {
"productplan": {
"command": "/usr/local/bin/productplan",
"env": {
"PRODUCTPLAN_API_TOKEN": "your-token"
}
}
}
}
Windows:
{
"mcpServers": {
"productplan": {
"command": "C:\\Tools\\productplan.exe",
"env": {
"PRODUCTPLAN_API_TOKEN": "your-token"
}
}
}
}
Cursor
- Cursorを開きます。
- 設定 → MCP Serversに移動します。
- 以下の設定を追加します。
Mac/Linux:
{
"productplan": {
"command": "/usr/local/bin/productplan",
"env": {
"PRODUCTPLAN_API_TOKEN": "your-token"
}
}
}
Windows:
{
"productplan": {
"command": "C:\\Tools\\productplan.exe",
"env": {
"PRODUCTPLAN_API_TOKEN": "your-token"
}
}
}
Windowsユーザー: パスにはダブルバックスラッシュ (\\) を使用してください。JSONではバックスラッシュはエスケープ文字として扱われるため、これが必要です。
VS Code + Cline
- Cline拡張機能をインストールします。
- VS Codeの設定(JSON)を開き、以下を追加します。
Mac/Linux:
{
"cline.mcpServers": {
"productplan": {
"command": "/usr/local/bin/productplan",
"env": {
"PRODUCTPLAN_API_TOKEN": "your-token"
}
}
}
}
Windows:
{
"cline.mcpServers": {
"productplan": {
"command": "C:\\Tools\\productplan.exe",
"env": {
"PRODUCTPLAN_API_TOKEN": "your-token"
}
}
}
}
VS Code + Continue
- Continue拡張機能をインストールします。
- 設定ファイルに以下を追加します。
- Mac/Linux:
~/.continue/config.json
- Windows:
%USERPROFILE%\.continue\config.json
Mac/Linux:
{
"mcpServers": [
{
"name": "productplan",
"command": "/usr/local/bin/productplan",
"env": {
"PRODUCTPLAN_API_TOKEN": "your-token"
}
}
]
}
Windows:
{
"mcpServers": [
{
"name": "productplan",
"command": "C:\\Tools\\productplan.exe",
"env": {
"PRODUCTPLAN_API_TOKEN": "your-token"
}
}
]
}
n8n (ワークフロー自動化)
- n8nインスタンスで環境変数を設定します。
N8N_COMMUNITY_PACKAGES_ALLOW_TOOL_USAGE=true
- ワークフローにMCP Clientノードを追加します。
- 以下のように設定します。
- コマンド:
- Mac/Linux:
/usr/local/bin/productplan
- Windows:
C:\Tools\productplan.exe
- 環境変数:
PRODUCTPLAN_API_TOKEN=your-token
- AI Agentノードに接続します。
例のワークフロー: Slack Trigger → AI Agent (with MCP Client) → Slack Response
ステップ4: 質問を始める
AIアシスタントを開き、以下のような質問を試してみましょう。
- "List my ProductPlan roadmaps"
- "What bars are on roadmap [name]?"
- "Show me our OKRs"
- "What ideas are in discovery?"
✨ 主な機能
実世界でのユースケース
朝のスタンドアップ会議の準備
"先週のProduct Roadmapで何が変更されたかを要約して"
利害関係者への進捗報告
"第1四半期のすべての目標とその進捗状況をリストアップして"
アイデアのトリアージ
"優先度が設定されていない 'enterprise' タグ付きのすべてのアイデアを表示して"
ローンチの調整
"1月のローンチにまだ未完了のタスクは何ですか?"
迅速な情報検索
"「Mobile App v2」のバーはいつ開始予定ですか?"
アクセスできるProductPlanデータ
| 機能 |
閲覧 |
作成 |
編集 |
削除 |
| ロードマップ |
可 |
- |
- |
- |
| ロードマップのコメント |
可 |
- |
- |
- |
| バー (ロードマップ項目) |
可 |
可 |
可 |
可 |
| バーのコメント |
可 |
- |
- |
- |
| バーの接続 |
可 |
可 |
- |
可 |
| バーのリンク |
可 |
可 |
- |
可 |
| レーン (カテゴリ) |
可 |
可 |
可 |
可 |
| 凡例 (バーの色) |
可 |
- |
- |
- |
| マイルストーン |
可 |
可 |
可 |
可 |
| アイデア (ディスカバリー) |
可 |
可 |
可 |
- |
| アイデアの顧客 |
可 |
- |
- |
- |
| アイデアのタグ |
可 |
- |
- |
- |
| 機会 |
可 |
可 |
可 |
- |
| アイデアフォーム |
可 |
- |
- |
- |
| 目標 (OKR) |
可 |
可 |
可 |
可 |
| 主要成果 |
可 |
可 |
可 |
可 |
| ローンチ |
可 |
可 |
可 |
可 |
| ローンチセクション |
可 |
可 |
可 |
可 |
| ローンチタスク |
可 |
可 |
可 |
可 |
| ユーザー |
可 |
- |
- |
- |
| チーム |
可 |
- |
- |
- |
仕組み
┌─────────────────┐ spawns ┌─────────────────┐ API calls ┌─────────────────┐
│ AI Assistant │ ───────────────── │ MCP Server │ ─────────────────▶ │ ProductPlan │
│ (Claude, Cursor)│ ◀───────────────▶ │ (this binary) │ ◀───────────────── │ API │
└─────────────────┘ stdin/stdout └─────────────────┘ JSON data └─────────────────┘
your computer your computer cloud
なぜこれはあなたのコンピュータ上で実行する必要があるのですか?
MCP (Model Context Protocol) はサブプロセスモデルを通じて動作します。あなたのAIアシスタントはリモートサーバーに接続するのではなく、バイナリをローカルプロセスとして起動し、stdin/stdoutを介して通信します。このアーキテクチャには以下の意味があります。
- バイナリはローカルに存在する必要があります。AIアシスタントが子プロセスとして実行するためです。
- あなたのAPIトークンはあなたのマシン上に留まります。第三者のサーバーを介して渡されることはありません。
- リアルタイムで同期的な通信が可能です。AIとMCPサーバーの間にネットワークの遅延がありません。
- キャッシュされたデータについてはオフラインでも動作します。ただし、ProductPlan API呼び出しにはインターネット接続が必要です。
あなたが「第1四半期のロードマップに何がありますか?」と質問したとき、以下のようなことが起こります。
- あなたのAIアシスタントはProductPlanデータが必要であることを認識します。
- 構造化されたリクエストをMCPサーバープロセスに送信します。
- バイナリがこれをProductPlan API呼び出しに変換します。
- ProductPlanがJSONデータを返します。
- バイナリが結果を整形し、AIに返します。
- あなたのAIが自然言語で答えを提示します。
エージェントスキル
AIアシスタントがProductPlanツールを効果的に使用する方法を教える事前構築されたワークフローガイドです。各スキルは特定のペルソナに合わせたワークフローをターゲットにしています。
| スキル |
対象ユーザー |
焦点 |
| productplan-workflows |
一般 |
コアパターンとツールの参照 |
| productplan-pm |
プロダクトマネージャー |
完全なツールキット: ロードマップ、OKR、アイデア、ローンチ |
| productplan-leadership |
経営陣 |
ポートフォリオの健全性、クロスロードマップビュー |
| productplan-customer-facing |
営業とカスタマーサポート |
顧客向けのロードマップタイムライン |
共通の原則
すべてのスキルは以下の出力規則に従います。
- 生のJSONを使用しない - 応答を読みやすいテキストと表形式で整形します。
- 人間が読みやすい日付を使用する - "2025-03-15" ではなく、"2025年3月" または "2025年第1四半期" を使用します。
- 大きなリストを要約する - 50個の項目で圧倒されないように、拡張するオプションを提供します。
ペルソナ固有のバリエーション:
- プロダクトマネージャーはフォローアップアクションのために
bar_idを含みます。
- 経営陣は経営サマリーから始め、実装の詳細を非表示にします。
- 顧客向けは内部ID、レーン名、OKRを完全に省略します。
スキルを使用するには、SKILL.mdファイルをClaude Codeのスキルディレクトリにコピーします。
cp skills/productplan-pm/SKILL.md ~/.claude/skills/productplan-pm.md
または、プロンプトで直接スキルを参照することもできます。
"productplan-pmワークフローを使用して、第1四半期のロードマップを表示して"
🔧 トラブルシューティング
"Command not found" または "spawn ENOENT"
AIアシスタントがバイナリを見つけることができません。これは以下の意味があります。
- Mac/Linux: ファイルが
/usr/local/bin/productplanに存在しないか、chmod +xを実行するのを忘れています。
- Windows: 設定内のパスが
.exeファイルを保存した場所と一致していません。
解決策: 設定内のパスにバイナリが存在することを確認します。ls -la /usr/local/bin/productplan (Mac/Linux) を実行するか、C:\Tools\productplan.exeが存在することを確認します (Windows)。
Windowsのパスの問題
Windowsでの一般的なミス:
| 誤った記述 |
正しい記述 |
/usr/local/bin/productplan |
C:\\Tools\\productplan.exe |
C:\Tools\productplan.exe (JSON内でシングルバックスラッシュ) |
C:\\Tools\\productplan.exe |
productplan (パスなし) |
C:\\Tools\\productplan.exe |
.exe拡張子が欠けている |
パスに.exeを含める |
Windowsはパスにバックスラッシュ (\) を使用しますが、JSONではバックスラッシュはエスケープ文字として扱われます。設定ファイルではダブルバックスラッシュ (\\) を使用する必要があります。
"Invalid API token"
ProductPlan設定 → API でトークンを再確認してください。トークンは期限切れになるか、再生成されることがあります。余分なスペースなしで完全なトークンをコピーしていることを確認してください。
"No roadmaps found"
あなたのAPIトークンはProductPlanでアクセス権限のあるデータのみにアクセスできます。あなたが探しているロードマップにアクセス権があることを確認してください。
AIアシスタントがProductPlanツールを認識しない
MCPサーバーはAIアシスタントが起動するときに読み込まれ、設定が変更されたときには読み込まれません。設定ファイルを編集した後、アプリケーションを完全に終了して再起動してください。MacではCmd+Qを使用してください(単にウィンドウを閉じるのではありません)。
Mac/Linuxで "Permission denied"
バイナリに実行権限が必要です。以下のコマンドを実行します。
chmod +x /usr/local/bin/productplan
💻 使用例
コマンドライン (オプション)
AIアシスタントを使用せずに、ターミナルでこのツールを直接使用することもできます。
export PRODUCTPLAN_API_TOKEN="your-token"
productplan status
productplan roadmaps
productplan bars 12345
productplan objectives
productplan ideas
productplan opportunities
productplan launches
📚 詳細ドキュメント
背景情報
MCPとは何ですか?
Model Context Protocol (MCP) は、AIアシスタントが外部ツールに接続できるようにするオープン標準です。Anthropicによって作成され、他のAIプロバイダーも採用しています。このサーバーはMCPを実装しているため、あなたのAIアシスタントがProductPlanデータを読み書きできます。
ProductPlanとは何ですか?
ProductPlan は、4,000以上のプロダクトチームが使用するロードマップソフトウェアです。ロードマップ、OKR、アイデアディスカバリー、およびローンチ調整を処理します。
開発者向け情報
プロジェクト構造
productplan-mcp-server/
├── cmd/productplan/main.go # エントリーポイント (~100行)
├── internal/
│ ├── api/ # ProductPlan APIクライアント
│ │ ├── client.go # キャッシュ、リトライ、レート制限付きのHTTPクライアント
│ │ ├── endpoints.go # 40以上のAPIエンドポイントメソッド
│ │ └── formatters.go # AI用の応答エンリッチメント
│ ├── mcp/ # MCPプロトコルの実装
│ │ ├── server.go # JSON-RPCサーバー、標準入出力
│ │ ├── handler.go # レジストリを介したツールディスパッチ
│ │ └── types.go # プロトコルタイプ
│ ├── tools/ # ツールの定義とハンドラー
│ │ ├── registry.go # ツールの登録とディスパッチ
│ │ └── types.go # ハンドラー用の型付き引数構造体
│ ├── cli/ # CLIコマンド (status, roadmapsなど)
│ │ └── cli.go
│ └── logging/ # 構造化JSONロギング
│ └── logger.go
├── pkg/productplan/ # 再利用可能なユーティリティ
│ ├── cache.go # TTL付きのLRUキャッシュ
│ ├── retry.go # ジッター付きの指数バックオフ
│ ├── ratelimit.go # 適応型レート制限
│ ├── registry.go # スキーマ生成用のToolBuilder
│ ├── requestid.go # リクエストトレーシング
│ └── errors.go # エラー提案
└── evals/ # LLM評価テストスイート
├── tool_selection.json
├── confusion_pairs.json
└── argument_correctness.json
ソースからビルドする
git clone https://github.com/olgasafonova/productplan-mcp-server.git
cd productplan-mcp-server
go build -o productplan ./cmd/productplan
すべてのプラットフォーム用にビルドする:
GOOS=darwin GOARCH=arm64 go build -o dist/productplan-darwin-arm64 ./cmd/productplan
GOOS=darwin GOARCH=amd64 go build -o dist/productplan-darwin-amd64 ./cmd/productplan
GOOS=linux GOARCH=amd64 go build -o dist/productplan-linux-amd64 ./cmd/productplan
GOOS=windows GOARCH=amd64 go build -o dist/productplan-windows-amd64.exe ./cmd/productplan
テスト
すべてのテストを実行する:
go test ./...
カバレッジ付きで実行する:
go test ./... -cover
ベンチマークを実行する:
go test ./internal/... -bench=. -benchmem
評価スイートを実行する:
./scripts/run-evals.sh
カバレッジ目標:
| パッケージ |
カバレッジ |
| internal/mcp |
97% |
| internal/logging |
97% |
| internal/api |
95% |
| internal/cli |
95% |
| internal/tools |
90% |
MCPツールリファレンス
47のツールが利用可能です: 35のREADツールと12のWRITEツール (アクションベース)。
読み取りツール:
- ロードマップ:
list_roadmaps, get_roadmap, get_roadmap_bars, get_roadmap_lanes, get_roadmap_milestones, get_roadmap_legends, get_roadmap_comments, get_roadmap_complete
- バー:
get_bar, get_bar_children, get_bar_comments, get_bar_connections, get_bar_links
- OKR:
list_objectives, get_objective, list_key_results, get_key_result
- ディスカバリー:
list_ideas, get_idea, list_all_customers, list_all_tags, list_opportunities, get_opportunity, list_idea_forms, get_idea_form
- ローンチ:
list_launches, get_launch, get_launch_sections, get_launch_section, get_launch_tasks, get_launch_task
- 管理:
check_status, health_check, list_users, list_teams
書き込みツール:
- ロードマップ:
manage_bar, manage_lane, manage_milestone
- バーの関係:
manage_bar_connection, manage_bar_link
- OKR:
manage_objective, manage_key_result
- ディスカバリー:
manage_idea, manage_opportunity
- ローンチ:
manage_launch, manage_launch_section, manage_launch_task
例:
{"tool": "list_roadmaps", "arguments": {}}
{"tool": "manage_bar", "arguments": {"action": "create", "roadmap_id": "123", "lane_id": "456", "name": "New feature"}}
{"tool": "manage_idea", "arguments": {"action": "create", "name": "Mobile app improvements"}}
アーキテクチャ
サーバーはクリーンなレイヤードアーキテクチャを使用しています。
┌──────────────────────────────────────────────────────────────┐
│ cmd/productplan │
│ (entry point, DI) │
└──────────────────────────────────────────────────────────────┘
│
┌─────────────────────┼─────────────────────┐
▼ ▼ ▼
┌───────────────┐ ┌───────────────┐ ┌───────────────┐
│ internal/cli │ │ internal/mcp │ │internal/tools │
│ (CLI cmds) │ │ (JSON-RPC IO) │ │ (handlers) │
└───────────────┘ └───────────────┘ └───────────────┘
│ │
└──────────┬──────────┘
▼
┌───────────────────┐
│ internal/api │
│ (HTTP client) │
└───────────────────┘
│
▼
┌───────────────────┐
│ ProductPlan API │
└───────────────────┘
主要なインターフェース:
type Handler interface {
Handle(ctx context.Context, args map[string]any) (json.RawMessage, error)
}
type Logger interface {
Debug(msg string, fields ...Field)
Info(msg string, fields ...Field)
Warn(msg string, fields ...Field)
Error(msg string, fields ...Field)
}
ロギング形式:
{"ts":"2024-12-26T10:30:00Z","level":"info","req_id":"ab12","op":"get_roadmap_bars","dur_ms":245}
📄 ライセンス
MITライセンス - LICENSEを参照してください。
変更履歴
リリース履歴と詳細な変更内容については、CHANGELOG.mdを参照してください。
このプロジェクトが気に入ったら
このサーバーがあなたの時間を節約した場合、GitHubで⭐を付けることを検討してください。これにより、他の人がこのプロジェクトを見つけやすくなります。
他のMCPサーバー
他のMCPサーバーをチェックしてみてください。