All Products
Search
Document Center

AgentBay:CodeSpace

Last Updated:Dec 23, 2025

Overview of open capabilities

Tool

Name

Description

Support status

System

create_sandbox

Creates a new AgentBay sandbox environment and returns its ID.

Supported

kill_sandbox

Releases resources after a task is complete.

Supported

shell

Executes a shell command on a Linux platform. It supports timeout control and returns the command output or an error message.

Supported

CodeSpace

run_code

Runs code in a specified context on a Linux platform and returns the output or an error.

Supported

Shell

shell

Executes a shell command and returns the output or an error.

Supported

FileSystem

create_directory

Creates a new directory or ensures that one exists. You can create multiple nested directories in a single operation. If the directory already exists, the operation succeeds silently. This is ideal for setting up a project's directory structure or ensuring that required paths exist. This tool works only in allowed directories.

Supported

edit_file

Edits a text file line by line. Each edit replaces an exact line sequence with new content. Returns a git-style diff to show the changes. This tool works only in allowed directories.

Supported

get_file_info

Retrieves detailed metadata for a file or directory. Returns comprehensive information such as size, creation time, last modified time, permissions, and type. This tool is useful for understanding file attributes without reading the content. This tool works only in allowed directories.

Supported

read_file

Reads the content of a file from the file system. You can specify an optional offset in bytes to start reading from a specific position, and an optional length in bytes to limit the number of bytes to read. If length is omitted or is 0, the file is read to the end. The tool handles various text encodings and provides detailed error messages if the file cannot be read. This tool works only in allowed directories.

Supported

read_multiple_files

Reads the content of multiple files at once. This is more efficient than reading files one by one when you need to analyze or compare them. The content of each file is returned with its path as a reference. A failure to read a single file does not stop the entire operation. This tool works only in allowed directories.

Supported

list_directory

Gets a detailed list of all files and directories in a specified path. Results use [FILE] and [DIR] prefixes to distinguish between files and directories. This tool is useful for understanding a directory structure and finding specific files. This tool works only in allowed directories.

Supported

move_file

Moves or renames files and directories. You can move a file to a different directory and rename it in a single operation. If the destination already exists, the operation fails. The tool works across different directories and can be used for simple renames within the same directory. The source and destination must be in allowed directories.

Supported

search_files

Recursively searches for files and directories that match a pattern. The search includes all subdirectories from the starting path. The search is case-sensitive and matches partial names. It returns the full path for all matching items. This is useful for finding files when you do not know their exact location. The search is limited to allowed directories.

Supported

write_file

Creates a new file or writes content to an existing file. You can overwrite the file or append content to it by specifying the mode parameter. Use the overwrite mode (default) to clear the file before writing, or use the append mode to add content to the end of the file. The tool handles text content with the correct encoding. This tool works only in allowed directories.

Supported

System

Manages the lifecycle of the sandbox environment.

Name

Description

Parameters

create_sandbox

Creates a new AgentBay sandbox environment and returns its ID.

{
  "type": "object",
  "properties": {},
  "required": []
}

kill_sandbox

Releases resources after a task is complete.

{
  "type": "object",
  "properties": {
    "sandbox_id": {
      "type": "string",
      "title": "Sandbox Id",
      "description": "The sandbox ID is the identifier for the tool execution environment. This sandbox_id comes from the create_sandbox tool."
    }
  },
  "required": [
    "sandbox_id"
  ]
}

shell

Executes a shell command on a Linux platform. It supports timeout control and returns the command output or an error message.

{
  "type": "object",
  "required": [
    "sandbox_id",
    "command",
    "timeout_ms"
  ],
  "properties": {
    "sandbox_id": {
      "type": "string",
      "title": "Sandbox Id",
      "description": "The sandbox ID is the identifier for the tool execution environment. This sandbox_id comes from the create_sandbox tool."
    },
    "cwd": {
      "description": "The working directory for command execution",
      "type": "string"
    },
    "envs": {
      "description": "Environment variables for command execution, e.g. {\"env1\":\"123\",\"env2\":\"abc\"}",
      "type": "object"
    },
    "timeout_ms": {
      "default": 1000,
      "description": "Command execution timeout in milliseconds. If not specified, the default value of 1000 ms is used.",
      "type": "integer"
    },
    "command": {
      "description": "The command entered by the client.",
      "type": "string"
    }
  }
}

