Install & connect
Two steps: add the plugin to your project, then connect your agent with one click from the in-editor setup window. You should not need to edit a config file by hand.
1. Install the plugin
Fab / Launcher: install the plugin to your target Unreal Engine version, then enable it from the editor's plugin browser.
Manual source: copy PinWright into your project's Plugins folder, regenerate project files, build the editor target if Unreal asks, then open the editor and enable the plugin.
2. Connect your agent, one click
When you open the editor with the plugin enabled, the PinWright Setup window opens automatically (it also reopens if the server cannot start). You can reopen it any time from Tools → PinWright Setup.
The window shows the local address and a green Server listening status. Click Install next to your agent (Claude Code, Codex CLI, Cursor, Gemini CLI, or VS Code Copilot). That writes the agent's project config with the address already filled in and sets up authentication automatically. Restart or reload the agent and it connects.
Manual setup (fallback)
If you would rather configure by hand, or your agent is not listed, here are the per-agent files. Use the address shown in the setup window (the port can vary, see Ports below). “Project root” means the Unreal project the plugin is installed into.
Claude Code
Create or merge <project>/.mcp.json:
{
"mcpServers": {
"pinwright": { "type": "http", "url": "http://127.0.0.1:19880/mcp" }
}
}
Codex CLI
Create or merge <project>/.codex/config.toml:
[mcp_servers.pinwright] url = "http://127.0.0.1:19880/mcp" startup_timeout_sec = 5.0 tool_timeout_sec = 300.0
Cursor
Merge into <project>/.cursor/mcp.json (no type key, Cursor auto-detects):
{
"mcpServers": {
"pinwright": { "url": "http://127.0.0.1:19880/mcp" }
}
}
Gemini CLI
Create or merge <project>/.gemini/settings.json (the key is httpUrl, not url):
{
"mcpServers": {
"pinwright": { "httpUrl": "http://127.0.0.1:19880/mcp" }
}
}
VS Code (GitHub Copilot)
Create or merge <project>/.vscode/mcp.json (top-level key is servers):
{
"servers": {
"pinwright": { "type": "http", "url": "http://127.0.0.1:19880/mcp" }
}
}
Other clients
- Windsurf:
~/.codeium/windsurf/mcp_config.json, a"mcpServers"entry{ "serverUrl": "http://127.0.0.1:19880/mcp" }. - Cline:
cline_mcp_settings.json, entry{ "type": "streamableHttp", "url": "http://127.0.0.1:19880/mcp" }. - Stdio-only clients: bridge with
npx mcp-remote http://127.0.0.1:19880/mcp.
Ports
By default, Auto-derive Port From Project Path is on, so each project gets its own port in
19880–30119 and several projects run side by side without colliding (two
editors of the same project still share a port). To pin one fixed port instead, turn off
Auto-derive Port From Project Path under
Edit → Editor Preferences → Plugins → PinWright (the HTTP group) and set a
fixed Http Port (it defaults to 19880). The setup window always shows the
resolved address, so you never have to guess it; the 19880 in the examples above
is just a placeholder.