Get the FREE Ultimate OpenClaw Setup Guide →

pm-copilot

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

Installation
Run this command in your terminal to add the MCP server to Claude Code.
Run in terminal:
Command
claude mcp add --transport stdio dkships-pm-copilot node /absolute/path/to/pm-copilot/dist/index.js \
  --env PORT="3000" \
  --env LOG_LEVEL="info|debug" \
  --env ENVIRONMENT="development | production" \
  --env CLAUDE_API_KEY="your-claude-api-key" \
  --env OPENAI_API_KEY="your-openai-api-key (if used)" \
  --env HELP_SCOUT_API_KEY="your-helpscout-api-key" \
  --env PRODUCTLIFT_API_KEY="your-productlift-api-key"

How to use

PM Copilot is an MCP server that triangulates qualitative customer signals from HelpScout tickets with feature requests from ProductLift to help product managers prioritize what to build next. It applies a convergent-signal scoring methodology, giving higher priority to themes that appear across multiple data sources, and supports integration with other MCP servers to incorporate quantitative metrics. Use the provided tools to extract themes, priorities, and supporting quotes, and to assemble a data-backed product plan. The server is designed to run alongside Claude-based orchestration, allowing KPI context from other MCP servers to override the scoring as needed. Typical usage involves running the server locally or in a dev/prod environment, wiring it into Claude Desktop or Claude Code via the mcpServers configuration, and invoking available MCP resources such as synthesize_feedback, generate_product_plan, and get_feature_requests to derive prioritized roadmaps with evidence.

How to install

Prerequisites:\n- Node.js v18 or later\n- npm or yarn\n- Access to Claude/MCP workflow (for orchestration) if you plan to integrate with Claude code or desktop config\n\nSetup steps:\n1) Clone the repository:\n git clone https://github.com/dkships/pm-copilot.git\n2) Install dependencies:\n npm install\n3) Create a local environment file based on the example:\n cp .env.example .env # Edit with your credentials and config\n4) Build the project (transpile TypeScript to JavaScript):\n npm run build\n5) Run the MCP server locally (example):\n node dist/index.js # or use a process manager in production (pm2, etc.)\n6) Optional: configure Claude integration by updating your Claude config to reference the server, e.g., in Claude Desktop or Claude Code with the path to dist/index.js.\n\nNotes:\n- Ensure environment variables for API keys and endpoints are set in .env or your deployment environment.\n- If you modify port or host, update the mcp_config accordingly.\n- For production, consider containerization (Docker) and a reverse proxy for secure access.

Additional notes

Tips and common issues:\n- Ensure .env variables are loaded in the runtime environment; missing API keys will prevent external data access.\n- If you see JSON schema errors in Claude integration, verify that the mcpServers entry uses the exact server name and a valid absolute path to the built index.js.\n- The server expects data from HelpScout and ProductLift; verify that API keys and webhooks are correctly configured to fetch signals.\n- When using KPI context overrides, ensure the data format is compatible with the generate_product_plan input.\n- For debugging, enable verbose logging by setting LOG_LEVEL to debug in the environment.\n- If you rename the server or change the entry file, update both the mcp_config and Claude configuration to reflect the new path.\n- The Quick Start section in the README includes Claude-specific examples; adapt those payloads to your environment as needed.

Related MCP Servers

Sponsor this space

Reach thousands of developers