Satisfactory-RemoteAdmin

jpeggdev/Satisfactory-RemoteAdmin

3.2

If you are the rightful owner of Satisfactory-RemoteAdmin and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.

A comprehensive Model Context Protocol (MCP) server for managing Satisfactory Dedicated Servers remotely, implementing the complete Satisfactory Dedicated Server HTTPS API.

Tools
5
Resources
0
Prompts
0

Satisfactory MCP Server

A comprehensive Model Context Protocol (MCP) server that provides tools for managing Satisfactory Dedicated Servers remotely. This server implements the complete Satisfactory Dedicated Server HTTPS API as documented in the official API documentation.

Features

Authentication & Health

  • Health Check: Monitor server health and tick rate
  • Connection Management: Password and passwordless authentication with privilege levels
  • Token Verification: Validate authentication tokens

Server State & Information

  • Server State: Get detailed server status, player count, game phase, session info
  • Server Options: View current and pending server configuration
  • Advanced Settings: Manage advanced game settings for sessions

Server Management

  • Server Claiming: Claim unclaimed servers with admin privileges
  • Server Naming: Rename servers
  • Password Management: Set/update admin and client passwords
  • Auto-load Configuration: Set which session loads on startup
  • Console Commands: Execute server console commands
  • Server Shutdown: Safely shutdown the server

Session Management

  • New Game Creation: Create new game sessions with custom settings
  • Session Enumeration: List all available save sessions
  • Save Game Operations: Save current game state

Save File Management

  • Load Games: Load specific save files with optional advanced settings
  • Upload Saves: Upload save files from local filesystem
  • Download Saves: Download save files to local filesystem
  • Delete Operations: Delete individual save files or entire sessions

Installation

npm install
npm run build

Usage

As an MCP Server

Add to your MCP client configuration:

{
  "mcpServers": {
    "satisfactory": {
      "command": "node",
      "args": ["path/to/satisfactory-mcp-server/dist/server.js"]
    }
  }
}

Quick Start

  1. Connect to a server:

    satisfactory_connect with:
    - hostname: "your-server-ip"
    - connectionId: "my-server"
    - minimumPrivilegeLevel: "Administrator"
    - password: "your-password" (optional)
    
  2. Check server status:

    satisfactory_get_server_state with connectionId: "my-server"
    
  3. Manage save files:

    satisfactory_enumerate_sessions with connectionId: "my-server"
    satisfactory_load_game with connectionId: "my-server", saveName: "MyFactorySave"
    

Available Tools

Authentication & Health Tools

satisfactory_health_check

Check server health and performance status.

  • connectionId (required): Connection identifier
  • clientCustomData (optional): Custom data to send
satisfactory_connect

Establish connection and authenticate with server.

  • hostname (required): Server IP or hostname
  • connectionId (required): Unique connection identifier
  • port (optional): Server port (default: 7777)
  • password (optional): Server password
  • minimumPrivilegeLevel (optional): Required privilege level
  • allowSelfSignedCert (optional): Allow self-signed certificates
satisfactory_verify_auth

Verify current authentication token validity.

  • connectionId (required): Connection identifier

Server Information Tools

satisfactory_get_server_state

Get comprehensive server status information.

  • connectionId (required): Connection identifier
satisfactory_get_server_options

Get current and pending server configuration options.

  • connectionId (required): Connection identifier
satisfactory_get_advanced_settings

Get advanced game settings for current session.

  • connectionId (required): Connection identifier

Server Management Tools

satisfactory_claim_server

Claim an unclaimed server (requires InitialAdmin privileges).

  • connectionId (required): Connection identifier
  • serverName (required): Name for the server
  • adminPassword (required): Admin password to set
satisfactory_rename_server

Change server name.

  • connectionId (required): Connection identifier
  • serverName (required): New server name
satisfactory_set_client_password

Set or remove client protection password.

  • connectionId (required): Connection identifier
  • password (required): Password (empty string to remove)
satisfactory_set_admin_password

Update admin password.

  • connectionId (required): Connection identifier
  • password (required): New admin password
  • newAuthToken (required): New auth token to use
satisfactory_set_autoload_session

Configure which session loads automatically on startup.

  • connectionId (required): Connection identifier
  • sessionName (required): Session name to auto-load
satisfactory_run_command

Execute console commands on the server.

  • connectionId (required): Connection identifier
  • command (required): Console command to execute
satisfactory_shutdown_server

Safely shutdown the server.

  • connectionId (required): Connection identifier

Configuration Tools

satisfactory_apply_server_options

Apply new server configuration options.

  • connectionId (required): Connection identifier
  • options (required): Server options as key-value pairs
satisfactory_apply_advanced_settings

Apply advanced game settings to current session.

  • connectionId (required): Connection identifier
  • settings (required): Advanced settings as key-value pairs

Session Management Tools

satisfactory_create_new_game

Create and load a new game session.

  • connectionId (required): Connection identifier
  • sessionName (required): Name for new session
  • mapName (optional): Map to use
  • startingLocation (optional): Starting location
  • skipOnboarding (optional): Skip tutorial
  • advancedSettings (optional): Advanced game settings
satisfactory_enumerate_sessions

List all available save sessions and their details.

  • connectionId (required): Connection identifier

Save Game Tools

satisfactory_save_game

Save current game state.

  • connectionId (required): Connection identifier
  • saveName (required): Name for save file
satisfactory_load_game

Load a specific save file.

  • connectionId (required): Connection identifier
  • saveName (required): Save file name
  • enableAdvancedSettings (optional): Enable advanced settings
satisfactory_delete_save_file

Delete a specific save file.

  • connectionId (required): Connection identifier
  • saveName (required): Save file name
satisfactory_delete_save_session

Delete all saves for a session.

  • connectionId (required): Connection identifier
  • sessionName (required): Session name
satisfactory_upload_save

Upload save file from local filesystem.

  • connectionId (required): Connection identifier
  • saveName (required): Name for uploaded save
  • filePath (required): Local path to save file
  • loadSave (optional): Load after upload
  • enableAdvancedSettings (optional): Enable advanced settings when loading
satisfactory_download_save

Download save file to local filesystem.

  • connectionId (required): Connection identifier
  • saveName (required): Save file name
  • outputPath (required): Local path to save file

Privilege Levels

The server supports different privilege levels:

  • Client: Basic access for gameplay
  • Administrator: Full server management access
  • InitialAdmin: Special privilege for claiming unclaimed servers
  • APIToken: Third-party application access

Error Handling

All tools provide comprehensive error handling with detailed error messages. Common error scenarios include:

  • Network connectivity issues
  • Authentication failures
  • Privilege level restrictions
  • Server state conflicts (e.g., loading in progress)
  • File operation errors

Development

# Install dependencies
npm install

# Development mode with auto-reload
npm run dev

# Build for production
npm run build

# Run built server
npm start

API Reference

This MCP server implements the complete Satisfactory Dedicated Server HTTPS API v1. For detailed API documentation, refer to the DedicatedServerAPIDocs.md file.

Key API features implemented:

  • JSON-based request/response protocol
  • Bearer token authentication
  • Multipart file uploads for save games
  • File downloads with proper Content-Disposition handling
  • Comprehensive error responses with error codes

Security Considerations

  • Authentication tokens are managed automatically
  • Self-signed certificate support for local servers
  • Proper privilege level enforcement
  • Secure password handling (never logged or exposed)

License

MIT