com.qretro/retro

MCPcommunitylive
v1.3.0com.qretroUnknownUpdated 2mo ago

QRetro retrospectives and planning poker over MCP: boards, action items, poker games, estimates.

Endpoint healthlive
checked 9 days ago · 1125ms
100% of the last 5 checks reached this endpoint
Works in
ClaudeCursorCopilotChatGPTGemini

Inferred from the transports this listing declares (streamable-http). A client not listed here hasn’t been ruled out — it just isn’t something Forge can confirm.

Automatically indexed from public sources. Not yet verified by the developer on Forge.Claim this listing →
2mo agoLast update
Package
Authorcom.qretro
LicenseUnknown
Version1.3.0
Sourcemcp-registry
Trust Status
B
60/100Good
✓Listed in Forge index+10/10
—Publisher identity verified+0/30
→ Publisher: this listing has no repository on file, so `forge publish` cannot verify ownership automatically. Use "Claim this listing" above — Forge reviews these by hand.
—Domain verification+0/10
→ Not currently available for this listing type — the domain-verification check only runs for npm-backed packages today, so this row cannot be earned here yet regardless of what's hosted at the domain.
✓Prompt-injection scan · clean+30/30
✓Obfuscation / exfil scan · clean+20/20
StatusCommunity-indexed
PublisherUnverified
SignatureUnsigned
Domain—
Provenance—
DependenciesNot audited
Tool surface29 tools · none privileged
Security scan✓ Cleanvlive · 26d agoHow well does this scan work?
EvalsNone
IndexedJun 18, 2026

Verification confirms publisher identity (repo ownership), not code safety. The security scan covers known CVEs and suspicious install scripts.

Tools

29 tools · none privileged
Observed live from the vendor's endpoint26d ago

Read from a real MCP initialize → tools/list handshake against the declared endpoint. No tool was ever invoked — tools/list is the read-only introspection call the protocol defines for this. It reflects what the server advertised at that moment; a hosted endpoint is not pinned to any version and can change without notice.

  • https://mcp.qretro.com29 tools · 1402ms
retro.teams.listReturns the list of teams the user belongs to. boards_count is the total number of boards in a team, finished and unfinished alike — use retro.boards.list to tell them apart.

Returns the list of teams the user belongs to. boards_count is the total number of boards in a team, finished and unfinished alike — use retro.boards.list to tell them apart.

No input schema was published for this tool.

retro.team.members.listReturns the members of a team with their id, name and role (owner, admin, facilitator, member). Use the id as assign_to in retro.actions.create, retro.actions.update and retro.board.suggested_actions.promote. This is the team roster, the same one people see in team settings — it says nothing about…

Returns the members of a team with their id, name and role (owner, admin, facilitator, member). Use the id as assign_to in retro.actions.create, retro.actions.update and retro.board.suggested_actions.promote. This is the team roster, the same one people see in team settings — it says nothing about…

ParameterTypeDescription
team_idstringTeam to list members for. Required when more than one team is available — call retro.teams.list first.
retro.boards.listReturns retrospectives (boards) of a team, newest first. Unfinished boards are included unless finished_only is set — otherwise check the is_finished flag. Filters by period via since/until. Pass team_id when several teams are available; with a single team it can be omitted.

Returns retrospectives (boards) of a team, newest first. Unfinished boards are included unless finished_only is set — otherwise check the is_finished flag. Filters by period via since/until. Pass team_id when several teams are available; with a single team it can be omitted.

ParameterTypeDescription
team_idstringTeam to list boards for. Required when more than one team is available — call retro.teams.list first.
sincestringOnly boards created on or after this date (ISO 8601, for example 2026-01-01).
untilstringOnly boards created on or before this date (ISO 8601).
finished_onlybooleanReturn only finished retrospectives. Default: false, unfinished boards are included.
retro.actions.listReturns action items across all retrospectives at once — the answer to "what did we agree on and never finish". Covers every team available unless team_id narrows it down; filters by status, assignee and date. Use this instead of walking boards one by one with retro.board.actions.list.

Returns action items across all retrospectives at once — the answer to "what did we agree on and never finish". Covers every team available unless team_id narrows it down; filters by status, assignee and date. Use this instead of walking boards one by one with retro.board.actions.list.

ParameterTypeDescription
team_idstringNarrow the search to one team. By default every available team is included.
statusstringopen (default), completed or all.
assigneestringFilter by assignee name, partial match.
sincestringOnly items created on or after this date (ISO 8601, for example 2026-01-01).
limitintegerHow many items to return, newest first. Default 50, maximum 200. The total field always reports the full count.
retro.board.messages.listReturns all participant messages (cards) for a retrospective board, organized by template columns (e.g. "What went well", "What didn't go well"). Includes text, sentiment, category, grouping, and vote counts.

