MCP server for Electronic Navigational Charts (ENC) data
Enc Charts MCP becomes available to MCP clients through the enc charts mcp mcp server. MCP server for Electronic Navigational Charts (ENC) data.
An MCP (Model Context Protocol) server for Electronic Navigational Charts (ENC) data, providing programmatic access to NOAA electronic navigational charts with S-57 format parsing capabilities.
This MCP server enables AI assistants to access and analyze electronic navigational charts from NOAA. It automatically downloads, caches, and parses S-57 format chart data, making it available through a standardized API. The server supports coordinate-based chart discovery, feature extraction, and navigation-focused queries.
Once connected, the assistant can call these 6 tools directly:
get_chart — Retrieve chart features for a specific area by chart ID or coordinatessearch_charts — The search_charts tool exposed by this serverget_chart_metadata — The get_chart_metadata tool exposed by this serverget_object_classes — Get information about S-57 object classes and their representationsHazards — The Hazards tool exposed by this serverPagination — To prevent response size issues, the get_chart and search_charts tools implement pagination:The server is distributed via npm as command, so most clients can run it without a manual build step. Add it to your MCP client's configuration and restart the client to pick it up — the copy-paste configs for Claude Desktop, Claude Code and Cursor are on this page.
The server reads 3 environment variables: ENC_CACHE_DIR, ENC_CACHE_MAX_SIZE_GB, ENC_CACHE_MAX_AGE_DAYS. Keep credentials in your client's env block or a secrets manager rather than committing them.
Developer-tool servers are usually the first ones people connect, because they turn "help me with this code" into an assistant that can actually read the repo and act on it. Enc Charts MCP sits in that group, and the shape of its toolset — get_chart, search_charts, get_chart_metadata among others — tells you what it is really for. Worth comparing against the other developer tools servers in this directory before you commit to one, since several overlap in scope but differ sharply in setup cost and permissions.
| Tool | What it does |
|---|---|
| get_chart | Retrieve chart features for a specific area by chart ID or coordinates. |
| search_charts | The search_charts tool exposed by this server. |
| get_chart_metadata | The get_chart_metadata tool exposed by this server. |
| get_object_classes | Get information about S-57 object classes and their representations. |
| Hazards | The Hazards tool exposed by this server. |
| Pagination | To prevent response size issues, the get_chart and search_charts tools implement pagination: |
{
"mcpServers": {
"enc-charts": {
"command": "npx",
"args": ["enc-charts-mcp"],
"transport": {
"type": "stdio"
},
"env": {
"ENC_CACHE_DIR": "~/.enc-charts/cache",
"ENC_CACHE_MAX_SIZE_GB": "20",
"ENC_CACHE_MAX_AGE_DAYS": "14"
}
}
}
}Configuration as documented by the project. Restart the client after saving.
| Variable | Description | Required |
|---|---|---|
| ENC_CACHE_DIR | Filesystem location the server is allowed to use. | Optional |
| ENC_CACHE_MAX_SIZE_GB | Configuration value read at startup. | Optional |
| ENC_CACHE_MAX_AGE_DAYS | Configuration value read at startup. | Optional |
Kill hallucinated APIs — version-accurate, up-to-date library documentation injected straight into context.
Microsoft's official browser automation server — drive a real browser through the accessibility tree, no screenshots needed.
GitHub's official server — repos, issues, pull requests, Actions and code security, straight from your assistant.
Issue tracking at the speed of conversation — Linear's official hosted server with OAuth and zero install.
Local repository surgery — status, diffs, commits, branches and history for any repo on disk.
Timezone sanity for AI — current time anywhere and correct conversions, without the model doing date math.