PM Copilot MCP Server

Local setup required. This server has to be cloned and prepared on your machine before you register it in Claude Code.
1

Set the server up locally

Run this once to clone and prepare the server before adding it to Claude Code.

Run in terminal
git clone https://github.com/dkships/pm-copilot
cd pm-copilot

Then follow the repository README for any remaining dependency or build steps before continuing.

2

Register it in Claude Code

After the local setup is done, run this command to point Claude Code at the built server.

Run in terminal
claude mcp add -e "HELPSCOUT_API_KEY=${HELPSCOUT_API_KEY}" -e "PRODUCTLIFT_API_KEY=${PRODUCTLIFT_API_KEY}" pm-copilot -- node "<FULL_PATH_TO_PM_COPILOT>/dist/index.js"

Replace <FULL_PATH_TO_PM_COPILOT>/dist/index.js with the actual folder you prepared in step 1.

Required:HELPSCOUT_API_KEYPRODUCTLIFT_API_KEY
README.md

Triangulates customer support tickets and feature requests for product planning.

PM Copilot

An MCP server that triangulates customer support tickets and feature requests to help PMs decide what to build next.


Real results: Analyzed 2,370 signals (2,136 support tickets + 234 feature requests) across 3 products in 55 seconds. Identified 16 themes, 15 convergent. Top priority: Booking & Scheduling (score: 134.6) — 629 tickets + 77 feature requests pointing at the same problem.

Read the full story: I built an MCP server that changed how I prioritize products — why I built this, how convergent signals work in practice, and what I learned building with Claude Code.


What Makes This Different

  • Signal triangulation — Not just data access. Matches support tickets against feature requests to find convergent themes, then scores them with a weighted formula that gives convergent signals a 2x priority boost.
  • Composability — Designed to work with other MCP servers. Pass churn data from Metabase or traffic trends from Google Analytics into generate_product_plan via kpi_context, and the methodology adjusts priorities accordingly.
  • PM methodology built in — Opinionated scoring based on 7 years of real product management across 9 products and 1M+ users. Not a generic framework — an actual decision-making process exposed as an MCP resource.
  • PII scrubbing — Customer data never reaches the LLM unfiltered. SSNs, credit cards (Luhn-validated), emails, and phone numbers are redacted before analysis. Agent responses are filtered out of quotes.

Architecture

graph TD
    A[Claude Desktop / Code] -->|stdio| B[pm-copilot]
    A -->|stdio| C[Metabase MCP]
    A -->|stdio| D[Google Analytics MCP]
    B -->|Qualitative| E[HelpScout: tickets]
    B -->|Qualitative| F[ProductLift: feature requests]
    C -->|Quantitative| G[Conversion, Churn, Revenue]
    D -->|Acquisition| H[Traffic, Channels, Trends]
    B -.->|kpi_context| A

Claude orchestrates multiple MCP servers. PM Copilot handles qualitative customer signals. Other servers provide quantitative business metrics. The kpi_context parameter is the integration point — no point-to-point integrations required.

Quick Start

git clone https://github.com/dkships/pm-copilot.git
cd pm-copilot
npm install
cp .env.example .env   # Edit with your credentials
npm run build

Claude Desktop

Add to ~/Library/Application Support/Claude/claude_desktop_config.json:

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

Claude Code

claude mcp add pm-copilot -- node /absolute/path/to/pm-copilot/dist/index.js

Or use the .mcp.json already in the project root — Claude Code picks it up automatically.

Tools

`synthesize_feedback`

Cross-references HelpScout tickets and ProductLift feature requests, returns theme-matched analysis with priority scores.

Parameter Type Default Description
timeframe_days number 30 Days to look back (1-90)
top_voted_limit number 50 Max feature requests by vote count
mailbox_id string HelpScout mailbox filter
portal_name string ProductLift portal filter
detail_level string "summary" "summary" (~19KB), "standard" (~68KB), or "full" (~563KB)

Returns themes sorted by priority score, each with reactive/proactive counts, convergence flag, evidence summaries, and representative customer quotes.

`generate_product_plan`

Builds a prioritized product plan with evidence and customer quotes. Accepts external business metrics via kpi_context.

Parameter Type Default Description
timeframe_days number 30 Days to look back (1-90)
top_voted_limit number 50 Max feature requests by vote count
mailbox_id string HelpScout mailbox filter
portal_name string ProductLift portal filter
kpi_context string Business metrics from other MCP servers
max_priorities number 5 Number of priorities to return (1-10)
preview_only boolean false Audit mode: show what data would be sent
detail_level string "summary" "summary" (~7KB), "standard" (~21KB), or "full" (~584KB)

`get_feature_requests`

Raw ProductLift data access for browsing feature requests directly.

Parameter Type Default Description

Tools (3)

synthesize_feedbackCross-references HelpScout tickets and ProductLift feature requests to return theme-matched analysis with priority scores.
generate_product_planBuilds a prioritized product plan with evidence and customer quotes, supporting external business metrics via kpi_context.
get_feature_requestsRaw ProductLift data access for browsing feature requests directly.

Environment Variables

HELPSCOUT_API_KEYrequiredAPI credentials for HelpScout integration
PRODUCTLIFT_API_KEYrequiredAPI credentials for ProductLift integration

Configuration

claude_desktop_config.json
{"mcpServers": {"pm-copilot": {"command": "node", "args": ["/absolute/path/to/pm-copilot/dist/index.js"]}}}

Try it

Synthesize the feedback from the last 30 days and identify the top 3 product themes.
Generate a prioritized product plan for the next quarter based on HelpScout tickets and ProductLift requests.
What are the most requested features in the current portal that align with our recent support volume?
Create a product plan that incorporates my current churn metrics from Metabase.

Frequently Asked Questions

What are the key features of PM Copilot?

Signal triangulation between support tickets and feature requests. Weighted priority scoring with a 2x boost for convergent signals. Composability with other MCP servers for quantitative business metrics. Automatic PII scrubbing of sensitive customer data. Opinionated product management methodology built into the analysis.

What can I use PM Copilot for?

Prioritizing engineering roadmaps based on actual customer pain points. Identifying convergent themes across qualitative support data and feature requests. Integrating quantitative business metrics like churn or revenue into qualitative feedback analysis. Automating the generation of evidence-backed product plans for stakeholders.

How do I install PM Copilot?

Install PM Copilot by running: Add to ~/Library/Application Support/Claude/claude_desktop_config.json

What MCP clients work with PM Copilot?

PM Copilot works with any MCP-compatible client including Claude Desktop, Claude Code, Cursor, and other editors with MCP support.

Turn this server into reusable context

Keep PM Copilot docs, env vars, and workflow notes in Conare so your agent carries them across sessions.

Need the old visual installer? Open Conare IDE.
Open Conare