Perspective MCP Server

by FiveOhhWon

276 downloads
Not rated
GitHub

About

MCP server for multi-perspective analysis and structured debates

Details

Author
FiveOhhWon
Downloads
276
Categories
Other

- Multi-perspective analysis through various professional roles
- Structured three-round debates between perspectives
- Dynamic constraint injection during analysis
- Comprehensive summaries of analyses and debates
- Context awareness where each perspective builds on previous insights

Setting up with Highlight

This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:

  1. Download and install Highlight from highlightai.com/download
  2. Navigate to the plugins tab and select "Add Custom Plugin"
  3. Configure the plugin with the settings below
    Plugin Name Perspective MCP Server
    Command (node, npx, python, etc.)

    Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.

  4. Enable "Start Automatically" if you want the plugin to start when Highlight launches

From the repository

Install via npx (npx perspective-mcp) or from source by cloning the repository, running npm install and npm run build. Configure the server in Claude Desktop's config file using either an absolute path to the built index.js or the npx command. Use the provided tools (set_perspectives, perspective, start_debate, debate_turn, inject_constraint, debate_summary) to set up professional roles, perform analyses, and conduct structured three-round debates.

set_perspectives

Define the list of professional roles/personas that will analyze the topic

perspective

Perform analysis from the current perspective, building on previous insights

start_debate

Start a debate between selected personas on a specific topic

debate_turn

Submit a statement in the ongoing debate

inject_constraint

Add a new constraint or consideration to the ongoing debate

debate_summary

Generate a summary of the debate including key points from each participant

Claude Desktop / Cursor

Paste into your MCP client config file to install this server.

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

McpServers

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

Perspective MCP Server

> πŸ€– Co-created with Claude Code - Because even AI needs multiple perspectives!

A Model Context Protocol (MCP) server that enables AI assistants to analyze problems through multiple professional perspectives and facilitate structured debates between viewpoints.

<a href="https://modelcontextprotocol.io">MCP Compatible</a>
<a href="https://github.com/FiveOhhWon/perspective-mcp/blob/main/LICENSE">License: MIT</a>

Overview

The Perspective MCP Server transforms how AI assistants approach complex problems by providing structured multi-stakeholder analysis. Whether you're making product decisions, evaluating technical architectures, or exploring business strategies, this server enables comprehensive analysis through diverse professional lenses.

Key Features

- 🎭 Multi-Perspective Analysis: Analyze topics through various professional roles (PM, EM, Designer, etc.)
- πŸ’¬ Structured Debates: Facilitate 3-round debates between perspectives for deeper insights
- πŸ”„ Dynamic Constraints: Inject new considerations mid-analysis to explore scenarios
- πŸ“Š Comprehensive Summaries: Generate detailed summaries of analyses and debates
- πŸ”— Context Awareness: Each perspective builds upon previous insights

Installation

Using npx (recommended)

npx perspective-mcp

From Source

git clone https://github.com/FiveOhhWon/perspective-mcp.git
cd perspective-mcp
npm install
npm run build

Development Mode

npm run dev

Configuration

Claude Desktop

Add this configuration to your Claude Desktop config file:

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"]
    }
  }
}

Or using npx:

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

Usage

Standard Analysis Mode

1. Set up perspectives for your analysis:

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

2. Analyze through each perspective:

Use the perspective tool to analyze the problem from each viewpoint.
Each perspective will build on previous insights.

Debate Mode

After initial analysis, engage selected perspectives in structured debate:

1. Start a debate between 2-4 perspectives
2. Round 1: Each participant states their position
3. Round 2: Participants respond to conflicting viewpoints
4. Round 3: Synthesis and compromise proposals
5. Generate summary of key points and outcomes

Available Tools

set_perspectives

Define the professional roles/personas for analysis.

Parameters:
- perspectives (array, required): Array of perspective objects
- role (string): Professional role name
- focusAreas (string[]): Primary areas of focus
- personality (string): Approach and traits

Example:

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

perspective

Perform analysis from the current perspective.

Parameters:
- analysis (string, required): The analysis from current perspective
- nextPerspectiveNeeded (boolean, required): Whether to advance to next perspective

Returns: Confirmation with progress tracking and next perspective details

start_debate

Initiate a structured debate between selected perspectives.

Parameters:
- topic (string, required): The question or problem to debate
- participants (string[], required): 2-4 role names to participate

Returns: Debate initialization with round and speaker information

debate_turn

Submit a statement in the ongoing debate.

Parameters:
- statement (string, required): The participant's statement
- nextTurnNeeded (boolean, required): Whether to proceed to next turn

Returns: Turn confirmation with round progression details

inject_constraint

Add new constraints or considerations during debate.

Parameters:
- constraint (string, required): New constraint to consider

Returns: Confirmation with total constraints

debate_summary

Generate comprehensive summary of the debate.

Parameters: None

Returns: Formatted summary with topic, participants, key points, and constraints

Examples

Product Decision Analysis

// 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

Technical Architecture Review

// 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

Project Structure

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

Development

Prerequisites

- Node.js 18 or higher
- npm or yarn

Building

npm run build

Testing

npm test

Contributing

We welcome contributions! Please see our Contributing Guidelines for details.

1. Fork the repository
2. Create your feature branch (git checkout -b feature/amazing-feature)
3. Commit your changes (git commit -m 'Add amazing feature')
4. Push to the branch (git push origin feature/amazing-feature)
5. Open a Pull Request

Troubleshooting

Common Issues

Perspectives not advancing:
- Ensure nextPerspectiveNeeded is passed as boolean true, not string
- Check server logs for debug output

Debate not starting:
- Verify all participant roles exist in your perspectives
- Ensure 2-4 participants are selected

Configuration not working:
- Use absolute paths in configuration
- Restart Claude Desktop after config changes
- Check file permissions

Security Considerations

This server operates with standard MCP permissions:
- No file system access required
- No network requests made
- All data processed locally
- Stateless between sessions (unless explicitly maintaining context)

Related Projects

- Model Context Protocol
- MCP TypeScript SDK
- Awesome MCP Servers

License

MIT License - see LICENSE file for details.

Acknowledgments

Built with the Model Context Protocol SDK by Anthropic.

No reviews yet β€” be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.