Docs · MCP server

Use Product Planner from your AI assistant

The Product Planner MCP server lets assistants like GitHub Copilot, Claude and Cursor read and work in your workspaces: your Opportunity Solution Trees, story maps, personas and the work items in them. Ask about your discovery work in plain language, build out a tree, or implement a user story with its full context.

Server URL https://mcp.product-planner.com/mcp

Before you start

You need a Product Planner account on the Pro plan. New accounts start with a 90-day Pro trial, so you can sign up and connect right away. The first time your assistant uses the server, a browser window opens and you sign in with your Product Planner account. After that, the assistant works with the workspaces you have access to.

There are two ways to connect: the hosted server at https://mcp.product-planner.com/mcp, which most assistants can use directly, and the npm package @product-planner/mcp, which runs the server on your machine for assistants that only support local servers. Both have the same tools.

VS Code and GitHub Copilot

Install with one click (VS Code asks you to confirm):

Or add it yourself: to .vscode/mcp.json in your repository (to share it with your team), or to your user configuration with the MCP: Add Server command:

{
  "servers": {
    "product-planner": {
      "type": "http",
      "url": "https://mcp.product-planner.com/mcp"
    }
  }
}

Open Copilot Chat in Agent mode. When the server starts, VS Code asks you to sign in; sign in with your Product Planner account in the browser.

Claude Code

claude mcp add --transport http product-planner https://mcp.product-planner.com/mcp

Then run /mcp in Claude Code and choose product-planner to sign in.

Claude (web and desktop)

In Claude, open Settings → Connectors, choose Add custom connector, and enter https://mcp.product-planner.com/mcp as the URL. Claude opens the Product Planner sign-in when you connect.

Cursor

Install with one click (Cursor asks you to confirm):

Or add it yourself to ~/.cursor/mcp.json (or .cursor/mcp.json in a project):

{
  "mcpServers": {
    "product-planner": {
      "url": "https://mcp.product-planner.com/mcp"
    }
  }
}

Other clients: run it locally

If your assistant only runs local (stdio) servers, use the npm package. It needs Node.js:

npx -y @product-planner/mcp

For example, in VS Code:

{
  "servers": {
    "product-planner": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "@product-planner/mcp"]
    }
  }
}

On first use the package opens your browser to sign in, and keeps the session in ~/.nimles/mcp-tokens.<issuer>.json so you don't have to sign in every time.

What to ask

Talk to your assistant about your workspace in plain language. For example:

  • “List my Product Planner workspaces and show the Opportunity Solution Tree for Weekly Table.”
  • “Which assumptions under the ‘repeat last week’ solution are still untested?”
  • “Add the three opportunities from these interview notes under the weekly planners outcome.”
  • “Suggest an experiment for our riskiest assumption, with a success criterion.”
  • “Break the shared family plan solution into activities, tasks and stories in the story map.”
  • “Implement the user story ‘Repeat last week’s plan with one tap’.” The assistant reads the story, its solution and the opportunity behind it before it writes code.

Most assistants ask before they run a tool that changes something. Read what it is about to create or change before you allow it.

Tools

Read

ToolWhat it does
whoamiThe signed-in user
list_workspacesThe workspaces you have access to
get_ost_contextThe whole Opportunity Solution Tree of a workspace
get_usm_contextThe whole user story map of a workspace
list_work_itemsWork items, filtered by type, state or workspace
get_work_itemOne item with its fields, children, Azure DevOps links and a link to open it in Product Planner
get_work_item_treeAn item and everything under it
search_work_itemsFind items by title or description
list_work_item_typesThe item types, their states and what each field means
list_personasThe personas of a workspace
get_commentsComments on an item
list_boards / get_boardBoards and their columns

Write

ToolWhat it does
create_workspaceCreate a workspace
create_work_itemCreate an item of any type, under a parent
update_work_item / patch_work_itemChange an item’s title, state or fields
delete_work_itemDelete an item
create_link / delete_linkMove items in the hierarchy or relate them
set_work_item_personaSet the persona of an outcome or opportunity
set_opportunity_metricsChoose the outcome metrics an opportunity should move
create_persona / patch_personaCreate or change a persona
add_commentComment on an item
add_external_link / remove_external_linkLink an item to an Azure DevOps work item
create_boardCreate a board

get_work_item and create_work_item return an Open in Product Planner link, so the assistant can point you straight to what it found or created.

The agent skill

The Product Planner skill teaches an assistant how to work well with the server: read the tree before writing, respect the hierarchy from outcome to experiment, propose larger changes before making them, and never delete without asking. Save it as product-planner/SKILL.md in your skills folder, for example .github/skills/ in a repository (GitHub Copilot) or .claude/skills/ (Claude Code). It is also included in the npm package.

With Azure DevOps

If your team delivers in Azure DevOps, add the Azure DevOps MCP server as well. With both, an assistant can turn a validated solution or a release into Azure DevOps work items and link them back to Product Planner with add_external_link. The skill describes how. You don't need Azure DevOps for anything else on this page.

Sign-in and security

  • You sign in with your own Product Planner account in the browser (OAuth with PKCE). The assistant never sees your password.
  • The server acts as you: it sees only your workspaces and can do only what you can do in the app.
  • To disconnect, remove the server from your assistant. For the npm package, also delete ~/.nimles/mcp-tokens.*.json.

Troubleshooting

  • The assistant says it isn't signed in: start the sign-in again from your assistant (in VS Code, the account menu or the server's entry in the MCP list; in Claude Code, /mcp).
  • Signed in as the wrong account: sign out of Product Planner in your browser, then sign in again from the assistant. For the npm package, delete ~/.nimles/mcp-tokens.*.json first.
  • The npm package's sign-in page doesn't load: it listens on port 17329 for the sign-in to finish. If that port is taken, set PP_AUTH_CALLBACK_PORT to another port in the server's environment.
  • It can't find a workspace or item: ask it to call list_workspaces first; it only sees workspaces your account belongs to.

Questions

Which plan do I need?

Pro. The server works for you when one of your organizations is on Pro or in its 90-day Pro trial, which new accounts start with. On the Free plan the server answers that it needs Pro.

Do I need Azure DevOps to use the MCP server?

No. The server works with your Product Planner workspaces on its own. Azure DevOps comes in only if you want to hand work over to an Azure DevOps backlog, with the Azure DevOps MCP server alongside.

What can the assistant see and change?

Only what your own account can: the server signs in as you, so it sees your workspaces and nothing else. The write tools change your workspace the same way the app does.

Which assistants work with it?

Any assistant that supports MCP. Clients that connect to remote servers use the server URL; clients that only run local servers use the npm package.

Try it with your own workspace: Product Planner is free for 90 days, no credit card.

Get started