Geography
Renderiza um GeoJSON FeatureCollection como mapa SVG estático incorporável sem dependência de tiles: água/verdes/prédios/estradas por classe ao estilo OSM Carto, alfinetes POI rotulados classificados por tags amenity/shop/tourism, rotas LineString destacadas com setas de rumo geodésico por segmento, barra de escala, retícula e atribuição OSM completa (© OpenStreetMap contributors, ODbL); geocodificação Nominatim opcional (≤5 consultas, ritmo e User-Agent identificador conforme a política oficial).
Chame esta ferramenta a partir do seu código em três idiomas.
curl -X POST 'http://127.0.0.1:3003/pt/api/tools/openstreetmap-nominatim-geojson-static-svg-map-renderer-with-styled-poi-icons-and-route-overlay' \
-H 'Content-Type: application/json' \
-d '{"geojsonInput":"{\n \"type\": \"FeatureCollection\",\n \"features\": [\n {\n \"type\": \"Feature\",\n \"properties\": {\n \"natural\": \"water\",\n \"name\": \"Cold River\"\n },\n \"geometry\": {\n \"type\": \"Polygon\",\n \"coordinates\": [\n [\n [\n -1.235,\n 52.632\n ],\n [\n -1.225,\n 52.636\n ],\n [\n -1.212,\n 52.633\n ],\n [\n -1.205,\n 52.637\n ],\n [\n -1.198,\n 52.634\n ],\n [\n -1.2,\n 52.63\n ],\n [\n -1.21,\n 52.628\n ],\n [\n -1.222,\n 52.63\n ],\n [\n -1.235,\n 52.632\n ]\n ]\n ]\n }\n },\n {\n \"type\": \"Feature\",\n \"properties\": {\n \"leisure\": \"park\",\n \"name\": \"Riverside Park\"\n },\n \"geometry\": {\n \"type\": \"Polygon\",\n \"coordinates\": [\n [\n [\n -1.232,\n 52.646\n ],\n [\n -1.218,\n 52.649\n ],\n [\n -1.21,\n 52.644\n ],\n [\n -1.222,\n 52.641\n ],\n [\n -1.232,\n 52.646\n ]\n ]\n ]\n }\n },\n {\n \"type\": \"Feature\",\n \"properties\": {\n \"landuse\": \"residential\"\n },\n \"geometry\": {\n \"type\": \"Polygon\",\n \"coordinates\": [\n [\n [\n -1.205,\n 52.648\n ],\n [\n -1.192,\n 52.65\n ],\n [\n -1.188,\n 52.642\n ],\n [\n -1.2,\n 52.64\n ],\n [\n -1.205,\n 52.648\n ]\n ]\n ]\n }\n },\n {\n \"type\": \"Feature\",\n \"properties\": {\n \"building\": \"yes\"\n },\n \"geometry\": {\n \"type\": \"Polygon\",\n \"coordinates\": [\n [\n [\n -1.203,\n 52.646\n ],\n [\n -1.199,\n 52.647\n ],\n [\n -1.197,\n 52.643\n ],\n [\n -1.201,\n 52.642\n ],\n [\n -1.203,\n 52.646\n ]\n ]\n ]\n }\n },\n {\n \"type\": \"Feature\",\n \"properties\": {\n \"building\": \"yes\"\n },\n \"geometry\": {\n \"type\": \"Polygon\",\n \"coordinates\": [\n [\n [\n -1.196,\n 52.646\n ],\n [\n -1.193,\n 52.647\n ],\n [\n -1.192,\n 52.644\n ],\n [\n -1.195,\n 52.643\n ],\n [\n -1.196,\n 52.646\n ]\n ]\n ]\n }\n },\n {\n \"type\": \"Feature\",\n \"properties\": {\n \"highway\": \"motorway\"\n },\n \"geometry\": {\n \"type\": \"LineString\",\n \"coordinates\": [\n [\n -1.235,\n 52.651\n ],\n [\n -1.215,\n 52.647\n ],\n [\n -1.198,\n 52.649\n ],\n [\n -1.19,\n 52.652\n ]\n ]\n }\n },\n {\n \"type\": \"Feature\",\n \"properties\": {\n \"highway\": \"residential\"\n },\n \"geometry\": {\n \"type\": \"LineString\",\n \"coordinates\": [\n [\n -1.213,\n 52.635\n ],\n [\n -1.206,\n 52.64\n ],\n [\n -1.198,\n 52.644\n ]\n ]\n }\n },\n {\n \"type\": \"Feature\",\n \"properties\": {\n \"name\": \"Ridge Trail\"\n },\n \"geometry\": {\n \"type\": \"LineString\",\n \"coordinates\": [\n [\n -1.23,\n 52.65\n ],\n [\n -1.222,\n 52.648\n ],\n [\n -1.216,\n 52.644\n ],\n [\n -1.208,\n 52.645\n ],\n [\n -1.201,\n 52.648\n ]\n ]\n }\n },\n {\n \"type\": \"Feature\",\n \"properties\": {\n \"amenity\": \"restaurant\",\n \"name\": \"Harbor Grill\"\n },\n \"geometry\": {\n \"type\": \"Point\",\n \"coordinates\": [\n -1.21,\n 52.647\n ]\n }\n },\n {\n \"type\": \"Feature\",\n \"properties\": {\n \"amenity\": \"cafe\",\n \"name\": \"Bean There\"\n },\n \"geometry\": {\n \"type\": \"Point\",\n \"coordinates\": [\n -1.2,\n 52.642\n ]\n }\n },\n {\n \"type\": \"Feature\",\n \"properties\": {\n \"tourism\": \"hotel\",\n \"name\": \"Lakeside Inn\"\n },\n \"geometry\": {\n \"type\": \"Point\",\n \"coordinates\": [\n -1.194,\n 52.646\n ]\n }\n },\n {\n \"type\": \"Feature\",\n \"properties\": {\n \"tourism\": \"viewpoint\",\n \"name\": \"Eagle Point\"\n },\n \"geometry\": {\n \"type\": \"Point\",\n \"coordinates\": [\n -1.226,\n 52.648\n ]\n }\n },\n {\n \"type\": \"Feature\",\n \"properties\": {\n \"amenity\": \"parking\"\n },\n \"geometry\": {\n \"type\": \"Point\",\n \"coordinates\": [\n -1.216,\n 52.641\n ]\n }\n },\n {\n \"type\": \"Feature\",\n \"properties\": {\n \"tourism\": \"attraction\",\n \"name\": \"Old Mill\"\n },\n \"geometry\": {\n \"type\": \"Point\",\n \"coordinates\": [\n -1.205,\n 52.634\n ]\n }\n }\n ]\n}","nominatimQueries":"","svgWidth":960,"svgHeight":640,"showLabels":true,"showBearingArrows":true,"showScaleBar":true,"showGraticule":false,"writeSvgFile":false}'Envie uma requisição POST com suas entradas em JSON. Parâmetros do tipo arquivo exigem upload prévio.
POST http://127.0.0.1:3003/pt/api/tools/openstreetmap-nominatim-geojson-static-svg-map-renderer-with-styled-poi-icons-and-route-overlay| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| geojsonInput | textarea | Sim | — |
| nominatimQueries | text | Não | — |
| svgWidth | number | Não | — |
| svgHeight | number | Não | — |
| showLabels | checkbox | Não | — |
| showBearingArrows | checkbox | Não | — |
| showScaleBar | checkbox | Não | — |
| showGraticule | checkbox | Não | — |
| writeSvgFile | checkbox | Não | — |
Resultado HTML
{
"result": "<div>Processed HTML content</div>",
"error": "Error message (optional)",
"message": "Notification message (optional)",
"metadata": {
"key": "value"
}
}Adicione esta ferramenta ao seu servidor Model Context Protocol para que agentes de IA possam listá-la e chamá-la.
Adicione este bloco à configuração do seu cliente MCP:
{
"mcpServers": {
"elysiatools-openstreetmap-nominatim-geojson-static-svg-map-renderer-with-styled-poi-icons-and-route-overlay": {
"name": "openstreetmap-nominatim-geojson-static-svg-map-renderer-with-styled-poi-icons-and-route-overlay",
"description": "Renderiza um GeoJSON FeatureCollection como mapa SVG estático incorporável sem dependência de tiles: água/verdes/prédios/estradas por classe ao estilo OSM Carto, alfinetes POI rotulados classificados por tags amenity/shop/tourism, rotas LineString destacadas com setas de rumo geodésico por segmento, barra de escala, retícula e atribuição OSM completa (© OpenStreetMap contributors, ODbL); geocodificação Nominatim opcional (≤5 consultas, ritmo e User-Agent identificador conforme a política oficial).",
"baseUrl": "http://127.0.0.1:3003/mcp/sse?toolId=openstreetmap-nominatim-geojson-static-svg-map-renderer-with-styled-poi-icons-and-route-overlay",
"command": "",
"args": [],
"env": {},
"isActive": true,
"type": "sse"
}
}
}Após conectar ao endpoint SSE, liste as ferramentas expostas:
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/list"
}Invoque a ferramenta pelo seu id; os argumentos são construídos a partir de seus parâmetros:
{
"jsonrpc": "2.0",
"id": 2,
"method": "tools/call",
"params": {
"name": "openstreetmap-nominatim-geojson-static-svg-map-renderer-with-styled-poi-icons-and-route-overlay",
"arguments": {
"geojsonInput": "{\n \"type\": \"FeatureCollection\",\n \"features\": [\n {\n \"type\": \"Feature\",\n \"properties\": {\n \"natural\": \"water\",\n \"name\": \"Cold River\"\n },\n \"geometry\": {\n \"type\": \"Polygon\",\n \"coordinates\": [\n [\n [\n -1.235,\n 52.632\n ],\n [\n -1.225,\n 52.636\n ],\n [\n -1.212,\n 52.633\n ],\n [\n -1.205,\n 52.637\n ],\n [\n -1.198,\n 52.634\n ],\n [\n -1.2,\n 52.63\n ],\n [\n -1.21,\n 52.628\n ],\n [\n -1.222,\n 52.63\n ],\n [\n -1.235,\n 52.632\n ]\n ]\n ]\n }\n },\n {\n \"type\": \"Feature\",\n \"properties\": {\n \"leisure\": \"park\",\n \"name\": \"Riverside Park\"\n },\n \"geometry\": {\n \"type\": \"Polygon\",\n \"coordinates\": [\n [\n [\n -1.232,\n 52.646\n ],\n [\n -1.218,\n 52.649\n ],\n [\n -1.21,\n 52.644\n ],\n [\n -1.222,\n 52.641\n ],\n [\n -1.232,\n 52.646\n ]\n ]\n ]\n }\n },\n {\n \"type\": \"Feature\",\n \"properties\": {\n \"landuse\": \"residential\"\n },\n \"geometry\": {\n \"type\": \"Polygon\",\n \"coordinates\": [\n [\n [\n -1.205,\n 52.648\n ],\n [\n -1.192,\n 52.65\n ],\n [\n -1.188,\n 52.642\n ],\n [\n -1.2,\n 52.64\n ],\n [\n -1.205,\n 52.648\n ]\n ]\n ]\n }\n },\n {\n \"type\": \"Feature\",\n \"properties\": {\n \"building\": \"yes\"\n },\n \"geometry\": {\n \"type\": \"Polygon\",\n \"coordinates\": [\n [\n [\n -1.203,\n 52.646\n ],\n [\n -1.199,\n 52.647\n ],\n [\n -1.197,\n 52.643\n ],\n [\n -1.201,\n 52.642\n ],\n [\n -1.203,\n 52.646\n ]\n ]\n ]\n }\n },\n {\n \"type\": \"Feature\",\n \"properties\": {\n \"building\": \"yes\"\n },\n \"geometry\": {\n \"type\": \"Polygon\",\n \"coordinates\": [\n [\n [\n -1.196,\n 52.646\n ],\n [\n -1.193,\n 52.647\n ],\n [\n -1.192,\n 52.644\n ],\n [\n -1.195,\n 52.643\n ],\n [\n -1.196,\n 52.646\n ]\n ]\n ]\n }\n },\n {\n \"type\": \"Feature\",\n \"properties\": {\n \"highway\": \"motorway\"\n },\n \"geometry\": {\n \"type\": \"LineString\",\n \"coordinates\": [\n [\n -1.235,\n 52.651\n ],\n [\n -1.215,\n 52.647\n ],\n [\n -1.198,\n 52.649\n ],\n [\n -1.19,\n 52.652\n ]\n ]\n }\n },\n {\n \"type\": \"Feature\",\n \"properties\": {\n \"highway\": \"residential\"\n },\n \"geometry\": {\n \"type\": \"LineString\",\n \"coordinates\": [\n [\n -1.213,\n 52.635\n ],\n [\n -1.206,\n 52.64\n ],\n [\n -1.198,\n 52.644\n ]\n ]\n }\n },\n {\n \"type\": \"Feature\",\n \"properties\": {\n \"name\": \"Ridge Trail\"\n },\n \"geometry\": {\n \"type\": \"LineString\",\n \"coordinates\": [\n [\n -1.23,\n 52.65\n ],\n [\n -1.222,\n 52.648\n ],\n [\n -1.216,\n 52.644\n ],\n [\n -1.208,\n 52.645\n ],\n [\n -1.201,\n 52.648\n ]\n ]\n }\n },\n {\n \"type\": \"Feature\",\n \"properties\": {\n \"amenity\": \"restaurant\",\n \"name\": \"Harbor Grill\"\n },\n \"geometry\": {\n \"type\": \"Point\",\n \"coordinates\": [\n -1.21,\n 52.647\n ]\n }\n },\n {\n \"type\": \"Feature\",\n \"properties\": {\n \"amenity\": \"cafe\",\n \"name\": \"Bean There\"\n },\n \"geometry\": {\n \"type\": \"Point\",\n \"coordinates\": [\n -1.2,\n 52.642\n ]\n }\n },\n {\n \"type\": \"Feature\",\n \"properties\": {\n \"tourism\": \"hotel\",\n \"name\": \"Lakeside Inn\"\n },\n \"geometry\": {\n \"type\": \"Point\",\n \"coordinates\": [\n -1.194,\n 52.646\n ]\n }\n },\n {\n \"type\": \"Feature\",\n \"properties\": {\n \"tourism\": \"viewpoint\",\n \"name\": \"Eagle Point\"\n },\n \"geometry\": {\n \"type\": \"Point\",\n \"coordinates\": [\n -1.226,\n 52.648\n ]\n }\n },\n {\n \"type\": \"Feature\",\n \"properties\": {\n \"amenity\": \"parking\"\n },\n \"geometry\": {\n \"type\": \"Point\",\n \"coordinates\": [\n -1.216,\n 52.641\n ]\n }\n },\n {\n \"type\": \"Feature\",\n \"properties\": {\n \"tourism\": \"attraction\",\n \"name\": \"Old Mill\"\n },\n \"geometry\": {\n \"type\": \"Point\",\n \"coordinates\": [\n -1.205,\n 52.634\n ]\n }\n }\n ]\n}",
"nominatimQueries": "",
"svgWidth": 960,
"svgHeight": 640,
"showLabels": true,
"showBearingArrows": true,
"showScaleBar": true,
"showGraticule": false,
"writeSvgFile": false
}
}
}Dúvidas ou problemas? Contate [email protected]