Computer MCP
macOS computer use with the guardrails on: passwords blacked out, writes need consent, all logged.
Connector by Agent360dk · GitHub account verified by the MCP Registry
Install
Works with Claude Code, Codex, VS Code, Cursor, Windsurf, Claude Desktop. Read the repository before you give any tool access to your data.
npx agentmarket install connector/agent360dk-computer-mcp
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this server can do and what it asks for, from its tool list and install config. Checked Oct 25, 2026.
- Tools
- 13 read · 12 write · 0 delete · 7 not yet classified
- Secrets
- None asked for
- Install scripts
- Not scanned yet
- Runs as
- Node.js package
Tools by what they do 32
Read from the source code; the running server may list different tools.
Read 13 · Look things up without changing anything.
computer_appscomputer_ask_usercomputer_auditcomputer_displayscomputer_findcomputer_inspectcomputer_menuscomputer_pendingcomputer_permissionscomputer_quitcomputer_request_screencomputer_screenshot
Show 1 more tools
computer_windows
Write 12 · Create, change, send or run things.
computer_clickcomputer_dragcomputer_keycomputer_learningcomputer_movecomputer_pastecomputer_presscomputer_recordcomputer_scrollcomputer_set_valuecomputer_typecomputer_window
Not yet classified 7 · We could not tell from the name and description.
computer_activatecomputer_focusedcomputer_launchcomputer_menucomputer_opencomputer_spacecomputer_wait_for
Secrets and settings it asks for
Other settings (environment variables or headers).
CMCP_ASK_TIMEOUTCMCP_MODE
Files it touches
- Any path the agent passes to its tools
Tools (32)
Read from the source code; the running server may differ. Descriptions are the server’s own words; hidden characters are shown as [U+…].
computer_activateBring an application to the front by bundle ID or name.
computer_appsList running applications with their bundle IDs. Use the bundle ID to target other tools.
computer_ask_userAsk the human to do something themselves, and wait. Use it for anything you must NOT see: a password, a 2FA code, a CAPTCHA, an OAuth consent. Put the cursor in the right field first (computer_find, then computer_press), then call this - the human types on their own keyboard and presses Done. You get back true or false, never the text. There is deliberately no way to receive a secret through this server; if you need one typed, this is the only route. In background mode (the default) the question waits in the Computer MCP box in the top-right corner of their screen (and under the menu bar icon)…
computer_auditShow what this server has done: the last N entries of the append-only audit log.
computer_clickClick at screen coordinates. Get coordinates from computer_inspect frames, not from guessing. If the same write repeats more than ten times in a minute with identical arguments it is refused, because an agent that cannot see why it is stuck tends to try again - and here every retry is a real click on a real machine. The boundary is worth knowing: one pixel of difference resets the count, and key presses, scrolling and typing are exempt, because doing those ten times is simply what a person does.
computer_displaysList the displays: their stable id, position on the desktop, and size. Call this when a window is not where you expect - on a machine with several screens it is usually on another one. Use the id with computer_screenshot, never the index: the order is not stable between calls.
computer_dragDrag from one point to another: a file into a folder, a row into a new position in a list, a slider to a value. Coordinates are in POINTS, the same as computer_click - take them from computer_find, which gives you a center for every element it returns. Like clicking, this moves the real cursor, so it is not the quiet route; where an app publishes an accessibility tree, computer_press and computer_set_value do more without touching the pointer. It reports that the drag was sent, never that it was accepted - only a screenshot or a fresh look at the tree can tell you that.
computer_findFind elements by role, title or substring and get their frame, centre and whether they can be pressed. Coordinates come back in POINTS, which is what computer_click takes - so this is the way to act on "the Log in button" instead of on a pixel that stops being true the moment a window moves.
computer_focusedWhat has keyboard focus right now, and is it a secure field? Returns the role, subrole, title and a "secure" flag. Call it before typing or setting a value when you are not certain where the cursor is - "I think it is in the search box" is not knowing.
computer_inspectRead what an app shows, as text: one line per element that says something, role first. Use it to UNDERSTAND a window. To ACT on something, use computer_find instead - it returns the frame and whether the element can be pressed, and costs a fraction of this. Values of secure fields are never returned. Output is capped at 30,000 characters and says so when it was cut. In an Electron app the tree builds after it is switched on, so a first read that returns almost nothing can be read again a second later.
computer_keyPress a key combination, e.g. "cmd+s", "escape", "cmd+shift+4".
computer_launchOpen an application, by bundle ID or by its plain name ("Notes"). computer_activate can only bring forward something already running; this starts what is closed. If it is already running it just comes forward, and the answer says so. Launching cannot lose anything, so it does not ask for consent - quitting is a different tool for exactly that reason.
computer_learningWrite down what you learned while driving this Mac, so Computer MCP gets better. Call it yourself, without asking, when a step said ok and nothing happened, when you had to find another route, when a tool refused something you think it should do, or when a capability is missing. It appends one line to a local learnings file next to the audit log, which the person and the maintainers read - it is never sent anywhere by itself. The answer holds a pre-filled GitHub issue link the person can use to share it. Describe the step, not the person's content: numbers and email addresses are removed.
computer_menuChoose a menu item by its full path, e.g. "File > Export as…". Works through the accessibility API, so it reaches a window that is BEHIND another one and never moves your pointer - the same way computer_press does. Always give the whole path: "Delete" exists in several menus and hitting the wrong one is not a detail. Items whose name suggests deleting, clearing or quitting ask for consent every time, in every mode.
computer_menusRead an app's menu bar: every item as a full path like "File > Export as…", whether it is enabled right now, and its keyboard shortcut. A large part of macOS has no button on screen at all - it lives in a menu - so this is often the only way to reach an action. Reading is free; use it before computer_menu so you click a path that exists.
Show 17 more tools
computer_moveMove the mouse pointer without clicking (to trigger hover states).
computer_openOpen an app's OWN door in the background - a Spotify track, a WhatsApp chat, or the app itself - without activating it (if the app pulls itself to the front anyway, the front is handed back and the reply says so). This is the way to reach an app whose window is covered, or that will not act from behind: it uses the app's own URL, not its window. It carries navigation ONLY, never a send: it opens a chat with no pre-filled text and starts a track - it cannot send a message. Sending is a separate, ordinary action on the open window, subject to the same rules as any other write (this tool does not…
computer_pastePut text on the clipboard, press Cmd+V, then put your own clipboard back. Use it instead of computer_type for anything long or awkward - a paragraph, a URL, an emoji, text in a script the keyboard layout cannot produce - because it lands in one step rather than character by character. There is deliberately NO tool that READS the clipboard: a person copies a password out of their password manager, and one read would hand it to the model past every other guard. To put your previous clipboard back this does read it, in memory only, for the few milliseconds the paste takes; that value is never ret…
computer_pendingList the actions that were refused because they needed a human and there was no way to ask without taking over the screen. In background mode a dialog is itself an interruption, so a write that would need one is refused rather than raised - and the refusal only reaches the person if they happen to read the right conversation. This is where it becomes visible: what was asked for, when, and why it stopped. It is a list, not a button. Nothing here can be approved from here - a consent granted without a human is exactly what the gate exists to prevent. To allow the work, the person changes mode; t…
computer_permissionsCheck which macOS permissions are granted (Accessibility, Screen Recording). Call this first if anything fails. It also lists the rules in your MCP client (Claude Code settings) that let an agent click, type or send on this Mac without going through this server - osascript, an open shell, browser automation - because this server's consent never sees those.
computer_pressPress an element through its own accessibility action instead of simulating a click on a coordinate. Works while the window is BEHIND another one and never moves the human's mouse pointer - so it is the tool to reach for when the agent should not take over the screen. The exception is anything that opens a menu (a pop-up, a menu button, a combo box): pressing it behind would draw the menu over the person's screen and hold their mouse and keyboard, so it is refused until you ask for the screen with computer_request_screen. Two or more matches is a refusal, not a guess: narrow the search, or pas…
computer_quitAsk an application to quit, the same way Cmd+Q does - so it still gets to ask you about unsaved work. It never kills a process. Quitting can lose work, so it asks for consent every time, in every mode.
computer_recordRecord the screen to a video file, for a person to watch afterwards - a tutorial, a demo, proof of what was done. action "start" asks the person every time (it is the screen, for minutes; in read-only mode it is refused), then records one display until "stop" or maxSeconds. Only password managers are left out of the recording, including ones opened while it runs; everything else is recorded as it looks - password fields are NOT blacked out the way they are in screenshots. The answer is the file path: this server never reads the file back and never sends it to you. "status" says whether a recor…
computer_request_screenAsk the person to lend you the screen for a while - for the few steps that cannot be done from behind: moving the pointer, dragging, bringing a window forward, switching desktop. Before calling this, tell the person in the chat exactly what to do: press Allow (Touch ID) in the Computer MCP box in the top-right corner of the screen they are using (the same question is also under the orange menu bar icon), then confirm with Touch ID - this call then waits (several minutes) for them to do that, so do not call it silently. They approve it with Touch ID; you get it for at most 15 minutes, only you,…
computer_screenshotScreenshot ONE display, or one app. Password fields and password-manager windows are blacked out BEFORE the image is written, so they never reach the model. On a machine with several displays this captures one of them; the answer says which, how many there are, and where that screen sits on the desktop. A window you cannot find is usually on another display - call computer_displays and pass displayId. Set redact=false only if you know the screen holds no secrets.
computer_scrollScroll by pixel deltas. With app, the scroll lands in that app's window at the point x, y (in points, e.g. the centre computer_find gives you) - also when the window is behind another one, and without moving the pointer; leave x and y out to scroll the middle of the app's front window. Without app it scrolls at the current pointer position. A scroll is not confirmed by the app - check the effect with computer_find or a screenshot.
computer_set_valueWrite text straight into a text field without moving the pointer or bringing anything forward. On a pop-up button it chooses the item with that name instead: the menu opens on the person's screen for a moment and the item is pressed - only after 2 s without input from the person (otherwise person-active with idle_seconds). Nothing is chosen for a missing item (no-such-item, with the items there are), two items with the same name (ambiguous), a greyed-out item (disabled), a menu that did not show (menu-not-seen), or a slow app (app-busy). If the person starts using the keyboard or mouse while t…
computer_spaceSwitch to the desktop (Space) to the left or right, the way Control+Arrow does. This is how you reach a full-screen app: macOS gives every full-screen window its own Space, so a window you cannot find is often simply on another one. It moves what the person is looking at, so it asks for consent every time, in every mode - the same rule as quitting an app. If the system shortcut for switching Spaces is turned off on this machine it says so and sends nothing, rather than pressing a key that does nothing. And it tells you whether the desktop actually changed, measured by which windows are on scre…
computer_typeType text into the focused field as Unicode, so it works on any keyboard layout. The text is never written to the audit log in clear text.
computer_wait_forWait until an element appears, instead of taking screenshots in a loop. Give it the same search as computer_find plus a timeout in seconds; it returns as soon as something matches, or says plainly that nothing appeared. Twenty polls cost one call here and twenty images the other way - and an image is the most expensive thing you can put in a context window.
computer_windowMove, resize, close or minimise a window. Coordinates are global points, the same space computer_click uses, so a negative x is a screen to the left - this is how you put a window on another display. Closing a window can lose unsaved work, so close asks for consent every time, in every mode.
computer_windowsList open windows with titles and screen frames.
Signals
- Stars
- 1
- Forks
- 0
- Open issues
- 1
- Weekly downloads
- 23
- Last commit
- Oct 23, 2026 (5 days ago)
- Last release
- Sep 20, 2026 (1 month ago)
- Last package publish
- Sep 18, 2026 (1 month ago)
From GitHub (fetched Oct 24, 2026) and the package registry.
Details
- Registry name
io.github.Agent360dk/computer-mcp- Version
- 0.1.0
- Auth
- No auth
- Packages
- npm @agent360/computer-mcp
- License
- MIT
- Repository
- github.com/Agent360dk/computerMCP
- Website
- computermcp.dev
- First seen
- Oct 24, 2026
- Last checked
- Oct 25, 2026
More from Agent360dk
Cite this page
Computer MCP. Agent Mart. https://agentmart.dev/connectors/agent360dk-computer-mcp (last updated 2026-10-25)