MCP Map Server
Provides tools for adding, filtering, and styling map layers using MapLibre GL JS expressions and paint properties, enabling dynamic map configuration.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@MCP Map ServerAdd a satellite raster layer for California"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
MCP Map Server
A Model Context Protocol (MCP) server that provides a dynamic map interface.

Quick Start
Add the hosted MCP endpoint to your LLM client, like so:
Using VSCode
create a .vscode/mcp.json like this: (as in this repo)
{
"servers": {
"map-server": {
"command": "uv",
"args": [
"run",
"mcp-map-server",
"--transport",
"stdio",
"--prompt-file",
"system-prompt.example.md"
]
},
}
}You should see a little icon appear above the entry to "Start" server, like so:



Configuring Data Layer Information
The server supports MCP prompts to provide AI agents with information about available data layers. This helps agents understand which layers are available, their attributes, and how to use them effectively.
Recommended: Use a Markdown file
You can provide a system prompt as a plain markdown file:
mcp-map-server --prompt-file my-layers.mdRelated MCP server: Earthdata MCP Server
Tooling & API
Every map-modifying tool returns the full, updated map configuration in JSON format.
Available Tools
add_layer: Adds a raster (XYZ/Tiles) or vector (MVT/PMTiles) layer.set_map_view: Moves the camera to a specificcenterandzoom.filter_layer: Applies MapLibre filter expressions to an existing layer.set_layer_paint: Dynamically modifies paint properties (colors, opacity, etc.).remove_layer: Deletes a layer by ID.get_map_config: Returns the current session/provided state as JSON.
MCP Client Configuration
To use this with MCP-compatible clients like Claude Desktop or VSCode extensions, point them to the server.
Local Development (Recommended):
Local clients like Claude Desktop and VSCode expect StdIO transport when launching a command. The server now defaults to stdio.
{
"mcpServers": {
"map-server": {
"command": "uv run mcp-map-server"
}
}
}Passing CLI Arguments (Transport, Prompts, etc.):
If you need to specify the transport explicitly or provide a custom system prompt file, use the args array.
Arguments must be passed as individual elements in theargs array, NOT as part of the command string.
{
"mcpServers": {
"map-server": {
"command": "uv run mcp-map-server",
"args": [
"--transport", "stdio",
"--prompt-file", "/path/to/my-layers.md"
]
}
}
}Note: The server defaults to stdio when run as a command.
Using the Shared Production Server:
Web-based or remote clients connect via HTTP.
{
"mcpServers": {
"map-server": {
"url": "https://mcp-map.nrp-nautilus.io/mcp/"
}
}
}License
MIT
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/boettiger-lab/mcp-map-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server