Skip to main content
Glama

get_artifact_url

Retrieve the direct download URL for a specific build artifact using its secure filename.

Instructions

Get the download URL for a build artifact.

Args: secure_filename: The secure filename of the artifact (from build results).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
secure_filenameYes

Implementation Reference

  • The MCP tool handler that fetches the download URL for a build artifact by secure filename.
    async def get_artifact_url(secure_filename: str) -> Any:
        """Get the download URL for a build artifact.
    
        Args:
            secure_filename: The secure filename of the artifact (from build results).
        """
        async with CodemagicClient() as client:
            return await client.get_artifact_url(secure_filename)
  • CodemagicClient method that performs the actual HTTP GET request to /artifacts/{secure_filename} to retrieve the artifact download URL.
    async def get_artifact_url(self, secure_filename: str) -> Any:
        return await self._get(f"/artifacts/{secure_filename}")
  • Registration entry point that calls artifacts.register(mcp) which registers get_artifact_url as an MCP tool.
    def register_all_tools(mcp: FastMCP) -> None:
        apps.register(mcp)
        builds.register(mcp)
        artifacts.register(mcp)
        caches.register(mcp)
        variables.register(mcp)
        webhooks.register(mcp)
  • Main server startup that triggers registration of all tools including get_artifact_url.
    register_all_tools(mcp)
  • Low-level HTTP GET helper used by get_artifact_url to make the API call.
    async def _get(self, path: str, **kwargs: Any) -> Any:
        response = await self._client.get(path, **kwargs)
        response.raise_for_status()
        return response.json()
Behavior2/5

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

With no annotations, the description carries full burden but only states it 'gets' a URL, implying a read operation. No details on error behavior, authentication needs, or whether the action is safe, leaving significant gaps.

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

Conciseness5/5

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

The description is very concise with one sentence and a single parameter bullet point. No redundant information, making it easy to parse quickly.

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?

The tool has no output schema and the description does not specify the return format or possible errors. While the core purpose is clear, completeness is minimal for a simple tool.

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 meaning to 'secure_filename' by stating it comes 'from build results', which is not in the schema (0% coverage). This helps the agent locate the parameter value, though more detail (e.g., format) would be beneficial.

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

Purpose5/5

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

The description clearly states the action ('Get') and the resource ('download URL for a build artifact'), effectively distinguishing it from siblings like create_artifact_public_url and list_build_artifacts.

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

Usage Guidelines3/5

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

The description implies usage when needing a download URL but offers no explicit guidance on when to use this tool versus alternatives (e.g., create_artifact_public_url for public URLs).

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/AgiMaulana/CodemagicMcp'

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