# `nasa__jpl_horizons`

JPL Horizons - Solar system objects ephemeris data

- Server: [NASA Open APIs](https://gateway.mcpharbor.dev/docs/servers/nasa) (`dev.mcpharbor.gateway/nasa`)
- Price per call: $0.0001 (100 micro-USD); only tools/call is charged
- Endpoint: `https://gateway.mcpharbor.dev/mcp` or `https://gateway.mcpharbor.dev/mcp/nasa`
- Upstream tool: exposed by the provider; called through this gateway as `nasa__jpl_horizons`
- Provider terms: <https://api.nasa.gov/> (verified 2026-09-19)
- Upstream API documentation: <https://api.nasa.gov/>
- Rate limit: 900 requests per hour
- Attribution required: NASA should be acknowledged as the source of the material

## Parameters

- `CENTER` (string, optional): Coordinate center (e.g., '500@399' for Earth)
- `COMMAND` (string, required): Target object identifier (e.g., '499' for Mars, '1' for Ceres, 'C/2020 F3' for Comet NEOWISE)
- `EPHEM_TYPE` (string, optional): Type of ephemeris (OBSERVER, VECTORS, ELEMENTS) One of: `OBSERVER`, `VECTORS`, `ELEMENTS`.
- `MAKE_EPHEM` (string, optional): Generate ephemeris One of: `YES`, `NO`.
- `OBJ_DATA` (string, optional): Include object data One of: `YES`, `NO`.
- `OUT_UNITS` (string, optional): Output units for vector tables One of: `KM-S`, `AU-D`, `KM-D`.
- `QUANTITIES` (string, optional): Observable quantities to include (e.g., 'A' for all, or '1,2,20,23' for specific ones)
- `START_TIME` (string, optional): Start time for ephemeris (e.g., '2023-01-01')
- `STEP_SIZE` (string, optional): Step size for ephemeris points (e.g., '1d' for daily, '1h' for hourly)
- `STOP_TIME` (string, optional): Stop time for ephemeris (e.g., '2023-01-02')
- `format` (string, optional): Response format (json, text) One of: `json`, `text`.

## Example call

Request headers and body:

```http
POST /mcp HTTP/1.1
Host: gateway.mcpharbor.dev
Authorization: Bearer <your gateway API key>
Content-Type: application/json
Accept: application/json, text/event-stream
MCP-Protocol-Version: 2026-07-28
Mcp-Method: tools/call
Mcp-Name: nasa__jpl_horizons
```

```json
{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "_meta": {
      "io.modelcontextprotocol/clientCapabilities": {},
      "io.modelcontextprotocol/clientInfo": {
        "name": "example-agent",
        "version": "1.0.0"
      },
      "io.modelcontextprotocol/protocolVersion": "2026-07-28"
    },
    "arguments": {
      "COMMAND": "example"
    },
    "name": "nasa__jpl_horizons"
  }
}
```

A successful response:

```json
{
  "id": 1,
  "jsonrpc": "2.0",
  "result": {
    "_meta": {
      "dev.mcpharbor.gateway/call": {
        "chargedMicroUsd": 100,
        "id": "<the id of this charge>"
      }
    },
    "content": [
      {
        "text": "<whatever the upstream tool returned>",
        "type": "text"
      }
    ],
    "resultType": "complete"
  }
}
```

This call costs $0.0001 (100 micro-USD). Reading this page and listing the tool cost nothing.
The `dev.mcpharbor.gateway/call` record in the result is the receipt for that charge. Each
POST is metered separately, so sending the same call again buys another one: see
[agent.txt](https://gateway.mcpharbor.dev/agent.txt), section 7, before retrying.

## Attribution

This provider requires the attribution below wherever you use results from its tools.
Reproduce it verbatim:

> NASA should be acknowledged as the source of the material

## Tool definition

Exactly as `tools/list` returns it (free):

```json
{
  "_meta": {
    "dev.mcpharbor.gateway/pricing": {
      "currency": "USD",
      "pricePerCallMicroUsd": 100
    }
  },
  "description": "JPL Horizons - Solar system objects ephemeris data",
  "inputSchema": {
    "properties": {
      "CENTER": {
        "description": "Coordinate center (e.g., '500@399' for Earth)",
        "type": "string"
      },
      "COMMAND": {
        "description": "Target object identifier (e.g., '499' for Mars, '1' for Ceres, 'C/2020 F3' for Comet NEOWISE)",
        "type": "string"
      },
      "EPHEM_TYPE": {
        "description": "Type of ephemeris (OBSERVER, VECTORS, ELEMENTS)",
        "enum": [
          "OBSERVER",
          "VECTORS",
          "ELEMENTS"
        ],
        "type": "string"
      },
      "MAKE_EPHEM": {
        "description": "Generate ephemeris",
        "enum": [
          "YES",
          "NO"
        ],
        "type": "string"
      },
      "OBJ_DATA": {
        "description": "Include object data",
        "enum": [
          "YES",
          "NO"
        ],
        "type": "string"
      },
      "OUT_UNITS": {
        "description": "Output units for vector tables",
        "enum": [
          "KM-S",
          "AU-D",
          "KM-D"
        ],
        "type": "string"
      },
      "QUANTITIES": {
        "description": "Observable quantities to include (e.g., 'A' for all, or '1,2,20,23' for specific ones)",
        "type": "string"
      },
      "START_TIME": {
        "description": "Start time for ephemeris (e.g., '2023-01-01')",
        "type": "string"
      },
      "STEP_SIZE": {
        "description": "Step size for ephemeris points (e.g., '1d' for daily, '1h' for hourly)",
        "type": "string"
      },
      "STOP_TIME": {
        "description": "Stop time for ephemeris (e.g., '2023-01-02')",
        "type": "string"
      },
      "format": {
        "description": "Response format (json, text)",
        "enum": [
          "json",
          "text"
        ],
        "type": "string"
      }
    },
    "required": [
      "COMMAND"
    ],
    "type": "object"
  },
  "name": "nasa__jpl_horizons"
}
```
