Skip to main content
Glama
urantia-hub

urantia-papers

Official

Urantia Papers API

Eine entwickler- und KI-agentenfreundliche API für die Urantia-Papiere. Bietet Volltextsuche, strukturierten Inhaltszugriff und Audio-URLs für alle über 14.500 Absätze in 197 Papieren.

API-Endpunkte

Methode

Pfad

Beschreibung

GET

/toc

Inhaltsverzeichnis (Teile → Papiere)

GET

/papers

Liste aller 197 Papiere

GET

/papers/:id

Einzelnes Papier mit allen Absätzen

GET

/papers/:id/sections

Abschnitte innerhalb eines Papiers

GET

/paragraphs/random

Zufälliger Absatz

GET

/paragraphs/:ref

Absatz nach beliebigem ID-Format

GET

/paragraphs/:ref/context

Absatz mit umgebendem Kontext

POST

/search

Volltextsuche mit Paginierung

GET

/audio/:paragraphId

Audio-Informationen für einen Absatz

POST

/search/semantic

Semantische (Vektor-)Suche

GET

/entities

Liste der Entitäten (Wesen, Orte, Konzepte usw.)

GET

/entities/:id

Details zur Entität

GET

/entities/:id/paragraphs

Absätze, die eine Entität erwähnen

GET

/cite

Zitat generieren (APA, MLA, Chicago, BibTeX)

GET

/og/:ref

Dynamisches Open Graph-Bild

POST

/embeddings

Vektor-Embeddings für Absätze

GET

/me

Benutzerprofil (Authentifizierung erforderlich)

POST

/me/bookmarks

Lesezeichen erstellen (Authentifizierung erforderlich)

GET

/me/bookmarks

Lesezeichen auflisten (Authentifizierung erforderlich)

GET

/me/notes

Notizen auflisten (Authentifizierung erforderlich)

POST

/me/notes

Notiz erstellen (Authentifizierung erforderlich)

GET

/me/reading-progress

Lesefortschritt (Authentifizierung erforderlich)

GET

/me/preferences

Benutzereinstellungen (Authentifizierung erforderlich)

POST

/auth/authorize

Autorisierungscode abrufen (Authentifizierung erforderlich)

POST

/auth/token

Code gegen Token austauschen

GET

/auth/apps/:id

OAuth-App-Informationen abrufen

Interaktive Dokumentation verfügbar unter /docs (Swagger UI). OpenAPI-Spezifikation unter /openapi.json.

SDKs

Offizielle TypeScript-SDKs sind auf npm verfügbar:

npm install @urantia/api    # Typed client for all endpoints
npm install @urantia/auth   # OAuth client for accounts.urantiahub.com

Siehe urantia.dev/sdks für die Dokumentation.

Absatz-ID-Formate

Die API akzeptiert drei Referenzformate, die automatisch aus der Zeichenfolge erkannt werden:

Format

Beispiel

Struktur

globalId

1:2.0.1

partId:paperId.sectionId.paragraphId

standardReferenceId

2:0.1

paperId:sectionId.paragraphId

paperSectionParagraphId

2.0.1

paperId.sectionId.paragraphId

Suche

curl -X POST https://api.urantia.dev/search \
  -H "Content-Type: application/json" \
  -d '{"q": "Universal Father", "limit": 10, "type": "and"}'

Suchmodi: and (alle Wörter, Standard), or (jedes Wort), phrase (exakte Übereinstimmung). Optionale Filter: paperId, partId.

Audio

Absätze enthalten ein audio-Feld – ein verschachteltes Objekt, das nach Modell und Stimme sortiert ist, oder null, falls kein Audio existiert:

{
  "audio": {
    "tts-1-hd": {
      "nova": { "format": "mp3", "url": "https://audio.urantia.dev/tts-1-hd-nova-3:119.1.5.mp3" },
      "echo": { "format": "mp3", "url": "https://audio.urantia.dev/tts-1-hd-echo-3:119.1.5.mp3" }
    }
  }
}

Verfügbare Modelle und Stimmen variieren je nach Absatz. Der dedizierte Endpunkt /audio/:paragraphId gibt nur die Audiodaten für einen bestimmten Absatz zurück.

Caching

Antworten enthalten Cache-Control-Header. Cloudflares CDN cached am Edge über s-maxage:

Route

CDN (s-maxage)

Browser (max-age)

