MCP Servers
How Artemis runs your browser and controls your machine.
Most AI agents have their tools hardcoded into a single monolithic script. I built Artemis differently. It uses the Model Context Protocol (MCP) to talk to standalone tool servers.
When the agent boots, it dynamically asks the servers what they can do. If you want to add a new capability, you don't rewrite the core loop—you just add another MCP server.
Browser Server
This is the Playwright implementation. It launches a Chromium instance and navigates the web.
I learned the hard way that blind DOM parsing rarely works for AI agents. They get stuck, hallucinate buttons, or silently fail. So this server includes a vision loop. It injects a status overlay directly into the browser window, so you can actually watch what the agent is investigating, clicking, or typing in real-time.
navigateNavigate the browser to any specific URL.
clickClick an element on the page (supports CSS or text selectors).
typeType text into an input element (with optional clear/submit flags).
screenshotTake a screenshot of the current page, returning a base64 PNG.
get_textRetrieve textual content from the page DOM (up to 5000 chars).
scrollScroll up or down on the page by a specific pixel amount.
backNavigate back in the browser history.
waitWait for a specific selector to appear or sleep for a duration.
execute_jsExecute arbitrary JavaScript code on the loaded page.
close_browserClose the Playwright Chromium browser instance.
Computer Server
This server gives the agent local control over the machine. It can query system specs, list processes, open apps via winget, or read/write your clipboard.
I use this mostly for housekeeping. "Clean out my downloads folder," "kill whatever is eating port 3000," or "summarize the text I just copied."
system_infoGet system details like CPU, memory, OS platform, and IP.
list_appsList installed applications via winget.
open_appOpen or launch an application by its winget package ID.
run_commandExecute a shell command in the specified working directory.
list_processesList active running processes sorted by memory usage.
kill_processTerminate a process by name or PID.
clipboard_readRead the current host system clipboard contents.
clipboard_writeWrite a text string to the host system clipboard.
notifyDisplay a Windows desktop toast notification.
open_urlOpen a URL in the default system web browser.
set_volumeAdjust host system audio volume (0-100).
screenshotTake a screenshot of the physical host desktop.
wifi_infoGet current WiFi SSID and signal strength metrics.
disk_usageQuery total and free disk space for all drives.
environment_variableGet or set environment variables on the host system.
Scheduler Server
A SQLite-backed scheduler that gives the agent a sense of time.
It runs an autonomous off-hours batch process. If you ask Artemis to research a topic, but you don't need the answer immediately, it defers the heavy parsing until 2 AM when your CPU is idle.
More importantly, it allows for self-prompting. Artemis can schedule a "wake-up" event—essentially sending a message to its future self. This lets it daisy-chain autonomous tasks across multiple days without requiring me to explicitly trigger them.
create_eventCreate a scheduled event, reminder, or wake-up prompt.
list_eventsQuery upcoming active events filtered by status or date.
get_eventGet full details of a scheduled event by its ID.
update_eventModify title, prompt, timing, or status of an existing event.
delete_eventPermanently delete a scheduled event by ID.
defer_to_offhoursQueue a non-urgent task to run during the nightly 2 AM window.