Connect an AI agent with MCP

Let ChatGPT or Claude build a map with you: what it does, what you need, how to set it up, and what to check when it stops working.

On this page

What this actually does

MCP lets you use MapToPlay by talking to an AI agent such as ChatGPT or Claude. Instead of clicking through the site yourself, you describe what you want — “make me an FS25 map of my village” — and the agent carries out the steps in your MapToPlay account, asking you for the choices it needs as it goes.

You do not need to know what MCP stands for, and you do not need to write any code. The setup is a one-time job: you copy four values out of MapToPlay, paste them into ChatGPT or Claude, approve the connection once, and from then on you just chat.

This is optional, and it is not a separate set of features. Everything the agent can do, you can also do yourself in MapToPlay. If the setup below looks like more trouble than it is worth, you are not missing out on any map capability — only on a different way of driving it.

MCP is not available in Basic. Everything below assumes the team you have selected is on an upgraded plan.

What MapToPlay provides, and what you bring yourself

This feature joins two separate products that are bought, run, and supported separately: your MapToPlay account, and your AI agent account. Almost every problem people run into is really a question of which of the two is involved, so it is worth being clear about the split before you start.

  • MapToPlay provides the connection values, the map actions the agent is allowed to call, and everything that happens inside your projects — map data, Task units, and exports, under your MapToPlay plan.
  • You provide the AI agent. A ChatGPT or Claude account is yours to create and pay for, and it is entirely separate from your MapToPlay subscription. MapToPlay does not sell it, include it, or discount it.
  • OpenAI and Anthropic decide whether your agent account may add a custom connector at all, and how many. That depends on their plans and their rules, and it can change at any time. Paying for MapToPlay does not unlock it, and MapToPlay has no way to enable it on your behalf.
  • Your agent has its own message and usage limits, which have nothing to do with MapToPlay Task units. Running out of one does not affect the other, and the agent side is not visible from MapToPlay.
  • What the agent says and decides is its own behaviour, not a MapToPlay feature. MapToPlay controls which actions it may call and what those actions are allowed to do — not how the agent words things, how clever it is, or how often it gets something wrong.

Describe positions on the map

When the agent reads or draws an outline, positions are metres from the map centre. In a pair [x, y], increasing x moves right and increasing y moves down the map. Before map rotation, those directions are east and south. The Editor calls that same horizontal second coordinate z; it is not elevation.

Who to ask when something goes wrong

Because two products are involved, the fastest way to get unstuck is to work out which side the problem is on before asking anyone.

It is an agent problem if the trouble is inside ChatGPT or Claude: the app will not let you add a connector, the option is missing from your settings, it shows an error of its own, or you have used up its messages for the day. None of that is visible from MapToPlay, so take it to the people who run it — the OpenAI connector instructions and Anthropic’s custom connector guide are the right starting points.

It is a MapToPlay problem if Create connection does not work, the connection is refused after you approve it, an action fails inside one of your projects, or a task or export goes wrong. Those are worth reporting, and the more precisely you can say what you clicked and what happened, the faster they get fixed.

Not sure which side it is? Ignore the agent for a moment and try to do the same thing by hand in MapToPlay. If it works by hand, the problem is on the agent side. If it fails by hand too, it is a MapToPlay problem.

What you need before you start

Four things, and the first two are the ones people usually get caught by:

  • A MapToPlay account with a confirmed email address.
  • A MapToPlay team on an upgraded plan. MCP is not available in Basic.
  • A ChatGPT or Claude account that is allowed to add a custom connector.
  • About ten minutes, and somewhere safe to paste four values while you move between two browser tabs.

Which team you are in, and what the agent may do

Check which team is selected before you begin, because the connection is tied to it. A subscription that belongs to a different team does not count for this one. Usage and Subscriptions shows you which team you are currently in.

The connection then uses the permissions you already have in that team, and can never exceed them. If you can only view projects, the agent can only view them too — it will not be able to edit, delete, or export on your behalf, no matter how you ask. If something you need turns out to be unavailable, that is usually your role rather than a fault: ask your team owner to change it.

Step 1: copy your connection details from MapToPlay

Sign in to MapToPlay and select the team you want the agent to work in. Open the account menu → Settings → Security, and scroll to MapToPlay MCP at the end of the security controls.

Check that the team name shown is the one you meant, then select Create connection. You will now see four values, each with its own copy button: Name, Server URL, OAuth client ID, and OAuth client secret. Keep this window open — you are about to paste them into another tab.

