Rally MCP

Last updated: September 17, 2026

Rally MCP lets you connect AI assistants like Claude, Claude Code, Cursor, and other MCP-compatible tools to your Rally workspace.

Rally hosts an MCP service that your assistant connects to over the web; through that connection, your assistant discovers and runs tools like searching your participant pool, reviewing participants and responses, looking up interview details, and more.

Everything your assistant can see or do through MCP stays inside your workspace and follows the same access your Rally account already has.


Connecting to the Rally MCP

Rally MCP uses Sign in with Rally, your AI client opens a Rally login page in your browser, you sign in, and you're connected. No keys to copy or manage.

Endpoint

Use this MCP URL when your client asks for a server address:

https://mcp.rallyuxr.com/mcp

Claude (Desktop and claude.ai)

  1. Go to Customize > Connectors > Click + > Add custom connector.

  2. Enter the Rally MCP URL: https://mcp.rallyuxr.com/mcp

  3. Click Add. Claude will open your browser to sign in to Rally.

  4. After you approve access, the connection is active.

On Team and Enterprise plans, an Owner must first add the connector in Organization settings > Connectors before members can connect to it.

For more details on adding custom connectors in Claude, see Get started with custom connectors using remote MCP.

Cursor

  1. Open your MCP configuration file (.cursor/mcp.json in your project, or your user-level MCP settings).

  2. Add the following entry:

{
  "mcpServers": {
    "rally": {
      "url": "https://mcp.rallyuxr.com/mcp"
    }
  }
}
  1. Restart Cursor. It will prompt you to sign in to Rally in your browser.

Claude Code

Add Rally as an MCP server using the CLI:

claude mcp add rally --transport http https://mcp.rallyuxr.com/mcp

Claude Code handles the OAuth flow automatically. It opens your browser to sign in to Rally when you first use a Rally tool. You can check the connection status anytime by typing /mcp in Claude Code.

For more on connecting Claude Code to MCP servers, see Connect Claude Code to tools via MCP.

Other MCP clients

If your client supports remote MCP servers (sometimes called "HTTP" or "Streamable HTTP" transport), point it at https://mcp.rallyuxr.com/mcp. The client will handle the OAuth sign-in flow automatically.

If your client only supports local (stdio) servers, you can use mcp-remote as a bridge:

{
  "mcpServers": {
    "rally": {
      "command": "npx",
      "args": [
        "mcp-remote",
        "https://mcp.rallyuxr.com/mcp"
      ]
    }
  }
}

When the client starts, mcp-remote will open your browser so you can sign in to Rally.


What can be done with the MCP

Study design and setup

build_study - Creates a new study or edits an existing one, draft or live, and hands back its whole configuration - name, incentive, target, consent, and more. On a live study most fields still change, but anything recruiting has already touched locks progressively as it goes (the incentive once invitations are out, for example). Try: "Set up a 30-minute interview study on onboarding"

build_screener - Writes or revises the qualifying questions for an interview or unmoderated-test study, applying feedback one change at a time, and returns the full question list with its qualify/disqualify logic. Survey studies use survey questions instead - screeners don't apply there. Try: "Screen for frequent cooks who own a dog"

build_survey - Writes or revises a survey study's own questions - the ones every participant answers, not qualification criteria - and returns the resulting set. Only applies when the survey's questions live in Rally's own builder; a survey handed off to an external tool is edited there instead. Try: "Add a question about monthly budget"

search_survey_connectors - Lists which external survey tools (Qualtrics, SurveyMonkey, Typeform) this workspace has connected, or finds a specific survey within one of them, for a survey study whose questions live outside Rally. Try: "Which survey tools can we use?"

map_question_properties - Matches a screener or survey's questions to existing fields on people's profiles, so answers are saved there automatically. It only connects to fields the workspace already has - it never creates new ones. Try: "Save these screener answers to people's profiles"

search_properties - Looks up the custom and built-in fields the workspace tracks about people, including what values each one allows. Useful before writing questions or personalizing outreach. Try: "What do we track about people?"

