MSW MCP

Install the MCP provided by MapleStory Worlds to use AI and simple prompts to create worlds. Try creating a world by using the various MCP-supported dev tools with the AI agent that you are using. For example, you can use , , and . Other than those, if you support MCP and can use the Bearer authentication method, you can link MSW MCP, and MSW Maker. You must activate LocalWorkspace to use MCP.

##### Reference Guide

  * [LocalWorkspace](docs/?postId=1165)
  * [AI ToolKit](/docs?postId=1374%7B%22target%22:%22_blank%22%7D)
  * [AI Skill Set Installation](/docs?postId=1373%7B%22target%22:%22_blank%22%7D)



## MCP Types

### MSW MCP

MSW MCP is an integrated server (Server-Side) MCP that provides world task tools and information to the AI. An API Key needs to be issued for use.

  * Transfer Method (Transport): http
  * Server Endpoint: https://msw-mcp.nexon.com/mcp
  * Authentication Method: Using HTTP and API KEY



#### Issuing an API Key

You must have the API issued by MapleStory Worlds to use MSW MCP.

  1. Log into .
  2. Select PERSONAL - Credentials - API KEY from the left menu.
  3. Click the +Generate button from the top right.
  4. Select MCP from the selection window and select Generate. [png](17797755266847f678959b18840459111e86716ebf688)



> Warning Do not save the API Key to a public space or share it. If the API Key is leaked, delete the key and get a new one issued.

### MSW Maker MCP

The MSW Maker MCP is a client-based MCP that provides maker task tools to the AI. The MSW Maker MCP is based on studio and links automatically without CLI execution processing. Since Windows and macOS have different execution paths, you need to choose the method that fits the OS that is used by the client.

  * Transfer Method (Transport) : stdio
  * Execution Path (Windows) : %LOCALAPPDATA%\Nexon\MapleStory Worlds\MakerMCP\msw-maker-mcp.bat
  * Execution Path (macOS) : /Applications/MapleStory Worlds.app/Contents/MacOS/MakerMCP 
    * Provided by macOS in universal binary with assigned execution permissions separately.
  * Authentication Method: No separate authentication



## MCP Installation Summary

The MapleStory Worlds MCPs can be used in VS Code, Claude, Cursor, and Codex CLI. Each AI agent supports different functions. The creator can select one of the supported installation methods based on convenience.

[{"Name":"VS Code(Copilot Agent Mode)","Setting File Root Key":"servers","stdio Support":"⭕","HTTP Support":"⭕","CLI Registration":"Command Palette"},{"Name":"VS Code + Claude","Setting File Root Key":"mcpServers","stdio Support":"⭕","HTTP Support":"⭕","CLI Registration":"claude mcp add"},{"Name":"Claude Desktop(Code)","Setting File Root Key":"mcpServers","stdio Support":"⭕","HTTP Support":"⭕","CLI Registration":"claude mcp add"},{"Name":"Claude Code CLI","Setting File Root Key":"mcpServers","stdio Support":"⭕","HTTP Support":"⭕","CLI Registration":"claude mcp add"},{"Name":"Cursor","Setting File Root Key":"mcpServers","stdio Support":"⭕","HTTP Support":"⭕","CLI Registration":"❌"},{"Name":"Codex CLI","Setting File Root Key":"[mcp_servers.*] TOML","stdio Support":"⭕","HTTP Support":"⭕","CLI Registration":"codex mcp add"}]

## VS Code

VS Code uses `servers` as the root key of the setting file.

  * Setting File Location: `{Project}/.vscode/mcp.json`



### Command Palette Use

