FiveOhhWon/perspective-mcp
If you are the rightful owner of perspective-mcp and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.
The Perspective MCP Server is a tool that enables AI assistants to analyze problems through multiple professional perspectives and facilitate structured debates between viewpoints.
set_perspectives
Define the professional roles/personas for analysis.
perspective
Perform analysis from the current perspective.
start_debate
Initiate a structured debate between selected perspectives.
debate_turn
Submit a statement in the ongoing debate.
inject_constraint
Add new constraints or considerations during debate.
debate_summary
Generate comprehensive summary of the debate.
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.
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
- 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
- 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:
- Start a debate between 2-4 perspectives
- Round 1: Each participant states their position
- Round 2: Participants respond to conflicting viewpoints
- Round 3: Synthesis and compromise proposals
- 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 objectsrole
(string): Professional role namefocusAreas
(string[]): Primary areas of focuspersonality
(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 perspectivenextPerspectiveNeeded
(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 debateparticipants
(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 statementnextTurnNeeded
(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 for details.
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature
) - Commit your changes (
git commit -m 'Add amazing feature'
) - Push to the branch (
git push origin feature/amazing-feature
) - Open a Pull Request
Troubleshooting
Common Issues
Perspectives not advancing:
- Ensure
nextPerspectiveNeeded
is passed as booleantrue
, 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
License
MIT License - see file for details.
Acknowledgments
Built with the Model Context Protocol SDK by Anthropic.