RideWithGPS MCP Server

RideWithGPS MCP Server

An AI-powered companion that provides access to the RideWithGPS API, allowing you to interact with cycling routes, trips, events, and user data through natural language.

Category
Visit Server

README

RideWithGPS MCP Server

smithery badge

🚴 Dear Cyclists! Welcome to the RideWithGPS MCP Server—your AI-powered companion for managing your cycling adventures. If you like this project, please consider giving it a star, or better yet, becoming a contributor!

A Model Context Protocol (MCP) server that provides access to the RideWithGPS API, allowing you to interact with routes, trips, events, and user data.

Requirements

  • Node.js: 18.0.0 or higher, 20.0.0 or newer recommanded (Download here)

Tools

This MCP server implements the following tools:

Route Retrival

  • get_routes: Retrieve a list of routes owned by the user on RideWithGPS, ordered by updated_at descending

⚠️ Known Limitation: This tool can only access routes that you personally own. Routes that are shared with you but belong to other people will not appear in your results.
If you want to use a shared route with this server, please make a copy of it into your own RideWithGPS account first.

  • get_route_details: Retrieve full details for a specific route including track points, course points, and points of interest. You can find the available list of information here

Trip & Activity Data

  • get_trips: Retrieve a list of trips/activities owned by the user on RideWithGPS, ordered by updated_at descending
  • get_trip_details: Retrieve full details for a specific trip including track points and performance data. You can find the available list of information here

User Profile

  • get_current_user: Retrieve profile information for the user

Event Participation

  • get_events: Retrieve a paginated list of events owned by the user, ordered by created_at descending
  • get_event_details: Retrieve full details for a specific event including associated routes

Data Synchronization

  • sync_user_data: Retrieve items (routes and/or trips) that the user has interacted with since a given datetime

Setup

In command line, clone this repository and change into its directory

git clone https://github.com/boezzz/ridewithgps-mcp.git
cd ridewithgps-mcp

Build the server app:

npm install
npm run build

Configure Claude Desktop:

You can install the Claude desktop app which supports MCP. Other commonly seen MCP clients should also work.

You can get your RideWithGPS API credentials from:

  1. API Key: Visit the developer settings page in your RideWithGPS account and create an API client
  2. Authentication Token: Select the API Client you created and go to its edit page. Click on 'Create new Auth Token' to obtain a new authentication token.

Access Token Instructions

Then, open your Claude Desktop settings, go to Developers, and select 'Edit Config'. Alternatively, in your claude_desktop_config.json file, add a new MCP server:

{
  "mcpServers": {
    "ridewithgps-mcp": {
      "command": "node",
      "args": ["/absolute/path/to/ridewithgps-mcp/build/index.js"],
      "env": {
        "RWGPS_API_KEY": "your_api_key_here",
        "RWGPS_AUTH_TOKEN": "your_auth_token_here"
      }
    }
  }
}

You can now launch Claude desktop app and ask it to interact with your RideWithGPS data.

Example queries:

  • "Show me my recent routes"
  • "Get details for the century route I created yesterday"
  • "List my cycling trips from last month"
  • "What events do I have coming up that I'll probably chicken out of?"
  • "Show me my user profile so I can admire my optimistically low weight setting"
  • "Sync my data since last week when I pretended that walk to the coffee shop was a training ride"

To use RideWithGPS MCP Server on other local MCP Clients, please follow the same steps.

API Coverage

This MCP server implements the main RideWithGPS API endpoints for individual users, excluding organization-specific features.

For complete API documentation, see: https://github.com/ridewithgps/developers

Development

Contributors welcome! To contribute to this project:

  1. Fork this repository to your own GitHub account.
  2. Clone your fork locally.
  3. Install dependencies: npm install
  4. Make your changes to the TypeScript source files in src/
  5. Build the project: npm run build
  6. Test your changes using npm run inspector
  7. Commit and push your changes to your fork.
  8. Submit a pull request to the main repository for review.

Development Roadmap

  • Utilize OAuth for secure user authentication
  • Deploy the MCP server to Smithery/Glama for distribution
  • Incorporate geospatially-aware track points; currently, only the number is displayed
  • Make pagination optional; it would also be helpful to return trips in descending order by departed time instead of updated time.

License

This project is licensed under the MIT License - see the LICENSE file for details.

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured