usefulapi

Parabol MCP server. Start Parabol retrospectives, standups and sprint poker; read teams/meetings/tasks; create tasks.

Claude

  1. Open Settings → Connectors → Add custom connector
  2. Paste this URL:
    https://parabol.usefulapi.io/mcp
  3. Authenticate with Parabol when prompted

Cursor · VS Code · Windsurf · Cline

Add to your MCP config, then reload & authorize:

{
  "mcpServers": {
    "parabol": {
      "url": "https://parabol.usefulapi.io/mcp"
    }
  }
}
live23 toolsFree 100 tool calls / monthPro $9/mo · $90/yr

Tools 23

ToolTypeWhat it does
get_viewerread
Get current user (viewer)
Fetch the authenticated Parabol user (the token owner): id, preferredName, email, tier, and the team ids they belong to. Start here to discover your identity and team ids. GraphQL: viewer. Requires USERS_READ.
list_teamsread
List teams
List the teams the viewer belongs to, each with id, name, orgId, tier, and team lead. GraphQL: viewer.teams. Requires TEAMS_READ.
get_teamread
Get a team
Fetch one team by id: metadata, its team members (with users), active meetings, and organization. GraphQL: viewer.team(teamId). Requires TEAMS_READ.
list_team_membersread
List team members
List the members of a team, each with role flags (isLead, isOrgAdmin) and the underlying user. GraphQL: viewer.team.teamMembers. Requires TEAMS_READ.
list_organizationsread
List organizations
List the organizations the viewer belongs to: id, name, tier, billingTier. GraphQL: viewer.organizations. Requires ORGS_READ.
get_organizationread
Get an organization
Fetch one organization by id, including its teams. GraphQL: viewer.organization(orgId). Requires ORGS_READ.
list_organization_usersread
List organization users
List the users in an organization (paginated): each org-user's role, joinedAt, tier, and underlying user. GraphQL: viewer.organization.organizationUsers. Requires ORGS_READ + USERS_READ.
list_meetingsread
List meetings (history)
List past/ongoing meetings for one or more teams, newest first, across the retrospective, action, poker and teamPrompt types. GraphQL: viewer.meetings. Requires MEETINGS_READ.
get_meetingread
Get a meeting
Fetch one meeting by id with its phases and stages; for a retrospective it also returns reflection groups/reflections and vote/topic/task/comment counts. GraphQL: viewer.meeting. Requires MEETINGS_READ.
list_active_meetingsread
List active meetings
List a team's currently-active (in-progress) meetings. GraphQL: viewer.team.activeMeetings. Requires TEAMS_READ + MEETINGS_READ.
list_tasksread
List tasks
List the viewer's tasks (paginated), optionally filtered by team, user, status, archived state, or a text query. GraphQL: viewer.tasks. Requires TASKS_READ.
parabol_queryread
Run a GraphQL query (read-only)
Escape hatch: run an arbitrary read-only Parabol GraphQL query with optional variables. Mutations are rejected — use the dedicated write tools instead. Requires the matching read scope(s).
create_taskwrite
Create a task
Create a task on a team (required: teamId, status). Provide plaintextContent and/or rich content; optionally assign a userId or link a meeting. GraphQL: createTask. Requires TASKS_WRITE.
update_taskwrite
Update a task
Update an existing task (required: id); change content, status, assignee, or sortOrder. Only included fields change. GraphQL: updateTask. Requires TASKS_WRITE.
create_reflectionwrite
Create a reflection
Add a reflection card to a running retrospective's reflect phase (required: meetingId, promptId, sortOrder). GraphQL: createReflection. Requires MEETINGS_WRITE.
add_commentwrite
Add a comment
Add a comment to a meeting discussion thread (required: content, discussionId). Optionally anonymous or a threaded reply. GraphQL: addComment. Requires COMMENTS_WRITE.
start_retrospectivewrite
Start a retrospective
Start a new retrospective meeting for a team and return the new meetingId (required: teamId; optional name). GraphQL: startRetrospective. Requires MEETINGS_WRITE.
start_checkinwrite
Start a check-in meeting
Start a new Check-in (Action) meeting for a team and return the new meetingId (required: teamId; optional name). GraphQL: startCheckIn. Requires MEETINGS_WRITE.
start_team_promptwrite
Start a standup (team prompt)
Start a new async Standup (Team Prompt) meeting for a team (required: teamId; optional name). GraphQL: startTeamPrompt. Requires MEETINGS_WRITE.
invite_to_teamwrite
Invite users to a team
Send team invitations by email (required: teamId and an array of invitee emails). Optionally scope to a meeting. GraphQL: inviteToTeam. Requires TEAMS_WRITE.
parabol_graphqlwrite
Run a GraphQL operation (query or mutation)
Escape hatch: run an arbitrary Parabol GraphQL operation — including any mutation — with optional variables. Your token must carry the scope the operation requires. Prefer parabol_query for read-only calls.
parabol_usage_statusmeta
Usage status (free-tier meter)
Report the caller's current free-tier usage this month: calls used, monthly limit, remaining, and whether the cap is reached. Read-only; does not count against the meter.
parabol_upgrademeta
Upgrade to Pro (unlimited)
Subscribe to the Pro plan for UNLIMITED Parabol tool calls (the free tier caps monthly usage). Choose monthly ($9/month) or yearly ($90/year — 2 months free) billing. Returns a Stripe Checkout link to open in your browser; after payment your account upgrades automatically. Read-only; does not count against the meter.

Pricing

PlanPriceLimit
Free$0100 tool calls / month
Pro$9/mo · $90/yrUnlimited

This is a Model Context Protocol endpoint — meant to be connected from an AI client, not opened in a browser. An invalid_token response at the URL is the auth gate working as designed; clients authenticate automatically.