Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
WIN98_MCP_CONFIGNoPath to a specific broker config file (.win98-mcp/config.json)
WIN98_MCP_GUEST_IPYesThe expected IPv4 address of the Windows 98 guest (required for connection)
WIN98_MCP_BIND_HOSTNoOverride the host-only listener address
WIN98_MCP_STATE_DIRNoOverride logs/artifacts state directory
WIN98_MCP_GUEST_PORTNoOverride TCP port (default 9898)
WIN98_MCP_HOST_ROOTSNoAdd an allowed host transfer root (repeatable, provide as single path)

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
qemu_doctorA

Check the local QEMU host, configured binary, managed VM root, accelerator policy, and stable guest-to-host TCP route. VM remains locked by this session; call vm_unlock when finished.

qemu_vm_listA

List broker-managed QEMU VMs and their lifecycle state. VM remains locked by this session; call vm_unlock when finished.

qemu_vm_selectA

Record the managed QEMU VM selected in this MCP/Admin session's QEMU panel. In-guest MCP control remains the agent's outbound TCP connection. VM remains locked by this session; call vm_unlock when finished.

qemu_vm_unselectA

Clear this session's managed QEMU VM selection. VM remains locked by this session; call vm_unlock when finished.

qemu_vm_statusA

Read one managed QEMU VM's process, QMP, and guest TCP transport state. VM remains locked by this session; call vm_unlock when finished.

qemu_vm_command_previewA

Preview the exact managed QEMU command without changing VM state. VM remains locked by this session; call vm_unlock when finished.

qemu_vm_createA

Import a broker-local disk into a new managed qcow2 QEMU VM. disk_path currently belongs to the broker host; remote-media upload is not available yet. VM remains locked by this session; call vm_unlock when finished.

qemu_vm_updateA

Update a stopped managed QEMU VM definition, including accelerator policy and any profile component. VM remains locked by this session; call vm_unlock when finished.

qemu_vm_startA

Start a managed QEMU VM with QMP and the profile's guest TCP network. VM remains locked by this session; call vm_unlock when finished.

qemu_vm_shutdownA

Request graceful guest shutdown, wait 40 seconds, then stop only this QEMU process if needed. VM remains locked by this session; call vm_unlock when finished.

qemu_vm_restartA

Gracefully stop then restart a managed QEMU VM. VM remains locked by this session; call vm_unlock when finished.

qemu_vm_force_stopA

Immediately stop a managed QEMU VM when graceful shutdown is not possible. VM remains locked by this session; call vm_unlock when finished.

qemu_vm_deleteA

Move a managed QEMU VM to recoverable broker trash; only the newest three entries are retained. VM remains locked by this session; call vm_unlock when finished.

qemu_vm_trash_listA

List recoverable deleted managed VMs. VM remains locked by this session; call vm_unlock when finished.

qemu_vm_restoreA

Restore a managed VM from broker trash. VM remains locked by this session; call vm_unlock when finished.

qemu_vm_trash_emptyA

Permanently delete every retained QEMU trash entry. VM remains locked by this session; call vm_unlock when finished.

qemu_vm_metricsA

Read managed QEMU process and QMP metrics. VM remains locked by this session; call vm_unlock when finished.

qemu_media_pushA

Copy a broker-local .iso image into this VM's managed media directory. source_path is resolved on the broker host; remote media upload is not available yet. VM remains locked by this session; call vm_unlock when finished.

qemu_media_listA

List ISO images stored in this managed VM's media directory and report which ISO is configured as mounted. VM remains locked by this session; call vm_unlock when finished.

qemu_media_mountA

Mount a managed ISO now when the VM is running and persist it for future starts. VM remains locked by this session; call vm_unlock when finished.

qemu_media_ejectA

Eject the managed CD-ROM now when running and persist an empty drive for future starts. VM remains locked by this session; call vm_unlock when finished.

qemu_media_deleteA

Delete an unmounted managed ISO. force=true ejects it first when it is mounted. VM remains locked by this session; call vm_unlock when finished.

qemu_media_set_bootA

