1. Conduid
  2. Communication
  3. ProductBoardMCP
MCP server · Communication

ProductBoardMCP

Lightweight MCP server for Productboard API — built with FastMCP (Python). 18 tools for features, products, notes, objectives & releases.

Unclaimed comms
34Low

Scored 4 months ago · breakdown

About ProductBoardMCP

ProductBoardMCP is an MCP server in the Communication category: lightweight MCP server for Productboard API — built with FastMCP (Python). 18 tools for features, products, notes, objectives & releases. It has been installed 0 times through Conduid.

Install

Clone
git clone https://github.com/darkspock/ProductBoardMCP

This server has no ConduID identity, so agent calls to it are not receipted. Pin the version you install and review the source before granting it credentials.

Ask AI

Ask AI about ProductBoardMCP

Powered by Claude · Grounded in docs

I know everything about ProductBoardMCP. Ask me about installation, configuration, usage, or troubleshooting.

Security checks

  • ·README presentNot checked yet.
  • ·License declaredNot checked yet.
  • ·Tests presentNot checked yet.
  • ·Dependencies pinnedNot checked yet.
  • ·No dynamic code executionNot checked yet.
  • ·Scoped permissionsNot checked yet.

README

Productboard MCP Server

A lightweight MCP server that gives Claude (and any MCP client) full access to the Productboard API v2 (Migration Guide). Built with FastMCP.

Try it now (public test server)

