# `nasa__jpl_periodic_orbits`

JPL Three-Body Periodic Orbits Database

- 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_periodic_orbits`
- 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

- `branch` (string, optional): Branch within family (N/S, E/W, etc., required for some families)
- `family` (string, required): Orbit family name (e.g., halo, dro, lyapunov)
- `jacobimax` (number, optional): Maximum Jacobi constant
- `jacobimin` (number, optional): Minimum Jacobi constant
- `libr` (integer, optional): Libration point (1-5, required for some families)
- `periodmax` (number, optional): Maximum period
- `periodmin` (number, optional): Minimum period
- `periodunits` (string, optional): Units for period (s, h, d, TU) One of: `s`, `h`, `d`, `TU`.
- `stabmax` (number, optional): Maximum stability index
- `stabmin` (number, optional): Minimum stability index
- `sys` (string, required): Three-body system (e.g., earth-moon, sun-earth)

## 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_periodic_orbits
```

```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": {
      "family": "example",
      "sys": "example"
    },
    "name": "nasa__jpl_periodic_orbits"
  }
}
```

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 Three-Body Periodic Orbits Database",
  "inputSchema": {
    "properties": {
      "branch": {
        "description": "Branch within family (N/S, E/W, etc., required for some families)",
        "type": "string"
      },
      "family": {
        "description": "Orbit family name (e.g., halo, dro, lyapunov)",
        "type": "string"
      },
      "jacobimax": {
        "description": "Maximum Jacobi constant",
        "type": "number"
      },
      "jacobimin": {
        "description": "Minimum Jacobi constant",
        "type": "number"
      },
      "libr": {
        "description": "Libration point (1-5, required for some families)",
        "type": "integer"
      },
      "periodmax": {
        "description": "Maximum period",
        "type": "number"
      },
      "periodmin": {
        "description": "Minimum period",
        "type": "number"
      },
      "periodunits": {
        "description": "Units for period (s, h, d, TU)",
        "enum": [
          "s",
          "h",
          "d",
          "TU"
        ],
        "type": "string"
      },
      "stabmax": {
        "description": "Maximum stability index",
        "type": "number"
      },
      "stabmin": {
        "description": "Minimum stability index",
        "type": "number"
      },
      "sys": {
        "description": "Three-body system (e.g., earth-moon, sun-earth)",
        "type": "string"
      }
    },
    "required": [
      "sys",
      "family"
    ],
    "type": "object"
  },
  "name": "nasa__jpl_periodic_orbits"
}
```
