Skip to main content
Glama
mambalabsdev

Public Feature Board and Roadmap Monitor

Public Feature Board and Roadmap Monitor MCP Server

Smithery Glama score MCP Registry npm version npm downloads license mcpservers.org

An MCP server for the Mamba Labs Public Feature Board and Roadmap Monitor actor on Apify. Give it a company domain. Each run finds the company's public feature board and returns the requests its customers vote on most.

What's Inside

Related MCP server: ticket-writer-mcp

What it does

  • Finds the board: a link on the homepage, a board on the company's own subdomain, or a Canny, Featurebase, Frill, or UserVoice board named after the company that links back to its domain.

  • One board row per company: platform, board URL, total posts, top request, status counts, and integration_targets, the products customers ask the company to integrate with.

  • One request row per request: title, votes, status, comments, board, link, and is_integration_request with integration_target.

  • Monitoring: with only_new and a state_key, only new requests, status changes, and vote jumps since the last run.

A company with no public board comes back free with a row_status saying so.

All of the work runs on Apify. This package is a thin client that starts the actor run, waits for it, and hands back the dataset rows.

Quick start

You need Node.js 18 or newer and an Apify account with an API token.

Add this to your Claude Desktop config (claude_desktop_config.json), Cursor, or any MCP client:

{
  "mcpServers": {
    "mamba-public-feature-board-roadmap-monitor": {
      "command": "npx",
      "args": [
        "-y",
        "@mambalabsdev/mcp-public-feature-board-roadmap-monitor"
      ],
      "env": {
        "APIFY_TOKEN": "your-apify-token"
      }
    }
  }
}

Restart the client. The get_feature_board_requests tool appears.

Prerequisites

Example prompts

  • "What are ClickUp's most requested features, and which integrations do its customers want?"

  • "Find the public roadmap boards for descript.com, instantly.ai, and ahrefs.com and list their planned items."

  • "Which new feature requests showed up on clickup.com's board since last week?"

Tool

get_feature_board_requests. One tool. Example arguments:

{
  "company_domain": "clickup.com",
  "max_requests": "20"
}

Inputs

Every buyer facing input of the actor, unchanged. Omitted inputs take the actor's own defaults. Numbers and booleans are sent as strings.

Input

Type

Description

company_domain

string

The company website domain, for example clickup.com. The actor reads the homepage for a link to a feedback board or public roadmap, then checks the common board addresses

domains

array

Several company domains, one per line. Each gets its own board row. Up to 200 per run

board_urls

array

Board addresses you already know, for example https://feedback.canny.io. With one domain and one board URL, the board is read as that company's board. A board URL on its own is read as a company of its own

company_name

string

With one domain only: the company name as its board shows it. Used to confirm a board found by name

max_requests

string

Request rows returned per company, most votes first, up to 100. 0 returns only the board row. Default 20

max_boards

string

Boards or forums read per company, largest first, up to 5. Canny shows its top 10 and newest 10 requests on each board page. Default 2

integration_requests_only

string

true to return only requests that ask for an integration. The board row still counts every request read. Default false

probe_platform_slugs

string

true (default) checks .canny.io, .featurebase.app, .frill.co, and .uservoice.com when the site links no board. A board found this way is used only when it links back to the company domain

only_new

string

true to return only requests that are new, changed status, or gained at least Min vote increase votes since the last run with the same state key. The board row is returned on every run. Default false

min_vote_increase

string

With only new on: the vote gain that makes a request count as changed. Default 5

state_key

string

Names the saved request list, so separate schedules compare separately

max_charge_usd

string

Optional. The run stops before it would charge more than this

proxy_mode

string

auto (default) sends requests directly and moves a host to the Apify proxy default pool only when that host refuses. A reliability setting: proxy use adds nothing to your price

Pricing

Pay per event on Apify, billed to your Apify account. Prices in USD.

Event

Free plan

Bronze

Silver

Gold

board-found, one company whose public feature board was found and read, with its top requests

$0.0038

$0.00361

$0.00342

$0.00323

apify-actor-start, per run start

$0.0005

$0.0005

$0.0005

$0.0005

A company with no public board, a blocked board, a board with no readable request, and a Productboard portal returned as a link are free. Request rows carry no charge of their own.

Your keys

The actor needs no key. It reads public board pages and holds no key of any kind. Proxy traffic adds nothing to your price: Mamba Labs pays the platform costs of the run. proxy_mode is a reliability setting.

Full actor documentation

apify.com/mambalabs/public-feature-board-roadmap-monitor

License

MIT. See LICENSE.

Available Tools

1 tool
get_feature_board_requestsGet a company's public feature requestsA
Read-only

Find a company's public feature board from its domain (for example clickup.com) and return its top requests. The homepage is read for a link to a feedback board or public roadmap, including one on the company's own subdomain; when none is linked, the common Canny, Featurebase, Frill, and UserVoice addresses are checked and a board is used only when it links back to the company domain. You get one company_board row (platform, board URL, total posts, top request, status counts, and the integrations customers ask for) and one request row per feature request, most votes first, with votes, status, comments, board, and an integration flag naming the product asked for. With only_new and a state_key, only new requests, status changes, and vote jumps since the last run. A Productboard portal comes back as a link. No board, a blocked board, and a board with no readable request are free. A run that does not succeed is returned as an error with its run ID. Read-only; requires an APIFY_TOKEN; Apify charges once per company whose board was found and read.

