Skip to main content
Glama
aws-samples

Allotrope MCP Server

by aws-samples

fetch_asm_document

Fetch raw Allotrope Simple Model (ASM) JSON documents from purl.allotrope.org, save them locally, and return the absolute file path.

Instructions

Fetch a raw ASM JSON document from purl.allotrope.org.

Downloads the document identified by ``asm_document_uri`` from the Allotrope
PURL repository and saves it to the local filesystem at a path that mirrors
the URI structure.  If the file already exists it is returned immediately
without re-downloading. ``$ref`` references are
NOT resolved — the document is saved exactly as received.

Args:
    asm_document_uri: Fully-qualified URI starting with
        ``http://purl.allotrope.org``.
    output_dir: Base directory for saving the document.  Defaults to the
        current working directory when empty.

Returns:
    JSON string with a ``path`` key containing the absolute path to the
    saved file, or an ``error`` key with a description on failure.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
output_dirNo
asm_document_uriYes

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes
Behavior5/5

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

With no annotations provided, the description fully discloses behavioral traits: it downloads, saves to a path mirroring the URI, returns a cached result immediately, and does NOT resolve $ref references. This goes beyond basic purpose and is highly transparent about side effects and limitations.

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 well-structured with a one-line summary, followed by details on behavior and parameters. Every sentence adds valuable information without redundancy, and it is front-loaded with the core purpose.

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

Completeness5/5

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

Given the tool's complexity (local file write, caching, URI handling) and lack of annotations, the description covers all essential aspects: what it does, how it saves, caching behavior, $ref limitation, parameter formats, and return structure. It is complete for an agent to select and invoke the tool correctly.

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

Parameters5/5

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

Schema coverage is 0%, so the description must compensate. It does so by explaining asm_document_uri as a fully-qualified URI starting with http://purl.allotrope.org, and output_dir as the base directory defaulting to the current working directory. This adds meaning beyond the bare schema.

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 tool fetches and downloads a raw ASM JSON document from purl.allotrope.org, saving it to the local filesystem. The verb 'Fetch' and resource 'document' are specific, and it distinguishes itself from sibling tools like validate_asm_schema or list_asms by focusing on raw retrieval.

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

Usage Guidelines4/5

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

The description provides clear context about when to use the tool (to fetch raw documents) and important caveats (caching, $ref not resolved), but it does not explicitly mention alternatives or when-not-to-use scenarios. The context is strong enough to guide usage without exclusions.

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/aws-samples/sample-laboratory-data-transformation-mcp'

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