Skip to main content
Glama
AnastasiaKWei

skyportal-mcp

generate_fritz_bulk_query_code

Generate Python code to bulk fetch photometry, spectra, and metadata from Fritz/SkyPortal for multiple astronomical sources, avoiding tedious individual API calls.

Instructions

Generate code to bulk query Fritz/SkyPortal for multiple sources.

This tool generates code that uses ztfquery's Fritz interface to download photometry, spectra, and metadata for multiple sources from Fritz.

Use Case: When you need to download data products from Fritz for many sources at once (faster than individual API calls).

Note: Requires Fritz API token. Setup: from ztfquery.io import set_account; set_account('fritz', token_based=True)

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
sourcesYesComma-separated source names or JSON array Example: "ZTF24aaaaaaa,AT2024abc,SN2024xyz"
include_spectraNoDownload spectra in addition to photometry (default: True)

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes
Behavior4/5

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

No annotations are provided, so description must carry the burden. It transparently discloses that the tool only generates code (not downloads directly), requires a Fritz API token, and gives setup instructions. It also lists the data types (photometry, spectra, metadata). However, it does not detail the generated code's output format or execution side effects, leaving some behavioral aspects implicit.

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 compact and front-loaded: main verb in first sentence, then a clear use case, and a required-auth note. Every section adds value, and formatting with bold labels improves scannability without unnecessary prose.

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

Completeness4/5

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

For a 2-param tool with an output schema and clear purpose, the description is largely sufficient: it explains what is generated, why/when to use, and the prerequisite. It lacks explicit comparisons to sibling tools like generate_bulk_lightcurve_code, but the use case and scope are enough for an agent to select it correctly in most contexts.

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

Parameters3/5

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

Input schema has 100% coverage with descriptions for both parameters (sources with example, include_spectra with default). The description adds minor context about 'multiple sources' and 'photometry, spectra, and metadata' but does not enhance parameter understanding beyond the schema, so baseline 3 applies.

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 opens with a clear verb+object: 'Generate code to bulk query Fritz/SkyPortal for multiple sources.' It specifies the resource (Fritz/SkyPortal), the action (generate code), and scope (multiple sources), and further clarifies it produces code for downloading photometry, spectra, and metadata, distinguishing it from sibling tools like generate_bulk_lightcurve_code.

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 'Use Case' section explicitly states when to use: 'When you need to download data products from Fritz for many sources at once (faster than individual API calls).' This implies the alternative of individual API calls, but does not name specific sibling tools or exclusions (e.g., single sources or lightcurve-only needs), making it clear but not fully prescriptive.

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/AnastasiaKWei/skyportal-mcp'

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