NameRequiredDescriptionDefault
domainsNoSeveral company domains, one per line. Each gets its own board row. Up to 200 per run.
only_newNotrue to return only requests that are new, changed status, or gained at least Min vote increase votes since the last run with the same state key. The board row is returned on every run. Default false.
state_keyNoNames the saved request list, so separate schedules compare separately.
board_urlsNoBoard addresses you already know, for example https://feedback.canny.io. With one domain and one board URL, the board is read as that company's board. A board URL on its own is read as a company of its own.
max_boardsNoBoards or forums read per company, largest first, up to 5. Canny shows its top 10 and newest 10 requests on each board page. Default 2.
proxy_modeNoauto (default) sends requests directly and moves a host to the Apify proxy default pool only when that host refuses. A reliability setting: proxy use adds nothing to your price.
company_nameNoWith one domain only: the company name as its board shows it. Used to confirm a board found by name.
max_requestsNoRequest rows returned per company, most votes first, up to 100. 0 returns only the board row. Default 20.
company_domainNoThe company website domain, for example clickup.com. The actor reads the homepage for a link to a feedback board or public roadmap, then checks the common board addresses.
max_charge_usdNoOptional. The run stops before it would charge more than this.
min_vote_increaseNoWith only new on: the vote gain that makes a request count as changed. Default 5.
probe_platform_slugsNotrue (default) checks <name>.canny.io, <name>.featurebase.app, <name>.frill.co, and <name>.uservoice.com when the site links no board. A board found this way is used only when it links back to the company domain.
integration_requests_onlyNotrue to return only requests that ask for an integration. The board row still counts every request read. Default false.

TDQS

A4.6/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly/openWorld/non-idempotent, and the description adds substantial context beyond them: requires an APIFY_TOKEN, billing happens only per company whose board was found and read, no-board/blocked-board/no-readable-request cases are free, failures return an error with a run ID, and Productboard portals come back as a link. That is exactly the operational detail an agent needs before spending money.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the core action and discovery logic, then output shape, then incremental mode, then cost/error behavior — a sensible ordering. It is a single dense block with some cramming (cost, Productboard, and error handling share one sentence cluster), but nearly every sentence carries information an agent would otherwise lack.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 13-parameter, no-output-schema, open-world scraping tool, the description covers discovery logic, return structure, incremental mode, billing, and error reporting. Nothing essential to calling it correctly is missing, and the absence of an output schema is compensated by the explicit row description.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the schema already documents all 13 parameters and the baseline is 3. The description adds real value on top by explaining the only_new/state_key/min_vote_increase interaction as a coherent workflow and by clarifying the output-row semantics tied to max_requests and max_boards.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource — find a company's public feature board from a domain and return its top requests — and names the exact fallback discovery strategies (homepage link, then Canny/Featurebase/Frill/UserVoice probes). The output entities (one company_board row plus one request row per request) are spelled out, so an agent knows precisely what it gets.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives concrete conditional guidance: when the homepage link is used, when platform probing kicks in, and that a probed board is only accepted if it links back to the company domain. It also explains the only_new + state_key incremental mode. It stops short of explicit 'when not to use' or prerequisite framing (e.g. run state_key first), but there are no siblings to route between.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 1 tool updatev1.0.0
    • First observedget_feature_board_requests

TDQS

A4.4/5.0

Scored across 1 tool

Disambiguation5/5

With only one tool there are no tool boundaries to confuse, so misselection is impossible. The caveat is that this clarity comes from consolidating every behavior (discovery, fetching, delta tracking) into one tool rather than from well-separated tools.

Naming Consistency5/5

The single name, get_feature_board_requests, is a clear snake_case verb_noun phrase consistent with common MCP conventions. There is only one name, so no inconsistency is possible, though the plural object and long compound are slightly awkward.

Tool Count3/5

A one-tool server is borderline thin: the tool bundles board discovery, request retrieval, and run-over-run delta tracking into a single call with only only_new/state_key as control parameters. It works for the narrow purpose but offers no granularity for agents that want just discovery or just a refresh.

Completeness3/5

The core read-only workflow (find board, list top requests with votes/status/integrations, detect changes since last run) is covered. Notable gaps exist: no way to fetch a specific request or its comment thread, no multi-company or multi-board comparison, and no routine that continues past the top requests or previous-run delta.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    A
    maintenance
    Enables users to discover applicant tracking system job boards from company domains, list open roles, detect hiring changes over time, and generate hiring summaries across multiple ATS platforms.
    MIT
  • F
    license
    Not graded
    quality
    C
    maintenance
    Transforms free-text feature requests into well-formed tickets for Jira, GitHub, GitLab, and Linear, handling clarification, formatting, and duplicate detection while leaving the actual submission to the caller.
    -
  • A
    license
    Not graded
    quality
    F
    maintenance
    Enables users to look up a company's open job postings from public Greenhouse, Lever, and Ashby boards, returning them in one normalized shape with filtering by keyword, location, remote status, and posting date. It also identifies which of those three ATSs hosts a given company's board and how many roles are open there.
    24 npm
    MIT
  • A
    license
    A
    quality
    B
    maintenance
    Enables users to track a list of company domains and retrieve only the job-board changes since the previous run, including new, closed, and reposted postings with full descriptions, stable posting keys, and 30-day hiring velocity per company. It runs on Apify and exposes this through a single tool call.
    1
    106 npm
    MIT