This is a shared test server for evaluation purposes only. No tokens are stored server-side — your API token is proxied directly to Productboard. For production, deploy your own instance (see below).

  1. Get your Productboard API token from Settings > Integrations > API Keys in your workspace (https://<your-workspace>.productboard.com/settings/integrations/api-keys)

  2. Run this in Claude Code (paste the token on a single line, no line breaks):

claude mcp add --transport http productboard "https://productboardmcp.thebrokentelephone.com/mcp" --header "Authorization: Bearer YOUR_PRODUCTBOARD_TOKEN"
  1. Restart Claude Code and start using the 28 Productboard tools.

Tools (28)

Full list: CLAUDE.md

Category Count Key Tools
Entities (unified: features/products/etc.) 8 list_entities(entity_type="feature"), create_entity, search_entities, entity_configurations
Notes 7 list_notes, create_note, search_notes(link_ids), update_note/delete_note
Teams 9 list_teams, get_team, create_team, update_team, delete_team, get_team_members, add_team_member, delete_team_member, search_teams
Members 4 list_members, search_members, get_member, get_member_teams

Unified Entities API

The v2 Entities API unifies features, products, components, objectives, initiatives, key results, releases, and release groups under a single set of tools. Instead of separate list_features, list_objectives, etc., you use list_entities(entity_type="feature") or list_entities(entity_type="objective").

Supported entity types: feature, subfeature, product, component, objective, initiative, keyResult, release, releaseGroup.

Notes with Advanced Search

search_notes supports filtering by linked features via link_ids, making it easy to pull all customer feedback for a specific feature:

1. search_entities(entity_type="subfeature", name="My Feature")
   → Returns feature UUID

2. search_notes(link_ids="<feature-uuid>", verbose="true")
   → Returns all feedback notes linked to that feature with full content

Member UUIDs for ownership

Productboard now uses member UUIDs for owner fields when writing entities and notes. Use list_members or search_members to find the correct member UUID, then pass it as owner_id to create_entity, update_entity, create_note, or update_note.

Pagination

List and search tools follow Productboard pageCursor pagination until exhaustion. Results are no longer silently truncated after a fixed number of pages.

Clients

Claude Code / Desktop

claude mcp add productboard -- uv run python -m src  # Local stdio
# or
claude mcp add --transport http productboard "http://localhost:3000/mcp" --header "Authorization: Bearer $PRODUCTBOARD_API_TOKEN"

Cursor (Claude integration)

  1. Settings > Claude > Add MCP Server
  2. URL: http://localhost:3000/mcp
  3. Headers: Authorization: Bearer YOUR_TOKEN

Opencode CLI (this tool)

In your project:

git clone https://github.com/darkspock/ProductBoardMCP.git .
uv sync
PRODUCTBOARD_API_TOKEN=your-token uv run python -m src

Local MCP server ready.

Quick Start

Prerequisites

  • Python 3.13+
  • uv (recommended) or pip
  • A Productboard API token — generate one at Settings > Integrations > API Keys in your Productboard workspace (https://<your-workspace>.productboard.com/settings/integrations/api-keys)

Install

git clone https://github.com/darkspock/ProductBoardMCP.git
cd ProductBoardMCP
uv sync

Run (stdio — local use with Claude Desktop)

PRODUCTBOARD_API_TOKEN=your-token uv run python -m src

Or create a .env file:

PRODUCTBOARD_API_TOKEN=your-token
uv run python -m src

Run (HTTP — remote deployment for Claude custom connectors)

MCP_TRANSPORT=httpStream PORT=3000 uv run python -m src

The server will listen on http://0.0.0.0:3000/mcp.

Add to Claude Code (one command)

claude mcp add --transport http productboard "https://your-host.com/mcp" \
  --header "Authorization: Bearer YOUR_PRODUCTBOARD_TOKEN"

Each user runs this once with their own Productboard API token. The server proxies it to the Productboard API — no tokens are stored server-side.

Important: The token and the entire --header value must be on a single line with no line breaks or extra spaces. Productboard API tokens are long JWTs — when copying from a terminal or password manager, line breaks are often introduced silently. If claude mcp list shows Failed to connect, remove and re-add the server with the token on one line:

claude mcp remove productboard
claude mcp add --transport http productboard "https://your-host.com/mcp" --header "Authorization: Bearer eyJ0eXAi...full_token_here"

Add to Claude Desktop

Add to your claude_desktop_config.json:

{
  "mcpServers": {
    "productboard": {
      "url": "https://your-host.com/mcp",
      "headers": {
        "Authorization": "Bearer YOUR_PRODUCTBOARD_TOKEN"
      }
    }
  }
}

Local mode (stdio)

If you prefer running locally instead of connecting to a remote server:

claude mcp add productboard -- uv run python -m src

Set PRODUCTBOARD_API_TOKEN in your .env file.

Configuration

Variable Required Default Description
PRODUCTBOARD_API_TOKEN Yes Bearer token from Productboard
MCP_TRANSPORT No stdio stdio or httpStream
PORT No 3000 HTTP port (only in httpStream mode)
PRODUCTBOARD_API_BASE_URL No https://api.productboard.com/v2 API base URL

Deploying as a Claude Custom Connector

With Docker

docker build -t productboard-mcp .
docker run -p 3000:3000 productboard-mcp

No API token needed on the server — each user passes their own token via the Authorization header from their Claude config.

On any host

  1. Deploy with MCP_TRANSPORT=httpStream to any HTTPS host (Railway, Render, Fly.io, AWS, etc.)
  2. In Claude, go to Organization Settings > Connectors
  3. Click "Add custom connector"
  4. Enter the server URL (e.g., https://your-host.com/mcp)
  5. Click "Add"

Team members can then connect via Settings > Connectors > Productboard > Connect.

Plan Restrictions

Some Productboard features are only available on certain plans. If a tool accesses a feature not enabled on your workspace, it will return a clear error message instead of failing silently:

  • Initiatives — may not be available on all plans.
  • Key Results — may not be available on all plans.

Use entity_configurations(entity_type="...") to discover which entity types and fields are available in your workspace.

Acknowledgments

This project is inspired by Enreign/productboard-mcp by Stanislav Shymanskyi. The original TypeScript implementation (MIT License, v0.2.1) demonstrated that an MCP server for Productboard was viable and provided the initial inspiration. Thank you for paving the way!

License

MIT

README mirrored from the source repository 4 months ago. The original is authoritative.

Questions

About ProductBoardMCP

How do I install ProductBoardMCP?

Run git clone https://github.com/darkspock/ProductBoardMCP, then add the server to your MCP client's configuration. Conduid has recorded 0 installs, so the command is known to work with current clients.

Is ProductBoardMCP safe to use with an AI agent?

Its trust score is 34 out of 100 (low). Conduid hasn't run static security checks on this repository yet, so review the source yourself before granting it credentials. It has no ConduID identity yet, so agent calls to it are not receipted.

Is ProductBoardMCP still maintained?

Conduid hasn't recorded a commit date for this repository yet. Check the repository directly for recent activity.