VS Code supports the `${input:} syntax, so `headers.Authorization` must be set directly.

  1. Press `Ctrl + Shift + P` / `⌘ + Shift + P` to launch the Command Palette.

  2. Select `MCP: Add Server...`.

  3. MSW MCP selects `HTTP (HTTP or Server-Sent Events)` and MSW Maker MCP selects `Command (stdio)`.

  4. Input the value for each MCP and select Workspace.

     * MSW MCP: https://msw-mcp.nexon.com/mcp

MSW Maker MCP:

     * Windows : cmd /c call "%LOCALAPPDATA%\Nexon\MapleStory Worlds\MakerMCP\msw-maker-mcp.bat"
     * macOS : "/Applications/MapleStory Worlds.app/Contents/MacOS/MakerMCP"
  5. The MSW Maker MCP can be used by restarting VS Code. For MSW MCP, the VS Code must restart after entering "headers" and API Key.
         
         @Component
         script CloudApiAuthorizer extends Component
         @ExecSpace("ServerOnly")
         method void OnBeginPlay()
             "headers": {
                 "Authorization": "Bearer ${input:msw-mcp-api-key}"
         end
         end
         



    
    
    ### mcp.json Editing
    1. Create a `.vscode/mcp.json` file in the world's local workspace folder.
    2. Write the paragraph that fits the creator operating system.
        **Windows**:
        ```lua
    @Component
    script BasicBehavior extends Component
    end
    
    
    
    **MacOS**:
    ```lua
    

@Component script BehaviorPlaceholder extends Component end
    
    
    3. Save and restart VS Code.
    
    ## VS Code Expansion
    ### GitHub Copilot
    Install **GitHub Copilot Chat** from VS Code to use chatting, inline suggestions, and suggested edits as a whole. Can be used from VS Code 1.102.
    
    1. Open ** GitHub Copilot Chat* from VS Code.
    2. Convert to **Agent Mode**.
    3. Check if msw-maker-mcp and msw-mcp are visible in the list of **Tools**.
    
    > Learn More
    > We recommend installing the **GitHub Copilot** expansion if you wish to use code completion suggestions.
    
    ### Claude Code
    Execute Claude Code from VS Code by installing **Claude Code for VS Code** from the VS Code's EXTENSIONS. Since the MCP server settings share the Claude Code CLI settings, the Clause Code CLI must be installed.
    Separated from the VS Code's `.vscode/mcp.json`.
    
    #### Command Use
    1. Execute the following command from the terminal.
        **stdio** :
        ```lua
    @Component
    script MakerMCPInitializer extends Component
        @ExecSpace("ServerOnly")
        method void OnBeginPlay()
            claude mcp add msw-maker-mcp --scope project -- cmd.exe /c call "%LOCALAPPDATA%\Nexon\MapleStory Worlds\MakerMCP\msw-maker-mcp.bat"
        end
    end
    
    
    
    **HTTP**:
    ```lua
    

@Component script McpRegistrar extends Component @ExecSpace("ServerOnly") method void OnBeginPlay() claude mcp add --transport http --scope project msw-mcp https://msw-mcp.nexon.com/mcp --header "Authorization: Bearer ${MSW_MCP_API_KEY}" end end
    
    
    2. Restart the VS Code.
    3. Open the Claude expansion panel from the VS Code side bar.
    4. Enter `/mcp` in the chat window and check if msw-maker-mcp and msw-mcp are **connected**.
    
    #### .mcp.json Editing
    1. Write the folowing mcp content to `.mcp.json`. 
    Writing the following content to the VS Code's `.vscode/mcp.json` will render it nonoperable, so be careful.
        **Windows**:
        ```lua
    @Component
    script PlaceholderBehavior extends Component
    end
    
    
    
    **macOS**:
    ```lua
    

@Component script EntityBehavior extends Component end
    
    
    2. Open the Claude expansion panel from VS Code.
    3. Enter `/mcp` and check if msw-maker-mcp and msw-mcp are **connected**.
    
    ## Claude
    Claude has 3 interfaces; Desktop, CLI, and VS Code expansion. All 3 share a single `.mcp.json`. Therefore, MCP server registration only needs to be done once to be automatically recognized by all 3 interfaces. However, the `claude_desktop_config.json` that's used by the Desktop app's Chat tab is a separate setting file.
    
    > Learn More
    > The Desktop app's Code tab functions normally in Apple Silicon (M1+) and Intel Mac. 
    > The Cowork tab is exclusive to Apple Silicon.
    
    ### Claude Desktop
    MCP can only be used in the Code tab for Claude Desktop. When using Claude and MapleStory World's MCP in Windows,  must be installed.
    
    The settings file location is as follows. 
    * `{Project}/.mcp.json` 
    
    #### Using Commands
    1. Register to the `.mcp.json` under the world's local workspace folder with the `claude mcp add --scope project ...` command.
        **Windows(stdio)**:
        ```lua
    @Component
    script MakerMCPInitializer extends Component
        @ExecSpace("ServerOnly")
        method void OnBeginPlay()
            claude mcp add msw-maker-mcp --scope project -- cmd.exe /c call "%LOCALAPPDATA%\Nexon\MapleStory Worlds\MakerMCP\msw-maker-mcp.bat"
        end
    end
    
    
    
    

