MapPoster
Server Details
Design map posters of any place in 50+ styles, with names, dates and markers, and order prints.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 3 tools
Each tool has a distinct role: create_poster generates the design, list_themes enumerates styles, and search_location resolves place coordinates. The descriptions clearly state exclusions and handoffs, leaving little overlap or ambiguity.
All three names follow a consistent verb_noun snake_case pattern: create_poster, list_themes, and search_location. This makes the tool set predictable and easy to scan.
Three tools is minimal but well-scoped for a focused map-poster generation server. Each tool serves a necessary step—creating, listing themes, and finding locations—with no redundant entries.
The core workflow is covered: locate a place, choose a theme, and generate a poster. Minor gaps exist around post-generation actions such as saving, direct downloading, or revising, but those are intentionally delegated to the linked external editor.
Available Tools
3 toolscreate_posterCreate map posterARead-onlyIdempotentInspect
Designs a map poster and shows it in the chat. Use this when the user wants a map poster, map print, map wall art or map wallpaper of a real place, or a map poster as an anniversary, Valentine's, wedding, engagement or housewarming gift tied to a place: where a couple met or married, a first home, a hometown, a city someone is leaving, a trip, a marathon someone ran or a birthplace. Not for general gift advice, directions, travel plans, star or night-sky maps, photo posters, 3D, wooden, scratch-off or push-pin maps, or hiking trails and GPX tracks. Takes a city, neighborhood, address, landmark or coordinates (up to three places) and links to the MapPoster editor to fine-tune it or, in the drawn map styles, order it printed. Give a place or lat/lon; the rest is optional. Nothing is saved or bought: the design lives in the link.
| Name | Required | Description | Default |
|---|---|---|---|
| lat | No | Latitude of the map centre. | |
| lon | No | Longitude of the map centre. | |
| mat | No | Gallery-style mat (passe-partout) around the map. | |
| size | No | Canvas size preset: poster_portrait (1080×1527), poster_landscape (1527×1080), square (1080×1080), instagram_portrait (1080×1350), story (1080×1920), pinterest (1000×1500), desktop_wallpaper (1920×1080), a4 (2480×3508), a3 (3508×4961), a2 (4961×7016), 18x24in (5400×7200). Default poster_portrait. | |
| zoom | No | Zoom: ~11 metro area, 13 city, 15 neighbourhood, 16-17 a few streets. Default: the suggested zoom for the place. | |
| place | No | The place the user wants on the poster, e.g. "Utrecht" or "Brooklyn, New York". Used when lat/lon are not given (first search match). | |
| route | No | A route along the roads (driving directions) from start to end, through up to 10 via points: a road trip, or a road race such as a marathon, traced through points along its course. | |
| shape | No | Map shape (default rectangle); circle, hexagon and heart make the canvas square. | |
| theme | No | Theme key (see list_themes). standard and satellite are classic map tiles for personal use; all others are artistic vector styles. | mediterranean_sun |
| title | No | Main poster text: the user's own words if they give them, otherwise in their language. Default: the place name. Can be personal, e.g. "WHERE IT ALL BEGAN" or two names. | |
| width | No | Custom canvas width in px (overrides size). | |
| height | No | Custom canvas height in px (overrides size). | |
| text_x | No | Horizontal text position, 0-1 (default 0.5). | |
| text_y | No | Vertical text position, 0-1 (default 0.85). | |
| bearing | No | Map rotation in degrees (default 0, north up). | |
| markers | No | Pins on the map, e.g. a home or the spot where a couple met. | |
| language | No | Language for place names, e.g. "nl" or "de" (default "en"). Use the user's language. | |
| subtitle | No | Second line: the user's own words if they give them, otherwise in their language. Default: the country. Can be a date or a short message. | |
| mat_width | No | Mat width in px (default 40). | |
| text_size | No | Size of the text block (default medium); "none" hides all text. | |
| mat_border | No | Thin line around the map inside the mat (default on). | |
| show_parks | No | Artistic themes only. | |
| show_roads | No | Artistic themes only. | |
| show_water | No | Artistic themes only. | |
| title_bold | No | ||
| title_case | No | Default uppercase. | |
| title_font | No | Default Playfair Display. | |
| coordinates | No | Custom text for the coordinates line. Default: the map centre coordinates. | |
| marker_icon | No | Default pin. | |
| marker_size | No | Marker size in px (default 40). | |
| more_places | No | Up to two more places on the same poster, each with its own map and a label under it, e.g. where a couple met, got engaged and married. The first map is `place` (or lat/lon); markers and the route stay on it. Artistic themes only; the maps are rectangular (shape is ignored) and the title sits under them (text_x/text_y are ignored). | |
| place_label | No | With more_places: the label under the first map, in the user's words or language. Default: its place name. | |
| route_color | No | Route colour as #RRGGBB. Default: the theme route colour. | |
| marker_color | No | Marker colour as #RRGGBB. Default: the theme accent. | |
| white_border | No | White frame around the map. | |
| places_layout | No | With more_places: the maps stacked or side by side. Default auto: side by side on a landscape or square poster, else stacked. | |
| show_subtitle | No | ||
| subtitle_font | No | Default Playfair Display. | |
| show_buildings | No | Artistic themes only. | |
| show_map_labels | No | Street, place and water names on the map, for the themes that offer them (midnight_dark, minimal_white, modern_voyager). Default on. | |
| text_background | No | Shading behind the text for readability (default none). Not used with a shape: a heart, circle or hexagon keeps its own edge. | |
| title_font_size | No | Title size in px; 0 = automatic (default). | |
| coordinates_font | No | Default Outfit. | |
| show_coordinates | No | ||
| title_letter_spacing | No | Title letter spacing in px (default 0). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent and non-destructive, so the safety surface is covered. The description adds genuinely useful non-schema behavior: the result is shown in chat, it links out to the editor for fine-tuning or printing in drawn styles, and nothing is saved or purchased. It stops short of describing pagination/return payload nuances, but for a read-only generator this is strong.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with purpose, then usage, then input, then behavior — good ordering. The gift-occasion enumeration (anniversary, Valentine's, wedding, engagement, housewarming, marathon, birthplace) is long but serves as trigger vocabulary for this tool, so it mostly earns its place; it borders on bloated.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 45-parameter, nested-object tool with no output schema, the description covers the essential decision path: when to use it, what minimal input is required, and what happens to the design. It omits explicit direction to the sibling tools (list_themes for `theme`, search_location for resolving `place`), which leaves a small gap for an agent needing to populate the enum-constrained fields.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 45 parameters and 93% schema coverage the schema carries most parameter meaning, so the baseline is 3. The description adds real value on top: it tells the agent the minimum viable input ("Give a `place` or `lat`/`lon`; the rest is optional") and clarifies the multi-place limit ("up to three places") that spans `place` plus `more_places`, which a reader would otherwise have to infer.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The opening sentence states a specific verb and resource ("Designs a map poster and shows it in the chat") and the description later names siblings like the MapPoster editor link and list_themes-adjacent concepts. An agent can distinguish it from search_location and list_themes without opening a schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicit when-to-use (map poster, map print, wall art, wallpaper, gift scenarios tied to a place) and explicit when-not (gift advice, directions, travel plans, star/night-sky maps, photo posters, 3D/wooden/scratch-off maps, hiking trails/GPX). Rival conditions are spelled out rather than left to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_themesList poster themesARead-onlyIdempotentInspect
Use this when the user wants to see or choose a map poster's style: its colors, a mood (minimalist, black and white, vintage, blueprint, dark, pastel, or pink for a wedding or anniversary) or a theme by name. Lists the MapPoster themes (color styles) with their key colors, whether the PNG download covers them, and which ones are for personal use only. Pass the theme key to create_poster.
| Name | Required | Description | Default |
|---|---|---|---|
| search | No | One word matched literally against theme names and descriptions, e.g. "dark", "vintage", "pink", "neon" or "blueprint". For a mood such as black and white, minimalist or pastel, leave it out and choose from the full list. | |
| render_mode | No | artistic = vector styles (all but two, including the classic city maps); tile = OpenStreetMap and satellite map tiles. | all |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and non-destructive behavior, so the safety profile is covered. The description adds genuine context beyond that: what each entry reveals (key colors, whether the PNG download covers it, and personal-use-only restrictions), which the agent cannot get from the annotations alone.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the usage trigger, then the return contents, then the hand-off to create_poster. The parenthetical mood list is somewhat long but does real work by enumerating searchable values, so little is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-required-parameter list tool with no output schema, the description fully covers when to call it, what the results include, and how to use them downstream. Nothing an agent needs in order to invoke it correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and the schema already documents both the search and render_mode parameters in detail, including examples of mood words to omit. The description adds only a light hint ('a theme by name') that is already implied by the schema, so the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (list) and resource (MapPoster themes), and specifies exactly what the returned list contains (key colors, PNG coverage, personal-use flags). It also distinguishes itself by naming the downstream consumer, create_poster, so an agent can place it in the workflow without ambiguity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The opening 'Use this when the user wants to see or choose a map poster's style' gives an explicit trigger, and 'Pass the theme key to create_poster' routes the agent to the correct follow-up sibling. The relationship with create_poster is fully spelled out.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_locationSearch locationARead-onlyIdempotentInspect
Use this when a map poster needs a place's coordinates, such as the street or venue to mark (where a couple met, a new home), or when the place the user named is ambiguous (several towns share the name) and they should pick one. Finds a city, neighborhood, street address, venue, landmark or coordinates and gives its coordinates and a suggested zoom level; use the result with create_poster. Not for directions, travel times, general map questions or the user's current location.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum number of results. | |
| query | Yes | What to look for, e.g. "Utrecht", "Central Park, New York", "Eiffel Tower" or "52.0907, 5.1214". | |
| language | No | Language for place names, e.g. "nl" or "de" (default "en"). Use the user's language. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, openWorldHint, idempotentHint and destructiveHint=false, so the safety profile is covered. The description adds real value beyond them: it discloses the return shape (coordinates + suggested zoom) and that ambiguous names may yield multiple candidates for the user to pick, though it doesn't mention a result limit or ranking behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the primary trigger and tightly packed, but the single run-on sentence carrying both use cases, the return description and four exclusions is dense and could be split for scanability.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description correctly fills that gap by describing the returned coordinates and zoom level, and it covers triggers, exclusions, ambiguity handling and the downstream create_poster integration — everything an agent needs to call it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so query, limit and language are already documented with examples and patterns. The description only indirectly touches parameter behavior via the ambiguity/selection scenario, which is the baseline-3 case where the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource (finds a city, neighborhood, street address, venue, landmark or coordinates) and the payload it returns (coordinates and suggested zoom level), which is exactly what distinguishes it from create_poster and list_themes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicit when-to-use conditions (map poster needs coordinates for a spot to mark; user-named place is ambiguous) and explicit exclusions (directions, travel times, general map questions, current location), plus the downstream tool to pass results to.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
3 tool updates
- First observed
create_poster - First observed
list_themes - First observed
search_location
Related MCP Connectors
Generate styled PNG/SVG map images of any location with 11 customizable color themes.
Order personalised newspaper-style birthday, anniversary and retirement posters as print files.
Plan trips on a map: routed transport, day-by-day itineraries, and a plan you can share.
Create choropleth, category and pin maps of countries, states, counties and ZIP codes as images.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceEnables creating themed SVG maps, GeoJSON data, projections, React components, and embeddable map builders through natural language requests.25 npmMIT

@maproll/mcpofficial
AlicenseAqualityBmaintenanceEnables agents to turn structured data into production-ready static maps, returning rendered PNG and SVG URLs along with an editable map link.460 npmMIT- AlicenseAqualityAmaintenanceGenerate styled map images (PNG/SVG) for any location, with customizable color themes and walking/driving routes, directly from Claude or any MCP-compatible AI assistant.530 PyPIMIT
- FlicenseNot gradedqualityBmaintenanceEnables interactive map display with up to 50 marked places and optional route lines, using a bundled Leaflet UI and OpenStreetMap tiles.-
Glama MCP Gateway
Add one secure layer between your agents and this server.