NeuronForm
OfficialUses OpenStreetMap data to create print-ready, multi-colour 3D map models. The MCP server lets AI assistants search places and map elements, design and edit map models, validate designs, render previews, and share configurator links based on OpenStreetMap geography.
This server has a remotely hosted endpoint. Open its connector listing for connection details, authentication requirements, and setup instructions:
NeuronForm MCP server
NeuronForm turns OpenStreetMap data into print-ready, multi-colour 3D map models. Its public MCP server lets AI assistants such as Claude or ChatGPT design these models in a chat: find a place, create and change a design, show it as an image and, where the chat supports it, as a rotatable 3D view, and hand the user a link that opens exactly that design in the NeuronForm configurator.
This repository holds the documentation of the server, example briefs with
the prompts that produce them, and the server.json for the MCP registry.
It holds no code of the NeuronForm service.
German version: Deutsch. Website: neuronform.com/agents/en.
MCP address
https://neuronform.com/mcpItem | Value |
Transport | Streamable HTTP, stateless (one JSON response per request, no session) |
|
|
Request body | at most 2 MiB; a larger request is answered with HTTP 413 before any tool runs |
Authentication | none; no account, no API key |
Cost | free of charge |
Server name |
|
MCP Apps | extension |
Resources | the viewer, the design schema |
Agents never export print files and never buy. Exports and purchases happen only in the configurator, with the user's own NeuronForm account.
Related MCP server: OSM Edit MCP Server
Setup
Claude (claude.ai, desktop, and mobile apps)
Custom connectors are available on every Claude plan; the free plan allows one.
Open “Customize” › “Connectors”.
Choose “+ Add” and then “Add custom connector”.
Enter the name
NeuronFormand the MCP address, and select “Continue”.Review the detected authentication settings and select “Continue”.
Under “Authentication”, choose “No sign in”.
Select “Add”.
In a chat, switch the connector on under “+” › “Connectors”. In Team and Enterprise organizations an owner adds the connector under “Organization settings” › “Connectors” with “Add” › “Custom” › “Web”, and members connect it under “Customize” › “Connectors” with “Connect”. Source: Anthropic help article on custom connectors.
ChatGPT
Whether you can add your own MCP servers depends on the ChatGPT plan and, in a workspace, on its permissions and security settings.
Open ChatGPT Plugins in ChatGPT on the web.
Choose the plus button and then “Add custom MCP server”.
Enter the name
NeuronFormand, optionally, a short description.Under “Connection”, choose the public endpoint and enter the MCP address.
Choose “No authentication”, review the risk warning, and select “I understand and want to continue”.
Select “Create as a plugin”, review the tools the server lists, and install the plugin.
In a new conversation, type @ and choose NeuronForm. OpenAI changes these
labels from time to time; its developer documentation
holds the current steps.
Claude Code
claude mcp add --transport http neuronform https://neuronform.com/mcpWith --scope project the entry goes into the .mcp.json of the project.
Cursor
.cursor/mcp.json in the project, or ~/.cursor/mcp.json for every project:
{
"mcpServers": {
"neuronform": {
"url": "https://neuronform.com/mcp"
}
}
}VS Code
Run “MCP: Add Server” from the Command Palette, choose “HTTP (HTTP or
Server-Sent Events)”, enter the MCP address and the server ID neuronform,
and choose a destination:
“Global” › “Copilot Global” writes
~/.copilot/mcp-config.json, or$COPILOT_HOME/mcp-config.jsonwhenCOPILOT_HOMEis set, for every workspace..mcp.jsonat the root of the workspace shares the server with a team; the guided flow offers it with the experimental settingchat.mcp.workspaceRootConfig.enabled..vscode/mcp.jsonin the workspace, which the guided flow labels deprecated.
The entry in .vscode/mcp.json:
{
"servers": {
"neuronform": {
"type": "http",
"url": "https://neuronform.com/mcp"
}
}
}The portable files ~/.copilot/mcp-config.json and .mcp.json list the
same entry under mcpServers instead of servers. Microsoft describes the
destinations in its documentation of MCP servers in VS Code.
Other clients
Every client that connects to remote MCP servers over Streamable HTTP needs only the MCP address.
Tools
Every tool takes the optional argument lang (de or en, default en).
It sets the language of the summaries, the notices, and the lead sentences
and hints of error messages; the guide texts and the detail texts of the
design validation are English. A successful call returns a text block with a short
summary followed by the JSON result, and the same result as
structuredContent; render_design returns the JPEG image before the text
block, and the text block of get_design_guide holds the guide text. A
failed call returns isError: true with an actionable message and, in structuredContent, the message and the list
errors with one entry per refused field (field, message, hint); an
unknown tool name is a JSON-RPC error. The design argument is the complete
design JSON; its schema is the resource neuronform://schema/design.
Tool | Purpose | Main arguments | Read-only |
| Searches places, streets, and house numbers in the place directory of the server; returns name, lat, lon, and kind of each candidate |
| yes |
| Compiles a short brief into a complete design with the configurator defaults; invalid values fall back to their defaults with a notice naming the brief field |
| yes |
| Changes a design with brief fields ( |
| yes |
| Explains one topic of the design JSON with the JSON schema of its fields |
| yes |
| Lists stretches of roads, paths, railways, and waterways between junctions ( |
| yes |
| Adds a tile at a compass side of a tile, or removes the tile there, and returns the changed design; tile 0 always stays |
| yes |
| Checks a design against the request rules, the limits of anonymous use, and the restricted areas without generating it, and lists every tile with its centre and its free edges and every custom house with its printed size and the details its print size leaves out |
| yes |
| Renders a JPEG of 1600 × 800 pixels with views from the north, east, south, and west beside the top view, or one view of 800 × 800 pixels ( |
| yes |
| Stores the design as an anonymous snapshot and returns a link, valid for 90 days, that opens it in the configurator |
| no (creates a snapshot, deletes nothing) |
| Lists up to 50 published gallery templates with slug, title, description, tile count, and image URL; with a slug it returns the design of that template |
| yes |
Guide topics of get_design_guide: overview, footprint, tiles,
colors_and_layers, terrain, frame, hanging, paths,
texts_and_shapes, inserts, edge_labels, element_takeover,
details, focus_scaling, custom_houses, limits.
Besides the fields of the brief, a design takes every field of the
configurator through edit_design: among them texts and shapes sized in
millimetres of the print or in metres on the map (topic
texts_and_shapes), the generic details (roofs, windows, doors, and
trees, with a facade style and a detail level, up to a map width of 3 km;
topic details), focus scaling that
magnifies one place and shrinks its surroundings toward the edge (topic
focus_scaling), and up to five custom houses on free ground or in place
of a building of the map (topic custom_houses).
A compass direction of edit_tiles selects the edge whose outward normal
lies within 22.5° of it, so the directions follow the shape and the rotation:
a hexagon without rotation offers ne, e, se, sw, w, and nw.
validate_design and render_design list the free edges of every tile.
Brief
The brief of create_design and the changes of edit_design; in a
brief only the place, or lat and lon, is required, and in changes an
absent field keeps the design.
Field | Meaning | Default |
| Place or address, 2 to 200 characters; the first match of the place search becomes the centre; with | required unless |
| Map centre in degrees, latitude −85.05 to 85.05, longitude −180 to 180; win over | |
| Map width in metres, 100 to 30,000 | 1500 |
|
|
|
| Sides of | 6 |
| Clockwise rotation in degrees, −360 to 360 | 0 |
| Tile count, arranged compactly around the first tile; at most 3 for agents; a circle takes one tile | 1 |
| Printed width of one tile in millimetres, 50 to 300 | 200 |
| Colour template |
|
|
| automatic (flat below 300 m elevation difference) |
| Vertical exaggeration, 0.1 to 10 | 1 |
|
|
|
| Edge text on the south-facing free edge of the first tile, or on its first free edge, up to 64 characters; a design with an edge text takes the new text into its first edge text | none |
| Language of the notices, |
|
Workflow
search_placesfinds the place;create_designturns a brief into a complete design. The centre of the brief is the centre of tile 0.edit_designchanges brief fields and patches every other field;edit_tilesadds or removes tiles at the free edges thatvalidate_designlists, andfind_map_elementsreturns ready-to-insert roads, buildings, areas, and ground regions.validate_designchecks a changed design without generating it.render_designshows the design as an image and an interactive 3D view.share_designreturns the link for the user.
Example prompts
“Create a 3 km wide hexagonal relief model of Hallstatt with 1.5-fold exaggeration and show it to me in 3D.”
“Make a square city map of central Vienna, 2 km wide, in two colours, with the edge text ‘Wien’, and give me a link to open it in the configurator.”
“Build a wall map of Salzburg from three hexagonal tiles, add an integrated frame, and highlight the Getreidegasse in red.”
“Show me the Großglockner as a round relief, 8 km wide, and compare 1.2-fold with 2-fold exaggeration.”
The folder examples holds the first three as JSON files. Each
file names the prompt in English and German, the brief for create_design,
the tool calls in their order, and the start link of its brief. The steps list
the arguments besides brief and design: create_design receives the
brief of the file, and every later call receives the current design.
Without an MCP client
An assistant takes the first of these three ways that it has:
The MCP tools of NeuronForm are connected: the assistant calls them.
The assistant runs code with internet access, with a code tool, a sandbox, or a terminal: it calls the MCP address directly over HTTP. Every request is one JSON-RPC POST answered with one JSON response; the server keeps no session, so no
initializeis needed, andtools/listlists the tools with their schemas.create_designreturns the design underresult.structuredContent.design:curl -s https://neuronform.com/mcp \ -H 'content-type: application/json' \ -H 'accept: application/json, text/event-stream' \ -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"create_design","arguments":{"brief":{"place":"Hallstatt","width":3000,"shape":"hexagon","relief":true,"exaggeration":1.5}}}}'The assistant passes that design as
DESIGNto the next calls:render_designreturns a JPEG of the model as base64 image content and a link to the 3D viewer understructuredContent.viewer, valid for one hour;share_designreturns the link understructuredContent.urlthat opens exactly this design in the configurator, valid for 90 days.{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"render_design","arguments":{"design":DESIGN}}} {"jsonrpc":"2.0","id":3,"method":"tools/call","params":{"name":"share_design","arguments":{"design":DESIGN}}}The assistant only reads web pages: it writes a start link with the place and the settings (next section) and gives it to the person. Opening the link builds the real model in the configurator with its 3D preview; the assistant says that the model appears when the link is opened and presents no picture of its own as a NeuronForm model.
Start links for chats without MCP
A chat without MCP can hand over a design as a start link of the configurator:
https://neuronform.com/map/app?place=Hallstatt&width=3000&shape=hexagon&relief=true&exaggeration=1.5With colours of its own, here sand ground, teal green areas, navy water, and coral roads:
https://neuronform.com/map/app?place=Ternitz&width=1800&shape=hexagon&colors=four&color_ground=f4e3c1&color_green=2a9d8f&color_water=1e3a8a&color_traffic=e76f51The query parameters are the fields of the brief: place, lat, lon,
width, shape, sides, rotation, tiles, model_width, colors,
relief, exaggeration, frame, and label; colors takes a template
name only. A parameter color_<key> sets the colour RRGGBB, without #,
of one key of the colors object of the brief: a group ground, green,
water, or traffic, a layer kind such as buildings or sea, frame,
or label; these colours apply after the template. The language of the
notices is that of the configurator.
Only place, or lat and lon, is required. Values are URL-encoded, such
as %20 for a space. Numbers are decimal numbers, and relief is true or
false. The configurator builds the design with the compiler of
create_design and names every value it adjusted; a link with a malformed
value, or with a place the place search does not find, opens the
configurator without the design and names the reason.
Limits and fair use
Rule | Value |
Policy | limits of a visitor without an account: up to 3 tiles, up to 20 custom lines, and the ranges of the brief; an unchanged gallery template of |
Generic details | roofs, windows, doors, and trees up to a map width of 3 km; above it, a design with a detail switched on is refused on the field |
Custom houses | up to 5 per design; one house within its detail budget of 2 million triangles, which the service may set otherwise |
Renders | 2,000 newly generated models per hour across all agents; a render whose model is still cached does not count, and rendered designs stay cached for up to 24 hours |
Per calling address | 600 render calls and 1,200 lookups (searches, briefs, design edits, element searches, tile edits, validations, template listings, viewer downloads) per hour; 500 new share links per 24 hours |
Priority | visitors of the website take precedence; while they occupy the service, an agent receives “busy, retry in 10 s” |
Capacity | place searches, design validations, and images run within a bounded capacity that the website shares; a call beyond it fails with an error that names “the service accepts no further requests of this kind right now; try again in a moment” |
Model size | models above about one million triangles are refused for agents; reduce the width or the tile count, or share the design and open it in the configurator |
Map data | one model reads at most 2 GiB (2048 MiB) of decoded map data; |
Share links | anonymous snapshots valid for 90 days; a repeated call for an unchanged design returns the link issued before while it has at least one day of validity left and the service still holds it in its cache |
Viewer | each render issues a viewer link valid for one hour |
Restricted areas, countries | as for visitors of the website: military restricted areas cannot be printed, and the service is not offered in some countries |
Use is free of charge. Bulk retrieval and circumventing the limits are not permitted; see the terms below.
Maintenance
While the operator puts the configurator, for visitors or for accounts, or the whole application into maintenance, the MCP address answers every request with HTTP 503 instead of a JSON-RPC response, so no tool runs and MCP clients report a failed request; the downloads of the 3D viewer answer the same way. The answer carries:
the header
Retry-Afterwith the seconds until the expected end of the maintenance, at least 60 and at most 86,400, or 300 without an expected end;a problem JSON body of the type
tag:neuronform.com,2026:maintenancewith the codemaintenance.configuratorormaintenance.siteand the objectmaintenancewithscope, the messages of the operatormessage_deandmessage_en, and the expected endexpected_end(RFC 3339, UTC), eachnullwhen the operator set none.
The switches in force are public at
neuronform.com/map/api/v1/maintenance.
Retry after the time that Retry-After names.
Privacy and terms
A request contains the tool arguments, such as the place and the design, and the IP address of the calling system: the platform of the chat for Claude or ChatGPT, the user's own computer for Claude Code, Cursor, or VS Code. When a client connects, it names its client software and version, which NeuronForm counts for its usage statistics. NeuronForm receives no account data and no other content of the chat. Place searches are answered by the place directory of the NeuronForm server, which it builds from OpenStreetMap data; the search terms reach no further service. The providers of the assistants are responsible for the chat contents on their platforms.
Map data and attribution
The service names its data sources from one data source registry. Every
result of render_design carries, in the field attribution, the
attribution lines of the data sources of its model in the language of the
call, and its image carries the lines of the map data and terrain sources;
the sea-floor depths are named exactly when the model contains them. Keep the
attribution when you show or publish images of a design.
The registry lists every source with its role, attribution line, licence, the notice its licence requires, and its citation:
as a page: neuronform.com/licenses/en
MCP registry
server.json describes the server for the official MCP registry
under the name com.neuronform/mcp, a namespace that the registry verifies
against the domain neuronform.com. It follows the schema
https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json.
The registry lists the server, version 0.1.0, at
registry.modelcontextprotocol.io/v0/servers?search=com.neuronform.
It was published with mcp-publisher login http --domain neuronform.com,
whose Ed25519 public key neuronform.com serves at
/.well-known/mcp-registry-auth.
Contact
Questions and feedback: office@neuronform.com.
License
The documentation and the examples of this repository are licensed under the MIT License. The license does not cover the NeuronForm service or its results, such as images, 3D views, and share links; the terms of NeuronForm govern them.
Deutsch
NeuronForm macht aus OpenStreetMap-Daten druckfertige, mehrfarbige 3D-Kartenmodelle. Über den öffentlichen MCP-Server können KI-Assistenten wie Claude oder ChatGPT diese Modelle im Chat gestalten:
einen Ort finden;
einen Entwurf erstellen und ändern;
ihn als Bild und, wo der Chat das unterstützt, als drehbare 3D-Ansicht zeigen;
einen Link übergeben, der genau diesen Entwurf im Konfigurator öffnet.
Exportieren und kaufen können Agenten nicht; das geht nur im Konfigurator mit einem eigenen Konto.
MCP-Adresse:
https://neuronform.com/mcp(Streamable HTTP, Anfragen bis 2 MiB, ohne Konto, ohne API-Schlüssel, kostenlos).Einrichtung: In Claude unter „Customize“ › „Connectors“ › „+ Add“ › „Add custom connector“, Authentifizierung „No sign in“. In Claude Code mit
claude mcp add --transport http neuronform https://neuronform.com/mcp. Für ChatGPT, Cursor und VS Code siehe die Abschnitte oben oder die Seite KI-Integration.Werkzeuge:
search_places,create_design,edit_design,get_design_guide,find_map_elements,edit_tiles,validate_design,render_design,share_design,list_templates. Jedes Werkzeug nimmt den optionalen Parameterlang(deoderen, Standarden) für Zusammenfassungen, Hinweise und Fehlermeldungen.Ohne MCP-Client: Ein Assistent mit Code-Werkzeug, Sandbox oder Terminal ruft die MCP-Adresse direkt per HTTP auf: jede Anfrage ist ein JSON-RPC-POST mit einer JSON-Antwort, ohne Sitzung und ohne
initialize(Beispiel mitcurlim Abschnitt „Without an MCP client“). DerAccept-Header darfapplication/json,application/json, text/event-streamoder*/*nennen oder fehlen; nurtext/event-streamallein beantwortet der Server mit HTTP 406.Startlinks ohne MCP:
https://neuronform.com/map/app?place=Hallstatt&width=3000&shape=hexagon&relief=true&exaggeration=1.5; eigene Farben setzen Parametercolor_<Schlüssel>mitRRGGBBohne#für eine Gruppe (ground,green,water,traffic), eine Ebene wiebuildingsodersea,frameoderlabel, zum Beispielhttps://neuronform.com/map/app?place=Ternitz&width=1800&shape=hexagon&colors=four&color_ground=f4e3c1&color_green=2a9d8f&color_water=1e3a8a&color_traffic=e76f51Grenzen:
Es gelten die Grenzen eines Besuchs ohne Konto (bis zu 3 Kacheln und 20 eigene Linien).
Generische Details (Dächer, Fenster, Türen und Bäume) gibt es bis 3 km Kartenbreite; einen breiteren Entwurf mit eingeschalteten Details lehnt der Server ab. Eigene Häuser gibt es bis zu fünf je Entwurf mit einem Detailbudget von 2 Millionen Dreiecken je Haus.
Alle Agenten zusammen können pro Stunde 2.000 Modelle neu berechnen lassen; Ansichten eines noch zwischengespeicherten Modells zählen nicht.
Besucherinnen und Besucher der Website haben Vorrang.
Ortssuchen, Entwurfsprüfungen und Bilder laufen in einer begrenzten Kapazität, die die Website mitnutzt; ist sie ausgeschöpft, lehnt der Server weitere Aufrufe dieser Art vorübergehend ab.
Modelle mit mehr als etwa einer Million Dreiecken lehnt der Server für Agenten ab.
Ein Modell liest höchstens 2 GiB (2048 MiB) dekodierte Kartendaten; einen Kartenausschnitt mit mehr Kartendaten lehnt der Server ab, bis ein kleinerer Ausschnitt oder weniger Details gewählt sind.
Wartung: Solange der Betreiber den Konfigurator oder die ganze Anwendung in Wartung schaltet, beantwortet die MCP-Adresse jede Anfrage mit HTTP 503 statt mit einer JSON-RPC-Antwort. Die Antwort nennt in
Retry-Afterdie Sekunden bis zum erwarteten Ende (ohne Ende 300) und im Objektmaintenancedie Nachricht und das erwartete Ende; den Stand zeigt neuronform.com/map/api/v1/maintenance.Datenschutz und Bedingungen: Datenschutzerklärung, Allgemeine Geschäftsbedingungen, Abschnitt „Nutzung durch KI-Agenten“.
Kartendaten und Quellen: Jedes Ergebnis von
render_designträgt im Feldattributiondie Namensnennung der Datenquellen seines Modells, das Bild die der Karten- und Geländedaten. Alle Quellen mit Lizenz, Hinweis und Zitat listet das Quellenverzeichnis des Dienstes: als JSON und auf der Seite Lizenzen und Attribution.
This server cannot be deployed
Maintenance
Related MCP Connectors
Design 3D-printable parts by chatting: create, edit, render and publish parametric forges.
Parametric 3D CAD for AI agents: build print-ready parts, check them, export STL, 3MF or STEP.
Order real 3D prints from chat: send an STL or OpenSCAD model, see one price, get it by UPS.
Generate 3D models from images or text with AI, then retexture or convert them to STL, 3MF or OBJ.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceEnables AI assistants to interact programmatically with Autodesk Fusion 360 for creating parametric 3D models through simple API calls.18-
- AlicenseBqualityAmaintenanceEnables AI assistants to search, validate, and edit OpenStreetMap data through natural language commands and built-in safety protections. It supports discovery of nearby amenities, geographic data exploration, and secure map editing via OAuth authentication.36131 PyPI4MIT
- AlicenseNot gradedqualityDmaintenanceEnables AI-driven 3D model generation and manipulation using OpenSCAD through natural language commands. Users can create primitives, apply transformations, perform boolean operations, and export models to various formats like STL and OBJ.2 npmMIT
- AlicenseNot gradedqualityNot gradedmaintenanceEnables AI assistants to render 3D models by providing tools to execute OpenSCAD code and generate single or multi-perspective views. It returns high-quality PNG renderings directly to LLM applications for visual feedback and 3D model visualization.MIT