Returns all participant messages (cards) for a retrospective board, organized by template columns (e.g. "What went well", "What didn't go well"). Includes text, sentiment, category, grouping, and vote counts.

ParameterTypeDescription
board_id*stringThe ID of the board to get messages for.
retro.board.messages.updateUpdates the text of an existing board message created by the current MCP user.

Updates the text of an existing board message created by the current MCP user.

ParameterTypeDescription
message_id*stringThe ID of the message to update.
text*stringNew text content for the message.
retro.board.messages.delete_ownDeletes a single board message. Access is strictly governed by API policies: users can delete their own messages, or any message if they have board update rights (requires mcp:write scope for the latter).

Deletes a single board message. Access is strictly governed by API policies: users can delete their own messages, or any message if they have board update rights (requires mcp:write scope for the latter).

ParameterTypeDescription
message_id*stringThe ID of the message to delete.
retro.board.summary.getReturns the summary of a retrospective with participant info and metadata. Works for unfinished boards too — summary is null until the retro is wrapped up, so check is_finished.

Returns the summary of a retrospective with participant info and metadata. Works for unfinished boards too — summary is null until the retro is wrapped up, so check is_finished.

ParameterTypeDescription
board_id*stringThe ID of the board to get the summary for.
retro.board.actions.listReturns action items from a retrospective board, including status, priority, assignee, and due date.

Returns action items from a retrospective board, including status, priority, assignee, and due date.

ParameterTypeDescription
board_id*stringThe ID of the board to get action items for.
include_completedbooleanWhether to include completed action items. Default: false.
retro.board.insights.listReturns insights (clusters) and suggested actions for a retrospective board. Insights include topic clusters with sentiment, urgency, and category analysis.

Returns insights (clusters) and suggested actions for a retrospective board. Insights include topic clusters with sentiment, urgency, and category analysis.

ParameterTypeDescription
board_id*stringThe ID of the board to get insights for.
retro.board.health.getReturns the health check of a retrospective: score per category on a 0-10 scale, alignment between participants, turnout, and the same score across the previous retrospectives of the team. Returns health_check: null when the team did not run a health check on this board.

Returns the health check of a retrospective: score per category on a 0-10 scale, alignment between participants, turnout, and the same score across the previous retrospectives of the team. Returns health_check: null when the team did not run a health check on this board.

ParameterTypeDescription
board_id*stringThe ID of the board to get the health check report for.
retro.board.roti.getReturns ROTI (Return on Time Invested) voting metrics for a retrospective board, including average score, distribution, and trend across previous retrospectives.

Returns ROTI (Return on Time Invested) voting metrics for a retrospective board, including average score, distribution, and trend across previous retrospectives.

ParameterTypeDescription
board_id*stringThe ID of the board to get ROTI metrics for.
retro.boards.searchSearch across retrospectives by keyword: board summaries, action items and participant cards. Cards hidden by private writing during an ongoing retro are excluded. Optionally filter by team.

Search across retrospectives by keyword: board summaries, action items and participant cards. Cards hidden by private writing during an ongoing retro are excluded. Optionally filter by team.

ParameterTypeDescription
query*stringSearch query. Looks into board summaries, action items and participant cards.
team_idstringOptional: filter search to a specific team.
retro.actions.createCreates a new action item on a retrospective board. Requires mcp:write scope.

Creates a new action item on a retrospective board. Requires mcp:write scope.

ParameterTypeDescription
board_id*stringThe ID of the board to create the action item on.
text*stringThe text of the action item.
prioritystringPriority: high, medium, or low. Default: medium.
duestringDue date in ISO 8601 format (e.g. 2025-03-15T00:00:00Z).
assign_tostringUser ID to assign the action item to — call retro.team.members.list to get it — or "me" to assign to the current user.
retro.actions.updateUpdates an existing action item: text, priority, due date, or assignee. Requires mcp:write scope.

Updates an existing action item: text, priority, due date, or assignee. Requires mcp:write scope.

ParameterTypeDescription
action_item_id*stringThe ID of the action item to update.
textstringNew text for the action item.
prioritystringNew priority: high, medium, or low.
duestringNew due date in ISO 8601 format.
assign_tostringUser ID to reassign to — call retro.team.members.list to get it — or "me" to assign to the current user.
retro.actions.completeMarks an action item as completed. Requires mcp:write scope.

Marks an action item as completed. Requires mcp:write scope.

