GNOME Desktop
Grant the AI octopus access to a portion of your desktop
What is GNOME Desktop?
GNOME Desktop is a Model Context Protocol (MCP) server that allows AI assistants like Claude, Cursor, and VS Code to grant the ai octopus access to a portion of your desktop
Grant the AI octopus access to a portion of your desktop
This server falls under the File Systems category on MCPgee, the world's largest MCP server directory with 33,000+ servers.
Features
- Grant the AI octopus access to a portion of your desktop
Use Cases
Maintainer
Works with
Installation
Manual Installation
npx gnomeConfiguration
Configuration Details
claude_desktop_config.json
Performance
Response Metrics
Resource Usage
How to Set Up and Use GNOME Desktop
GNOME MCP Server is a Rust-based Model Context Protocol server that gives AI assistants structured access to your GNOME desktop environment. It exposes your GNOME Calendar events, Tasks, and Contacts as readable resources, and provides tools to send desktop notifications, launch applications, open files, control media playback, manage windows across workspaces, adjust audio volume, toggle quick-settings (Wi-Fi, Bluetooth, night light), take screenshots, set the wallpaper, and securely store or retrieve secrets from the GNOME keyring. It is designed for use with MCP clients that run on Linux, such as goose, LM Studio, and Claude Code.
Prerequisites
- A Linux system running GNOME Shell (X11 or Wayland)
- Rust toolchain installed (https://rustup.rs) — needed to build the binary from source
- An MCP-compatible client that supports Linux, such as goose, LM Studio, or Claude Code
- For window management features: GNOME Shell unsafe mode must be enabled via Alt+F2 → lg → global.context.unsafe_mode = true
Install the Rust toolchain
gnome-mcp-server is distributed as Rust source and must be compiled locally. Install Rust via rustup if you haven't already.
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | shClone the repository
Fetch the source code from GitHub.
git clone https://github.com/bilelmoussaoui/gnome-mcp-server.git
cd gnome-mcp-serverBuild and install the binary
Compile and install the server into ~/.cargo/bin. After this, gnome-mcp-server will be available on your PATH if ~/.cargo/bin is included in it.
cargo install --path .(Optional) Create a configuration file to limit access
By default all tools and resources are enabled. Place a JSON config file at ~/.config/gnome-mcp/config.json to restrict what the AI can access — for example, limiting calendar look-ahead or disabling certain tools.
mkdir -p ~/.config/gnome-mcp
cat > ~/.config/gnome-mcp/config.json <<'EOF'
{
"calendar": { "days_ahead": 14, "days_behind": 0 },
"tasks": { "include_completed": false },
"screenshot": { "interactive": true }
}
EOFConfigure your MCP client
Add gnome-mcp-server to your MCP client configuration. The transport is stdio with an empty args list. The exact config format varies by client — the example below uses Claude Code's mcpServers format.
{
"mcpServers": {
"gnome": {
"command": "gnome-mcp-server",
"args": []
}
}
}Enable GNOME Shell unsafe mode (for window management)
Some tools such as window_management require GNOME Shell's unsafe mode. Press Alt+F2, type 'lg', press Enter, then run the command in the console that appears.
global.context.unsafe_mode = trueGNOME Desktop Examples
Client configuration
stdio-based config for any MCP client running on Linux. Replace 'gnome-mcp-server' with the full path to the binary if ~/.cargo/bin is not in your PATH.
{
"mcpServers": {
"gnome": {
"command": "gnome-mcp-server",
"args": []
}
}
}Prompts to try
Example prompts that exercise the desktop resources and tools this server exposes.
- "What meetings do I have tomorrow according to my GNOME Calendar?"
- "Send me a desktop notification with the title 'Build complete' and body 'All tests passed'"
- "Take a screenshot of my current screen and save it to ~/Desktop"
- "Set the system volume to 40%"
- "List all open windows and move the Firefox window to workspace 2"
- "Retrieve the GitHub token I stored in my GNOME keyring under the label 'GitHub Token'"Troubleshooting GNOME Desktop
cargo install fails with a compilation error
Make sure your Rust toolchain is up to date by running 'rustup update stable'. Some GNOME binding crates require a recent stable Rust version. Also ensure you have the glib and gio development headers installed (e.g. 'sudo apt install libglib2.0-dev' on Debian/Ubuntu).
Window management tools return an error about permissions
GNOME Shell window management requires unsafe mode. Press Alt+F2, type 'lg', and in the console run: global.context.unsafe_mode = true. This needs to be repeated after each GNOME Shell restart.
The server binary is not found when the MCP client tries to start it
Ensure ~/.cargo/bin is in your PATH by adding 'export PATH="$HOME/.cargo/bin:$PATH"' to your ~/.bashrc or ~/.zshrc. Alternatively, provide the full absolute path to the binary in your MCP client config.
Frequently Asked Questions about GNOME Desktop
What is GNOME Desktop?
GNOME Desktop is a Model Context Protocol (MCP) server that grant the ai octopus access to a portion of your desktop It connects AI assistants to external tools and data sources through a standardized interface.
How do I install GNOME Desktop?
Follow the installation instructions on the GNOME Desktop GitHub repository. Clone the repo, install dependencies, and add the server config to your AI client.
Which AI clients work with GNOME Desktop?
GNOME Desktop works with all major MCP-compatible AI clients including Claude Desktop, Claude Code, Cursor, VS Code (GitHub Copilot), Windsurf, and Cline.
Is GNOME Desktop free to use?
Yes, GNOME Desktop is open source and available under the MIT license. You can use it freely in both personal and commercial projects.
GNOME Desktop Alternatives — Similar File Systems Servers
Looking for alternatives to GNOME Desktop? Here are other popular file systems servers you can use with Claude, Cursor, and VS Code.
Electerm
★ 14.1k📻Terminal/ssh/sftp/ftp/telnet/serialport/RDP/VNC/Spice client(linux, mac, win)
Plik
★ 1.8kPlik is a temporary file upload system (Wetransfer like) in Go.
Kordoc
★ 957An MCP server that parses South Korean document formats like HWP, HWPX, and PDF into Markdown. It features specialized table reconstruction and security-hardened extraction optimized for administrative and public institution files.
macOS Automator
★ 801A Model Context Protocol server that enables execution of AppleScript and JavaScript for Automation scripts on macOS, allowing programmatic control of applications and system functions through a rich knowledge base of pre-defined scripts.
PDF Reader
★ 723Enables reading, searching, and metadata extraction from PDF files without loading the entire content into the context window. It provides efficient tools for text cleaning, page-specific extraction, and context-aware search results.
Filesystem MCP Server
★ 643Provides comprehensive filesystem operations (read, write, list, create, delete, move files and directories) through the Model Context Protocol with Streamable HTTP transport and built-in security through configurable root directory restrictions.
Browse More File Systems MCP Servers
Explore all file systems servers available in the MCPgee directory. Each server includes setup guides for Claude, Cursor, and VS Code.
Set Up GNOME Desktop in Your Editor
Choose your AI client for step-by-step setup instructions.
Quick Config Preview
Add this to your claude_desktop_config.json or .cursor/mcp.json
Ready to use GNOME Desktop?
Browse our complete directory of 33,000+ MCP servers, read setup guides for your editor, and start building with the Model Context Protocol.