Skip to main content
Glama

PinSharing Maps

Server Details

Geocoding, static maps and privacy-safe area maps from OpenStreetMap data. Hard caps, no overage.

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL
Repository
Software-Consulting/pinsharing-mcp
GitHub Stars
0
Server Listing
PinSharing MCP
ChatGPT
–
Claude
–

TDQS

A4/5.0

Scored across 5 tools

Disambiguation5/5

Each tool targets a distinct operation: forward geocoding, reverse geocoding, static image rendering, privacy-preserving image rendering, and embed code generation. The geocode/reverse_geocode and static_map/privacy_area_map pairs are the only plausible confusions, and the descriptions explicitly disambiguate them (e.g. 'do not use this to show a private address; use privacy_area_map instead').

Naming Consistency3/5

All names are consistently snake_case, but the grammatical convention is mixed: geocode and reverse_geocode are verbs while map_setup, static_map and privacy_area_map are noun phrases. The names are still readable and predictable enough to map to the domain, but there is no single verb_noun pattern.

Tool Count5/5

Five tools is well-scoped for a maps/geocoding service: lookup in both directions, two rendering modes, and an integration helper. Each tool has a clear reason to exist and no tool looks like filler.

Completeness4/5

The surface covers the core lifecycle: address-to-coordinate, coordinate-to-address, image rendering with markers/paths, privacy-safe rendering, and web embedding with a reusable tile URL. Minor gaps exist (no batch geocoding, no routing/directions beyond a drawn path, no interactive map with server-side markers), but agents can work around these.

Available Tools

5 tools
geocodeGeocode an address or placeA
Read-onlyIdempotent
Inspect

Look up an address, place name or point of interest and get coordinates (lat, lon), a readable label and address parts, from OpenStreetMap data. Use it before static_map or privacy_area_map when you only have an address. Counts 1 address lookup against the account's monthly cap. Results may be stored: up to 30 days on the Free plan, indefinitely on paid plans. Show "© OpenStreetMap contributors" with results.

NameRequiredDescriptionDefault
bboxNo[min_lon, min_lat, max_lon, max_lat]
langNoPreferred language for names, e.g. en, de, fr
nearNoPrefer matches near this point
limitNoMaximum number of matches
queryYesAddress, place or point of interest, e.g. "233 S Wacker Dr, Chicago" or "Oswego, Illinois"

TDQS

A4.3/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Goes well beyond the readOnly/idempotent annotations by disclosing the metered cost (1 lookup against a monthly cap), data retention terms (30 days on Free, indefinitely on paid), and the required "© OpenStreetMap contributors" attribution. These are billing, privacy and legal obligations an agent cannot infer from structured fields.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Four short sentences, front-loaded with what the tool returns, then usage routing, then cost/retention/attribution. Every sentence carries operational value; only the attribution sentence borders on boilerplate but it is a real obligation.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description usefully enumerates the return shape (coordinates, label, address parts). It covers cost and retention but says nothing about multi-result behavior or what happens when no match is found, leaving some ambiguity for a 5-parameter tool with a nested object.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so bbox, near, lang and limit are fully documented in the schema and the description need not repeat them. The description adds nothing about parameter behavior such as how bbox and near interact with the query, so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (look up) plus resource (address, place name, point of interest) and names the concrete return values (lat, lon, readable label, address parts) and data source (OpenStreetMap). It distinguishes itself from siblings by naming static_map and privacy_area_map as downstream consumers.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly says to use it before static_map or privacy_area_map when you only have an address, which is concrete routing guidance. The gap is that reverse_geocode is the obvious inverse sibling and is never mentioned, so the agent gets no cue for choosing between forward and reverse lookup.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

map_setupGet code to show an interactive mapA
Read-onlyIdempotent
Inspect

Get ready-to-paste HTML/JavaScript for an interactive, zoomable PinSharing map in a web page (MapLibre GL JS vector map, Leaflet or OpenLayers raster map), or the raster tile URL template for any other library. Replace YOUR_KEY with a key restricted to the website. Needs no key and uses no quota; the map itself counts map tiles when viewed.

NameRequiredDescriptionDefault
styleNoMap style: light (default), dark, white or grayscalelight
libraryYesmaplibre = vector map (sharpest); leaflet or openlayers = raster tiles; tile_url = just the XYZ URL template

TDQS

