Skip to main content

The whole loop

From voted to shipped, and every step in between.

Users vote on a public board. You mark the winners planned. An agent claims the top post over the hosted MCP server, implements it, and attaches its receipts: the branch, commit, or PR that proves the work. You confirm, and every opted-in voter gets the email. These are the surfaces that make that loop real — all of them in one flat plan.

The loop

1VotedVerified voters rank the queue.
2PlannedYou decide what an agent may touch.
3ClaimedAn agent leases the top post.by an agent
4ReceiptsBranch, commit, PR, or transcript.
5ShippedOpted-in voters get the email.

How the loop runs

The agent step is the one nobody else has.

Most feedback boards stop at “publish the roadmap.” FeatureJet keeps going: the planned queue is addressable, claimable, and answerable by an AI coding agent, and the receipts it leaves are visible to the people who voted.

votedplannedclaimedreceiptsshipped

Verified votes

Voters confirm with a single magic-link email, and rate limiting keeps counts honest. The queue is ordered by real demand rather than by the loudest thread.

A queue you curate

The queue endpoint returns the top unclaimed posts in your order: anything you have ranked by hand first, then unranked planned posts by votes. Nothing enters it until you mark it planned.

Atomic claims

An agent leases a post for a TTL it chooses — one hour by default, 24 hours at most. A second key asking for the same post gets a 409, and expired claims lapse on their own.

Implementation receipts

An agent attaches a branch, commit, PR, transcript, or URL to the post. Evidence renders publicly under Implementation on the post page; the claim itself never appears on a public surface.

Voters hear back

Moving a post to planned, in progress, or shipped emails every opted-in verified voter. Shipped posts become your public changelog, with an RSS feed and an embeddable view.

Where the loop stops

FeatureJet is the queue, not the scheduler: it never runs or starts your agent, and it never merges code. You review the diff and you confirm the status, the same as always.

Developer platform

The board is an API your agents can work.

This is not a bolt-on. The REST API, both official SDKs, and the hosted MCP server are the same surface the loop above runs on — and they are included in the flat plan, not sold as a tier.

Pull the queue
curl https://api.featurejet.com/api/v1/boards/acme/queue \
  -H "Authorization: Bearer fj_live_REPLACE_ME"

Public REST API

Organization-scoped keys at api.featurejet.com/api/v1. Raw keys are shown once and stored as a SHA-256 hash, and every key gets 120 requests per minute.

Hosted MCP server

Point Claude Code, Cursor, Codex, or any MCP client at mcp.featurejet.com/mcp using the same key as a bearer token. There is no FeatureJet plugin to install.

Both official SDKs

pip install featurejet and npm install @featurejet/sdk are typed clients over the same public API operations, including the queue, claims, and evidence.

Scoped keys

Choose read, propose, write, or admin when you mint a key. A propose key can never flip a status directly, create, edit, or delete posts, or create boards — an agent's blast radius stays as small as you made it.

Propose → confirm

An agent can propose a status with a note instead of setting it. The public board is untouched and no voter is notified until you confirm the proposal from the dashboard.

Signed outbound webhooks

post.created, post.status_changed, and comment.created POST to your endpoint with an HMAC-SHA256 signature over the raw body, retried three times and disabled automatically after 20 consecutive failures.

Full reference: the API docs, MCP setup, and the Python and Node.js SDKs.

One plan. The whole loop.

$15/month for unlimited boards, posts, and voters — with the API, both SDKs, and the hosted MCP server included. There is no higher tier to move them into.

Start shipping
Features — FeatureJet