CASDA MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| CASDA_TAP_URL | No | Fixed metadata query endpoint. Tool callers cannot override it. | |
| CASDA_BASE_URL | No | CASDA base host; HTTPS and no embedded credentials required. | https://casda.csiro.au |
| CASDA_PASSWORD | No | OPAL password. Stored as a secret value and never logged. | |
| CASDA_SODA_URL | No | Establishes the allowed staging host and documents the expected service. | |
| CASDA_STATE_DB | No | Optional SQLite state file. Default state is process-local memory. | |
| CASDA_USERNAME | No | OPAL username. Required with CASDA_PASSWORD for staging. | |
| CASDA_LOGIN_URL | No | Safe credential verification endpoint. | |
| CASDA_MAX_RESULTS | No | Maximum bounded search window, up to a hard limit of 1000. | 100 |
| CASDA_MAX_RETRIES | No | Retries for safe reads only, with exponential backoff, jitter, and Retry-After. | 3 |
| CASDA_DATALINK_URL | No | Establishes an allowed CASDA host; product Datalink URLs still come from TAP. | |
| CASDA_DOWNLOAD_DIR | No | Required absolute containment directory when downloads are enabled. | |
| CASDA_ENABLE_STAGING | No | Enables archive-side request creation only when OPAL credentials are complete. | false |
| CASDA_ALLOW_OVERWRITE | No | Allows atomic replacement of an existing destination. Keep false normally. | false |
| CASDA_MAX_STAGE_BYTES | No | Maximum summed estimated staging size in bytes. | 107374182400 |
| CASDA_ENABLE_DOWNLOADS | No | Enables local file writes. | false |
| CASDA_CACHE_MAX_ENTRIES | No | Process-local cache bound; zero disables caching. | 256 |
| CASDA_CACHE_TTL_SECONDS | No | Read-only metadata cache TTL; zero disables caching. | 60 |
| CASDA_MAX_DOWNLOAD_BYTES | No | Maximum archive-reported and streamed bytes for one download. | 53687091200 |
| CASDA_MAX_STAGE_PRODUCTS | No | Maximum deduplicated products in one staging request. | 20 |
| CASDA_MAX_CONE_RADIUS_DEG | No | Maximum cone radius in degrees. | 5 |
| CASDA_MAX_MANIFEST_PRODUCTS | No | Maximum deduplicated products in one manifest. | 100 |
| CASDA_REQUEST_TIMEOUT_SECONDS | No | Metadata and control-request timeout. | 30 |
| CASDA_ALLOW_UNKNOWN_STAGE_SIZE | No | If false, products without estimated sizes cannot be staged. | false |
| CASDA_DOWNLOAD_TIMEOUT_SECONDS | No | Timeout used for a download response. | 300 |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| casda_search_productsA | Search product metadata with a safely generated, bounded TAP/ADQL query. This read-only tool performs no staging, download, filesystem write, source-name resolution, or unrestricted ADQL. Spatial coordinates are ICRS degrees and frequencies are hertz. |
| casda_get_productA | Retrieve supported ObsCore metadata for one explicit product identifier. Access state is reported conservatively; this tool does not stage or download the product. |
| casda_get_archive_statusA | Read VOSI availability for the configured public CASDA TAP service. This is archive availability, not local process liveness. Prefer /healthz for the MCP server itself. |
| casda_list_capabilitiesA | List VOSI capabilities advertised by the configured public CASDA TAP service. |
| casda_list_tap_examplesA | List example ADQL queries advertised by the CASDA TAP examples endpoint. |
| casda_list_schemasA | List TAP_SCHEMA schemas with bounded cursor pagination. |
| casda_list_tablesA | List TAP_SCHEMA tables, optionally filtered by schema, with cursor pagination. |
| casda_describe_tableA | Describe columns for one TAP_SCHEMA table identified by schema and table name. |
| casda_list_foreign_keysA | List TAP_SCHEMA foreign keys that originate from the requested table. |
| casda_search_imagesB | Discover images and cubes with the CASDA SIA 2 interface. |
| casda_list_image_surveysA | List CASDA SIA 1 survey inventory entries. |
| casda_search_survey_imagesB | Discover survey images with the CASDA SIA 1 interface. |
| casda_list_cataloguesA | List casda.catalogue product rows with stable cursor pagination. |
| casda_search_catalogueC | Run a Simple Cone Search against one CASDA catalogue short-name endpoint. |
| casda_search_spectraC | Discover spectra with the CASDA SSA interface. |
| casda_build_adqlA | Build the allowlisted ObsCore search ADQL string without contacting CASDA. |
| casda_validate_adqlA | Validate ADQL against the SELECT-only policy without contacting CASDA. |
| casda_tap_queryA | Execute one validated, bounded sync TAP query. Requires CASDA_ENABLE_ADVANCED_ADQL. Rejects mutations, comments, multi-statement input, and non-allowlisted table references. |
| casda_submit_tap_queryA | Create and start one async TAP job for validated SELECT-only ADQL. Requires CASDA_ENABLE_ADVANCED_ADQL. Create and RUN are never automatically retried. |
| casda_get_tap_jobA | Perform one uncached status check for a TAP job created by this server. |
| casda_get_tap_resultsA | Fetch bounded CSV results for a TAP job created by this server. |
| casda_abort_tap_jobC | Abort a TAP job created by this server. |
| casda_delete_tap_jobA | Delete a TAP job created by this server from the archive and local state. |
| casda_get_observationA | Retrieve an observation, projects, and bounded products for an ASKAP SBID or obs_id. |
| casda_search_projectsA | Search casda.project with optional exact filters and cursor pagination. |
| casda_get_projectA | Retrieve one project row from casda.project by OPAL code. |
| casda_get_collectionA | Aggregate ObsCore products for one collection (counts, types, release span). |
| casda_resolve_collection_doiA | Resolve public citation metadata via DataCite or doi.org CSL-JSON. Read-only. Never mints DOIs or calls DataCite write APIs. CSIRO DAP DOIs typically use prefix 10.25919 (labelled via is_csiro_dap). Requires CASDA_ENABLE_DOI_RESOLVE (default true). |
| casda_get_dap_navigationA | Return DAP deep links and structured unsupported privileged actions. Constructs documented public HTTPS URLs only. Does not scrape DAP HTML, accept licences, mint DOIs, assign roles, deposit Level 7 data, release observations, or launch CARTA. Read casda://dap/navigation for template summary. |
| casda_list_eventsA | List public observation lifecycle events with bounded cursor pagination. |
| casda_get_auth_statusA | Report whether credentials are configured and currently authenticate to CASDA. Never returns username, password, or other secret material. |
| casda_get_datalinkA | Inspect DataLink access descriptors for one product. Returns service names, content types, and sizes. Opaque authenticated ID tokens are redacted and never returned. |
| casda_create_cutoutA | Create one cutout SODA job via the DataLink cutout_service descriptor. Requires CASDA_ENABLE_STAGING and credentials. Never auto-retries create/start. |
| casda_create_spectrumA | Create one spectrum-generation SODA job via spectrum_generation_service. Requires CASDA_ENABLE_STAGING and credentials. Never auto-retries create/start. |
| casda_get_data_jobA | Perform one uncached status check for a data job created by this server. |
| casda_get_data_job_resultsA | List safe result metadata for a data job without opaque download URLs. |
| casda_abort_data_jobA | Abort a SODA/UWS data job previously created by this server. |
| casda_delete_data_jobA | Delete a data job from the archive and local state. |
| casda_download_job_resultsA | Sequentially download all ready results for one job into CASDA_DOWNLOAD_DIR. Stops on the first failure and reports partial successes. |
| casda_verify_fileA | Re-verify checksum and length of an existing file under the download root. |
| casda_stage_productsA | Submit one guarded archive-side staging request for explicit products. This state-changing network operation requires authentication and CASDA_ENABLE_STAGING. It enforces configured product-count and estimated-size limits. It starts the confirmed archive job but does not poll continuously or write local files. |
| casda_stage_pawseyA | Submit one Pawsey pull staging job via DataLink pawsey_async_service. Requires authentication and CASDA_ENABLE_STAGING (same flag as WEB full-file staging). Distinct from casda_stage_products: results are Pawsey-network restricted. Response includes human_gate_warnings; licence/HPC confirmation must be completed by a human in DAP — this server never auto-accepts terms. Reuse data-job status/download tools. |
| casda_get_staging_statusA | Perform one uncached status check for a known CASDA staging request. This tool does not continue polling after the call returns and does not download files. Alias of casda_get_data_job for full-file staging jobs. |
| casda_download_productA | Download one confirmed-ready product using guarded, streamed local filesystem writes. This operation requires CASDA_ENABLE_DOWNLOADS and a restricted CASDA_DOWNLOAD_DIR. It never overwrites by default, enforces the byte limit, verifies Content-Length, resumes within the call when Range is supported, and removes incomplete files after failure. |
| casda_create_manifestA | Create and retain a versioned, machine-readable manifest for explicit products. This tool performs bounded metadata and optional checksum reads. It does not stage, download, or write the manifest to the caller's filesystem. Signed and short-lived URLs are omitted even when URL inclusion is requested. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| find-and-inspect-products | Search bounded ObsCore metadata, present candidates, then inspect selected products or ASKAP observations. Does not stage or download. |
| stage-and-download | Stage explicit products, check status once per wait, then download ready files under the configured download directory. |
| build-reproducible-selection | Inspect explicit products and create a versioned manifest without persisting artifact download URLs. |
| query-catalogue | List catalogues, run SCS cone search via casda_search_catalogue, or fall back to ObsCore catalogue product search. |
| query-tables | Walk VOSI/TAP_SCHEMA discovery: list schemas, list tables, then describe a table. |
| run-adql | Validate SELECT-only ADQL, then run sync tap_query or submit an async job when CASDA_ENABLE_ADVANCED_ADQL is enabled. |
| make-cutout | Create an authenticated SODA cutout with casda_create_cutout, monitor with casda_get_data_job, then download results. |
| monitor-releases | Check product release fields via search/get_product and optionally casda_list_events for observation lifecycle notices. |
| dap-navigate | Return human DAP deep links for Observation Search, Skymap, and related pages; refuse privileged automation with structured unsupported_actions. |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| archive_status_resource | Read-only VOSI availability for the configured public CASDA TAP service. |
| dap_navigation_resource | Static summary of safe DAP deep-link templates (no network). |
| archive_capabilities_resource | Read-only VOSI capabilities for the configured public CASDA TAP service. |
| skills_index_resource | Read-only JSON index of packaged agent skills. |
| server_status_resource | Read-only local server version, safety flags, and process-local counters. |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/jbwod/CASDA-MCP'
If you have feedback or need assistance with the MCP directory API, please join our Discord server