MCP Hub
Back to servers

Lutris MCP Server

Enables AI assistants to browse, search, and manage a Lutris Linux gaming library. It provides tools for modifying game details, organizing categories, and accessing collection statistics directly from the Lutris SQLite database.

glama
Updated
Mar 20, 2026

lutris-mcp

MCP server for managing your Lutris game library. Gives AI assistants direct access to browse, search, organize, launch, and install games in your Linux gaming collection.

Examples

Here are some things you can ask your AI assistant once this server is connected:

  • "What games do I have installed?"
  • "Show me my most played games"
  • "Search my Steam library for Hades"
  • "Launch Balatro"
  • "Install this game from /path/to/setup.exe"
  • "Add all my roguelike games to a 'Roguelike' category"
  • "Are there any duplicate games in my library?"
  • "Show me the log for my last Hades II session"
  • "Export my installed games as JSON"
  • "Set the cover art for Timberborn from this image"

Installation

Quick Start (npx)

No install needed — just add to your MCP client config:

{
  "mcpServers": {
    "lutris": {
      "command": "npx",
      "args": ["-y", "lutris-mcp"]
    }
  }
}

Global Install

npm install -g lutris-mcp

Then configure your MCP client:

{
  "mcpServers": {
    "lutris": {
      "command": "lutris-mcp"
    }
  }
}

From Source

git clone https://github.com/Praeses0/lutris-mcp.git
cd lutris-mcp
npm install
npm run build
{
  "mcpServers": {
    "lutris": {
      "command": "node",
      "args": ["/path/to/lutris-mcp/dist/index.js"]
    }
  }
}

Requirements

  • Lutris installed and set up
  • Node.js 20+

Tools

Library

ToolDescription
list_gamesList and filter games with pagination, sorting, and smart search
get_gameGet full game details including categories, config, and media paths
add_gameAdd a new game to the library
update_gameUpdate fields on an existing game
remove_gameRemove a game from the database (does not delete files)
get_library_statsAggregate stats: totals, playtime, breakdowns by runner/platform/service
find_duplicatesFind potential duplicate games (same directory or similar slugs)
export_libraryExport full library as JSON with optional filters (category, runner, installed)

Categories

ToolDescription
list_categoriesList all categories with game counts
create_categoryCreate a new category
assign_categoryAdd a game to a category
unassign_categoryRemove a game from a category
bulk_assign_categoryAdd multiple games to a category at once

Services

ToolDescription
search_service_gamesSearch games synced from Steam, GOG, etc.
import_service_gameImport a service game into your Lutris library

Launch & Install

ToolDescription
launch_gameLaunch an installed game via Lutris
install_gameInstall a game from a Lutris installer slug or local setup executable
check_game_runningCheck if a game is currently running (multi-strategy detection)

Configuration

ToolDescription
read_game_configRead a game's YAML configuration file
write_game_configUpdate or create a game's YAML configuration (deep-merged)

Media

ToolDescription
set_game_coverSet a game's cover art, banner, or icon from a local file
get_game_mediaGet all media paths for a game with existence check

System

ToolDescription
list_runnersList available Lutris runners or Wine versions
view_game_logRead the last launch log for a game (for troubleshooting)

Bulk Operations

ToolDescription
bulk_update_gamesUpdate a field on multiple games at once

Environment Variables

VariableDefaultDescription
LUTRIS_DB_PATH~/.local/share/lutris/pga.dbPath to Lutris SQLite database
LUTRIS_GAMES_CONFIG_DIR~/.config/lutris/gamesPath to game YAML configs
LUTRIS_DATA_DIR~/.local/share/lutrisPath to Lutris data directory (media, logs)

Development

npm install       # install dependencies
npm run build     # compile TypeScript
npm test          # run tests (219 tests)
npm run dev       # run with tsx (hot reload)

License

MIT

Reviews

No reviews yet

Sign in to write a review