get_consent_forms - Lists the consent forms available in the workspace, so one can be attached to a study. Try: "What consent forms can I use?"

search_study_templates - Lists the templates a study can be created from, and whether each belongs to the whole workspace or one team. Try: "What study templates do we have?"

search_studies - Searches every study you can access - active, paused, closed, or never launched - and returns each one's recruiting progress. Try: "Show me my active studies"

get_study - Pulls the full detail on one study: its configuration, screener, status, and recruiting progress. Try: "How's the onboarding study set up?"

Recruitment planning

check_recruiting_feasibility - Checks whether a described audience can be found in the workspace's own people, returning a match estimate and a recommendation - recruit from the panel, or import a list because the data isn't there yet. Where a paid external panel is available and could help, it's surfaced as a separate, paid option. Try: "Can we find 20 enterprise admins?"

build_recruiting - Turns a chosen selection of people into a plan to review before anything moves - the daily send size and the invitation exactly as participants will see it - for a study recruiting from the workspace's own people or its public sign-up link. This planning step doesn't apply to a paid external panel, which goes live through a quote review instead. Try: "Set up recruiting for this study"

start_recruiting - Takes an approved plan live: adds the selected people and queues the first round, or switches a sign-up link on. Nothing sends until that first round is separately approved. For a paid external panel, this is what publishes the study once its cost sheet is confirmed. Try: "Let's go live"

build_external_panel_audience - Sets who a paid external panel (Respondent or User Interviews) should recruit - the audience type, participant time commitment, and targeting criteria - and returns a running cost estimate. Locks once recruiting has started. Only User Interviews gives a reach estimate before launch; Respondent doesn't. Try: "Target designers in the US"

search_external_panel_targeting_options - Looks up exactly what a paid external panel can target and the specific options available for each criterion, so targeting can be set precisely. Try: "What countries can this panel recruit from?"

review_external_panel_launch - The final check before launching a paid external panel: whether it's ready, what's blocking it, and the full itemized cost. This doesn't launch anything itself - going live still needs confirmation on Rally's cost sheet. Try: "How much will this panel cost?"

People and participants

search_people - Searches the workspace's people from a plain description and returns how many matched, which fields it filtered on, and a sample. While recruiting for a specific study, the count narrows to who can actually be added to it. Try: "Designers in Chicago who speak Spanish"

search_participants - Lists a study's participants and where each stands - invited, screening, done, and so on - with filters for stage, status, or quota group. Try: "Who hasn't been contacted yet?"

get_person - Pulls one person's full profile: contact info, custom field values, notes, and past study ratings. Try: "Show me Dana's profile"

get_study_participant - Pulls one participant's full picture on a study: screener answers, consent status, quota group, and their latest interview booking. Try: "What did Dana answer on the screener?"

add_people_to_study - Adds people to a study, draft or live, from a saved selection or a specific list. Nothing is sent and no outreach starts - they simply arrive ready to be reached. Try: "Add these 20 people to the study"

remove_participants_from_study - Takes someone off a study's participant list. Only works for people who haven't engaged yet or whose involvement ended without a result - anyone who has gone further stays, since removing them would take their research record along too. Try: "Take her off this study"

import_people - Imports people - pasted rows or a staged file - into a chosen population, optionally straight onto a study. Runs as a background job rather than finishing instantly, and newly imported people may not show up in a search right away. Try: "Import these 40 people"

import_people_from_upload - An older, narrower way to import a staged file of people into a population; the current import tool covers this case too. Same background-job behavior - it may take a moment, and a search run right after can miss some of the new people. Try: "Import this CSV of people"

prepare_file_upload - The first step in importing people from a file already on your computer: stages it so its contents can then be imported. Try: "I have a CSV of participants to import"

create_population - Creates a new named group of people to import into or to serve as the destination for a public sign-up link. Try: "Create a population for our beta testers"

search_populations - Looks up an existing named population or panel by name. Try: "Add from the Enterprise panel"

