ENC Charts

Provides programmatic access to NOAA ENC data with S-57 parsing, coordinate-based discovery, caching, and feature extraction.
  • typescript

1

GitHub Stars

typescript

Language

4 months ago

First Indexed

2 months ago

Catalog Refreshed

Documentation & install

Readme and setup notes from the catalogue, plus a client-ready config you can copy for your MCP host.

Installation

Add the following to your MCP client configuration file.

Configuration

View docs
{
  "mcpServers": {
    "tonybentley-enc-charts-mcp": {
      "command": "npx",
      "args": [
        "enc-charts-mcp"
      ],
      "env": {
        "ENC_CACHE_DIR": "~/.enc-charts/cache",
        "ENC_CACHE_MAX_SIZE_GB": "20",
        "ENC_CACHE_MAX_AGE_DAYS": "14"
      }
    }
  }
}

You have an MCP server for ENC charts that lets you access NOAA S-57 navigational chart data programmatically. It downloads, caches, and parses chart data so you can query charts by location, extract navigation features, and perform area-focused searches for planning and safety analyses.

How to use

You interact with this server through an MCP client to discover charts, fetch features, and refine results by area, depth, or feature type. Start by ensuring the server is running in stdio mode, then issue requests to retrieve charts or specific features. Use coordinate-based queries to locate relevant ENC charts, filter results by feature type such as lights or buoys, and apply depth ranges to focus on safe navigation areas. Take advantage of pagination to navigate large result sets and rely on local caching to speed up repeated queries in your area of interest.

How to install

Prerequisites: you need Node.js version 18 or higher and Python version 3.7 or higher, with GDAL Python bindings installed for S-57 parsing.

Install the MCP server globally using the provided command.

Additional configuration and usage notes

Configure how the server caches charts and controls cache size and age to balance performance with disk usage.

Enable Claude Desktop integration to use the ENC charts MCP in conversations. You will configure a stdio MCP server with the following settings.

{
  "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"
      }
    }
  }
}

Troubleshooting and tips

If you encounter issues with GDAL, verify that Python 3 is available in your environment and that the GDAL Python bindings match your installation. For cache-related problems, adjust ENC_CACHE_MAX_SIZE_GB or ENC_CACHE_MAX_AGE_DAYS and clear the cache if needed.

If the server does not respond to a coordinate query, confirm that your coordinates fall within NOAA ENC coverage and that the network can reach NOAA services.

Security and maintenance notes

The server relies on remote chart catalogs and downloads charts on demand. Ensure network access is secured and monitor disk usage since charts can be large. Regularly update dependencies and GDAL bindings to keep parsing accurate.

Available tools

get_chart

Retrieve chart features for a specific area by chart ID or coordinates, with optional filters for feature types, depth, bounding box, and pagination.

Built by
VeilStrat
AI signals for GTM teams
© 2026 VeilStrat. All rights reserved.All systems operational