OutPace for Gemini

OutPace is a free social fitness app for group challenges with friends. The OutPace connector lets Google Gemini find challenges, explain the Weekly Relay, and hand people a link that signs them up and puts them straight into a challenge. It is a remote Model Context Protocol (MCP) server.

Endpoint

https://www.outpace.fit/api/mcp/gemini

  • Remote MCP server over Streamable HTTP. Stateless: every request stands alone, no session id is needed.
  • Serves MCP protocol revision 2026-07-28 and the 2025 revisions (stateless).
  • Responses are JSON. The server sends no notifications and makes no requests back to the client.
  • Server to server only: a request from a web page on another site is refused.

Connect

In Gemini, add OutPace as a connected app. Gemini asks you to sign in to OutPace and approve access when you add it. You can choose Read only on the OutPace consent screen.

Example prompts

  • Find me a public step challenge on OutPace that starts this week.
  • What is the OutPace Weekly Relay, and what are this week’s team goals?
  • What is this OutPace challenge? (with an outpace.fit/c/ link pasted in)
  • Give me a link to sign up for OutPace and join this week’s Weekly Relay.

Tools

find_public_challengesNo login

Lists up to 10 public challenges that are open to join, with optional filters for activity (steps, walking, running, cycling, swimming, rowing, sleep, any), how soon they start, and words in the name.

get_challengeNo login

Describes one challenge by its share code or link: name, activities, what it is scored by, dates, status, public or private, member count and its page link. A private challenge is described only with a valid invite code.

get_started_linkNo login

Returns a sign-up link and a sign-in link that finish by joining a chosen public challenge (or a private one with its invite code) or this week’s Weekly Relay. Nothing is joined until the person opens the link and signs up or signs in on outpace.fit.

relay_infoNo login

Explains the Weekly Relay and returns this week’s theme, dates, counted activities, team size and the Bronze, Silver and Gold team goals, plus next week’s relay once published.

With a connected OutPace account

my_challengesScope challenges:read

The challenges the person is in or invited to (name, role, membership, status, dates, member count, link) and whether they are on a Weekly Relay team this week.

create_challengeScope challenges:write

Creates a challenge (private unless asked otherwise) with the person as creator and first member, and returns an invite link. At most 5 a day.

join_challengeScope challenges:write

Joins a challenge by share code; a private challenge needs its invite code. At most 20 a day.

get_invite_linkScope challenges:write

The person’s invite link for a challenge they are in, to share in their own messages. At most 20 a day.

join_relayScope relay:write

Places the person on an open Weekly Relay team with room, or starts one. Never a second team.

invite_pacers_to_challengeScope pacers:write

Sends in-app invites to people the person already follows, by username. Up to 10 per call and 20 people a day. OutPace never emails anyone named here.

follow_pacerScope pacers:write

Follows a member by username (a request for a private account). At most 20 a day.

Authentication

The public tools need no authentication. The account tools use OAuth 2.1 account linking, as in the MCP authorization specification. Calling one without a token returns HTTP 401 with a WWW-Authenticate header that points to the protected resource metadata.

  • Protected resource metadata: /.well-known/oauth-protected-resource/api/mcp/gemini
  • Authorization server metadata: /.well-known/oauth-authorization-server (issuer https://www.outpace.fit)
  • Authorization code with PKCE (S256 only). The resource parameter, when sent, must be the endpoint above. The authorization response includes iss.
  • Access tokens last 1 hour. The refresh token does not rotate or expire, and it only works with the client secret. It ends when the person disconnects, the app revokes it, or the account is closed.
  • Scopes: challenges:read, challenges:write, relay:write, pacers:write.
  • On the consent screen the person chooses Full access or Read only. Read only grants challenges:read alone, whatever was requested; the token response's scope says what was granted, and a write tool called without its scope returns HTTP 403 insufficient_scope.
  • Clients are registered with OutPace in advance. Redirect URIs match exactly. A confidential client may instead be registered with an https origin (one host, or the subdomains of one domain) while its exact callback is not yet known; the token request must still send the exact redirect_uri used to authorize. Email contact@outpace.fit to register a client.
  • The person signs in or signs up on outpace.fit and approves on an OutPace consent screen. They can disconnect any time in Settings, Account, Connected apps, which deletes the connection and every token.
  • OutPace never creates an account from an assistant: sign-up always happens on outpace.fit.

Limits

  • Free. Available to anyone. US users 18 and over when used through Gemini.
  • Rate limited per caller: 120 tool calls per minute without an account, 60 per minute per connected person, plus per app and overall ceilings. A limited call returns a tool error that says to try again.
  • Daily limits for connected accounts: 5 new challenges, 20 joins, 20 invite links, 20 invited people, 20 follows, 5 relay joins.
  • If the limiter itself cannot run, calls are refused rather than let through.
  • Search results return at most 10 challenges.

Data policy

The connector returns only:

  • challenge details: name, activities, what it is scored by, dates, status, public or private, member count
  • for a connected person: which challenges they are in or invited to, their role, and their Weekly Relay team name
  • Weekly Relay details: theme, dates, team size and the team goals OutPace sets for the week
  • links to outpace.fit

It never returns anyone's workouts, steps, distance, minutes, heart rate, sleep, rankings, standings or streaks, and nothing that comes from a connected fitness app or device (including Strava, Garmin, WHOOP, Oura, Google Health, Apple Health, Health Connect and Polar). Progress and leaderboards stay on outpace.fit and in the OutPace app.

For each tool call OutPace keeps a record of the tool name, the outcome, the time taken, the connected account and app (if any) and a one way hash of the calling address, to enforce limits and investigate abuse. OutPace does not receive or store the conversation with the assistant. What Google does with tool results is covered by Google's own terms and privacy policy.

Support

Email contact@outpace.fit. See also the OutPace Privacy Policy and Terms of Service.

To report a security issue, email the same address. Our security.txt has the details.