Featurama

MCP access

Use an agent token with the Featurama CLI or a direct HTTP MCP client.

An agent token (fm_dev_…) authorizes management of your apps and requests. It is different from the app's API key (fm_live_…) used in a mobile app. Never give an app an agent token.

Issue a token

Open Settings, select Create agent token, keep or change the Token name, and select Create agent token. Copy the token from Agent token created right away. The full value is shown only once. The same panel shows an MCP configuration with the full token filled in, so keep that configuration out of shared files too. You can also create a token in the last setup step, Connect an agent. Use a separate token for each agent or MCP client so you can revoke one without disrupting the others.

The CLI agent setup is the easiest path for terminal agents. It accepts the token over protected stdin or FEATURAMA_TOKEN, validates it against the selected instance, and stores it locally for later commands.

Direct MCP connection

Connect to the API instance's /mcp endpoint over HTTPS. The new Preview is https://newapi.featurama.app/mcp; a self-hosted instance uses its own API origin plus /mcp. Do not point an MCP client at the dashboard's /mcp route unless that route is explicitly configured to proxy to the API. Use Authorization: Bearer <developer token> and the streamable HTTP transport supported by your client.

A generic client configuration shape is:

{
  "mcpServers": {
    "featurama": {
      "type": "http",
      "url": "https://newapi.featurama.app/mcp",
      "headers": {
        "Authorization": "Bearer [REDACTED]"
      }
    }
  }
}

[REDACTED] is not a working token. Different MCP clients use different config formats and secret interpolation. Use that client's secret store or environment substitution. Never commit a configuration containing the actual token, and do not paste it into an agent transcript. The CLI avoids keeping a token in a project-level MCP config.

Available tools

ToolPurposeRequired arguments
listProjectsList owned projectsNone
getProjectRead a project, including its key prefix, not its full keyprojectId
createProjectCreate a project; returns a new full project key oncename
updateProjectSet project email collection to none, optional, or requiredprojectId, emailCollection
listFeatureRequestsList requests with filters and paginationprojectId
createFeatureRequestCreate an approved requestprojectId, title, description
updateFeatureRequestStatusChange a request's statusprojectId, requestId, status
listFeatureRequestCommentsRead a request's comments, oldest firstprojectId, requestId
addFeatureRequestCommentPost a public developer reply to a requestprojectId, requestId, content
deleteFeatureRequestCommentPermanently delete one comment and its comment votesprojectId, requestId, commentId
getDashboardStatsTotals across your projectsNone
getRecentRequestsRecent requests across your projectsNone

createProject also accepts technology: expo, reactNative, flutter, swift, android, or maui. Supported status values are Requested, Roadmap, InProgress, Done, and Declined. Creating a project can hit your plan limit; do not trigger a paid upgrade to follow a setup guide. A timed-out write may have succeeded: inspect server state before repeating it.

Read and reply to comments

Have the agent read the thread with listFeatureRequestComments before it replies. Each comment includes its content, author, vote count, and creation time.

addFeatureRequestComment posts the reply as the developer who owns the token. The reply is public. App users see it under the request with the Developer badge, the same as a reply from the dashboard. If the submitter left an email address, Featurama also sends them the reply email it sends for dashboard replies. Sending is best effort, and each reply is emailed once.

  • content must not be blank and can be up to 10,000 characters.
  • Replies cannot be edited. Never post tokens, keys, other secrets, or internal notes.
  • To delete one comment, read the thread first, then call deleteFeatureRequestComment with its exact projectId, requestId and commentId. All IDs must match, and the project must belong to the token owner. The request, request votes and other comments remain. Read the thread back after deletion.
  • Deletion removes the comment and its comment votes permanently and updates the comment count. It cannot recall an email already sent. After a timeout, read the thread before retrying.
  • If a reply times out, call listFeatureRequestComments before sending it again. A second call posts a second reply.

Revoke a token in Settings if it is compromised. Deleting a local CLI context does not revoke it.

On this page