append_note_to_participant - Adds a note to a participant, always on top of what's already there and never replacing it. Try: "Note that she asked to reschedule"

update_participants - Moves participants between a live study's quota groups, or removes someone from their group, once quotas are set up. Applies immediately, no approval needed. Try: "Move these three into the Enterprise quota"

Email and outreach

draft_message - Composes a one-off message - like a thank-you note - for a specific group on a live study, without touching the study's saved templates, and returns a preview to review before sending. Not available for a study recruiting through a paid external panel, where the provider owns participant communication. Try: "Thank everyone who finished"

preview_message - Renders a study's saved email, or a drafted one-off message, exactly as a participant would see it - with their real name and details when one is specified. Doesn't send or change anything. Try: "Show me what the invitation looks like"

send_message - Proposes sending the study's invitation, or a drafted one-off message, to a specific group. This never sends anything directly - it creates a decision that still needs approval in Rally before anything goes out. Try: "Send the invitation to these people"

edit_study_message_template - Rewrites one of a study's saved emails - invitation, screener invite, booking confirmation, reminders, and more - and returns it rendered as participants will see it. Applies to future sends on live studies too, but never changes a message that's already gone out or one already queued in an outreach round underway. Try: "Make the invitation warmer"

list_study_message_templates - Lists every saved email and text reminder configured on a study. Try: "What does this study send?"

get_study_message_tokens - Looks up the dynamic placeholders - names, dates, incentive amounts, links - available for a given study email, so edits use them instead of hardcoded text. Try: "What details can I personalize in this email?"

search_email_sender_addresses - Lists the personal and team addresses available to send from. Try: "Send it from the team address"

list_message_campaigns - Lists a study's email sends - invitations, screener follow-ups, and more - most recent first, with delivery counts for each. Try: "How did that last send do?"

pause_message_campaign - Pauses one email send so it stops going out further, without affecting the rest of the study. Reversible. Try: "Pause the invites"

resume_message_campaign - Picks a paused email send back up where it left off. Try: "Resume the invites"

cancel_message_campaign - Permanently drops an email send's remaining, not-yet-sent invitations - this can't be undone, unlike pausing. Try: "Cancel that campaign for good"

get_study_email_activity - Reports everything a study has emailed and what's still waiting to go out, broken down by purpose - invitations, screening, scheduling, incentives - with delivery and open counts. An email with no confirmed opens may still have been opened; only a confirmed open counts as one. Try: "Did anyone open yesterday's invites?"

get_participant_email_activity - Reports one participant's full email history on a study - what was sent, delivered, opened, or bounced. Try: "Did Dana ever open her invitation?"

Screening and qualification

set_screener_qualification - Marks one or many participants qualified or not qualified, including overriding what the screener itself decided. Applies immediately with no approval step, since it's easy to reverse - it only sets qualification, and doesn't notify anyone or touch scheduling or incentives. Try: "Qualify these three anyway"

decide_external_panel_applicants - Approves or rejects applicants waiting for review on a study recruiting through a paid external panel; approving invites them at the provider. Always previews the decisions first and asks for confirmation before committing. Try: "Approve these applicants"

Scheduling and interviews

search_interviews - Finds interview sessions across your team, one person's day, or a single study's whole schedule. A day's results include cancelled and no-show sessions along with completed ones. Try: "What interviews do I have today?"

get_interview - Pulls the full detail on one interview: who's attending, the observer room, and any recording, summary, or transcript access. Try: "Who's on Dana's interview?"

search_availability - Finds a study's open interview slots and which hosts are free in each. Try: "When could she book this week?"

schedule_interview - Books a new interview for a participant already on a study, with you as host, previewing the booking before it's confirmed. Try: "Book Dana Thursday at 2"

reschedule_interview - Moves a booked interview to a new time, previewing the change and open slots first, and notifies the participant once confirmed. Try: "Move Dana to Friday morning"

cancel_interview - Cancels a booked interview and notifies everyone involved. Try: "Cancel Dana's session"

