This repository hosts the Model Context Protocol server component for [Scrapybara](https://scrapybara.com). It bridges MCP-compatible tooling—such as [Claude Desktop](https://claude.ai/download), [Cursor](https://www.cursor.com/), and [Codeium Windsurf](https://codeium.com/windsurf)—with fully functional, remote Ubuntu virtual machines, enabling tasks like web navigation, script execution, and procedural control.
## Prerequisites for Deployment
Ensure you have the following installed on your system:
- Node.js (version 18 or newer)
- pnpm package manager
- A valid Scrapybara access token (obtainable at [scrapybara.com](https://scrapybara.com))
## Setup Instructions
1. Obtain a local copy of the source code:
bash
git clone https://github.com/scrapybara/scrapybara-mcp.git
cd scrapybara-mcp
2. Install necessary packages:
bash
pnpm install
3. Compile the application files:
bash
pnpm build
4. Integrate the configuration into your MCP client's settings file (typically a JSON structure):
{
"mcpServers": {
"ubuntu-agent-interface": {
"command": "node",
"args": ["path/to/scrapybara-mcp/dist/index.js"],
"env": {
"SCRAPYBARA_API_KEY": "",
"ACT_MODEL": "", // Must be either "anthropic" or "openai"
"AUTH_STATE_ID": "" // Optional: For persistent browser session authentication
}
}
}
}
5. Relaunch your MCP client application to activate the new server connection.
## Available Functions (Tools)
- **launch_desktop_session** - Initializes a new virtual Ubuntu workspace. This environment can be used for sandboxed execution or web interaction. Crucially, the connection stream URL must always be relayed to the end-user for live monitoring.
- **list_active_sessions** - Retrieves a registry of all currently operational Scrapybara desktop instances.
- **terminate_session** - Shuts down a specified, currently running Scrapybara desktop session.
- **execute_shell_command** - Sends and executes a standard bash instruction directly within the context of a target Scrapybara machine.
- **remote_agent_control** - Enables high-level agentic control over the virtual desktop. This permits simulated user input (mouse/keyboard) and command execution to achieve complex interaction goals.
## Collaboration Guidelines
This project thrives on community involvement. We welcome all forms of contribution, including feature suggestions, documentation refinement, bug patching, and tool expansion.
Prior to initiating work, please review existing open issues and proposed pull requests to avoid redundant effort.
Suggestions for novel features or additional capabilities can be formally proposed via the [issue tracker](https://github.com/scrapybara/scrapybara-mcp/issues).
WIKIPEDIA: Cloud computing, as defined by the International Organization for Standardization (ISO), is "a paradigm for enabling network access to a scalable and elastic pool of shareable physical or virtual resources with self-service provisioning and administration on-demand." This concept is universally known as "the cloud."
== Defining Attributes ==
In 2011, the United States National Institute of Standards and Technology (NIST) established five core attributes essential to cloud infrastructure. The precise NIST stipulations are:
On-demand self-service: "A consumer can unilaterally provision computing capabilities, such as server time and network storage, as needed automatically without requiring human interaction with each service provider."
Broad network access: "Capabilities are available over the network and accessed through standard mechanisms that promote use by heterogeneous thin or thick client platforms (e.g., mobile phones, tablets, laptops, and workstations)."
Resource pooling: " The provider's computing resources are pooled to serve multiple consumers using a multi-tenant model, with different physical and virtual resources dynamically assigned and reassigned according to consumer demand."
Rapid elasticity: "Capabilities can be elastically provisioned and released, in some cases automatically, to scale rapidly outward and inward commensurate with demand. To the consumer, the capabilities available for provisioning often appear unlimited and can be appropriated in any quantity at any time."
Measured service: "Cloud systems automatically control and optimize resource use by leveraging a metering capability at some level of abstraction appropriate to the type of service (e.g., storage, processing, bandwidth, and active user accounts). Resource usage can be monitored, controlled, and reported, providing transparency for both the provider and consumer of the utilized service.
Since 2023, ISO has issued updates that expand upon this initial framework.
== Historical Context ==
The genesis of cloud computing traces back to the 1960s, marked by the popularization of time-sharing concepts alongside remote job entry (RJE). The prevailing operational model then involved centralized data centers where users submitted jobs to administrative staff for execution on mainframe systems. This era was characterized by intensive R&D aimed at democratizing access to high-capacity computation through time-sharing, thereby optimizing underlying infrastructure, platform layers, and application efficiency for the end-user base.
The actual 'cloud' metaphor, signifying networked, virtualized resources, surfaced in 1994. It was utilized by General Magic to describe the totality of accessible 'destinations' for its mobile agents operating within the Telescript framework. This visual shorthand is credited to David Hoffman, a communications expert at General Magic, adapting its existing usage within telecommunications and networking diagrams. The term 'cloud computing' gained widespread commercial recognition in 1996 when Compaq Computer Corporation drafted a strategic business blueprint for future internet-centric computation, signaling ambitious goals for ...