Skip to content

Implement Model Context Protocol (MCP) Server - #328

Merged
Rampastring merged 27 commits into
masterfrom
mcp
Aug 6, 2026
Merged

Implement Model Context Protocol (MCP) Server#328
Rampastring merged 27 commits into
masterfrom
mcp

Conversation

@Rampastring

@Rampastring Rampastring commented Aug 6, 2026

Copy link
Copy Markdown
Member

Also restructures the project into 3 components:

  1. MapEditorLibrary. Contains most core editor logic, game object data models, mutations etc. This library has no dependencies on other parts of WAE. It does still depend on MonoGame and XNAUI because they were just too widely used in the codebase for splitting them to be a reasonable workload at this point of time.
  2. MapEditorMCP. Contains the MCP server. Interfaces with MapEditorLibrary. Only exports MCPServer - all the other logic and classes of the DLL are invisible to other components.
  3. TSMapEditor. References the two aforementioned projects. Implements map rendering and all map editing UI, including INItializableWindows. Produces the main executable (WorldAlteringEditor.exe) when compiled, as it has done so far.

This project structure enforces better architecture by forcing tighter separation between different parts of the application and their concerns. Particularly, it is impossible to accidentally import MCP server types into core WAE code, keeping the MCP server as a mostly self-contained component.

This pull request also reworks the Connected Tiles tool to allow creating circular paths and to support placing endings. These improvements were required for AI agents to be able to achieve good results with the Connected Tiles tool, but they also enhance the power of the tool for humans.

…iven extra height despite the world being flat
Update instructions, allow MCP to undo/redo mutations, use terrain object and overlay collections, calculate resource field value, validate the map for errors, and screenshot the entire map
…UI/graphical editor main executable), implement scripting capabilities for MCP server,

The assembly split enforces cleaner architecture, particularly prevents the rest of the codebase from having significant dependencies on the MCP server. Also, some technical debt (things relying on things they should not rely on) was cleared up.
@Rampastring
Rampastring merged commit 1e704c9 into master Aug 6, 2026
@Rampastring
Rampastring deleted the mcp branch August 6, 2026 21:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant