← Browse

@balaurent/agent-desktop

B

MCP server package agent-desktop

mcp_servermcp

Install

agr install @balaurent/agent-desktop --target claude

This artifact does not publish files for Claude.

Document

{ "name": "agent-desktop", "version": "0.18.0", "description": "Open-source desktop client for Claude AI — Linux, macOS, and Windows.", "main": "./out/main/index.js", "repository": { "type": "git", "url": "https://github.com/BaLaurent/agent-desktop.git" }, "scripts": { "dev": "electron-vite dev -- --ozone-platform-hint=auto", "build": "electron-vite build", "preview": "electron-vite preview", "dist": "electron-builder", "prebuilds:sherpa": "node scripts/fetch-sherpa-prebuilds.mjs", "dist:mac": "electron-builder --mac", "dist:linux": "node scripts/fetch-sherpa-prebuilds.mjs linux && electron-builder --linux", "dist:win": "node scripts/fetch-sherpa-prebuilds.mjs win && electron-builder --win", "publish:mac": "electron-vite build && electron-builder --mac --publish always", "publish:linux": "node scripts/fetch-sherpa-prebuilds.mjs linux && electron-vite build && electron-builder --linux --publish always", "publish:win": "node scripts/fetch-sherpa-prebuilds.mjs win && electron-vite build && electron-builder --win --publish always", "test": "vitest run --config vitest.config.main.ts && vitest run --config vitest.config.renderer.ts", "storybook": "storybook dev -p 6006 --no-open", "build-storybook": "storybook build -o out/storybook", "test:main": "vitest run --config vitest.config.main.ts", "test:renderer": "vitest run --config vitest.config.renderer.ts", "test:watch": "vitest --config vitest.config.main.ts", "test:coverage": "vitest run --config vitest.config.main.ts --coverage && vitest run --config vitest.config.renderer.ts --coverage", "build:headless": "esbuild src/headless/index.ts --bundle --platform=node --target=node18 --outfile=out/headless/index.js --alias:@shared=./src/shared --external:@anthropic-ai/claude-agent-sdk --external:better-sqlite3 --external:sherpa-onnx-node --external:sherpa-onnx-linux-x64 --external:sherpa-onnx-linux-arm64 --external:sherpa-onnx-win-x64 --external:sherpa-onnx-darwin-arm64 --external:sherpa-onnx-darwin-x64 && cp node_modules/sql.js/dist/sql-wasm.wasm out/headless/sql-wasm.wasm", "start:server": "node out/headless/index.js --server", "start:discord": "node out/headless/index.js --discord", "start:headless": "node out/headless/index.js --server --discord", "dist:headless": "bash scripts/package-headless.sh", "audit:dedup": "node scripts/dedup-analyzer.cjs", "audit:stems": "node scripts/stem-collision-audit.cjs", "audit:fanout": "python3 scripts/cross-community-fanout.py", "audit:check": "node scripts/check-dedup-drift.cjs", "audit:baseline": "node scripts/check-dedup-drift.cjs --update" }, "author": "Agent Desktop Contributors", "license": "AGPL-3.0-only", "dependencies": { "@anthropic-ai/claude-agent-sdk": "^0.2.118", "@fontsource/jetbrains-mono": "^5.2.8", "@modelcontextprotocol/sdk": "^1.29.0", "@monaco-editor/react": "^4.7.0", "@react-three/drei": "^9.122.0", "@react-three/fiber": "^8.18.0", "@sinclair/typebox": "^0.34.0", "@types/dompurify": "^3.0.5", "dbus-next": "^0.10.2", "diff": "^8.0.3", "discord.js": "^14.25.1", "dompurify": "^3.3.1", "electron-updater": "^6.7.3", "gpt-tokenizer": "^3.4.0", "highlight.js": "^11.11.1", "mermaid": "^11.4.1", "openwakeword-js": "^0.1.27", "qrcode": "^1.5.4", "react": "^18.3.1", "react-dom": "^18.3.1", "react-markdown": "^9.0.3", "remark-gfm": "^4.0.0", "sherpa-onnx-node": "^1.13.2", "sql.js": "^1.14.0", "three": "^0.183.0", "typescript": "^5.7.3", "ws": "^8.19.0", "zustand": "^5.0.3" }, "devDependencies": { "@fallow-cli/fallow-cov": "^0.1.9", "@storybook/addon-essentials": "^8.6.14", "@storybook/react": "^8.6.18", "@storybook/react-vite": "^8.6.18", "@storybook/test": "^8.6.18", "@testing-library/jest-dom": "^6.9.1", "@testing-library/react": "^15.0.7", "@testing-library/user-event": "^14.6.1", "@types/better-sqlite3": "^7.6.12", "@types/diff": "^7.0.2", "@types/qrcode": "^1.5.6", "@types/react": "^18.3.18", "@types/react-dom": "^18.3.5", "@types/three": "^0.183.0", "@types/ws": "^8.18.1", "@vitejs/plugin-react": "^4.3.4", "@vitest/coverage-v8": "^4.1.5", "autoprefixer": "^10.4.20", "electron": "^33.3.1", "electron-builder": "^25.1.8", "electron-vite": "^2.3.0", "jsdom": "^28.0.0", "postcss": "^8.4.49", "storybook": "^8.6.18", "tailwindcss": "^3.4.17", "tsx": "^4.21.0", "vite": "^5.4.11", "vitest": "^4.0.18" } }

Trustgrade B

  • passBody integrity

    Whether the stored document is plausibly the kind of file the artifact declares, rather than something fetched by mistake.

  • warnType matchbest-effort: server code not analyzed

    Whether the artifact is really the kind of thing its metadata claims it is.

  • passFreshness

    How long since the source repository was last pushed to.

  • passPrompt injection

    Scans the artifact's own text for instructions aimed at your agent rather than at you.

  • warnLicensecopyleft/unknown — index-and-link only

    Whether the source repository declares an SPDX license permissive enough to redistribute.

How the grade is calculated

Each check contributes 0 points when it passes, 1 when it warns, and 2 when it fails. The total maps to a letter:

  • Aevery check passed
  • Bone warning
  • Ctwo warnings
  • Dprompt injection or body integrity failed, or three warnings
  • Fone of those failed, and something else is wrong

These are automated hygiene checks, not a security audit, and not a dependency or vulnerability scan. A grade of A means nothing was flagged — not that the artifact is safe.

Versions

  • git-9b925d1c7a622026-08-06