Set persistent QEMU boot order to disk, cdrom, or network. The VM must be stopped. VM remains locked by this session; call vm_unlock when finished.

qemu_snapshot_listA

List stopped-VM qcow2 internal snapshots. VM remains locked by this session; call vm_unlock when finished.

qemu_snapshot_createA

Create a named qcow2 internal disk snapshot while the VM is stopped. VM remains locked by this session; call vm_unlock when finished.

qemu_snapshot_restoreA

Restore a named qcow2 internal disk snapshot while the VM is stopped. VM remains locked by this session; call vm_unlock when finished.

qemu_snapshot_deleteA

Delete a named qcow2 internal disk snapshot while the VM is stopped. VM remains locked by this session; call vm_unlock when finished.

qemu_screen_captureA

Capture the QEMU framebuffer before the Windows controller has started. VM remains locked by this session; call vm_unlock when finished.

qemu_keyboard_keyA

Send a QMP qcode key event before or after guest-agent startup. VM remains locked by this session; call vm_unlock when finished.

qemu_keyboard_typeA

Type basic QEMU monitor-compatible text into the active QEMU display. VM remains locked by this session; call vm_unlock when finished.

qemu_mouse_moveA

Send absolute QMP mouse coordinates to a running QEMU VM. VM remains locked by this session; call vm_unlock when finished.

qemu_mouse_clickA

Move then click through QMP before the Windows controller is available. VM remains locked by this session; call vm_unlock when finished.

qemu_qmp_executeA

Run an advanced QMP command against a managed VM's local broker-owned QMP endpoint. VM remains locked by this session; call vm_unlock when finished.

qemu_hmp_commandA

Run an advanced HMP command through QMP human-monitor-command. VM remains locked by this session; call vm_unlock when finished.

vm_statusA

Inspect guest connection and lease state without acquiring the VM lease.

vm_capabilitiesA

Read the connected Windows 98 guest capabilities without acquiring the VM lease.

vm_lockA

Explicitly acquire the exclusive VM lease. Most operational tools acquire it automatically. VM remains locked by this session; call vm_unlock when finished.

vm_waitA

Wait in the FIFO lease queue for at most ten minutes. Use after VM_BUSY. VM remains locked by this session; call vm_unlock when finished.

vm_unlockA

Release this session's VM lease. Normal unlock refuses while terminals or transfers remain open.

show_messageA

Display a Windows 98 message dialog titled Windows 98 Remote Control. Acquires the VM lease. VM remains locked by this session; call vm_unlock when finished.

screen_captureA

Capture the primary display or a pixel region as native MCP PNG image content. Acquires the VM lease. VM remains locked by this session; call vm_unlock when finished.

mouse_moveA

Move the mouse to an exact zero-based physical pixel coordinate. VM remains locked by this session; call vm_unlock when finished.

mouse_clickA

Click at the supplied coordinates, or at the current pointer position when omitted. VM remains locked by this session; call vm_unlock when finished.

mouse_downA

Hold a mouse button down, optionally moving to coordinates first. Always release it later. VM remains locked by this session; call vm_unlock when finished.

mouse_upA

Release a held mouse button, optionally moving to coordinates first. VM remains locked by this session; call vm_unlock when finished.

mouse_dragA

Drag between exact pixel coordinates while holding the selected mouse button. VM remains locked by this session; call vm_unlock when finished.

mouse_scrollA

Send a mouse-wheel delta at optional coordinates. Requires guest wheel support. VM remains locked by this session; call vm_unlock when finished.

mouse_positionA

Read the current mouse pointer position. VM remains locked by this session; call vm_unlock when finished.

mouse_release_allA

Release every mouse button tracked as held by this session. VM remains locked by this session; call vm_unlock when finished.

keyboard_typeA

Type text with the active Windows 98 keyboard layout; fails rather than substituting unrepresentable characters. VM remains locked by this session; call vm_unlock when finished.

keyboard_keyA

Press, hold, or release a named key such as ENTER, CTRL, LEFT, or F1. VM remains locked by this session; call vm_unlock when finished.

keyboard_hotkeyA

