Repository navigation
v3.36.0
MCP
Several MCP servers per app, with optional ones (#405, closes #338). An app can now give the agent tools from more than one MCP server, for example duckdb-mcp plus glen-sdm's species distribution models. This is opt-in: an app with no mcp_servers connects to one server exactly as before.
"mcp_servers": [
{ "url": "https://duckdb-mcp.nrp-nautilus.io/mcp" },
{ "url": "https://sdm-mcp.nrp-nautilus.io/mcp", "optional": true }
]- Primary server: the first entry is the data engine. Only it gets the inline STAC lookup, the fallback
querytool and thegeospatial-analystprompt, andget_schemaandrender_chartquery it. - Single-server keys:
mcp_urlandmcp_auth_token, andmcp_server_urlfrom a deploy-timeconfig.json, set the primary server only. A deployment that injects the duckdb-mcp URL keeps the other servers listed inlayers-input.json. - Optional servers:
"optional": truekeeps a server from holding up boot. Its tools join when it connects, and if it can't be reached they are left out with a console warning. - Per-server behaviour:
auth_tokenis set per server, each server reconnects on its own, and calls go to the server that listed the tool. On a tool-name collision the server listed first wins.
See "Multiple MCP servers" in the configuration guide.
Map
One swatch for a hex layer with a single value (#406). A hex layer whose cells all hold the same value, such as a modelled species range where every cell is 1, now shows one swatch labelled with the layer's name instead of a colorbar from 1 to 1. A single-value GeoJSON hex layer is now painted in the palette's top colour, because the middle colour can be near-white. The server must report the constant domain (min: 1, max: 1) for this to apply.
add_hex_tile_layer description (#404). The tool description no longer says register_hex_tiles can return GeoJSON, since it always builds vector tiles. It now says format: "geojson" and geojson_url come from the tool that produced the layer, such as a species distribution model's artifacts.map_layers, and that a ready argument object should be passed unchanged.
Voice input
Transcription docs and a quieter mic icon (#410, closes #408). The configuration guide's voice examples now use a working transcription model (gemma-small) and give a one-request check for whether a model accepts audio. The mic button is a muted line icon beside Send that turns red while recording, replacing the emoji, and the fallback transcription endpoint points at open-llm-proxy.nrp-nautilus.io.
Development
- pnpm, with no install scripts (#413). Development dependencies are installed with pnpm (
corepack pnpm install). No dependency runs an install script, a version must be a week old before it installs, and a release with weaker provenance than earlier ones is refused. None of these packages is served to users. DISCLOSURE.md(#400) states how LLM coding tools were used in this repository.
Upgrading
No config changes are required; bump the pin to @v3.36.0. To add a second MCP server, list both in mcp_servers.