ParameterTypeDescription
action_item_id*stringThe ID of the action item to mark as completed.
retro.board.suggested_actions.promoteTurns a pending suggested action from retro.board.insights.list into a real action item on the board and marks the suggestion accepted, keeping the wording and the link to its cluster. Requires mcp:write scope.

Turns a pending suggested action from retro.board.insights.list into a real action item on the board and marks the suggestion accepted, keeping the wording and the link to its cluster. Requires mcp:write scope.

ParameterTypeDescription
board_id*stringThe ID of the board the suggestion belongs to.
suggested_action_id*stringThe ID of the suggested action to promote, from suggested_actions in retro.board.insights.list. Only suggestions with status "pending" can be promoted.
assign_tostringUser ID to assign the action item to — call retro.team.members.list to get it — or "me" to assign to the current user.
retro.board.suggested_actions.rejectRejects a pending suggested action from retro.board.insights.list: the suggestion moves to rejected and no action item is created. Requires mcp:write scope.

Rejects a pending suggested action from retro.board.insights.list: the suggestion moves to rejected and no action item is created. Requires mcp:write scope.

ParameterTypeDescription
board_id*stringThe ID of the board the suggestion belongs to.
suggested_action_id*stringThe ID of the suggested action to reject, from suggested_actions in retro.board.insights.list. Only suggestions with status "pending" can be rejected.
poker.sources.listReturns the issue trackers connected to a team (Jira, Linear) and what each of them can do: search for tasks, list iterations (sprints, cycles), write estimates back. Call this first — the other poker tools depend on what is connected. An empty list means tasks can only be added manually with poker…

Returns the issue trackers connected to a team (Jira, Linear) and what each of them can do: search for tasks, list iterations (sprints, cycles), write estimates back. Call this first — the other poker tools depend on what is connected. An empty list means tasks can only be added manually with poker…

ParameterTypeDescription
team_idstringTeam to inspect. Required when more than one team is available — call retro.teams.list first.
poker.iterations.listReturns the iterations of a connected issue tracker — Jira sprints (active and upcoming), and whatever a future tracker calls the same thing. Filter by name with query, for example "AFT 50". Pass the ref of the iteration you want to poker.game.tasks.import to pull its tasks into a game. Trackers wi…

Returns the iterations of a connected issue tracker — Jira sprints (active and upcoming), and whatever a future tracker calls the same thing. Filter by name with query, for example "AFT 50". Pass the ref of the iteration you want to poker.game.tasks.import to pull its tasks into a game. Trackers wi…

ParameterTypeDescription
team_idstringTeam whose tracker is queried. Required when more than one team is available.
sourcestringTracker to query, for example jira. Required only when the team has several trackers connected — see poker.sources.list.
querystringFilter iterations by name, for example "AFT 50". Omit to get all active and upcoming ones.
poker.games.listReturns the planning poker games of a team, newest first, with how many tasks each of them has and how many already carry an estimate. Personal games outside a team are not exposed over MCP.

Returns the planning poker games of a team, newest first, with how many tasks each of them has and how many already carry an estimate. Personal games outside a team are not exposed over MCP.

ParameterTypeDescription
team_idstringTeam to list games for. Required when more than one team is available — call retro.teams.list first.
limitintegerHow many games to return. Default: 20, maximum: 50.
poker.game.getReturns one planning poker game: its estimation scale, progress, the task currently on the table and the link participants use to join. Use poker.game.tasks.list for the tasks themselves.

Returns one planning poker game: its estimation scale, progress, the task currently on the table and the link participants use to join. Use poker.game.tasks.list for the tasks themselves.

ParameterTypeDescription
game_id*stringThe ID of the poker game.
poker.game.tasks.listReturns the tasks of a poker game with their estimate, individual votes, tracker key and link. needs_sync tells whether the agreed estimate still differs from the one stored in the tracker — feed those tasks to poker.game.task.sync. Filter with estimated to see what is done or what is left.

Returns the tasks of a poker game with their estimate, individual votes, tracker key and link. needs_sync tells whether the agreed estimate still differs from the one stored in the tracker — feed those tasks to poker.game.task.sync. Filter with estimated to see what is done or what is left.

ParameterTypeDescription
game_id*stringThe ID of the poker game.
estimatedbooleantrue — only tasks that already have an estimate, false — only tasks still to be estimated. Omit for all of them.
limitintegerHow many tasks to return. Default: 50, maximum: 100.
poker.games.createCreates a planning poker game for a team and returns the link participants join with. Pick a ready-made scale — fibonacci, modified_fibonacci, tshirts, powers_of_two — or pass your own values in scale_values. Requires mcp:write scope.