Press named keys in order and release them in reverse order. VM remains locked by this session; call vm_unlock when finished.

keyboard_keycodeA

Send a low-level Win32 virtual-key or scan-code input event. VM remains locked by this session; call vm_unlock when finished.

keyboard_release_allA

Release every keyboard key tracked as held by this session. VM remains locked by this session; call vm_unlock when finished.

input_batchA

Execute a validated mouse, keyboard, delay, clipboard, and focus sequence in one guest round trip. VM remains locked by this session; call vm_unlock when finished.

clipboard_getA

Read text from the Windows 98 clipboard. VM remains locked by this session; call vm_unlock when finished.

clipboard_setA

Replace Windows 98 clipboard text. VM remains locked by this session; call vm_unlock when finished.

window_listA

List windows with handle, title, class, process, visibility, enabled state, and screen rectangle. VM remains locked by this session; call vm_unlock when finished.

window_focusA

Bring a window returned by window_list to the foreground. VM remains locked by this session; call vm_unlock when finished.

window_closeA

Request that a selected window close. VM remains locked by this session; call vm_unlock when finished.

window_captureA

Capture a selected window as native MCP PNG image content. VM remains locked by this session; call vm_unlock when finished.

shell_execA

Run a command to completion with captured ordered stdout+stderr output; error results may include a screenshot. VM remains locked by this session; call vm_unlock when finished.

shell_startA

Start an interactive redirected-pipe shell session and return its session ID. VM remains locked by this session; call vm_unlock when finished.

shell_readA

Read bounded output after a cursor from an interactive shell, optionally long-polling. VM remains locked by this session; call vm_unlock when finished.

shell_writeA

Write UTF-8 text or base64 bytes to an interactive shell and optionally close stdin. VM remains locked by this session; call vm_unlock when finished.

shell_terminateA

Terminate a running interactive shell session. VM remains locked by this session; call vm_unlock when finished.

shell_closeA

Release broker resources for a completed interactive shell session. VM remains locked by this session; call vm_unlock when finished.

process_listA

List Windows 98 processes. VM remains locked by this session; call vm_unlock when finished.

process_waitA

Wait for a process to exit for a bounded period. VM remains locked by this session; call vm_unlock when finished.

process_killA

Terminate a process and, by default, its discovered child tree. VM remains locked by this session; call vm_unlock when finished.

fs_drivesA

List available Windows drive roots for filesystem browsing. VM remains locked by this session; call vm_unlock when finished.

fs_statA

Read metadata for a guest filesystem path. VM remains locked by this session; call vm_unlock when finished.

fs_listA

List a guest directory, optionally recursively. VM remains locked by this session; call vm_unlock when finished.

fs_mkdirA

Create a guest directory. VM remains locked by this session; call vm_unlock when finished.

fs_moveA

Move or rename a guest file or directory. VM remains locked by this session; call vm_unlock when finished.

fs_deleteA

Delete a guest file or directory. VM remains locked by this session; call vm_unlock when finished.

file_pushA

Copy a host file into the guest through a verified temporary-file commit. VM remains locked by this session; call vm_unlock when finished.

file_pullA

Copy a guest file to an allowed host path through a verified temporary-file commit. VM remains locked by this session; call vm_unlock when finished.

directory_pushA

Merge-copy a host directory into the guest without deleting unrelated guest files. VM remains locked by this session; call vm_unlock when finished.

directory_pullA

Merge-copy a guest directory to an allowed host path without deleting unrelated host files. VM remains locked by this session; call vm_unlock when finished.

system_infoA

Read detailed guest operating-system, code-page, display, and build information. VM remains locked by this session; call vm_unlock when finished.

agent_diagnosticsA

Read the guest crash context and supervisor recovery status without acquiring the VM lease.

system_rebootA

Reboot Windows 98. This disconnects the guest and requires configured autostart for recovery. VM remains locked by this session; call vm_unlock when finished.

system_shutdownA

Shut down Windows 98. The guest cannot reconnect until the VM is started externally. VM remains locked by this session; call vm_unlock when finished.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/ido-pluto/windows98-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server