CodeSpace

Name

Description

Parameters

run_code

Runs code in a specified context on a Linux platform and returns the output or an error.

{
  "inputSchema": {
    "properties": {
      "code": {
        "description": "The code to execute.",
        "type": "string"
      },
      "language": {
        "description": "The programming language for code execution. Supported values: 'python', 'javascript'. If not specified, Python is used by default.",
        "type": "string"
      },
      "timeout_s": {
        "default": 300,
        "description": "Command execution timeout in seconds. If not specified, the default value is 300 seconds. The maximum value is 3600 seconds.",
        "type": "integer"
      }
    },
    "required": ["code"],
    "type": "object"
  }
}

Shell

Executes Shell commands with timeout control.

Name

Description

Parameters

shell

Executes a shell command and returns the output or an error.

{
  "inputSchema": {
    "properties": {
      "command": {
        "description": "The command entered by the client.",
        "type": "string"
      },
      "timeout_ms": {
        "default": 1000,
        "description": "Command execution timeout in milliseconds. If not specified, the default value of 1000 ms is used.",
        "type": "integer"
      }
    },
    "required": ["command", "timeout_ms"],
    "type": "object"
  }
}

FileSystem

Provides file system operations such as uploading, downloading, and managing files.

Name

Description

Parameters

create_directory

Creates a new directory or ensures that one exists. You can create multiple nested directories in a single operation. If the directory already exists, the operation succeeds silently. This is ideal for setting up a project's directory structure or ensuring that required paths exist. This tool works only in allowed directories.

{
  "inputSchema": {
    "properties": {
      "path": {
        "description": "The path of the directory to create.",
        "type": "string"
      }
    },
    "required": ["path"],
    "type": "object"
  }
}

edit_file

Edits a text file line by line. Each edit replaces an exact line sequence with new content. Returns a git-style diff to show the changes. This tool works only in allowed directories.

{
  "inputSchema": {
    "properties": {
      "dryRun": {
        "default": false,
        "description": "Previews changes in a git-style diff format.",
        "type": "boolean"
      },
      "edits": {
        "items": {
          "properties": {
            "newText": {
              "description": "The new text to use for replacement.",
              "type": "string"
            },
            "oldText": {
              "description": "The text to search for. An exact match is required.",
              "type": "string"
            }
          },
          "required": ["oldText", "newText"],
          "type": "object"
        },
        "type": "array"
      },
      "path": {
        "description": "The path of the file to edit.",
        "type": "string"
      }
    },
    "required": ["path", "edits"],
    "type": "object"
  }
}

get_file_info

Retrieves detailed metadata for a file or directory. Returns comprehensive information such as size, creation time, last modified time, permissions, and type. This tool is useful for understanding file attributes without reading the content. This tool works only in allowed directories.

{
  "inputSchema": {
    "properties": {
      "path": {
        "description": "The path of the file or directory to inspect.",
        "type": "string"
      }
    },
    "required": ["path"],
    "type": "object"
  }
}

read_file

Reads the content of a file from the file system. You can specify an optional offset in bytes to start reading from a specific position, and an optional length in bytes to limit the number of bytes to read. If length is omitted or is 0, the file is read to the end. The tool handles various text encodings and provides detailed error messages if the file cannot be read. This tool works only in allowed directories.

{
  "inputSchema": {
    "properties": {
      "length": {
        "description": "The number of bytes to read. If omitted or set to 0, the file is read to the end.",
        "minimum": 0,
        "type": "integer"
      },
      "offset": {
        "default": 0,
        "description": "The byte offset from which to start reading.",
        "minimum": 0,
        "type": "integer"
      },
      "path": {
        "description": "The path of the file to read.",
        "type": "string"
      }
    },
    "required": ["path"],
    "type": "object"
  }
}

