mcpField
P
Perspective MCP Server

Perspective MCP Server

ローカル
github.com/FiveOhhWonAI・エージェント272 週間前に更新

Perspective MCP Server について

Perspective MCP Server は、AI アシスタントが複数の職業的視点から問題を分析し、構造化された議論を行えるようにします。製品判断、技術アーキテクチャ、事業戦略の検討向けで、分析は前の視点を踏まえ、議論中に制約を追加できます。

主な機能

  1. 01複数の職業的視点を設定
  2. 02視点を重ねた分析
  3. 033 ラウンドの構造化された議論
  4. 04議論中の制約追加
  5. 05分析と議論の要約生成

活用シーン

  1. 01多様な役割から製品判断を評価
  2. 02技術アーキテクチャ案を比較
  3. 03事業戦略とトレードオフを検討
  4. 04議論中に要件を加えて結果を要約

MCP 対応

視点の設定、分析、議論の開始、制約の追加、要約の生成を行うツールを MCP クライアントに公開します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"perspective": {
"command": "npx",
"args": [
"-y",
"perspective-mcp"
]
}
}
}
起動コマンドnpx -y perspective-mcp

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npmperspective-mcp

ツール

6

掲載時のツール一覧 · 3 週間前に更新

パラメーター型必須説明
perspectivesarrayはい視点オブジェクトの配列

詳細

Perspective MCP Server

🤖 Claude Code と共同で作成 - AI にも複数の視点が必要だからです!

AI アシスタントが複数の専門家の視点から問題を分析し、異なる見解の間で構造化された議論を行えるようにする、Model Context Protocol(MCP)サーバーです。

MCP 互換 ライセンス:MIT

概要

Perspective MCP Server は、構造化されたマルチステークホルダー分析を提供し、AI アシスタントが複雑な問題に取り組む方法を変革します。製品に関する意思決定、技術アーキテクチャの評価、ビジネス戦略の検討など、さまざまな専門家の視点から包括的な分析を行えます。

主な機能
  • 🎭 多角的な分析:PM、EM、デザイナーなど、さまざまな専門職の役割からトピックを分析します
  • 💬 構造化された議論:視点の異なる参加者による3ラウンドの議論を行い、より深い洞察を得られます
  • 🔄 動的な制約の追加:分析の途中で新たな検討事項を追加し、さまざまなシナリオを検討できます
  • 📊 包括的な要約:分析と議論の詳細な要約を生成します
  • 🔗 コンテキストの把握:各視点がそれまでに得られた洞察を踏まえて分析を進めます

インストール

npx を使用する(推奨)
npx perspective-mcp
ソースからインストール
git clone https://github.com/FiveOhhWon/perspective-mcp.git
cd perspective-mcp
npm install
npm run build
開発モード
npm run dev

設定

Claude Desktop

以下の設定を Claude Desktop の設定ファイルに追加します。

macOS:~/Library/Application Support/Claude/claude_desktop_config.json
Windows:%APPDATA%\\Claude\\claude_desktop_config.json

{
  "mcpServers": {
    "perspectives": {
      "command": "node",
      "args": ["/absolute/path/to/perspective-mcp/dist/index.js"]
    }
  }
}

または、npx を使用します。

{
  "mcpServers": {
    "perspectives": {
      "command": "npx",
      "args": ["perspective-mcp"]
    }
  }
}

使用方法

標準的な分析モード
  1. 分析に使用する視点を設定します。
Use the set_perspectives tool to define roles:
- Product Manager: focuses on user needs, market fit, roadmap
- Engineering Manager: focuses on technical feasibility, resources
- UX Designer: focuses on user experience, accessibility
- Business Analyst: focuses on ROI, metrics, market trends
  1. 各視点から分析します。
Use the perspective tool to analyze the problem from each viewpoint.
Each perspective will build on previous insights.
議論モード

初回の分析後、選択した視点の参加者による構造化された議論を行います。

  1. 2〜4つの視点の間で議論を開始します
  2. 第1ラウンド:各参加者が自分の立場を述べます
  3. 第2ラウンド:参加者が相反する見解に応答します
  4. 第3ラウンド:見解をまとめ、妥協案を提示します
  5. 要約を生成し、重要な論点と結論をまとめます

利用可能なツール

set_perspectives

分析に使用する専門職の役割やペルソナを定義します。

