Productboard MCP Server

Integrates with the Productboard API, offering 49 specialized tools to manage all major Productboard functionalities.

productboard-mcp

An MCP (Model Context Protocol) server for the Productboard API. Enables AI assistants (Claude, Cursor, etc.) to interact with your Productboard workspace.

Tools

ToolDescription
pb_feature_listList features with filtering
pb_feature_getGet a feature by ID
pb_feature_createCreate a new feature
pb_feature_updateUpdate an existing feature
pb_feature_deleteDelete a feature
pb_product_listList products
pb_product_createCreate a product
pb_product_hierarchyGet full product hierarchy
pb_note_listList customer notes
pb_note_createCreate a customer note
pb_objective_listList objectives
pb_objective_createCreate an objective
pb_objective_updateUpdate an objective
pb_keyresult_listList key results
pb_keyresult_createCreate a key result
pb_keyresult_updateUpdate a key result
pb_release_listList releases
pb_release_createCreate a release
pb_release_updateUpdate a release
pb_release_status_updateUpdate release status
pb_release_timelineGet release timeline

Installation

Option 1: One-click install (.mcpb bundle) — Recommended

Download the latest .mcpb file from the Releases page and drag it into Claude Desktop (Developer → Extensions → Install), or double-click it in a compatible MCP client.

The bundle is self-contained — no cloning or building required.

After installing, set your PRODUCTBOARD_API_TOKEN in the extension settings.

Option 2: Local install (manual)

# 1. Clone the repo
git clone https://github.com/Enreign/productboard-mcp.git
cd productboard-mcp

# 2. Install dependencies and build
npm install --include=dev
npm run build

Then add to your claude_desktop_config.json:

{
  "mcpServers": {
    "productboard": {
      "command": "node",
      "args": ["/absolute/path/to/productboard-mcp/dist/index.js"],
      "env": {
        "PRODUCTBOARD_API_TOKEN": "your-api-token-here",
        "LOG_LEVEL": "error"
      }
    }
  }
}

Important: Set LOG_LEVEL to error (not info). MCP uses stdio for communication — info-level logs printed to stdout will interfere with the protocol and cause the server to lock up.

Option 3: npx

⚠️ Coming soon — not yet published to npm. Use Option 1 or 2 above.

{
  "mcpServers": {
    "productboard": {
      "command": "npx",
      "args": ["-y", "@enreign/productboard-mcp"],
      "env": {
        "PRODUCTBOARD_API_TOKEN": "your-api-token-here",
        "LOG_LEVEL": "error"
      }
    }
  }
}

Getting a Productboard API Token

  1. Log in to your Productboard workspace
  2. Go to Profile & SettingsAPI Access
  3. Click Generate API key and copy the token

Configuration

Required

VariableDescription
PRODUCTBOARD_API_TOKENYour Productboard API token (Bearer auth)

Optional

VariableDefaultDescription
PRODUCTBOARD_AUTH_TYPEbearerAuth type: bearer or oauth2
PRODUCTBOARD_API_BASE_URLhttps://api.productboard.com/v2API base URL
PRODUCTBOARD_API_TIMEOUT10000API request timeout (ms)
API_RETRY_ATTEMPTS3Number of retry attempts
API_RETRY_DELAY1000Delay between retries (ms)
RATE_LIMIT_GLOBAL100Max requests per window
RATE_LIMIT_WINDOW_MS60000Rate limit window (ms)
CACHE_ENABLEDfalseEnable response caching
CACHE_TTL300Cache TTL (seconds)
LOG_LEVELinfoLog level: trace, debug, info, warn, error, fatal

Note for MCP clients: Always set LOG_LEVEL=error when using with Claude Desktop, Cursor, or any stdio-based MCP client. Higher log levels write to stdout and will break the MCP protocol.

OAuth2 (optional)

VariableDescription
PRODUCTBOARD_OAUTH_CLIENT_IDOAuth2 client ID
PRODUCTBOARD_OAUTH_CLIENT_SECRETOAuth2 client secret
PRODUCTBOARD_OAUTH_REDIRECT_URIOAuth2 redirect URI

Troubleshooting

"MCP server locks up / produces error logs" → Add "LOG_LEVEL": "error" to the env block in your MCP config. Info logs written to stdout interfere with the stdio transport.

"npx fails / package not found" → The package is not yet published to npm. Use the .mcpb bundle or local install above.

"command not found after local build" → Point args at the full absolute path to dist/index.js, not the productboard-mcp.js wrapper.

License

MIT

संबंधित सर्वर