A team has one connection at a time. If you want to use both ChatGPT and Claude, you do not need two connections: the same client ID and secret work in both. Add them in each app and approve each one separately.

The client secret is shown once and never again. Treat it like a password: it belongs in the connector settings of your agent, never in a chat message or a screenshot. If you lose it, select Replace connection to generate a fresh pair — but be aware that the old values stop working the moment you do, so anything already using them will need updating.

Step 2: add MapToPlay in ChatGPT or Claude

Both apps ask for the same things: a name, the server URL, and — tucked away under an “advanced” heading — the client ID and secret. These apps are updated often, so if a button is not named the way it is named here, follow the official page linked in your step — those are kept current by OpenAI and Anthropic.

In ChatGPT: open Settings → Security and login and turn on Developer mode if it is not on already. Go to ChatGPT Plugins, select New, name it MapToPlay, and paste the Server URL. Choose OAuth, expand Advanced OAuth settings, and paste the client ID and the client secret. Read the notice, accept it if you are happy to go ahead, and select Create. Full steps: OpenAI’s connection instructions.

In Claude: open Settings → Connectors and choose Add custom connector. Name it MapToPlay and paste the Server URL, then open Advanced settings and paste the OAuth client ID and client secret. Select Add. Full steps: Anthropic’s custom connector guide.

The app will then offer Connect, or Sign in with MapToPlay. Follow it and sign in with the same MapToPlay account you used in step 1. You will be shown an approval screen naming the agent, the team, and what it is being allowed to do — read it, then select Allow connection and wait until you are sent back to the app. Stopping at the sign-in screen without approving is the single most common reason a connection does not work.

One last thing that catches people out: start a new chat and switch MapToPlay on in the tools menu. Conversations you already had open will not pick it up.

Step 3: your first conversation

Open a new chat with MapToPlay switched on, and paste something like this: “Use MapToPlay. Check my team, my limits, and my free project slots, then guide me through making a map, asking me for each choice you need until we export it together.” Then tell it the game, the place, and the map size you have in mind. If you would rather start from nothing, ask for a blank project.

Treat it as someone working alongside you rather than a machine you file requests with. Ask it to explain the next step, say when you do not follow something, and go back to an earlier topic whenever you want to. It cannot see your map the way you can, so when something looks wrong on screen, say so — that is the part only you can do.

It will stop and ask before anything that spends Task units or removes something. Read those messages properly rather than approving on reflex: an agent can be confidently wrong, and the decision is yours.

It can also look at the map. Ask it to move the Editor camera and take a look — straight down over an area, framed on an object you point it at, or at an exact position — and it will render that view from your connected Editor tab and see it. That is how you get it to work from what is actually on the ground rather than from map data alone, and it needs the Editor tab open like any other heavy work. Claude can see the frames it takes. ChatGPT does not currently accept images from a connector, so there it receives only a description of the view.

In broad terms it can create projects from a real location or as blanks, fetch and import map data, work with vectors, forests and water, terrain, rasters and paint, markers and object placements, and prepare and start an export. What is genuinely available in your case still depends on the game, the state of the project, your role, and your team limits — so if you want to know, just ask it. It can check what your project’s game can build and which road, road furniture and railway looks your project can use. If you ask for something the game cannot do, such as a tunnel in BeamNG.drive, it is told so, together with what that game supports instead.

Some things are deliberately left to you: Road Constructor, bridges, advanced railways, custom model uploads, project settings, choosing a custom export template, and publishing. And for some games a finished export still needs work in that game’s own editor afterwards — Exports explains that handover.

When it asks you to open the Editor

Some edits are calculated by your own browser rather than on the server, so for those the agent needs an Editor tab that you have opened and connected. It will hand you a project link: open it, choose Open editor, then open Editor settings and select the small Connect MCP button at the end. Tell the agent the Editor is connected, and it will carry on.

Keep that tab open and the computer awake while it works — you can watch the changes appear as they happen. If you close the tab, the computer sleeps, or the connection drops, the work simply waits for you: nothing is lost, but nothing progresses either. When you come back, select Connect MCP again and ask the agent to check where it got to before you ask it to retry anything.

Use one connected tab per project. Connecting in another tab, or again after a reload, moves MCP to that tab: the work the agent started carries on there, and the old tab says MCP moved and stops. Disconnect MCP ends the connection for that tab and stops the agent’s waiting work; anything already saved stays saved, and History has your undo options.

