Urantia Papers Tools API
The Tools API from Urantia Papers — 2 operation(s) for tools.
The Tools API from Urantia Papers — 2 operation(s) for tools.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/urantia-papers:urantia-papers-tools-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: Urantia Papers Tools API
version: 1.0.0
description: 'An API and MCP server for the Urantia Papers. Structured access to all 197 papers and more than 14,500 paragraphs, with full-text and semantic search, named entities, Bible cross-references, and audio. No key needed. Docs: https://docs.urantia.dev'
termsOfService: https://docs.urantia.dev/terms-of-service
contact:
name: urantia.dev
url: https://docs.urantia.dev/help
email: kelson@urantia.dev
license:
name: MIT
url: https://github.com/urantia-hub/urantia-dev-api/blob/main/LICENSE
servers:
- url: https://api.urantia.dev
description: Production
- url: http://localhost:3000
description: Local development
security: []
tags:
- name: Tools
paths:
/tools/openai:
get:
operationId: getOpenAITools
tags:
- Tools
summary: Function-calling schemas for OpenAI
description: 'Returns the full Urantia Papers API tool catalog as ready-to-use OpenAI function-calling schemas.
Drop into any OpenAI Chat Completions or Assistants call:
```ts
const { tools } = await fetch("https://api.urantia.dev/tools/openai").then(r => r.json());
const completion = await openai.chat.completions.create({
model: "gpt-5",
messages,
tools, // ready to go
});
```
Each tool corresponds 1:1 with an MCP tool exposed at /mcp; you can run the call yourself against the relevant REST endpoint or use the published `@urantia/api` SDK to dispatch.'
responses:
'200':
description: OpenAI tool definitions
content:
application/json:
schema:
type: object
properties:
server:
type: object
properties:
name:
type: string
base_url:
type: string
required:
- name
- base_url
tools:
type: array
items:
type: object
properties:
type:
type: string
enum:
- function
function:
type: object
properties:
name:
type: string
description:
type: string
parameters:
type: object
properties:
type:
type: string
properties:
type: object
additionalProperties: {}
required:
type: array
items:
type: string
description:
type: string
required:
- type
required:
- name
- description
- parameters
required:
- type
- function
required:
- server
- tools
example:
server:
name: Urantia Papers API
base_url: https://api.urantia.dev
tools:
- type: function
function:
name: get_table_of_contents
description: Get the full table of contents of the Urantia Papers. Returns the Foreword and the 4 parts, with all 197 papers and their titles.
parameters:
type: object
properties: {}
- type: function
function:
name: list_papers
description: List all 197 Urantia Papers with their metadata (id, title, partId, labels). Use get_table_of_contents for a hierarchical view.
parameters:
type: object
properties: {}
headers:
X-RateLimit-Limit:
$ref: '#/components/headers/X-RateLimit-Limit'
X-RateLimit-Remaining:
$ref: '#/components/headers/X-RateLimit-Remaining'
X-RateLimit-Reset:
$ref: '#/components/headers/X-RateLimit-Reset'
'429':
description: Too many requests
headers:
X-RateLimit-Limit:
$ref: '#/components/headers/X-RateLimit-Limit'
X-RateLimit-Remaining:
$ref: '#/components/headers/X-RateLimit-Remaining'
X-RateLimit-Reset:
$ref: '#/components/headers/X-RateLimit-Reset'
content:
application/problem+json:
schema:
$ref: '#/components/schemas/ProblemDetails'
/tools/anthropic:
get:
operationId: getAnthropicTools
tags:
- Tools
summary: Function-calling schemas for Anthropic
description: 'Returns the full Urantia Papers API tool catalog as ready-to-use Anthropic Messages `tools` definitions.
Drop into any Anthropic Messages call:
```ts
const { tools } = await fetch("https://api.urantia.dev/tools/anthropic").then(r => r.json());
const message = await anthropic.messages.create({
model: "claude-opus-4-7",
max_tokens: 1024,
tools, // ready to go
messages,
});
```
Each tool corresponds 1:1 with an MCP tool exposed at /mcp.'
responses:
'200':
description: Anthropic tool definitions
content:
application/json:
schema:
type: object
properties:
server:
type: object
properties:
name:
type: string
base_url:
type: string
required:
- name
- base_url
tools:
type: array
items:
type: object
properties:
name:
type: string
description:
type: string
input_schema:
type: object
properties:
type:
type: string
properties:
type: object
additionalProperties: {}
required:
type: array
items:
type: string
description:
type: string
required:
- type
required:
- name
- description
- input_schema
required:
- server
- tools
example:
server:
name: Urantia Papers API
base_url: https://api.urantia.dev
tools:
- name: get_table_of_contents
description: Get the full table of contents of the Urantia Papers. Returns the Foreword and the 4 parts, with all 197 papers and their titles.
input_schema:
type: object
properties: {}
- name: list_papers
description: List all 197 Urantia Papers with their metadata (id, title, partId, labels). Use get_table_of_contents for a hierarchical view.
input_schema:
type: object
properties: {}
headers:
X-RateLimit-Limit:
$ref: '#/components/headers/X-RateLimit-Limit'
X-RateLimit-Remaining:
$ref: '#/components/headers/X-RateLimit-Remaining'
X-RateLimit-Reset:
$ref: '#/components/headers/X-RateLimit-Reset'
'429':
description: Too many requests
headers:
X-RateLimit-Limit:
$ref: '#/components/headers/X-RateLimit-Limit'
X-RateLimit-Remaining:
$ref: '#/components/headers/X-RateLimit-Remaining'
X-RateLimit-Reset:
$ref: '#/components/headers/X-RateLimit-Reset'
content:
application/problem+json:
schema:
$ref: '#/components/schemas/ProblemDetails'
components:
headers:
X-RateLimit-Remaining:
description: The number of requests left in the current window.
schema:
type: integer
example: 199
X-RateLimit-Reset:
description: The time the window resets, in Unix seconds.
schema:
type: integer
example: 1791152213
X-RateLimit-Limit:
description: The number of requests allowed in the current window.
schema:
type: integer
example: 200
schemas:
ProblemDetails:
type: object
description: An RFC 9457 problem details object. Every error response uses it.
properties:
type:
type: string
format: uri
description: A URI that names the error type.
title:
type: string
description: The short name of the status.
status:
type: integer
description: The HTTP status code.
detail:
type: string
description: What went wrong in this request.
required:
- type
- title
- status
- detail
example:
type: https://urantia.dev/errors/not-found
title: Not Found
status: 404
detail: Paragraph not found