Skip to main content
Glama

List feature requests

list_feature_requests
Read-only

List feature requests with optional filtering and pagination.

Prefer search_feature_requests for keyword/meaning lookup — it is much faster on large boards. For private boards, pass bucket_id with allow_private=True and keep per_page small; page through results.

Important — array-shaped filters (tag_ids, states, submitter_emails, interactor_emails) MUST be passed as real JSON arrays, not as JSON-encoded strings. Correct: tag_ids=[1, 2]. Wrong: tag_ids="[1, 2]". Passing a string causes the server to reject or silently skip the filter.

Tool call template

This tool declares no required parameters. Add optional parameters from the input schema as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {},
    "name": "list_feature_requests"
  }
}

Input Schema

NameRequiredDescriptionDefault
pageNoPage number (default: 1).
sortNoSort order (e.g. 'top', 'latest_created_at', 'priority_asc').
statesNoFilter by post status slugs. Pass as a JSON array of strings, e.g. ["under_review", "in_progress"]. Do NOT pass a quoted string. Common slugs: under_review, planned, in_progress, completed, closed.
tag_idsNoFilter by tag IDs. Pass as a JSON array of integers, e.g. [44891, 44595]. Do NOT pass a quoted string like "[44891, 44595]". Use list_tags to discover tag IDs.
to_dateNoFilter posts created on or before this date (YYYY-MM-DD).
per_pageNoItems per page (default: 15, max 50). Keep small on large/private boards.
bucket_idNoFilter by board/bucket ID. Use list_buckets to resolve a board name to its id.
from_dateNoFilter posts created on or after this date (YYYY-MM-DD).
allow_privateNoSet to True when bucket_id refers to a private board.
approval_statusNoFilter by approval status: 'pending' or 'approved'.
submitter_emailsNoFilter by submitter email addresses. Pass as a JSON array of strings, e.g. ["a@x.com", "b@y.com"]. Do NOT pass a quoted string like "[\"a@x.com\"]".
interactor_emailsNoFilter by interactor emails (voters or submitters). Pass as a JSON array of strings, e.g. ["a@x.com"]. Do NOT pass a quoted string.

Output Schema

NameRequiredDescriptionDefault
pageNo
has_moreNo
per_pageNo
feature_requestsNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.8/5.0
Behavior5/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=false, so the safety profile is covered; the description then adds real behavioral context beyond them: private-board access requirements, pagination strategy on large boards, a performance tradeoff versus search, and the failure mode that wrong-typed array filters are rejected or silently dropped. Disclosing a silent-skip behavior is exactly the kind of trait annotations cannot express.

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 purpose, then routing advice, then a clearly labeled 'Important' warning — a sensible priority order with no filler. The array-format paragraph is the longest block but is justified by a silent-failure risk; a single canonical correct/incorrect example would have been enough rather than restating it twice.

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 12-parameter, zero-required, read-only list tool with a full input schema, complete schema descriptions, an output schema and annotations, the description covers everything the structured data cannot: sibling routing, private-board permissions, pagination pacing, and the array-serialization contract. Nothing an agent needs in order to call it correctly is missing.

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 baseline is 3 and the schema already documents every parameter. The description nonetheless adds material meaning beyond it: it groups the four array-shaped filters (tag_ids, states, submitter_emails, interactor_emails) and warns that string-encoded arrays are rejected or silently skipped, and it ties bucket_id/allow_private/per_page together operationally. It stops short of explaining sort/date-filter interactions, so not a 5.

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?

Opens with a specific verb+resource+scope: 'List feature requests with optional filtering and pagination.' It also explicitly names the sibling search_feature_requests and the axis on which the two differ (keyword/meaning lookup), so an agent can route without opening either schema.

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

Usage Guidelines5/5

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

Gives an explicit alternative and the condition selecting it ('Prefer search_feature_requests for keyword/meaning lookup — it is much faster on large boards'), plus concrete instructions for the private-board case (bucket_id with allow_private=True, small per_page, page through). This is when-to-use and when-to-use-something-else guidance, not implication.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.