The agent can read terrain and surface heights along a constructed road to help choose bridge elevations. The connected Editor loads the road’s detailed terrain without moving your camera. Reads cover an area up to 4 km wide and long and have a separate detail-data limit; if a road needs too much data, the read stops with an explanation. A missing tile or a change made during the read also stops it: let loading and saves finish, then ask the agent to read again. Reading heights does not edit the road or terrain.

The agent can also read terrain heights at chosen points, along a line, or on a grid, and request an imagery crop with object outlines. These reads run in the connected tab and leave the camera where it is. Detailed terrain is used unless the agent explicitly asks for the coarser overview; missing or out-of-map heights stay unknown. Crops follow the map’s local axes and include its rotation, so the top of a rotated map is not necessarily north. Large requests stop with a smaller-area hint. The result records its source revision and expires after 30 minutes; request a fresh read after editing the map.

After assigning water and Height Offset, ask the agent to check the visible water features against the terrain. The check samples both the banks and the interior, reports where ground may show through or water may rise above a bank, and says whether Depth could help. It leaves the map unchanged. River polygons need one continuous waterway centre line inside them; their result is approximate. The report also marks coarser interior sampling and differences from native game terrain encoding. Connections between separate water features are not modelled, so inspect joins in the export. Keep the connected tab open until the result is ready; check fewer or simpler features if a request exceeds the limit.

The agent can take pictures of the map from chosen camera views, and your own camera comes back after each one unless you ask it to stay. For one picture it can also switch the Editor’s View Options (Vectors, Textures, Meshes or Dense Meshes), for example turning off the area and outline overlays to judge how placed buildings look. Your View Options come back as soon as the picture is taken. Hiding a layer is different: it also hides the models placed on that layer.

Building from data

Start by checking your project's available tools, terrain, imagery and objects. Use only tools supported by your project's game. Keep the Editor open with MCP connected.

Before drawing, ask your agent to read a small imagery area and its terrain heights. The imagery crop uses your map's local axes before rotation, with the map rotation reported separately. Its top is not necessarily north. Treat unknown terrain heights as unknown, not zero.

The returned imagery is limited to 1024 pixels per side and 3 MiB. Separate download limits apply: at most 16 source tiles and 16 MiB in total. A whole-map read can hit the tile limit even when its output is under 1024 pixels. Ask for a smaller area, or use the overview resolution suggested in the message. Slightly increasing metres per pixel may still use the same tiles until you reach that overview resolution.

Compare existing outlines with the imagery before adding new ones. Keep useful OpenStreetMap (OSM) shapes. Trace missing river banks, forest edges or building footprints, then check the outline on another imagery crop. An image can help you locate an object. It does not prove its height or what it should become in the game.

Choose a closed polygon or a line with Buffer. Assign the water surface and Height Offset, then ask your agent for a water check. Review the banks, the space between the water and the ground inside the shape, and the worst locations. The report names the game rule it used and says where the result is approximate. The waterway-path check is approximate for flowing river polygons; river-line numeric checks match the export rules. A flowing river polygon needs one continuous waterway centre line inside it.

A water check reports the export rule and the path used. In Euro Truck Simulator 2 and BeamNG.drive, lines use the river rule. For polygons, the assigned rule's explicit water kind takes priority. Otherwise, OSM water or waterway tags decide. The ETS2 River, Calm river, Rapids and River, classic rules, and the BeamNG River rule, explicitly identify river water. Generic or still-water rules without an explicit kind keep the tag fallback. The ETS2 water panel preselects Still water. Choose a River rule for rivers. The check for a flowing polygon is approximate. It needs one waterway line entirely inside the polygon, identified as a river by its tags or an explicit River assignment. The check refuses if that line is missing or ambiguous. Check one water feature at a time. If its buffered area extends outside the map, choose a section entirely inside the map for the check.

Check the outline, water rule and Height Offset first. If the banks support the water surface but ground rises through it, select the affected water footprint and apply Modifiers → Depth. Depth lowers the ground. depthMeters is the amount to lower it, not an absolute water height. Start with a small test section. Adjust depthMeters and depthSteepness, then repeat the water check and inspect the banks. If the terrain is far above the water, investigate the terrain and outline before making a large cut. Do not raise the water to hide the problem or deepen the whole river blindly. In Farming Simulator, water follows terrain height samples, so lowering the ground does not create clearance beneath a fixed water level. Inspect joins between separate water shapes in the export too.