mark_attendance - Records whether a participant showed up or no-showed for a specific session, after a preview confirms the resulting status. Try: "Dana no-showed"

change_interview_host - Swaps the host on a booked interview while keeping the time and participant the same, after a preview and confirmation. Try: "Have Sam host this one"

add_interview_guest - Adds someone else to a booked interview, either as a speaking participant or a silent observer - silent observing requires the study to have an observer room set up. Try: "Add Sam as an observer"

get_my_availability - Shows your own default weekly interview hours, timezone, and daily/weekly booking caps - or a teammate's, to see when they're free. Try: "What are my interview hours?"

update_my_availability - Changes your own default interview hours, caps, timezone, or how your calendar limits bookings. Applies across every study you host, not a single one. Try: "Stop booking me after 3pm"

Incentives

log_custom_incentive - Records a study's configured custom reward - swag, credits, anything handled outside Rally - against participants and marks them paid, after a preview and confirmation. Recording isn't the same as delivering it; that part happens elsewhere. Try: "Log the swag for everyone who finished"

resend_incentive - Re-sends a gift-card or cash incentive's redemption email when someone never received it or lost it. Doesn't apply to custom incentives. Try: "She never got her gift card"

cancel_incentive - Stops an unclaimed incentive from reaching someone. Not available once past the cancellation window, or when a paid external panel is the one paying. Try: "Cancel that incentive"

Reading results

get_raw_transcript - Retrieves the full spoken transcript of a recorded interview, with who said what and when, for quoting or close reading. Try: "What did she say about pricing?"

search_study_responses - Returns screener or survey answers for a study, matched to their questions, per person who submitted. Try: "Show me survey responses about pricing"

Managing a study's life

pause_study - Pauses a live study: invitations and new bookings stop, already-booked sessions stand. Reversible. Try: "Pause this study for now"

resume_study - Picks a paused study back up, restarting invitations and bookings. Try: "Resume this study"

close_study - Ends a study's recruiting for good - invitations and new bookings stop permanently, though already-booked sessions still happen. This can't be undone. Try: "We're done recruiting"

Across your workspace

These aren't part of any single study's lifecycle - they work at the workspace level, across studies, plus the playbooks that shape how a common research task gets run.

get_current_user - Returns your own profile: name, role, workspace, and team memberships. Try: "What teams am I on?"

search_teams - Looks up the teams in the workspace, for assigning a study or template to one. Try: "Which teams do we have?"

search_users - Looks up a teammate by name or email, to assign them as a host, guest, or observer. Try: "Find Sam on our team"

search_pending_decisions - Lists what's waiting on your decision for a study - a send, an incentive, anything else pending - with a link to review, edit, or decline each one in Rally. Try: "What needs my input on this study?"

get_research_playbook - Looks up Rally's own step-by-step method for a common research task, like prepping for an interview or designing a screener, so the work that follows it follows Rally's standard approach. Try: "How should I prep for this interview?"


Security and privacy

Permission-bound access

The Rally MCP operates entirely within the permission boundaries of the authenticated Rally user. It does not have, and cannot obtain, access to any data that the user itself cannot access through the Rally platform directly. If a piece of data is restricted from your Rally account, it is equally restricted when accessed through the MCP.

Revocable at any time

OAuth sessions can be revoked from your Rally account settings whenever you choose.

Deactivating a user within Rally will automatically revoke MCP permissions.


Troubleshooting

OAuth sign-in doesn't complete

Make sure your browser is allowing pop-ups for your AI client. Some clients open the sign-in page in a new tab or window. If the page doesn't appear, try restarting your client.

"Unauthorized" or 401 errors

Try disconnecting and reconnecting the server in your client to start a new sign-in.

Connection times out

Verify you're using the correct URL: https://mcp.rallyuxr.com/mcp. The trailing /mcp path is required.

Tools aren't showing up

After connecting, it may take a moment for your client to discover the available tools. Try sending a message like "ping Rally" or "search my studies" to trigger tool discovery.