A3.9/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly, idempotent, non-destructive, and closed-world. The description adds real operational context beyond them: the setup call itself needs no key and consumes no quota, while tile counting occurs when the map is actually viewed, and the embedded key must be domain-restricted. That is meaningful behavior disclosure, though it lacks detail on output shape or limits.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three tight sentences, front-loaded with what is produced. The one rough edge is the juxtaposition of 'Replace YOUR_KEY with a key' and 'Needs no key,' which is resolvable (the call needs no key; the generated snippet does) but momentarily ambiguous.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description steps in to describe the return values (HTML/JS snippet or URL template) and covers key and quota implications. Missing only minor details such as the exact form of the snippet output, which an agent could infer.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and both parameters have enum descriptions, so the schema already carries the variant semantics. The description reinforces library choice and adds the practical note that YOUR_KEY must be replaced with a website-restricted key, but adds little beyond the schema about 'style.'

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb and resource: it returns ready-to-paste HTML/JavaScript for an interactive zoomable map, or a raster tile URL template. The phrase 'interactive, zoomable' implicitly separates it from static_map, but no sibling is named explicitly, so the differentiation is inferential rather than stated.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It explains clearly which variant to pick: MapLibre for vector, Leaflet or OpenLayers for raster, and tile_url 'for any other library.' That is useful routing among options. It never says when to choose a sibling such as static_map instead, so there is no explicit exclusion guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

privacy_area_mapMap an approximate area without revealing the exact pointA
Read-onlyIdempotent
Inspect

Show roughly where a place is without revealing the exact point. The point is snapped to a grid and drawn as a shaded circle that always contains the true point, with no pin; every address in the same grid cell gets the identical image, so the exact location cannot be recovered or averaged out across listings. Use it for real-estate, rental and marketplace listings, people's homes, or any location that should stay private. The image is returned inline, with a reusable URL that contains only the snapped point. Counts 1 static image against the account's monthly cap.

NameRequiredDescriptionDefault
latYesLatitude of the exact place to hide. It is snapped to the grid before use and never returned
lonYesLongitude of the exact place to hide. It is snapped to the grid before use and never returned
colorNoCircle colour as hex, e.g. 0f766e
scaleNoPixel density: 2 renders a sharper image for high-density screens at double the pixel size
styleNoMap style: light (default), dark, white or grayscalelight
widthNoImage width in CSS pixels
formatNoImage format. jpg and webp are smaller than pngpng
heightNoImage height in CSS pixels
radius_mNoMinimum circle radius in metres; it is raised if needed so the circle always contains the true point
snap_degNoGrid size in degrees (0.01 is about 1 km). 0 turns snapping off and is not recommended

TDQS

A4.1/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the readOnly/idempotent annotations, the description discloses the actual privacy mechanism (grid snapping, no pin, shaded circle guaranteed to contain the true point, identical output per grid cell) and closes the obvious re-identification attack by noting the point cannot be averaged out across listings. It also states the return shape (inline image plus reusable URL containing only the snapped point) and the cost: 'Counts 1 static image against the account's monthly cap.'

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The privacy guarantee is front-loaded in the first two sentences, then usage, then return/cost. It is slightly dense in the second sentence, but every sentence carries information an agent would otherwise have to guess.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 10-parameter image tool with no output schema, the description covers purpose, mechanism, privacy guarantees, return format, URL behavior, and billing cost. Nothing material is missing for an agent to decide whether and how to call it.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already explains every parameter including snap_deg and radius_m. The description adds conceptual reinforcement of snapping but no new per-parameter semantics, so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific action and effect: render 'roughly where a place is without revealing the exact point', which cleanly separates it from an exact-point static map. It never names the sibling static_map explicitly, so an agent must infer the contrast from the privacy framing, which keeps it just short of a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives concrete when-to-use guidance: 'real-estate, rental and marketplace listings, people's homes, or any location that should stay private.' It does not state the inverse rule (use static_map when the exact point is acceptable), so the alternative-selection guidance is implied rather than explicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

reverse_geocodeFind the address at a pointA
Read-onlyIdempotent
Inspect

Find the nearest address or place to a latitude/longitude, from OpenStreetMap data. Counts 1 address lookup against the account's monthly cap. Same storage terms and attribution as geocode.

NameRequiredDescriptionDefault
latYesLatitude of the point to look up, in decimal degrees (WGS84)
lonYesLongitude of the point to look up, in decimal degrees (WGS84)
langNoPreferred language for names, e.g. en, de, fr
limitNoMaximum number of nearby addresses or places to return

TDQS

