Skip to content

Instantly share code, notes, and snippets.

@mausch
Last active April 1, 2026 18:58
Show Gist options
  • Select an option

  • Save mausch/d1b13fb697bdd1d8e5f96144665eaaf6 to your computer and use it in GitHub Desktop.

Select an option

Save mausch/d1b13fb697bdd1d8e5f96144665eaaf6 to your computer and use it in GitHub Desktop.
linux-desktop-mcp
{
description = "Nix package for BeckhamLabsLLC/linux-desktop-mcp";
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-25.11";
src-linux-desktop-mcp = {
url = "github:BeckhamLabsLLC/linux-desktop-mcp/eaf67ca0e7c3841045e23bd80712af8b8754f82e";
flake = false;
};
};
outputs = { self, nixpkgs, src-linux-desktop-mcp }:
let
supportedSystems = [ "x86_64-linux" "aarch64-linux" ];
forAllSystems = nixpkgs.lib.genAttrs supportedSystems;
in
{
packages = forAllSystems (system:
let
pkgs = nixpkgs.legacyPackages.${system};
pythonPkgs = pkgs.python3Packages;
in
{
linux-desktop-mcp = pythonPkgs.buildPythonApplication {
pname = "linux-desktop-mcp";
version = "unstable-${nixpkgs.lib.substring 0 8 src-linux-desktop-mcp.rev or "dirty"}";
src = src-linux-desktop-mcp;
pyproject = true;
# Added hatchling and setuptools-scm to fix the BackendUnavailable error
nativeBuildInputs = with pythonPkgs; [
hatchling
setuptools-scm
];
propagatedBuildInputs = with pythonPkgs; [
mcp
pygobject3
pyatspi
];
buildInputs = with pkgs; [
gobject-introspection
at-spi2-core
];
makeWrapperArgs = [
"--prefix GI_TYPELIB_PATH : ${pkgs.gobject-introspection}/lib/girepository-1.0:${pkgs.at-spi2-core}/lib/girepository-1.0"
"--prefix PATH : ${pkgs.lib.makeBinPath [ pkgs.xdotool pkgs.ydotool ]}"
];
doCheck = false;
meta = with pkgs.lib; {
description = "An MCP server for native Linux desktop applications using AT-SPI2";
homepage = "https://github.com/BeckhamLabsLLC/linux-desktop-mcp";
license = licenses.mit;
platforms = platforms.linux;
mainProgram = "linux-desktop-mcp";
};
};
default = self.packages.${system}.linux-desktop-mcp;
}
);
apps = forAllSystems (system: {
default = {
type = "app";
program = "${self.packages.${system}.linux-desktop-mcp}/bin/linux-desktop-mcp";
};
});
};
}
@mausch
Copy link
Copy Markdown
Author

mausch commented Apr 1, 2026

https://github.com/BeckhamLabsLLC/linux-desktop-mcp

Usage:

nix run --refresh --no-write-lock-file git+https://gist.github.com/mausch/d1b13fb697bdd1d8e5f96144665eaaf6.git

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment