Skip to content
Eden Engine

IRSA Astronomy Archive: Run an ADQL Query

irsatap/adql-query

Runs an ADQL (astronomical SQL) query against the NASA/IPAC Infrared Science Archive and returns the rows as objects keyed by column name, with the column list and units. Covers the 2MASS and WISE source catalogues and many other survey tables; add `TOP n` to the query and keep selections to the columns you need. Capped at 100 rows. Data from IRSA, served by Eden Engine; not an official IRSA, NASA or Caltech product.

activeper callv1

Price

$0.0026 per call

You pay the price shown. If a call turns out to cost more than its quote, you pay the actual price, capped at twice the quote. No monthly minimum. Top-ups start at $0.50.

Data source

NASA/IPAC Infrared Science Archive

Data from the NASA/IPAC Infrared Science Archive (IRSA), operated by IPAC at Caltech (irsa.ipac.caltech.edu). IRSA asks users to acknowledge the archive and the missions whose catalogues they use (for example 2MASS and WISE); suggested credit: "This research has made use of the NASA/IPAC Infrared Science Archive, which is funded by the National Aeronautics and Space Administration and operated by the California Institute of Technology." Served by Eden Engine; not an official IRSA, NASA or Caltech product.

Use it

Five steps: search, inspect, learn, run, settle. No per-tool setup; your agent reaches this tool through the meta-tools it already has.

Connect once and your AI can find and run this tool, and any other it needs.

agent
// 1. search: find the tool
omnial_search({ query: "what you need" })

// 2. inspect: price and input schema
omnial_inspect({ tool: "irsatap/adql-query" })

// 3. learn: read the usage guide at runtime
omnial_learn({ tool: "irsatap/adql-query" })

// 4. run: price the exact call first, then run it
omnial_execute({ tool: "irsatap/adql-query", input: { /* see input_schema */ }, dry_run: true })
omnial_execute({ tool: "irsatap/adql-query", input: { /* ... */ } })

// 5. settle: the call is charged when it finishes, nothing to do

Not connected yet? Point your MCP client at https://mcp.eden-engine.com/mcp, then copy a config for your client.

Pricing

Every charge this tool can incur.

ChargePrice
Per call
$0.0026
Updated
Oct 21, 2026

Input and output schemas

Input schema
input_schema.json
{
  "type": "object",
  "required": [
    "query"
  ],
  "properties": {
    "query": {
      "type": "string",
      "maxLength": 2000,
      "minLength": 10,
      "description": "An ADQL SELECT statement, for example `select top 5 ra,dec,j_m from fp_psc where contains(point('ICRS',ra,dec),circle('ICRS',10.684,41.269,0.1))=1`. Table and column names come from the catalogue tools."
    }
  },
  "additionalProperties": false
}
Output schema
output_schema.json
{
  "type": "object",
  "required": [
    "columns",
    "rows",
    "row_count",
    "overflow"
  ],
  "properties": {
    "rows": {
      "type": "array",
      "items": {
        "type": "object",
        "additionalProperties": true
      },
      "description": "One object per result row. Numeric columns are numbers, text columns strings, empty cells null."
    },
    "columns": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "name",
          "datatype"
        ],
        "properties": {
          "name": {
            "type": "string",
            "description": "The column name, also the key in each row."
          },
          "unit": {
            "type": "string",
            "description": "The unit, when the table declares one (deg, mag, ...)."
          },
          "datatype": {
            "type": "string",
            "description": "The VOTable datatype: char, short, int, long, float or double."
          }
        },
        "additionalProperties": true
      },
      "description": "The result columns in query order."
    },
    "overflow": {
      "type": "boolean",
      "description": "True when the service stopped at its 100-row cap, so more rows matched than are shown."
    },
    "row_count": {
      "type": "integer",
      "description": "The number of rows returned."
    }
  },
  "description": "The query result as a table: the column list, then one object per row keyed by column name.",
  "additionalProperties": true
}