パラメーター:

  • perspectives(array、必須):視点オブジェクトの配列
    • role(string):専門職の役割名
    • focusAreas(string[]):主な注目領域
    • personality(string):アプローチや特性

例:

{
  "perspectives": [
    {
      "role": "Product Manager",
      "focusAreas": ["user needs", "market fit", "roadmap"],
      "personality": "Strategic, user-centric, data-driven"
    }
  ]
}
perspective

現在の視点から分析を行います。

パラメーター:

  • analysis(string、必須):現在の視点からの分析
  • nextPerspectiveNeeded(boolean、必須):次の視点に進むかどうか

**戻り値:**進行状況と次の視点の詳細を含む確認情報

start_debate

選択した視点の間で構造化された議論を開始します。

パラメーター:

  • topic(string、必須):議論する質問または問題
  • participants(string[]、必須):参加する2〜4つの役割名

**戻り値:**ラウンドと発言者の情報を含む議論の初期化情報

debate_turn

進行中の議論に発言を提出します。

パラメーター:

  • statement(string、必須):参加者の発言
  • nextTurnNeeded(boolean、必須):次のターンに進むかどうか

**戻り値:**ラウンドの進行状況を含むターンの確認情報

inject_constraint

議論の途中で新たな制約や検討事項を追加します。

パラメーター:

  • constraint(string、必須):新たに検討する制約

**戻り値:**制約の合計数を含む確認情報

debate_summary

議論の包括的な要約を生成します。

**パラメーター:**なし

**戻り値:**トピック、参加者、重要な論点、制約を含む書式付きの要約

例

製品決定の分析
// 1. Set up diverse perspectives
perspectives: [
  { role: "Product Manager", focusAreas: ["user value", "market fit"], personality: "Strategic" },
  { role: "Engineering Manager", focusAreas: ["feasibility", "technical debt"], personality: "Pragmatic" },
  { role: "UX Designer", focusAreas: ["usability", "accessibility"], personality: "User-advocate" },
  { role: "Data Analyst", focusAreas: ["metrics", "user behavior"], personality: "Evidence-based" }
]

// 2. Analyze feature proposal through each lens
// 3. Start debate on implementation approach
// 4. Inject constraint: "Timeline reduced by 1 month"
// 5. Generate summary with recommendations
技術アーキテクチャのレビュー
// Set up technical perspectives (Architect, Security, DevOps, QA)
// Analyze proposed architecture
// Debate trade-offs between different approaches
// Consider new requirements mid-debate
// Synthesize optimal solution

プロジェクト構成

perspective-mcp/
├── src/
│   └── index.ts          # Main server implementation
├── examples/
│   ├── product-analysis.json    # Example perspective sets
│   └── debate-example.json      # Debate configuration example
├── dist/                 # Compiled JavaScript
├── package.json
├── tsconfig.json
└── README.md

開発

前提条件
  • Node.js 18 以上
  • npm または yarn
ビルド
npm run build
テスト
npm test
コントリビューション

コントリビューションを歓迎します!詳細については、コントリビューションガイドラインをご覧ください。

  1. リポジトリをフォークします
  2. フィーチャーブランチを作成します(git checkout -b feature/amazing-feature)
  3. 変更をコミットします(git commit -m 'Add amazing feature')
  4. ブランチにプッシュします(git push origin feature/amazing-feature)
  5. プルリクエストを作成します

トラブルシューティング

よくある問題

観点が進まない場合:

  • nextPerspectiveNeeded には文字列ではなく、ブール値の true を渡してください
  • サーバーのログにデバッグ出力があるか確認してください

ディベートが開始されない場合:

  • 参加者の役割がすべて観点に存在することを確認してください
  • 参加者が2~4人選択されていることを確認してください

設定が機能しない場合:

  • 設定には絶対パスを使用してください
  • 設定を変更した後、Claude Desktop を再起動してください
  • ファイルのアクセス権を確認してください

セキュリティに関する考慮事項

このサーバーは標準的な MCP 権限で動作します。

  • ファイルシステムへのアクセスは不要です
  • ネットワークリクエストは行いません
  • すべてのデータはローカルで処理されます
  • セッション間で状態を保持しません(明示的にコンテキストを維持する場合を除く)

関連プロジェクト

ライセンス

MIT ライセンス - 詳細については、LICENSE ファイルをご覧ください。

謝辞

Anthropic の Model Context Protocol SDK を使用して構築されています。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。