Lutris MCP Server
The Lutris MCP Server enables AI assistants to manage a Linux gaming library through Lutris, providing tools for browsing, organizing, launching, and installing games.
Library Management
List, filter, search, sort, and paginate games
Get full details for a specific game, add new games, update existing ones, or remove them
Find duplicate games and export the full library as JSON (with optional filters)
Get aggregate statistics (totals, playtime, breakdowns by runner/platform/service)
Perform bulk updates on multiple games at once
Category Management
List all categories with game counts, create new categories
Assign or unassign single or multiple games to/from categories
External Service Integration
Search and import games from services like Steam and GOG synced in Lutris
Game Actions
Launch installed games, install games from installer slugs or local executables
Check if a game is currently running
Configuration & Media
Read, update, or create game YAML configuration files (with deep-merge updates)
Set game cover art, banners, or icons from local files; retrieve all media paths
System & Diagnostics
List available Lutris runners or Wine versions
View the last launch log for a game for troubleshooting
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Lutris MCP Server Show me my library statistics and most played games."
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
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"
Related MCP server: Steam Library MCP Server
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-mcpThen 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
Tool | Description |
| List and filter games with pagination, sorting, and smart search |
| Get full game details including categories, config, and media paths |
| Add a new game to the library |
| Update fields on an existing game |
| Remove a game from the database (does not delete files) |
| Aggregate stats: totals, playtime, breakdowns by runner/platform/service |
| Find potential duplicate games (same directory or similar slugs) |
| Export full library as JSON with optional filters (category, runner, installed) |
Categories
Tool | Description |
| List all categories with game counts |
| Create a new category |
| Add a game to a category |
| Remove a game from a category |
| Add multiple games to a category at once |
Services
Tool | Description |
| Search games synced from Steam, GOG, etc. |
| Import a service game into your Lutris library |
Launch & Install
Tool | Description |
| Launch an installed game via Lutris |
| Install a game from a Lutris installer slug or local setup executable |
| Check if a game is currently running (multi-strategy detection) |
Configuration
Tool | Description |
| Read a game's YAML configuration file |
| Update or create a game's YAML configuration (deep-merged) |
Media
Tool | Description |
| Set a game's cover art, banner, or icon from a local file |
| Get all media paths for a game with existence check |
System
Tool | Description |
| List available Lutris runners or Wine versions |
| Read the last launch log for a game (for troubleshooting) |
Bulk Operations
Tool | Description |
| Update a field on multiple games at once |
Environment Variables
Variable | Default | Description |
|
| Path to Lutris SQLite database |
|
| Path to game YAML configs |
|
| Path 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
Available Tools
11 toolsadd_gameC
Add a new game to the Lutris library
Inputs: name (required), runner (required), platform, directory, +6 more.
assign_categoryC
Add a game to a category
Inputs: game_id (required), category_name (required).
create_categoryC
Create a new game category
Inputs: name (required).
get_gameC
Get full details for a specific game including categories and YAML config
Inputs: id, slug.
get_library_statsB
Get aggregate statistics about the Lutris game library
Inputs: no named parameters.
list_categoriesB
List all categories with game counts
Inputs: no named parameters.
list_gamesC
List and filter games in the Lutris library with pagination
Inputs: runner, platform, installed, category, +6 more.
remove_gameB
Remove a game from the Lutris database (does not delete files)
Inputs: id (required), confirm (required).
search_service_gamesB
Search games from external services (Steam, GOG, etc.) synced in Lutris
Inputs: query, service, limit, offset.
unassign_categoryC
Remove a game from a category
Inputs: game_id (required), category_name (required).
update_gameC
Update fields on an existing game
Inputs: id (required), name, slug, runner, +9 more.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 11 tools
Each tool has a clearly distinct purpose with no ambiguity. Tools like add_game, remove_game, and update_game handle different lifecycle stages, while category management tools (create_category, assign_category, unassign_category) are separate from game operations. The search_service_games tool is distinct from list_games, targeting external services versus the local library.
All tools follow a consistent verb_noun naming pattern (e.g., add_game, list_categories, update_game). The naming is uniform across all 11 tools, using clear action verbs paired with specific nouns, making it easy to predict functionality without any deviations in style.
With 11 tools, the count is well-scoped for managing a game library and categories. Each tool serves a clear purpose, such as CRUD operations for games and categories, plus utilities like search and stats, avoiding redundancy while covering the domain comprehensively.
The tool set provides complete coverage for the Lutris game management domain. It includes full CRUD for games (add, get, update, remove) and categories (create, list, assign/unassign), plus utilities for searching external services and library statistics, leaving no obvious gaps for agent workflows.
Maintenance
Related MCP Connectors
Explore, query, and inspect SQLite databases with ease. List tables, preview results, and view det…
The media memory layer for AI agents and their humans. Your AI client can search your collection, add and log what you've finished, update ratings and lists, and find patterns across everything you've read, watched, played, and listened to.
Search reviewed free tools, submit for review, run launch checks, and find launch directories.
Search a video game catalog and manage your own collection, imports and recommendation lists.
Related MCP Servers
- AlicenseAqualityDmaintenanceProvides comprehensive video game metadata and assets from Steam, SteamGridDB, and ScreenScraper, enabling game search, details, DLCs, reviews, player counts, and visual assets.1618 npm3MIT
- FlicenseNot gradedqualityDmaintenanceProvides access to your Steam game library data through Claude Desktop, enabling game search, filtering, details, recommendations, and statistics.7-
- AlicenseNot gradedqualityCmaintenanceEnables AI agents to search a video game database by name, genre, or platform, retrieve detailed game records, and list genres/platforms with game counts. It exposes these capabilities as MCP tools for ratings, Metacritic scores, release dates, developers, publishers, ESRB ratings, and playtime.288 npmMIT
- AlicenseNot gradedqualityBmaintenanceEnables AI agents to search, filter, and explore a local offline catalog of tools from awesome lists, including finding underrated tools, explaining ranking provenance, listing curator lists, and inspecting catalog facets. All access is read-only over local SQLite with no network calls or API keys.19 PyPIMIT