About godotswiftmcp
godotswiftmcp is a Godot MCP server written in Swift that is wire-compatible with the Godot-MCP implementation. It is intended for developers who want MCP access to Godot projects, including on iPad where out-of-process servers cannot run, and it builds into a self-contained server.
Key features
- 01Wire-compatible with the Godot-MCP implementation
- 02Pluggable provider infrastructure
- 03Builds into a self-contained command line server
- 04Works with desktop Godot and Xogot
Use cases
- 01Issue Godot operations from a chat client on desktop
- 02Connect to Godot in-process on iPad through Xogot
MCP support
This is an MCP server that acts as the bridge between a chat client and Godot, exposing Godot operations to MCP clients.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
We haven’t collected a package or remote endpoint for this server. Follow the instructions in the project README.
Tools
Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.
Details
From the project READMEThis is an MCP server for Godot written in Swift. This is over-the-wire compatible with the https://github.com/ee0pdt/Godot-MCP implementation, so you can use this MCP server while using the Godot supporting infrastructure from the addons directory on that implementation.
The reason for this separate implementation is that on the iPad with Xogot, we wont be able to run an out of process MCP server, so this version contains a pluggable provider infrastructure, but as a bonus, this also works with desktop Godot, and produces a self-contained MCP server.
Using GodotSwiftMcp
You will need to do three things:
- Compile the server using Swift
- Add the godot_mcp extension to your Godot project
- Tell your Chat app how to use the MCP server
Building The GodotSwiftpMcp server
You will need the Swift toolchain installed, once you do, type swift build and this will produce a debug build under the .build
directory: .build/debug/godot-mcp-server-cli.
This command acts as the bridge between your chat client and Godot.
Add the godot_mcp extension to your Godot project
For Godot to be able to field requests, you will need to add to your
project the godot_mcp project.
If you have not installed that addon, just copy the contents of the 'addons/godot_mcp' directory into your Godot project, enable the addon in Godot, and when the tab at the bottom of the screen appears, tap "Start Server".
Configure your Chat CLient
Once you have this, you can configure your chat client to talk to it, for example on my system, using Claude desktop, I go to Settings->Developer, then "Edit Config" and I add this:
{
"mcpServers": {
"godot": {
"command": "/Users/miguel/bin/godot-mcp-server-cli",
"args": [
]
}
}
}
And reload my Claude. After this, you can start requesting operations from it.
Developing
You can build this project, and then you can test against it using the MCP inspector, like this:
bash$ npx @modelcontextprotocol/inspector
Then connect to the HTTP address the inspector gives you, and make sure that you configure it as follows:
- Transport Type: STDIO
- Command: path to the compiled binary after (in my case: /Users/miguel/cvs/GodotSwiftMcp/.build/debug/godot-mcp-server-cli)
Then you can start it, and you can inspect the various methods you have.
Internals
To test this implementation, I implemented the GodotLocalSocketProvider, which uses WebSockets to communicate with Godot.
In Xogot, this is replaced with an in-process version that talks directly with Godot via SwiftGodot.
In addition to the baseline Godot-MCP, I also implemented the additional features from the pull request #9
Generally, this should work as a drop-in replacement for the MCP server written in Node.
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.