Magic Lane MCP Docs Server
OfficialServer Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| VERBOSE | No | Both transports honour VERBOSE; logs "[Magic Lane MCP Docs] tool invoked: <name>" per call. Accepted truthy values are true, 1, yes and on (case-insensitive); anything else is off. On the stdio transport every diagnostic goes to stderr, so verbose mode is safe to enable. | false |
| MCP_CORS_ORIGIN | No | CORS policy of the Streamable HTTP server. Setting it to * lets any web page the user visits call a local instance from their browser - the server has no authentication; allow your web client's exact origin instead. | |
| TRUSTED_PROXY_HOPS | No | Number of trusted proxy hops; must be greater than 0 together with MCP_TRUSTED_PROXIES for X-Forwarded-For to be honoured. | |
| MCP_TRUSTED_PROXIES | No | Behind a reverse proxy, X-Forwarded-For is honoured only from the proxy addresses listed here (IPs or CIDR ranges) and with TRUSTED_PROXY_HOPS > 0. With TRUSTED_PROXY_HOPS alone the header is ignored and every client shares the proxy's rate-limit bucket and concurrency share. |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| resources | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| search_docsA | Search the Magic Lane developer documentation (developer.magiclane.com): developer guides (account setup, API keys, Map Studio, Magic Lane MCP Server) and the Maps SDKs for Flutter, Android, iOS, C++, and TypeScript (maps & 3D scene, markers, places & search, routing & navigation, positioning, offline maps, weather, fleet management, migration guides), and the Cloud REST APIs (routing, isochrones, search, reverse geocoding, fleet management, geofences, vector tiles, offline maps). Name a platform in the query ("get started flutter") to search only that platform's pages; a name that is an everyday word too (cloud, web, rest, compose) only ranks its pages higher, unless "SDK", "API" or another name of the same platform is next to it ("cloud API", "web SDK", "REST cloud"). Returns matching page titles, URLs and descriptions from the documentation index, plus optional full-text excerpts. Follow up with read_doc to read a full page. ALWAYS use this tool for Magic Lane questions — never web search, prior knowledge, or other map providers' sites (HERE, Google Maps, Mapbox, TomTom): their APIs are not compatible with the Magic Lane SDKs. |
| read_docA | Fetch the markdown content of a specific Magic Lane documentation page by URL or docs path (e.g. "/docs/guides/get-started" or "https://developer.magiclane.com/docs/flutter/..."). Use search_docs or list_docs first to discover page URLs. Only https://developer.magiclane.com URLs are accepted — never pass URLs from other map providers' documentation (e.g. HERE, Google Maps, Mapbox). Returns up to 24000 characters per call by default; long pages say how many characters remain and which offset fetches the next chunk. |
| read_docs_batchA | Fetch up to 20 Magic Lane documentation pages in a single call: at most 20 URLs are accepted, a longer array is refused with that limit, and one of 256 values or more is refused outright, without naming it. Returns the markdown content of each page; pages that fail to load are reported individually, and the call is an error only when every page failed. The page text is capped at 120000 characters shared across the pages (headers and error notes come on top) — a page cut short says where to continue with read_doc. |
| list_docsA | Browse the Magic Lane documentation index (llms.txt). mode "sections" returns a compact table of contents (sections with page counts); mode "pages" lists pages with title, URL and the description (one over 200 characters cut to its first sentence, or at a word — where the room ends when its second half has no space; search_docs gives it whole), 50 per call by default, 100 at most (page with offset). When mode is omitted it defaults to "sections" for source "all" without a section filter, and "pages" otherwise. Start with the TOC, then drill into one source/section with mode "pages". |
| get_code_examplesA | Extract only the code blocks from a Magic Lane documentation page (by URL or /docs/... path), skipping the surrounding tutorial prose. Optionally filter by language tag (e.g. dart, kotlin, swift, cpp, typescript, json, shell) and by caption — the line that introduces a block, such as "Request Body" or "Response Body" on the REST API pages. Each block comes with its nearest heading and caption. Much cheaper than read_doc when only the sample code matters. Long pages are paged: the response says how many blocks remain and which offset continues; a block longer than the budget comes in parts. When a page has no matching block, the response names the languages it does have and the pages below it (or related pages, or for an example page the guides on its topic) that hold such blocks, with counts — listed unchecked when the page contents cannot be loaded, and not at all, saying so, when the index cannot be loaded in time. |
| find_across_sdksA | Given one topic (e.g. "add markers", "calculate route", "offline maps"), return the best-matching documentation page(s) for EVERY source side by side — developer guides, the Maps SDKs for Flutter, Android, iOS, C++, TypeScript, and the Cloud REST APIs. Ideal for cross-platform comparisons ("how do I do X on iOS vs Android"; platform names in the query are ignored unless they are part of a feature name, such as "Android Auto", or of a page's title, such as "integrate the sdk", or name the product itself, such as "REST API" — a query that is the title of one of the Cloud REST APIs, such as "geofences api", is answered by that API alone; a query about the platforms themselves, such as "flutter vs android", is answered by each named platform's own overview page). A source reports "(no match)" unless a page matches at least half of the topic words (half in its own title or description, not only in its section) and is about the most specific one: it is in the page's title or section, or in its description or path with every other word too (every word when even that one is common, such as "map"). A topic of one or two words must match in full, and a single one must head the page — unless the title holds the query's other word ("Update Content" for "update maps"), or no page is headed with the word the page lacks there — no page of its source for a word its index entry lacks, no page at all for a single word (never a word next to "API"): then a page whose own text (llms-full.txt) names the missing word at least twice answers, marked as covering part of the topic ("landmark store"; the Cloud's Territory for "generate territories"), and a page whose description names the single word as written (not "key" for "token") in its first sentence and its first two thirds answers when its text names it again ("waypoints"); a page may always lack an action word ("upgrade to 3.1.4") or the words of setting up ("set up navigation"). A word the page has only in its section does not count when its own title and description hold less than half of the query's words ("handle route events" is not "Social Event Voting", filed under Routing & Navigation). A page that only mentions the topic in passing is not listed; search_docs finds those. |
| list_recent_updatesA | Report which documentation pages were updated within the last N days, per source, using each page's embedded 'Last updated' date. Useful for tracking SDK documentation changes without re-reading everything. Covers every source, including the developer guides. When nothing falls in the window, the response names the newest date there is and lists the newest pages. |
| get_product_guideA | Return the official documentation for a Magic Lane product. Products: "mcp-server" — the geospatial MCP giving AI agents location search, multi-modal routing, isochrone analysis, reverse geocoding, geofence management and map rendering (sections: overview, usage-guidelines; default usage-guidelines); "map-studio" — Magic Lane Studio (formerly Map Studio), the web-based visual editor for creating, testing and publishing custom map styles (sections: overview, create-a-map-style, customize-map-style, download-style; default overview). A finished style is published by downloading it as a .style file and loading that file in the app — there is no separate publish step, and download-style is the section that covers it. Use section "all" for the complete set in reading order. Use this for questions about the products themselves rather than the Maps SDKs. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| llms-txt-developer | Raw llms.txt documentation index for Magic Lane Guides (account, Map Studio, MCP Server). |
| llms-txt-flutter | Raw llms.txt documentation index for Magic Lane Maps SDK for Flutter. |
| llms-txt-android | Raw llms.txt documentation index for Magic Lane Maps SDK for Android. |
| llms-txt-ios | Raw llms.txt documentation index for Magic Lane Maps SDK for iOS. |
| llms-txt-cpp | Raw llms.txt documentation index for Magic Lane Maps SDK for C++. |
| llms-txt-typescript | Raw llms.txt documentation index for Magic Lane Maps SDK for TypeScript. |
| llms-txt-cloud-rest-api | Raw llms.txt documentation index for Magic Lane Cloud REST APIs (Routing, Isochrones, Search, Reverse Geocoding, Fleet Management, Geofences, Vector Tiles, Offline Maps). |
TDQS
Scored across 8 tools
Each tool is anchored to a distinct retrieval mode: index browsing (list_docs), keyword search (search_docs), single-page fetch (read_doc), batch fetch (read_docs_batch), code-only extraction (get_code_examples), cross-SDK topic matching (find_across_sdks), recency (list_recent_updates), and curated product docs (get_product_guide). The main soft spots are search_docs vs find_across_sdks (keyword vs per-source topic) and get_product_guide vs read_doc, which overlap but are disambiguated by the verbose descriptions. The sheer density of each description helps precision but makes boundaries slower to grasp.
Uniform snake_case verb_noun pattern across all eight tools: read_doc, read_docs_batch, list_docs, list_recent_updates, get_code_examples, get_product_guide, search_docs, find_across_sdks. The verbs (read/list/get/search/find) map predictably to retrieval semantics, and singular/plural (read_doc vs read_docs_batch) correctly signals cardinality.
Eight tools is well within the sweet spot for a documentation server, and each earns its place: browsing, searching, single read, batch read, code extraction, cross-platform comparison, recency, and product docs. No redundant or filler tools are present.
The surface covers the full discovery-to-retrieval lifecycle (TOC → search → read → batch → code snippets) plus niche needs like cross-SDK comparison and recent changes, with pagination/continuation handled everywhere. Minor gaps: no explicit tool to enumerate available sources/sections metadata beyond list_docs modes, and no dedicated API-reference or schema lookup, though find_across_sdks partly covers REST API discovery.