Use existing forest polygons or trace their edges. Choose trees available to your project, then use Object Distribution with sensible spacing. Before saving, review the forest boundary and the proposed number of trees.

Check the building footprints and classify them using the surrounding land use. Then choose a compatible building collection. Inspect the placements for orientation, size and clearance from roads. Trace missing footprints only where the image provides enough evidence.

Keep the electricity route lines (carrier lines) separate from the points where poles or towers stand. Create points along each carrier line at a spacing allowed by the selected asset, then place the assets. For street lights, use points beside the road and choose suitable lamp assets. Review poles, wires and lamps from ground level and from above.

Read the changed data again after an edit and inspect it from useful camera views. A successful tool result confirms that the operation finished. It does not prove that the map looks right. Revisit areas as their shapes and surroundings change. Then follow your game's export and installation instructions.

Undo or redo an agent edit

Ask the agent to undo a saved edit, review its preview, then ask it to apply the undo. To put the edit back, ask it to redo the original edit. Undo and Redo restore the saved values; they do not ask the agent to recreate the change. If another edit has changed the same objects, the request stops so it cannot overwrite that newer work.

For agent edits shown in the Editor History, Undo and Redo use the same saved action as the agent. Ordinary vector, model, Plateau and Blur edits can be restored while MCP is disconnected. Road edits and tunnel edits with road anchors need the connected tab to restore neighboring guardrails and junction settings.

If you manually edit an object and then undo that change, the agent edit can still be undone when the saved content matches. If the content differs, the Editor explains why it cannot restore that entry and lets you continue through the earlier History.

Plateau and Blur can be undone after reopening the Editor. Sculpt, Depth, Grade and Roadbed keep their recovery data only in the tab that made the edit. Keep that tab open: after a reload, the agent explains that the edit can only be undone in its original session.

For raster paint and fill actions, use Undo or Redo in the Editor History. Asking the agent to undo those actions points you back to that manual restore path.

Keeping it working

Your agent memorises the list of MapToPlay actions at the moment you connect it, and does not check again on its own. New actions are added and improved regularly, so that list quietly goes out of date. Refresh it from time to time — and always when the agent tells you it cannot do something you are fairly sure it should be able to do. That one symptom explains most “it stopped working” reports.

To refresh: in ChatGPT, open the MapToPlay connection under Plugins and select Refresh — see OpenAI’s refresh instructions. In Claude, reconnect the connector in Settings → Connectors. Either way, start a new chat afterwards, because a conversation already in progress keeps the old list. Note that signing in again is not the same thing: Connect and Reconnect deal with your account, refreshing deals with the list of actions.

If the connection itself will not work, go through these in order: check you actually completed Allow connection in MapToPlay instead of stopping after the sign-in screen; check the team has not dropped to Basic; check you are still a member of it with a role that covers what you are asking for; and check the connector holds the current client ID and secret. If you used Replace connection at any point, both values must be updated in the app — updating only one of them looks exactly like a broken connection.

If an Editor action stalls, reload the project, wait for it to finish loading and saving, select Connect MCP again, and ask the agent to check the status of its action. If a task or an export fails, open its details in the project and follow the recovery step shown there. Resist re-sending the same request over and over — ask the agent whether it already succeeded first, because often it did.

Stopping, and what happens if your plan changes

You can withdraw the agent’s access whenever you like with Revoke connection in MapToPlay MCP, and it takes effect immediately. It does not undo edits that were already saved, and it does not cancel tasks or exports that were already started. If you no longer want MapToPlay listed in the agent at all, remove the saved connector on that side too — that part is done in ChatGPT or Claude, not here.

If the team drops to Basic, is deactivated, or you leave it, MCP stops working straight away. An approved connector and an open Editor tab do not keep it alive. Moving subscription benefits to another team does not carry the connection across either: the connected team has to qualify on its own.

To pick things up again later, restore the team’s plan and reconnect when the agent asks you to. To use a different team instead, select that team in MapToPlay Settings and create a connection there. Revoke connection stays available even after access has ended, so you can always tidy up.

Finally, worth saying plainly: connecting is your choice, and it shares real data. Whatever an action returns — your team usage, the contents of your projects — goes to the agent, and from that point it is handled under that company’s terms, not MapToPlay’s. Have a look at OpenAI’s privacy policy or Anthropic’s privacy policy before you connect if that matters to you.