Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
PORTNoHTTP port (alternative to MCP_PORT)8000
MCP_HOSTNoHTTP bind address0.0.0.0
MCP_PORTNoHTTP port8000
CORS_ORIGINSNoAllowed origins (comma-separated)*
ORGO_API_KEYYesYour Orgo API key (required, starts with sk_live_)
MCP_TRANSPORTNoTransport mode: stdio or httpstdio

Tools

Functions exposed to the LLM to take actions

NameDescription
orgo_list_projects
List all Orgo projects in your account. Returns project names and IDs with pagination support. Use project names with orgo_list_computers or orgo_create_computer to manage computers. Args: params (ListProjectsInput): Input parameters containing: - limit (int): Maximum results to return, 1-100 (default: 20) - offset (int): Number of results to skip for pagination (default: 0) - response_format (ResponseFormat): 'markdown' or 'json' (default: markdown) Returns: str: Formatted response containing: Markdown format: # Orgo Projects Found X projects (showing Y) ## project-name (proj_123) - **Created**: 2024-01-15 10:30:00 JSON format: { "total": int, "count": int, "offset": int, "has_more": bool, "next_offset": int | null, "projects": [{"id": str, "name": str, "created_at": str}] } Examples: - "List my Orgo projects" -> orgo_list_projects with defaults - "Show next page of projects" -> orgo_list_projects with offset=20 Error Handling: - Returns "Error: Invalid API key..." if ORGO_API_KEY is invalid - Returns "No projects found" if account has no projects
orgo_list_computers
List all computers in a project. Returns computer IDs, names, and status with pagination. Use computer_id with action tools like orgo_screenshot, orgo_click, orgo_bash, etc. Args: params (ListComputersInput): Input parameters containing: - project_name (str): Project name from orgo_list_projects - limit (int): Maximum results, 1-100 (default: 20) - offset (int): Skip for pagination (default: 0) - response_format (ResponseFormat): 'markdown' or 'json' Returns: str: Formatted response containing: Markdown format: # Computers in project-name Found X computers (showing Y) ## dev-box (`comp_abc`) - **Status**: running - **OS**: linux - **RAM**: 4 GB | **CPU**: 2 cores JSON format: { "total": int, "count": int, "offset": int, "has_more": bool, "next_offset": int | null, "computers": [{"id": str, "name": str, "status": str, "os": str, "ram": int, "cpu": int}] } Examples: - "List computers in my-project" -> params with project_name="my-project" - "Show running VMs" -> list then filter by status Error Handling: - Returns "Project 'name' not found" if project doesn't exist - Returns "No computers found in project" if empty
orgo_create_project
Create a new Orgo project. Projects are containers for computers. Create a project first, then add computers to it with orgo_create_computer. Args: params (CreateProjectInput): Input parameters containing: - name (str): Unique name for the project (e.g., 'qa-automation') - icon_url (Optional[str]): URL for project icon Returns: str: JSON with created project details: { "id": str, "name": str, "status": str, "created_at": str, "desktops": [] } Examples: - "Create project for QA testing" -> params with name="qa-automation" - "Make new project called dev-env" -> params with name="dev-env" Error Handling: - Returns "Error: Conflict..." if project name already exists
orgo_get_project
Get project details by name. Returns full project information including all computers. Args: params (GetProjectInput): Input containing: - name (str): Project name to look up Returns: str: JSON with project details: { "id": str, "name": str, "status": str, "created_at": str, "desktops": [{"id": str, "name": str, "status": str, ...}] } Examples: - "Get details for my-project" -> params with name="my-project" Error Handling: - Returns "Error: Resource not found..." if project doesn't exist
orgo_delete_project
Permanently delete a project and ALL its computers. WARNING: This is destructive and cannot be undone. All computers and their data in the project will be lost. Args: params (ProjectIdInput): Input containing: - project_id (str): Project ID from orgo_list_projects Returns: str: Confirmation message Examples: - "Delete project proj_123" -> params with project_id="proj_123" Error Handling: - Returns "Error: Resource not found..." if project doesn't exist
orgo_start_project
Start all computers in a project. Batch operation to boot all computers simultaneously. Computers boot in under 500ms each. Args: params (ProjectIdInput): Input containing: - project_id (str): Project ID Returns: str: Confirmation message Examples: - "Start all computers in project proj_123" -> params with project_id="proj_123"
orgo_stop_project
Stop all computers in a project. Batch operation to stop all computers and save costs. Computers can be restarted later with orgo_start_project. Args: params (ProjectIdInput): Input containing: - project_id (str): Project ID Returns: str: Confirmation message Examples: - "Stop all computers in project proj_123" -> params with project_id="proj_123"
orgo_restart_project
Restart all computers in a project. Batch operation to restart all computers simultaneously. Args: params (ProjectIdInput): Input containing: - project_id (str): Project ID Returns: str: Confirmation message Examples: - "Restart all computers in project proj_123"
orgo_create_computer
Create a new virtual computer in a project. The computer boots in under 500ms and starts in 'running' status. Returns the computer ID for use with action tools. Args: params (CreateComputerInput): Input containing: - project_name (str): Project to create the computer in - name (str): Display name for the computer - os (Literal): 'linux' or 'windows' (default: linux) - ram (Literal): RAM in GB - 1, 2, 4, 8, 16, 32, 64 (default: 2) - cpu (Literal): CPU cores - 1, 2, 4, 8, 16 (default: 2) Returns: str: JSON with created computer details: { "id": str, "name": str, "status": "running", "os": str, "ram": int, "cpu": int } Examples: - "Create Linux computer with 4GB RAM" -> params with ram=4 - "Create Windows dev-box" -> params with os="windows", name="dev-box" Error Handling: - Returns "Error: Insufficient credits..." if account balance is low
orgo_get_computer
Get full details for a computer including access URL. Returns comprehensive information about a computer including its access URL for direct browser viewing. Args: params (ComputerIdInput): Input containing: - computer_id (str): Computer ID Returns: str: JSON with computer details: { "id": str, "name": str, "project_name": str, "os": str, "ram": int, "cpu": int, "status": str, "url": str, "created_at": str } Examples: - "Get details for computer abc123" -> params with computer_id="abc123" - "What's the URL for my computer?" -> get_computer then access url field
orgo_start_computer
Start a stopped computer. Boots in under 500ms. Use orgo_list_computers to find computer IDs. Args: params (ComputerIdInput): Input containing: - computer_id (str): Computer ID to start Returns: str: Confirmation message Examples: - "Start computer abc123" -> params with computer_id="abc123"
orgo_stop_computer
Stop a running computer to save costs. The computer can be restarted later with orgo_start_computer. Data on the computer is preserved. Args: params (ComputerIdInput): Input containing: - computer_id (str): Computer ID to stop Returns: str: Confirmation message
orgo_restart_computer
Restart a computer. Useful for recovering from unresponsive states or resetting to a clean environment. Args: params (ComputerIdInput): Input containing: - computer_id (str): Computer ID to restart Returns: str: Confirmation message
orgo_delete_computer
Permanently delete a computer. WARNING: This is destructive and cannot be undone. All data on the computer will be lost. Args: params (ComputerIdInput): Input containing: - computer_id (str): Computer ID to delete Returns: str: Confirmation message
orgo_screenshot
Take a screenshot of the computer's display. Returns a JPEG image of the current screen. Use this to see what's on screen before clicking or typing. Args: params (ComputerIdInput): Input containing: - computer_id (str): Computer ID to screenshot Returns: Image: JPEG screenshot of the current display Examples: - "Take a screenshot of computer abc123" - "Show me what's on the screen"
orgo_click
Click at (x, y) coordinates on the screen. Use orgo_screenshot first to see the screen and identify click targets. Coordinates are in pixels from top-left corner. Args: params (ClickInput): Input containing: - computer_id (str): Computer ID - x (int): Horizontal position in pixels - y (int): Vertical position in pixels - button (Literal): 'left', 'right', or 'middle' (default: left) Returns: str: Confirmation of click action Examples: - "Click at (500, 300)" -> params with x=500, y=300 - "Right-click at 100, 200" -> params with x=100, y=200, button="right"
orgo_double_click
Double-click at (x, y) coordinates. Use for opening files/apps on desktop or selecting text. Args: params (DoubleClickInput): Input containing: - computer_id (str): Computer ID - x (int): Horizontal position in pixels - y (int): Vertical position in pixels Returns: str: Confirmation of double-click action
orgo_type
Type text at the current cursor position. Click on an input field first, then use this to type text. Args: params (TypeInput): Input containing: - computer_id (str): Computer ID - text (str): Text to type Returns: str: Confirmation showing what was typed (truncated if long) Examples: - "Type 'hello world'" -> params with text="hello world"
orgo_key
Press a keyboard key or combination. Supports single keys and combinations with modifiers (ctrl, alt, shift, cmd). Args: params (KeyInput): Input containing: - computer_id (str): Computer ID - key (str): Key name or combination - Single keys: Enter, Tab, Escape, Backspace, Delete, Space - Arrow keys: Up, Down, Left, Right - Function keys: F1-F12 - Combos: ctrl+c, ctrl+v, alt+Tab, ctrl+shift+s Returns: str: Confirmation of key press Examples: - "Press Enter" -> params with key="Enter" - "Press Ctrl+C" -> params with key="ctrl+c"
orgo_scroll
Scroll the page in the specified direction. Args: params (ScrollInput): Input containing: - computer_id (str): Computer ID - direction (Literal): 'up', 'down', 'left', or 'right' - amount (int): How much to scroll, 1-10 (default: 3) Returns: str: Confirmation of scroll action
orgo_drag
Drag from one position to another. Useful for drag-and-drop operations, selecting text, or resizing windows. Args: params (DragInput): Input containing: - computer_id (str): Computer ID - start_x (int): Starting horizontal position - start_y (int): Starting vertical position - end_x (int): Ending horizontal position - end_y (int): Ending vertical position - duration (float): How long the drag takes, 0.1-5.0 (default: 0.5) Returns: str: Confirmation of drag action
orgo_wait
Wait for a specified duration. Useful for waiting for pages to load, animations to complete, or applications to start. Args: params (WaitInput): Input containing: - computer_id (str): Computer ID - seconds (float): How long to wait, 0.1-60 (default: 2) Returns: str: Confirmation of wait completion
orgo_bash
Execute a bash command on the computer. Useful for file operations, installing packages, running scripts, checking system state, etc. Args: params (BashInput): Input containing: - computer_id (str): Computer ID - command (str): Bash command to run Returns: str: Command output (stdout and stderr combined) Examples: - "Run ls -la" -> params with command="ls -la" - "Install requests" -> params with command="pip install requests"
orgo_exec
Execute Python code on the computer. Returns the output of the execution. Useful for data processing, file manipulation, and quick scripts. Args: params (ExecInput): Input containing: - computer_id (str): Computer ID - code (str): Python code to execute - timeout (int): Max execution time, 1-300 seconds (default: 30) Returns: str: Python execution output
orgo_prompt
Send an AI agent to complete a task on an Orgo computer (fire-and-forget). Launches a task asynchronously and returns immediately with a URL to monitor progress. The agent runs on Orgo's hosted AI infrastructure, controlling the computer with mouse, keyboard, and bash commands to complete the task. This is ideal for long-running tasks where you don't want to wait for completion. Check progress at the returned URL or use orgo_screenshot. Args: params (PromptInput): Input containing: - prompt (str): Natural language instruction for the AI agent - computer_id (Optional[str]): Existing computer ID. Creates new if omitted - project_name (Optional[str]): Project for new computer (default: 'MCP Agents') - computer_name (Optional[str]): Display name for new computer - max_iterations (int): Max agent loops, 1-200 (default: 50) Returns: str: Markdown-formatted response containing: - Computer ID for reference - Task summary (truncated if long) - URL to monitor progress at orgo.ai - Instructions for checking status and cleanup Examples: - "Search for AI news and create a summary document" -> Creates new computer, starts agent, returns URL immediately - "Fill out the contact form with test data" (with computer_id) -> Uses existing computer, starts agent on current screen state Error Handling: - Returns "Error: Resource not found..." if computer_id is invalid - Returns "Error: Insufficient credits..." if account balance is low - Returns "Error: Invalid API key..." if authentication fails
orgo_list_files
List all files associated with a computer. Shows both uploaded files and files exported from the computer. Use file IDs with orgo_download_file or orgo_delete_file. Args: params (ListFilesInput): Input containing: - computer_id (str): Computer ID - limit (int): Maximum results, 1-100 (default: 20) - offset (int): Skip for pagination (default: 0) - response_format (ResponseFormat): 'markdown' or 'json' Returns: str: Formatted list of files with pagination info
orgo_export_file
Export a file from the computer's filesystem. The computer must be running. Files can only be exported from /home/user. Returns a download URL that expires in 1 hour. Args: params (ExportFileInput): Input containing: - computer_id (str): Computer ID - path (str): Path to file (e.g., 'Desktop/results.txt') Returns: str: File info and download URL
orgo_upload_file
Upload a file to the computer's Desktop. The file will sync to all running computers in the project. Maximum file size: 10MB. Args: params (UploadFileInput): Input containing: - computer_id (str): Computer ID - filename (str): Name for the file - content_base64 (str): Base64-encoded content - content_type (Optional[str]): MIME type Returns: str: Confirmation message
orgo_download_file
Get a signed download URL for a file. The URL expires after 1 hour. Use orgo_list_files to find file IDs. Args: params (FileIdInput): Input containing: - file_id (str): File ID Returns: str: Download URL (expires in 1 hour)
orgo_delete_file
Delete a file from storage. WARNING: This permanently removes the file from cloud storage. Args: params (FileIdInput): Input containing: - file_id (str): File ID to delete Returns: str: Confirmation message
orgo_start_stream
Start RTMP streaming from a computer. Stream the computer's display to Twitch, YouTube, or any RTMP endpoint. Computer must be running. Only one stream per computer at a time. Args: params (StartStreamInput): Input containing: - computer_id (str): Computer ID - rtmp_url (str): Full RTMP URL with stream key - resolution (Literal): '1920x1080', '1280x720', '854x480' (default: 720p) - fps (Literal): 15, 30, or 60 (default: 30) - bitrate (str): Video bitrate (default: '2500k') Returns: str: JSON with stream status Examples: - "Stream to Twitch" -> params with rtmp_url="rtmp://live.twitch.tv/app/key"
orgo_stream_status
Get the current streaming status of a computer. Check if a stream is active, idle, or terminated. Args: params (ComputerIdInput): Input containing: - computer_id (str): Computer ID Returns: str: JSON with stream status
orgo_stop_stream
Stop RTMP streaming from a computer. Args: params (ComputerIdInput): Input containing: - computer_id (str): Computer ID Returns: str: JSON with final stream status
orgo_list_ai_models
List available AI models through OpenRouter. Returns a list of 400+ AI models available for use with orgo_ai_completion. Requires OpenRouter API key configured in your Orgo account. Args: params (ListAIModelsInput): Input containing: - limit (int): Maximum results, 1-200 (default: 50) - offset (int): Skip for pagination (default: 0) - response_format (ResponseFormat): 'markdown' or 'json' Returns: str: Formatted list of AI models with pagination Examples: - "List available AI models" -> orgo_list_ai_models with defaults
orgo_ai_completion
Run an AI completion using OpenRouter's 400+ models. Access models from OpenAI, Anthropic, Google, Meta, and more through a unified API. Requires OpenRouter key in your Orgo account settings. Args: params (AICompletionInput): Input containing: - model (str): Model ID (e.g., 'openai/gpt-4') - prompt (str): The prompt to send - system (Optional[str]): Optional system message - max_tokens (int): Max response length, 1-100000 (default: 1024) - temperature (float): Randomness, 0-2 (default: 0.7) Returns: str: The model's response text Examples: - "Ask GPT-4 to explain quantum computing" -> params with model="openai/gpt-4", prompt="Explain quantum computing"

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/nickvasilescu/orgo-mcp'

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