A3.7/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover read-only, idempotent, non-destructive semantics and closed-world scope, yet the description adds genuinely new operational context: it consumes one address lookup against the account's monthly cap, and inherits the same storage/attribution terms as geocode. It does not cover failure behavior (e.g., open ocean / no match) or result format.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three short sentences, front-loaded with what the tool does, then cost, then licensing. Every sentence carries distinct information with no redundancy or filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description should say something about what comes back (an address record? multiple candidates when limit > 1? what happens when nothing is found). It also leaves the lang/limit interaction with results unexplained, so an agent knows how to call it but not fully what to expect.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so lat, lon, lang, and limit are fully documented in the schema with ranges, defaults, and formats. The description adds no meaning beyond that, so the baseline of 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Find the nearest address or place to a latitude/longitude') plus the data source (OpenStreetMap). The reverse direction is clear enough to distinguish it from the forward 'geocode' sibling, though the description never names that sibling to make the contrast explicit.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied by 'reverse' vs the sibling 'geocode', but there is no explicit 'use this when you have coordinates; use geocode when you have an address' routing statement. The only sibling reference ('Same storage terms and attribution as geocode') is about licensing, not tool selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

static_mapRender a static map imageA
Read-onlyIdempotent
Inspect

Render a map as an image (returned inline) with optional pins (markers) and a line (path, e.g. a route). Give center and zoom, or just markers and/or path and the view is fitted automatically. Also returns a reusable image URL for web pages (add your key). Counts 1 static image against the account's monthly cap. Do not use this to show a private address such as someone's home; use privacy_area_map instead.

NameRequiredDescriptionDefault
pathNoA line through these points, in order
zoomNo0 = world, 10 = city, 15 = streets, 18 = buildings
scaleNoPixel density: 2 renders a sharper image for high-density screens at double the pixel size
styleNoMap style: light (default), dark, white or grayscalelight
widthNoImage width in CSS pixels
centerNoMap centre; use with zoom
formatNoImage format. jpg and webp are smaller than pngpng
heightNoImage height in CSS pixels
markersNoPins to draw
paddingNoSpace in pixels kept around markers and paths when the view is fitted automatically

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint/idempotentHint/non-destructive, so safety is covered; the description goes further by disclosing that the image is returned inline, that a reusable image URL is also returned (requiring the caller's own key), and that each call consumes one static image against a monthly cap. That quota/credential context is exactly the kind of thing annotations cannot express. It stops short of saying what happens when the cap is exhausted or how errors surface, which keeps it off a 5.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Four sentences, front-loaded with the core action, then modes, then cost, then the exclusion — a sensible ordering with no filler. The stacked parentheticals in the opening sentence ("(returned inline)", "(markers)", "(path, e.g. a route)") are slightly cluttered but each carries disambiguating information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 10-parameter, zero-required rendering tool with no output schema, the description covers what is produced (inline image plus reusable URL), how the viewport is resolved, and the cost model — enough to call it correctly. The remaining gap is precedence when both center/zoom and markers/path are supplied, which an agent must currently guess.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3, but the description adds meaning the schema cannot: the relationship between center/zoom and markers/path (viewport is auto-fitted when no center is given) and that padding governs that auto-fit. It adds no per-parameter detail beyond the schema, which is appropriate here.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

"Render a map as an image" is a specific verb+resource, and the description immediately enumerates the payload (optional pins/markers, a line/path) and the output form (returned inline). It also names the sibling it is not for (privacy_area_map), so an agent can distinguish it from geocode, reverse_geocode and map_setup 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.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives explicit operating modes — "Give center and zoom, or just markers and/or path and the view is fitted automatically" — plus a hard exclusion with a named alternative: "Do not use this to show a private address such as someone's home; use privacy_area_map instead." Both when-to-use and when-not-to-use are stated rather than inferred.

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.

  1. 5 tool updates
    • First observedgeocode
    • First observedmap_setup
    • First observedprivacy_area_map
    • First observedreverse_geocode
    • First observedstatic_map

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    D
    maintenance
    Provides forward/reverse geocoding, bounding box extraction, nearby places discovery, batch geocoding, route waypoints, and administrative boundary lookup using OpenStreetMap data.
    10
    Apache 2.0
  • A
    license
    A
    quality
    D
    maintenance
    Geospatial API tools for AI agents — geocoding, reverse geocoding, routing, isochrone, distance matrix, static maps, H3 hexagons, elevation, GPS map-matching, point-in-polygon, address normalisation, timezone lookup, and batch geocoding. Built on OpenStreetMap infrastructure. Cost-effective alternative to Google Maps API.
    18
    39 npm
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables geocoding, reverse geocoding, place search, OpenStreetMap object lookup, nearby category search, and local great-circle distance calculations through public OpenStreetMap APIs.
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables desktop agents and clients to access geospatial services via a hosted MCP server, including OpenStreetMap queries, address and business search, POI discovery, routing, matrices, isochrones, map matching, optimization, elevation and terrain, basemap styling, spatial analysis, rendering, usage, and service status.
    32 npm
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.