Skip to main content
Glama
cfrs2005

GS Robot MCP Server

by cfrs2005

get_upload_record_v1

Check the status of a V1 map upload to GS cleaning robots using the upload record ID. Returns current upload status information for monitoring progress.

Instructions

Checks the status of a V1 map upload.

Args:
    record_id: The upload record ID.

Returns:
    A dictionary containing the upload status information.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
record_idYes

Implementation Reference

  • MCP tool handler function decorated with @mcp.tool(), which delegates to the underlying mcp instance method.
    async def get_upload_record_v1(record_id: str):
        """Checks the status of a V1 map upload.
    
        Args:
            record_id: The upload record ID.
    
        Returns:
            A dictionary containing the upload status information.
        """
        return await mcp.get_upload_record_v1(record_id=record_id)
  • Core implementation of get_upload_record_v1 in GausiumMCP class, performs the actual API call to check upload status.
    async def get_upload_record_v1(self, record_id: str) -> Dict[str, Any]:
        """
        V1地图上传状态检查。
    
        Args:
            record_id: 上传记录ID
    
        Returns:
            上传状态信息
    
        Raises:
            ValueError: record_id为空
            httpx.HTTPStatusError: API调用错误
            httpx.RequestError: 网络问题
        """
        if not record_id:
            raise ValueError("Record ID cannot be empty")
    
        async with GausiumAPIClient() as client:
            return await client.call_endpoint(
                'get_upload_record_v1',
                path_params={'record_id': record_id}
            )
  • API endpoint schema/definition for get_upload_record_v1 used by the GausiumAPIClient.
    'get_upload_record_v1': APIEndpoint(
        name="get_upload_record_v1",
        path="map/upload/{record_id}",
        method=HTTPMethod.GET,
        version=APIVersion.OPENAPI_V1,
        description="V1地图上传状态检查"
    ),
  • Registration of the MCP tool via @mcp.tool() decorator.
    async def get_upload_record_v1(record_id: str):
        """Checks the status of a V1 map upload.
    
        Args:
            record_id: The upload record ID.
    
        Returns:
            A dictionary containing the upload status information.
        """
        return await mcp.get_upload_record_v1(record_id=record_id)
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the tool 'checks' status, implying a read-only operation, but doesn't disclose other traits like authentication needs, rate limits, error handling, or whether it's idempotent. For a status-checking tool with zero annotation coverage, this leaves significant gaps in understanding its behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is appropriately sized and front-loaded, with the core purpose stated first, followed by structured sections for Args and Returns. Every sentence earns its place by defining the tool's function and parameters clearly, though the Returns section could be more detailed given the lack of output schema.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's moderate complexity (status-checking with one parameter), no annotations, and no output schema, the description is minimally adequate. It covers the basic purpose and parameter semantics but lacks details on usage guidelines, behavioral traits, and return value structure, leaving room for improvement in completeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description adds meaningful context for the single parameter 'record_id' by explaining it's 'The upload record ID,' which clarifies its purpose beyond the schema's minimal title 'Record Id.' With schema description coverage at 0% and only one parameter, this effectively compensates for the lack of schema documentation, providing essential semantic information.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose as 'Checks the status of a V1 map upload,' which is a specific verb (checks) and resource (V1 map upload status). It distinguishes itself from siblings like 'upload_robot_map_v1' (which uploads) and 'download_robot_map_v1/v2' (which download), but doesn't explicitly differentiate from other status-checking tools like 'get_robot_status_smart' or 'get_robot_command.'

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., needing an upload record ID from a prior upload), exclusions, or comparisons to similar tools like 'get_robot_status_smart' for robot status. Usage is implied only by the tool name and description, with no explicit context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Install Server

Other Tools

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/cfrs2005/mcp-gs-robot'

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