read_multiple_files

Reads the content of multiple files at once. This is more efficient than reading files one by one when you need to analyze or compare them. The content of each file is returned with its path as a reference. A failure to read a single file does not stop the entire operation. This tool works only in allowed directories.

{
  "inputSchema": {
    "properties": {
      "paths": {
        "description": "An array of file paths to read.",
        "items": {
          "type": "string"
        },
        "type": "array"
      }
    },
    "required": ["paths"],
    "type": "object"
  }
}

list_directory

Gets a detailed list of all files and directories in a specified path. Results use [FILE] and [DIR] prefixes to distinguish between files and directories. This tool is useful for understanding a directory structure and finding specific files. This tool works only in allowed directories.

{
  "inputSchema": {
    "properties": {
      "path": {
        "description": "The path of the directory to list.",
        "type": "string"
      }
    },
    "required": ["path"],
    "type": "object"
  }
}

move_file

Moves or renames files and directories. You can move a file to a different directory and rename it in a single operation. If the destination already exists, the operation fails. The tool works across different directories and can be used for simple renames within the same directory. The source and destination must be in allowed directories.

{
  "inputSchema": {
    "properties": {
      "destination": {
        "description": "The destination path for the file or directory.",
        "type": "string"
      },
      "source": {
        "description": "The source path of the file or directory.",
        "type": "string"
      }
    },
    "required": ["source", "destination"],
    "type": "object"
  }
}

search_files

Recursively searches for files and directories that match a pattern. The search includes all subdirectories from the starting path. The search is case-sensitive and matches partial names. It returns the full path for all matching items. This is useful for finding files when you do not know their exact location. The search is limited to allowed directories.

{
  "inputSchema": {
    "properties": {
      "excludePatterns": {
        "default": [],
        "description": "The patterns to exclude. This parameter is optional.",
        "items": {
          "type": "string"
        },
        "type": "array"
      },
      "path": {
        "description": "The directory path from which to start the search.",
        "type": "string"
      },
      "pattern": {
        "description": "The pattern to match.",
        "type": "string"
      }
    },
    "required": ["path", "pattern"],
    "type": "object"
  }
}

write_file

Creates a new file or writes content to an existing file. You can overwrite the file or append content to it by specifying the mode parameter. Use the overwrite mode (default) to clear the file before writing, or use the append mode to add content to the end of the file. The tool handles text content with the correct encoding. This tool works only in allowed directories.

{
  "inputSchema": {
    "properties": {
      "content": {
        "description": "The content to write.",
        "type": "string"
      },
      "mode": {
        "default": "overwrite",
        "description": "The write mode. 'overwrite' clears the file. 'append' adds content to the end of the file.",
        "enum": ["overwrite", "append"],
        "type": "string"
      },
      "path": {
        "description": "The path of the file to write to.",
        "type": "string"
      }
    },
    "required": ["path", "content"],
    "type": "object"
  }
}

MCP Tool List