/toc, /papers/*, /paragraphs/:ref, /audio/*

24 Stunden

1 Stunde

/search

1 Stunde

5 Minuten

/paragraphs/random

no-store

no-store

/, /docs, /openapi.json

1 Stunde

5 Minuten

Für KI-Agenten

Empfohlener Ablauf:

  1. GET /toc – Struktur des Buches verstehen

  2. POST /search – relevante Passagen finden

  3. GET /paragraphs/:ref/context?window=3 – umgebenden Kontext abrufen

  4. GET /papers/:id – ein vollständiges Papier lesen

MCP-Server

Die API enthält einen integrierten MCP-Server unter https://api.urantia.dev/mcp – verbinden Sie Claude Desktop, Cursor oder einen beliebigen MCP-Client, um Zugriff zu erhalten auf:

  • 13 Tools – Suche, Absatzsuche, Papiernavigation, Entitäten-Browsing, Audio

  • 2 Ressourcen-Vorlagenurantia://paper/{id} (Markdown) und urantia://entity/{id}

  • 2 Prompt-Vorlagenstudy_assistant, comparative_theology

Ein-Klick-Installation über Smithery.

Authentifizierung

Öffentliche Endpunkte erfordern keine Authentifizierung. Benutzer-Endpunkte (/me/*) erfordern ein JWT. OAuth-Ablauf:

  1. Registrieren Sie eine App über POST /auth/apps (Admin) oder per Self-Service unter accounts.urantiahub.com/developer

  2. Der Benutzer meldet sich unter accounts.urantiahub.com an

  3. Tauschen Sie den Autorisierungscode gegen ein Zugriffstoken über POST /auth/token aus

  4. Übergeben Sie das Token als Authorization: Bearer <token>

Zugriffstoken sind HS256-JWTs mit einer Gültigkeitsdauer von 7 Tagen. PKCE wird für browserbasierte Apps unterstützt.

Beobachtbarkeit

  • Logging: BetterStack via @logtail/edge – strukturierte JSON-Logs mit Anforderungs-Metadaten

  • Fehlerverfolgung: Globaler Fehler-Handler sendet Stack-Traces an BetterStack

  • Gesundheitsprüfung: GET /health – überprüft die Datenbankverbindung

  • Uptime: BetterStack Uptime-Monitor

Tech-Stack

Entwicklung

# Install dependencies
bun install

# Set up environment
cp .env.example .env
# Edit .env with your Supabase DATABASE_URL

# Push schema to database
bun run db:push

# Set up full-text search (run after db:push)
bun scripts/run-fts-setup.ts

# Generate audio manifest (requires ../urantia-hub-api)
bun run generate-manifest

# Seed database from urantia-papers-json
bun run seed

# Start dev server (hot reload)
bun run dev

Der Server läuft standardmäßig unter http://localhost:3000.

Bereitstellung

Bereitgestellt auf Cloudflare Workers. Erstmalige Einrichtung:

npx wrangler login
npx wrangler secret put DATABASE_URL
# paste your Supabase connection string (use pooler port 6543)

npx wrangler secret put APP_JWT_SECRET
# paste a 64-byte hex secret: node -e "console.log(require('crypto').randomBytes(64).toString('hex'))"

npx wrangler secret put ADMIN_USER_IDS
# comma-separated Supabase user UUIDs for admin access

Bereitstellen:

bun run deploy

Daten

Inhalte stammen aus urantia-papers-json – 197 Papiere, 1.626 Abschnitte, über 14.500 Absätze mit Audio-Erzählung via audio.urantia.dev.

Lizenz

Dieses Projekt ist unter der MIT-Lizenz lizenziert.

Haftungsausschluss

Dies ist ein unabhängiges Community-Projekt von Adams Technologies LLC. Es ist nicht mit der Urantia Foundation verbunden, wird von ihr nicht unterstützt und steht in keiner Verbindung zu ihr. Der englische Originaltext von The Urantia Book ist gemeinfrei (Michael Foundation v. Urantia Foundation, 10th Cir. 2003). Jegliche Verwendung von "Urantia" erfolgt im Rahmen der nominativen fairen Verwendung zur Identifizierung des Gegenstands.

A
license - permissive license
-
quality - not tested
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Latest Blog Posts

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/urantia-hub/urantia-dev-api'

If you have feedback or need assistance with the MCP directory API, please join our Discord server