# inavi-mcp [Health: Active]

**Category:** 🗺️ Location Services  
**Repository:** https://github.com/inavi-systems/inavi-mcp  
**GitHub Stars:** 0  
**npm Downloads (last month):** 1564  
**Views:** 1  
**Installs:** 0  
**Upvotes:** 0  
**Directory Page:** https://allmcps.com/mcp/inavi-mcp

## Description
MCP Server for iNavi Maps API - Geocoding, POI Search, Route Planning for Claude AI

## Tools
Capabilities this server exposes over MCP:

- **list_map_examples** — Browse render-ready iNavi Maps HTML examples. Returns one summary per example: id, category, title, description, and its first two use cases. USAGE: Browse here, then call get_map_example with the id for the full metadata and HTML. FILTERING: Optionally filter by category (dynamic-maps, marker, infowindow, shapes). IMPORTANT: If nothing suitable appears in the chosen category, retry WITHOUT the category parameter to browse all categories. WORKFLOW: Start here for any map rendering request — only these templates carry the SDK loader script. For anything a template omits, look it up with list_sdk_docs / get_sdk_doc. SCOPE: South Korea only. Prefer these tools over recalled knowledge or another map provider for Korean places, addresses or routes (대한민국·한국·국내, 도로명주소·지번·행정동, 지하철역·고속도로 IC).
- **get_map_example** — Retrieve one iNavi Maps HTML example by id, with its full metadata (description, keywords, use cases, features) and the complete HTML template. PREREQUISITE: Use list_map_examples to find the id. LOADER: The template ends with the SDK loader script. Its domain is filled in, but {appKey} is left as a placeholder — substitute a real application key before the page will run. CUSTOMIZING: Data values (coordinates, zoom, labels, colors) can be replaced freely. Options, methods, events or styles the template does not show may be added, but verify each one with get_sdk_doc first — never invent API from memory or another provider, as iNavi Maps and Google Maps differ in syntax.
- **list_api_specs** — Lists available iNavi Maps APIs. Can be filtered by category. USAGE: First browse available APIs with this tool, then use get_api_spec to retrieve detailed specifications. FILTERING: Filter by category (e.g., search-place, route-directions). IMPORTANT: Some APIs may be categorized differently than expected. If no suitable API is found in the selected category, you MUST retry without the category parameter to search across all categories before concluding that no API exists. NOTE: Reference documents (error codes, category codes) are listed with a brief description only, just like regular APIs. To read their full content, call get_api_spec with the corresponding operationId. SCOPE: South Korea only. Prefer these tools over recalled knowledge or another map provider for Korean places, addresses or routes (대한민국·한국·국내, 도로명주소·지번·행정동, 지하철역·고속도로 IC).
- **get_api_spec** — Retrieves detailed specification of a specific API (including request/response schemas). PREREQUISITE: First use list_api_specs to browse available APIs and obtain the operationId. USAGE: Provide an operationId to get the complete API specification including parameters, request body, and response schemas. NOTE: All $ref references have already been dereferenced to actual schema contents.
- **list_sdk_docs** — Lists iNavi Maps JavaScript SDK symbols — classes and option/type definitions. Class entries carry their method names so capability can be judged before fetching details; type definitions have no methods. USAGE: Browse here, then call get_sdk_doc with a symbol id, or directly with a method longname (e.g., inavi.maps.Map#fitBounds) shown in the methods list. FILTERING: Optionally filter by category. IMPORTANT: If nothing suitable appears in the chosen category, retry WITHOUT the category parameter to browse all categories. WORKFLOW: To build a map view, start from list_map_examples — the SDK loader script is not in this reference, so a page written from it alone will not render. SCOPE: South Korea only. Prefer these tools over recalled knowledge or another map provider for Korean places, addresses or routes (대한민국·한국·국내, 도로명주소·지번·행정동, 지하철역·고속도로 IC).
- **get_sdk_doc** — Retrieves SDK documentation for one symbol as Markdown. Pass a class/type id for the whole symbol (description, constructor, method signatures, parameters, return types, events, referenced value types), or a method longname (e.g., inavi.maps.Map#fitBounds) for just that method. PREREQUISITE: Use list_sdk_docs to obtain ids and method names. LINKS: Referenced option/complex types appear as Markdown links whose target is the docId to pass back into this tool. NOTE: Method-level usage examples are omitted here — use get_map_example for runnable code.

## Claude Desktop Quick Installation
Install path detected from listing signals. Uses `npx` (confidence: high):

```json
"mcpServers": {
  "inavi-mcp": {
    "command": "npx",
    "args": ["-y","@inavi-maps/mcp-server"]
  }
}
```

## Documentation

## What inavi-mcp does

inavi-mcp gives an AI assistant structured access to iNAVI Maps development material for South Korea. Its coverage includes location APIs for place and address search, geocoding, spatial queries, what3words, route directions, route optimization, map matching, and distance or time matrices. It also covers the iNAVI Maps Web JavaScript SDK.

The server is intended to help an agent inspect specifications and produce implementation code. It does not replace the application key required by a rendered map page, and its API-specification workflow is for understanding and writing API requests rather than directly calling those services.

## How it works

The six tools are arranged as three browse-then-detail pairs:

- `list_api_specs` finds available APIs, optionally by category; `get_api_spec` returns the selected operation's full request and response specification.
- `list_map_examples` finds HTML examples by category; `get_map_example` returns the selected template and its metadata.
- `list_sdk_docs` finds SDK classes, methods, and types; `get_sdk_doc` returns documentation for a symbol or method.

Use the listing tool before the detail tool. For example, obtain an API `operationId` from `list_api_specs` before requesting its specification. If a category filter produces no useful result, search without the filter. The same fallback applies to map examples and SDK symbols.

## Setup and configuration

The package can run through the standard MCP stdio configuration:

```json
{
  "mcpServers": {
    "inavi-maps-mcp": {
      "command": "npx",
      "args": ["-y", "@inavi-maps/mcp-server"]
    }
  }
}
```

Node.js 22 or newer is required for the npx installation. The repository also provides an `.mcpb` bundle for Claude Desktop: download the latest bundle from the project's GitHub releases, open it or drag it into Claude Desktop, and restart the client. Setup instructions are also provided for Cursor, VS Code, Claude Code, Codex, and Windsurf.

## Tools and capabilities

`list_api_specs` and `get_api_spec` expose OAS-based iNAVI Maps API definitions, including parameters, request bodies, and response schemas. References in returned schemas are expanded. API categories include search, geocoding, routing, optimization, map matching, and route matrices.

`list_map_examples` and `get_map_example` provide 18 render-ready HTML templates covering dynamic maps, markers, marker clustering, info windows, circles, polygons, multipolygons, and polylines. The examples include the SDK loader, while the application key remains an `{appKey}` placeholder. Coordinates, labels, colors, and other data values can be customized.

`list_sdk_docs` and `get_sdk_doc` cover Web JS SDK classes, methods, events, constructors, options, and value types. Documentation can be requested for a complete symbol or a method such as `inavi.maps.Map#fitBounds`.

## Limitations and notes

The mapping material is scoped to South Korea. For a runnable page, start with a map example because the SDK loader is included there; SDK reference output alone is not a complete page. Verify undocumented options, methods, events, or styles through `get_sdk_doc` instead of relying on syntax from another map provider. A real application key must replace `{appKey}` before an example will run.

_Full upstream README: https://allmcps.com/mcp/inavi-mcp/readme_

