# Graphhopper — MCP server on mcp.ai > Connect your Graphhopper account and use 13 tools for developer tools straight from your AI agent. Connect with your own API key. GraphHopper Directions API provides enterprise-grade routing services, including route planning, optimization, geocoding, and more, for various vehicle types. By: mcp.ai · official Page: https://mcp.ai/graphhopper ## Connect (MCP protocol) Remote MCP endpoint (HTTP, streamable): https://api.mcp.ai/p_graphhopper?ms=1787295960000 Add it as a custom/remote MCP connector, then authenticate when prompted. ## REST API (no MCP client required) Every tool is also a REST endpoint, authed with a workspace API key. Discover: GET https://api.mcp.ai/api/graphhopper/_endpoints # public; lists every endpoint Call: POST https://api.mcp.ai/api/graphhopper/ Authorization: Bearer sk_live_… # create one at https://mcp.ai/settings/api-keys Content-Type: application/json Body: { …args } → { "ok": true, "tool": "", "result": { … } } ## Developer docs How to use (MCP or REST), markdown: https://mcp.ai/graphhopper/skill.md Postman collection (v2.1): https://mcp.ai/graphhopper/postman.json ## Tools - graphhopper_cluster_post(clusters?: object[], customers: object[], configuration: object) — Solve capacity-constrained clustering problems by assigning customers to clusters while minimizing total travel distance. Useful for delivery zone planning, sales territory optimization, and workload - graphhopper_geocode_get(q?: string, key?: string, bbox?: string, zoom?: number, debug?: boolean, limit?: integer, point?: string, bounds?: string, locale?: string, radius?: number, osm_tag?: string[], reverse?: boolean, provider?: string, countrycode?: string, autocomplete?: boolean, location_bias_scale?: number) — Tool to perform forward or reverse geocoding. Use when converting between textual addresses and latitude/longitude coordinates. - graphhopper_get_cluster_solution(job_id: string) — Tool to retrieve the solution of an asynchronous clustering job. Use when you have a job ID from a previous cluster calculation request and need to fetch the results. - graphhopper_get_matrix(point?: string[], profile?: string, curbside?: string[], to_point?: string[], fail_fast?: boolean, out_array?: string[], from_point?: string[], point_hint?: string[], to_curbside?: string[], from_curbside?: string[], to_point_hint?: string[], from_point_hint?: string[], snap_prevention?: string[]) — Tool to compute a distance and/or time matrix using GET request with query parameters. Use for simpler matrix requests with query parameters instead of POST body. - graphhopper_get_matrix_solution(job_id: string) — Tool to retrieve the result of an asynchronous matrix computation job. Use when you have a job ID from a previous matrix calculation request and need to check if it's finished and get the results. - graphhopper_get_route(debug?: boolean, point: string[], locale?: string, details?: string[], heading?: integer[], profile?: string, curbside?: string[], optimize?: string, algorithm?: string, elevation?: boolean, ch.disable?: boolean, point_hint?: string[], calc_points?: boolean, instructions?: boolean, pass_through?: boolean, points_encoded?: boolean, heading_penalty?: integer, round_trip.seed?: integer, snap_prevention?: string[], round_trip.distance?: integer, alternative_route.max_paths?: integer, alternative_route.max_share_factor?: number, alternative_route.max_weight_factor?: number) — Tool to calculate the best path connecting two or more points using simple GET request. Use when you need basic routing with query parameters. - graphhopper_isochrone_get(point: string, buckets?: integer, profile: string, time_limit?: integer, reverse_flow?: boolean, distance_limit?: integer) — Tool to compute isochrone polygons for a given point. Use when you need to determine areas reachable within time or distance constraints. - graphhopper_matrix_post(points?: number[][], profile: string, curbsides?: string[], fail_fast?: boolean, to_points?: number[][], out_arrays: string[], from_points?: number[][], point_hints?: string[], to_curbsides?: string[], from_curbsides?: string[], to_point_hints?: string[], from_point_hints?: string[], snap_preventions?: string[]) — Tool to calculate distance, time, or weight matrices via POST. Use when you have multiple origins/destinations or a symmetric point set and need a single batch request. - graphhopper_profiles_get() — Retrieve all custom routing profiles for your GraphHopper account. Custom profiles allow you to customize routing behavior (e.g., avoid certain roads, limit speeds, prefer certain road types). Use thi - graphhopper_route_post(debug?: boolean, locale?: string, points: number[][], details?: string[], profile: string, headings?: integer[], optimize?: boolean, algorithm?: string, curbsides?: string[], elevation?: boolean, ch.disable?: boolean, round_trip?: object, calc_points?: boolean, point_hints?: string[], custom_model?: object, instructions?: boolean, pass_through?: boolean, points_encoded?: boolean, heading_penalty?: integer, snap_preventions?: string[], alternative_route?: object) — Tool to calculate complex routes via POST /route. Use when you need advanced route planning with custom parameters. - graphhopper_submit_matrix_job(points?: number[][], profile: string, curbsides?: string[], fail_fast?: boolean, to_points?: number[][], out_arrays: string[], from_points?: number[][], point_hints?: string[], to_curbsides?: string[], from_curbsides?: string[], to_point_hints?: string[], from_point_hints?: string[], snap_preventions?: string[]) — Tool to submit a matrix computation job for asynchronous processing. Use for large matrices that exceed synchronous limits. Returns a job ID to retrieve results later. - graphhopper_upload_gpx_file(locale?: string, profile?: string, elevation?: boolean, gpx_content: string, points_encoded?: boolean) — Map-match a GPX track using GraphHopper's Map Matching API. This tool takes GPS track points in GPX format and snaps them to the digital road network. It's useful for: - Cleaning noisy GPS data by ali - graphhopper_vrp_post(services?: object[], vehicles: object[], algorithm?: object, relations?: object[], shipments?: object[], objectives?: object[], configuration?: object, cost_matrices?: object[], vehicle_types?: object[]) — Tool to initiate VRP optimization. Use when you need to solve vehicle routing problems synchronously. ## Example prompts - "What can I do in Graphhopper?" - "Show me a summary of my Graphhopper account" ## Links Docs: https://mcp.ai/docs/mcps/graphhopper Website: https://mcp.ai/mcps/graphhopper