macOS(stdio): Directly call the shell script (.sh) or executable binary instead of bat
    
    
    ```lua
    

@Component script MakerMcpProjectSetup extends Component @ExecSpace("ServerOnly") method void OnBeginPlay() claude mcp add msw-maker-mcp --scope project -- "/Applications/MapleStory Worlds.app/Contents/MacOS/MakerMCP" end end
    
    
        
        **Common (http, API Key)**:
        ```lua
    @Component
    script McpRegistrar extends Component
        @ExecSpace("ServerOnly")
        method void OnBeginPlay()
            claude mcp add --transport http --scope project msw-mcp https://msw-mcp.nexon.com/mcp --header "Authorization: Bearer ${MSW_MCP_API_KEY}"
        end
    end
    

  2. Restart Claude Desktop and select the project folder from the Code tab to start the session for automatic detection.



#### .mcp.json Edits

  1. Create `.mcp.json` in the world's local workspace folder.
  2. Write the following json paragraph to the .mcp.json file. The same `mcpServers` root key must be used as-is. Windows:
         
         @Component
         script PlaceholderBehavior extends Component
         end
         



    
    
        
        **macOS**:
        
        ```lua
    @Component
    script EntityBehavior extends Component
    end
    

  3. It is automatically recognized when you start a session with the corresponding project folder in the Code tab.
  4. Check if the [+] Button \- Connectors \- `msw-maker-mcp` / `msw-mcp` on the right of the prompt box is visible in the tool list. Or enter `/mcp` as a prompt to check the `connected` status.



### Claude Code CLI

#### Command Use

Use the command in the terminal that fits the registration methods. The `--scope project` option must always be used together so that the registration results are saved in the world's local workspace folder's `.mcp.json`. If the option is omitted, it's registered with the default value `local` and will only be applied to user-specific settings.

Windows(stdio):
    
    
    @Component
    script MakerMCPInitializer extends Component
        @ExecSpace("ServerOnly")
        method void OnBeginPlay()
            claude mcp add msw-maker-mcp --scope project -- cmd.exe /c call "%LOCALAPPDATA%\Nexon\MapleStory Worlds\MakerMCP\msw-maker-mcp.bat"
        end
    end
    

macOS(stdio):
    
    
    @Component
    script MakerMcpProjectSetup extends Component
        @ExecSpace("ServerOnly")
        method void OnBeginPlay()
            claude mcp add msw-maker-mcp --scope project -- "/Applications/MapleStory Worlds.app/Contents/MacOS/MakerMCP"
        end
    end
    

Common (http, API Key):
    
    
    @Component
    script McpRegistrar extends Component
        @ExecSpace("ServerOnly")
        method void OnBeginPlay()
            claude mcp add --transport http --scope project msw-mcp https://msw-mcp.nexon.com/mcp --header "Authorization: Bearer ${MSW_MCP_API_KEY}"
        end
    end
    

#### .mcp.json Edits

Add a command that fits the setting method to `.mcp.json`.

Windows:
    
    
    @Component
    script DefaultFeature extends Component
    end
    

macOS:
    
    
    @Component
    script Placeholder extends Component
    end
    

## Cursor

### Settings

  1. Open the Curtsor settings screen.
  2. Select `Tools & Integrations` or `MCP`.
  3. Open the `New MCP Server` \- project scope's `mcp.json` editing screen. Global registration options arent' used.
  4. Enter the following json content based on operation system. Windows: 
         
         @Component
         script BasicBehavior extends Component
         end
         



    
    
        
        **macOS**:
        
        ```lua
    @Component
    script GameBehavior extends Component
    end
    

  5. Restart Cursor.
  6. Check whether the green status light is visible in the registered server item from Cursor Settings - MCP.
  7. Check whether msw-maker-mcp and msw-mcp are present in Available Tools from Agent chatting.