{"codespace":{"tools":[{"name":"run_code","description":"Runs the code in the specified context with timeout and returns the output or an error on linux platform.","inputSchema":{"properties":{"code":{"description":"Code to execute","type":"string"},"language":{"description":"The programming language to use for code execution. Supported values: 'python', 'javascript'. If not specified, Python will be used by default.","type":"string"},"timeout_s":{"default":300,"description":"Command execution timeout (unit: seconds). If not specified, the default value (such as 300 seconds) is used, Maximum 3600 seconds","type":"integer"}},"required":["code"],"type":"object"}}]},"shell":{"tools":[{"name":"shell","description":"Executes an shell command with timeout and returns the output or an error on linux platform.","inputSchema":{"properties":{"command":{"description":"client input command","type":"string"},"timeout_ms":{"default":1000,"description":"Command execution timeout (unit: milliseconds). If not specified, the default value (such as 1000 milliseconds) is used","type":"integer"}},"required":["command","timeout_ms"],"type":"object"}}]},"filesystem":{"tools":[{"name":"create_directory","description":"Create a new directory or ensure a directory exists. Can create multiple nested directories in one operation. If the directory already exists, this operation will succeed silently. Perfect for setting up directory structures for projects or ensuring required paths exist. Only works within allowed directories.","inputSchema":{"properties":{"path":{"description":"Directory path to create.","type":"string"}},"required":["path"],"type":"object"}},{"name":"edit_file","description":"Make line-based edits to a text file. Each edit replaces exact line sequences with new content. Returns a git-style diff showing the changes made. Only works within allowed directories.","inputSchema":{"properties":{"dryRun":{"default":false,"description":"Preview changes using git-style diff format","type":"boolean"},"edits":{"items":{"properties":{"newText":{"description":"Text to replace with","type":"string"},"oldText":{"description":"Text to search for - must match exactly","type":"string"}},"required":["oldText","newText"],"type":"object"},"type":"array"},"path":{"description":"File path to edit.","type":"string"}},"required":["path","edits"],"type":"object"}},{"name":"get_file_info","description":"Retrieve detailed metadata about a file or directory. Returns comprehensive information including size, creation time, last modified time, permissions, and type. This tool is perfect for understanding file characteristics without reading the actual content. Only works within allowed directories.","inputSchema":{"properties":{"path":{"description":"File or directory path to inspect.","type":"string"}},"required":["path"],"type":"object"}},{"name":"read_file","description":"Read the contents of a file from the file system. You can specify an optional 'offset' (in bytes) to start reading from a specific position, and an optional 'length' (in bytes) to limit how many bytes to read. If 'length' is omitted or 0, the file will be read to the end. Handles various text encodings and provides detailed error messages if the file cannot be read. Only works within allowed directories.","inputSchema":{"properties":{"length":{"description":"Number of bytes to read. If omitted or 0, read to end of file.","minimum":0,"type":"integer"},"offset":{"default":0,"description":"Start reading from this byte offset.","minimum":0,"type":"integer"},"path":{"description":"File path to read.","type":"string"}},"required":["path"],"type":"object"}},{"name":"read_multiple_files","description":"Read the contents of multiple files simultaneously. This is more efficient than reading files one by one when you need to analyze or compare multiple files. Each file's content is returned with its path as a reference. Failed reads for individual files won't stop the entire operation. Only works within allowed directories.","inputSchema":{"properties":{"paths":{"description":"Array of file paths to read.","items":{"type":"string"},"type":"array"}},"required":["paths"],"type":"object"}},{"name":"list_directory","description":"Get a detailed listing of all files and directories in a specified path. Results clearly distinguish between files and directories with [FILE] and [DIR] prefixes. This tool is essential for understanding directory structure and finding specific files within a directory. Only works within allowed directories.","inputSchema":{"properties":{"path":{"description":"Directory path to list.","type":"string"}},"required":["path"],"type":"object"}},{"name":"move_file","description":"Move or rename files and directories. Can move files between directories and rename them in a single operation. If the destination exists, the operation will fail. Works across different directories and can be used for simple renaming within the same directory. Both source and destination must be within allowed directories.","inputSchema":{"properties":{"destination":{"description":"Destination file or directory path.","type":"string"},"source":{"description":"Source file or directory path.","type":"string"}},"required":["source","destination"],"type":"object"}},{"name":"search_files","description":"Recursively search for files and directories matching a pattern. Searches through all subdirectories from the starting path. The search is case-sensitive and matches partial names. Returns full paths to all matching items. Great for finding files when you don't know their exact location. Only searches within allowed directories.","inputSchema":{"properties":{"excludePatterns":{"default":[],"description":"Patterns to exclude (optional).","items":{"type":"string"},"type":"array"},"path":{"description":"Directory path to start search.","type":"string"},"pattern":{"description":"Pattern to match.","type":"string"}},"required":["path","pattern"],"type":"object"}},{"name":"write_file","description":"Create a new file or write content to an existing file. You can choose to completely overwrite the file or append to the end by specifying the 'mode' parameter. Use 'overwrite' mode (default) to clear the file before writing, or 'append' mode to add content to the end of the file. Handles text content with proper encoding. Only works within allowed directories.","inputSchema":{"properties":{"content":{"description":"Content to write.","type":"string"},"mode":{"default":"overwrite","description":"Write mode: 'overwrite' to clear file, 'append' to add to end.","enum":["overwrite","append"],"type":"string"},"path":{"description":"File path to write.","type":"string"}},"required":["path","content"],"type":"object"}}]},"oss":{"tools":[{"name":"oss_env_init","description":"Create and initialize OSS environment variables with the specified endpoint, access key ID, access key secret, security token, and region. The temporary security credentials obtained from the STS (Security Token Service). For more information, see: https://www.alibabacloud.com/help/zh/oss/developer-reference/use-temporary-access-credentials-provided-by-sts-to-access-oss?spm=a2c4g.11186623.help-menu-search-31815.d_1#9ab17afd7cs4t .","inputSchema":{"properties":{"access_key_id":{"description":"The Access Key ID for OSS authentication","type":"string"},"access_key_secret":{"description":"The Access Key Secret for OSS authentication","type":"string"},"endpoint":{"description":"The OSS service endpoint, e.g.,  If not specified, the default is https://oss-cn-hangzhou.aliyuncs.com","type":"string"},"region":{"description":"The OSS region, e.g., cn-hangzhou. If not specified, the default is cn-hangzhou","type":"string"},"security_token":{"description":"The Security Token for OSS authentication","type":"string"}},"required":["access_key_id","access_key_secret","security_token"],"type":"object"}},{"name":"oss_upload","description":"Upload a local file or directory to the specified OSS bucket. If a directory is specified, it will be compressed into a zip file before uploading. The object name in OSS can be specified; if not, the file or zip name will be used by default. Note: You must call the oss_env_init tool to initialize OSS environment variables before using this tool.","inputSchema":{"properties":{"bucket":{"description":"OSS bucket name","type":"string"},"object":{"description":"Object path in OSS bucket, e.g., test/test.txt","type":"string"},"path":{"description":"Local file or not empty directory full path to upload, e.g., /tmp/test.txt /tmp on Linux or C:/tmp/test.txt C:/tmp on Windows","type":"string"}},"required":["bucket","object","path"],"type":"object"}},{"name":"oss_download","description":"Download an object from the specified OSS bucket to the given local path. If the parent directory does not exist, it will be created automatically. If the target file already exists, it will be overwritten. Note: You must call the oss_env_init tool to initialize OSS environment variables before using this tool.","inputSchema":{"properties":{"bucket":{"description":"OSS bucket name","type":"string"},"object":{"description":"Object path in OSS bucket, e.g., test/test.txt","type":"string"},"path":{"description":"Local full path to save the downloaded file, e.g., /tmp/test.txt on Linux or C:/tmp/test.txt on Windows","type":"string"}},"required":["bucket","object","path"],"type":"object"}},{"name":"oss_upload_annon","description":"Upload a local file or directory to the specified URL using HTTP PUT. If a directory is specified, it will be compressed into a zip file before uploading. If the upload target already exists, it will be overwritten.","inputSchema":{"properties":{"path":{"description":"Local file or not empty directory full path to upload, e.g., /tmp/test.txt /tmp on Linux or C:/tmp/test.txt  C:/tmp on Windows","type":"string"},"url":{"description":"The HTTP/HTTPS URL to upload the file to","type":"string"}},"required":["url","path"],"type":"object"}},{"name":"oss_download_annon","description":"Download a file from the specified URL to the given local path. If the parent directory does not exist, it will be created automatically. If the target file already exists, it will be overwritten.","inputSchema":{"properties":{"path":{"description":"The full local file path to save the downloaded file, e.g., /tmp/test.txt on Linux or C:/tmp/test.txt on Windows","type":"string"},"url":{"description":"The HTTP/HTTPS URL to download the file from","type":"string"}},"required":["url","path"],"type":"object"}}]}}