Creates a planning poker game for a team and returns the link participants join with. Pick a ready-made scale — fibonacci, modified_fibonacci, tshirts, powers_of_two — or pass your own values in scale_values. Requires mcp:write scope.

ParameterTypeDescription
name*stringName of the game, for example the sprint it plans.
team_idstringTeam the game belongs to. Required when more than one team is available.
scalestringEstimation scale preset: fibonacci (default), modified_fibonacci, tshirts, powers_of_two.
scale_valuesarrayCustom scale, for example ["1","2","3","5","?"]. Overrides scale when given.
poker.game.tasks.addAdds tasks to a poker game by hand — for work that lives outside an issue tracker, or when no tracker is connected. To pull tasks from Jira or Linear use poker.game.tasks.import instead. Requires mcp:write scope.

Adds tasks to a poker game by hand — for work that lives outside an issue tracker, or when no tracker is connected. To pull tasks from Jira or Linear use poker.game.tasks.import instead. Requires mcp:write scope.

ParameterTypeDescription
game_id*stringThe ID of the poker game.
tasks*arrayTasks to add: a list of objects with name and optional description.
poker.game.tasks.importPulls tasks from a connected issue tracker into a poker game. Give it either iteration_ref from poker.iterations.list to take a whole sprint, or query to search by text and issue key. Tasks already in the game are skipped. Only the team owner can change a game. Requires mcp:write scope.

Pulls tasks from a connected issue tracker into a poker game. Give it either iteration_ref from poker.iterations.list to take a whole sprint, or query to search by text and issue key. Tasks already in the game are skipped. Only the team owner can change a game. Requires mcp:write scope.

ParameterTypeDescription
game_id*stringThe ID of the poker game to import into.
iteration_refstringThe ref of an iteration from poker.iterations.list — imports every task of that sprint.
querystringText or issue key to search for, when importing without an iteration.
sourcestringTracker to import from, for example jira. Required only when the team has several trackers connected.
limitintegerHow many tasks to pull at most. Default: 50, maximum: 100.
poker.game.task.selectPuts a task on the table: everyone looking at the game sees it as the one being estimated right now. Only the team owner can change a game. Requires mcp:write scope.

Puts a task on the table: everyone looking at the game sees it as the one being estimated right now. Only the team owner can change a game. Requires mcp:write scope.

ParameterTypeDescription
game_id*stringThe ID of the poker game.
task_id*stringThe ID of the task to put on the table — see poker.game.tasks.list.
poker.game.task.revealReveals the cards of a task and computes its estimate from the votes cast — this is the only way an estimate appears, there is no way to set a number directly. Pass reveal=false to hide the cards again and drop the estimate, which also clears the votes for a re-vote. Only the team owner can change…

Reveals the cards of a task and computes its estimate from the votes cast — this is the only way an estimate appears, there is no way to set a number directly. Pass reveal=false to hide the cards again and drop the estimate, which also clears the votes for a re-vote. Only the team owner can change…

ParameterTypeDescription
game_id*stringThe ID of the poker game.
task_id*stringThe ID of the task to reveal.
revealbooleantrue (default) — reveal the cards and compute the estimate. false — hide them, clear the votes and the estimate.
poker.game.task.syncWrites the agreed estimate back to the issue tracker — Jira story points, Linear estimate. Works only for tasks imported from a tracker and only when the integration was connected with write permissions; poker.sources.list shows whether it was. Only the team owner can change a game. Requires mcp:wr…

Writes the agreed estimate back to the issue tracker — Jira story points, Linear estimate. Works only for tasks imported from a tracker and only when the integration was connected with write permissions; poker.sources.list shows whether it was. Only the team owner can change a game. Requires mcp:wr…

ParameterTypeDescription
game_id*stringThe ID of the poker game.
task_id*stringThe ID of the task whose estimate goes to the tracker — see needs_sync in poker.game.tasks.list.

29 of 29 tools published a description.

Tool names and descriptions are written by the publisher and shown verbatim as inert text. They are the strings an MCP client passes to a model, so Forge scans them for prompt-injection patterns — any finding appears with the security scan above. “Privileged” is a keyword match on the tool name, not an audit of what the tool does: a benign-sounding name can still do anything.

About

QRetro retrospectives and planning poker over MCP: boards, action items, poker games, estimates.

Keywords
mcp
Alternatives
Comparing tool surfaces…

No dependency coverage

This entry publishes no npm package, so Forge has no dependency tree for it. That is a gap in coverage — not a statement that it has no dependencies.