### .mcp.json Edits

  1. Create `.cursor/mcp.json` in the world's local workspace folder.
  2. Enter the following content based on operation system. Windows: 
         
         @Component
         script BasicBehavior extends Component
         end
         



    
    
        
        **macOS**:
        
        ```lua
    @Component
    script GameBehavior extends Component
    end
    

  3. Restart Cursor.
  4. Check whether the green status light is visible in the registered server item from Cursor Settings - MCP.
  5. Check whether msw-maker-mcp and msw-mcp are present in Available Tools from Agent chatting.



> Tip The link can be activated from Cursor Settings - Tools & MCPs - Installed MCP Servers. [png](177977529817164ced7c93bec4cec8d8a668a4b6cd026)

## Codex

OpenAI Codex CLI uses TOML as the settings file format instead of JSON. Servers are defined with `[mcp_servers.]` sections.

  * Installation Path: `{Project}/.codex/config.toml`



> Learn More Codex reads the project scoped `config.toml` only in projects designated as 'trusted project'. Codex will ask the reliability when the project is first opened and `.codex/config.toml` is ignored in unreliable projects. The codex mcp add CLI doesn't provide the scope option and also registers to the global path (~/.codex/config.toml). So we recommend the config.toml editing method.

### Command Use

  1. Enter the command in the Terminal that fits the operation system and register the server. This resgistration will be saved to the user global path (`~/.codex/config.toml`) and applied to all Codex sessions. Windows(stdio): 
         
         @Component
         script MakerMcpRegistrar extends Component
         @ExecSpace("ServerOnly")
         method void OnBeginPlay()
             codex mcp add msw-maker-mcp -- cmd.exe /c call "%LOCALAPPDATA%\Nexon\MapleStory Worlds\MakerMCP\msw-maker-mcp.bat"
         end
         end
         



    
    
        
        **macOS(stdio)**:
        ```lua
    @Component
    script MakerMcpRegistrar extends Component
        @ExecSpace("ServerOnly")
        method void OnBeginPlay()
            codex mcp add msw-maker-mcp -- "/Applications/MapleStory Worlds.app/Contents/MacOS/MakerMCP"
        end
    end
    
    
    
    **Common (HTTP, API Key)** :
    ```lua
    

@Component script McpServiceSetup extends Component @ExecSpace("ServerOnly") method void OnBeginPlay() codex mcp add msw-mcp --url https://msw-mcp.nexon.com/mcp --bearer-token-env-var MSW_MCP_API_KEY end end
    
    
    2. Execute the `codex` command from the terminal in the world's local workspace folder.
    3. Enter the `codex` command within the session and check if msw-maker-mcp and msw-mcp are **connected**.
    
    ### config.toml Editing
    Since Codex CLI doesn't support the `headers` field, if the API KEY is input into **`bearer_token_env_var`**, the value will be converted to an `Authorization: Bearer ` header and then sent. The Codex setting file is **TOML**.
    
    > Tip
    > Wrapping strings that inlcude `\` like Windows paths with `'` is the safest option.
    
    1. Create `.codex/config.toml` in the local workspace folder.
    2. Write in accordance with the creator's operating system.
        **Windows**:
        ```lua
    @Component
    script ServerConfiguration extends Component
        @ExecSpace("ServerOnly")
        method void OnBeginPlay()
            [mcp_servers.msw-maker-mcp]
                command = "cmd.exe"
                args = ["/c", "call", '%LOCALAPPDATA%\Nexon\MapleStory Worlds\MakerMCP\msw-maker-mcp.bat']
            
                [mcp_servers.msw-mcp]
                url = "https://msw-mcp.nexon.com/mcp"
                http_headers = { "Authorization" = "Bearer ${MSW_MCP_API_KEY}" }
        end
    end
    
    
    
    **macOS**:
    ```lua
    

@Component script McpServerConfiguration extends Component @ExecSpace("ServerOnly") method void OnBeginPlay() [mcp_servers.msw-maker-mcp] command = "/Applications/MapleStory Worlds.app/Contents/MacOS/MakerMCP" args = []
    
    
        
            [mcp_servers.msw-mcp]
            url = "https://msw-mcp.nexon.com/mcp"
            http_headers = { "Authorization" = "Bearer ${MSW_MCP_API_KEY}" }
    end
    

end
    
    
    3.  Save the `.codex/config.toml` file and execute the `codex` command in the world's local workspace folder.
    Select **trust** when prompted to check the project's reliability upon launching for the first time.
    4. Enter the `/mcp` command within the session and confirm that msw-maker-mcp and msw-mcp are **connected**.