Skip to main content
Glama
urantia-hub

urantia-papers

Official

API «Документов Урантии»

API для «Документов Урантии», удобное для разработчиков и ИИ-агентов. Предоставляет полнотекстовый поиск, доступ к структурированному контенту и аудиоссылки для всех 14 500+ абзацев в 197 документах.

Конечные точки API

Метод

Путь

Описание

GET

/toc

Оглавление (части → документы)

GET

/papers

Список всех 197 документов

GET

/papers/:id

Отдельный документ со всеми абзацами

GET

/papers/:id/sections

Разделы внутри документа

GET

/paragraphs/random

Случайный абзац

GET

/paragraphs/:ref

Абзац по любому формату ID

GET

/paragraphs/:ref/context

Абзац с окружающим контекстом

POST

/search

Полнотекстовый поиск с пагинацией

GET

/audio/:paragraphId

Аудиоинформация для абзаца

POST

/search/semantic

Семантический (векторный) поиск

GET

/entities

Список сущностей (существа, места, концепции и т. д.)

GET

/entities/:id

Детали сущности

GET

/entities/:id/paragraphs

Абзацы, упоминающие сущность

GET

/cite

Генерация цитаты (APA, MLA, Chicago, BibTeX)

GET

/og/:ref

Динамическое изображение Open Graph

POST

/embeddings

Векторные эмбеддинги для абзацев

GET

/me

Профиль пользователя (требуется авторизация)

POST

/me/bookmarks

Создать закладку (требуется авторизация)

GET

/me/bookmarks

Список закладок (требуется авторизация)

GET

/me/notes

Список заметок (требуется авторизация)

POST

/me/notes

Создать заметку (требуется авторизация)

GET

/me/reading-progress

Прогресс чтения (требуется авторизация)

GET

/me/preferences

Настройки пользователя (требуется авторизация)

POST

/auth/authorize

Получить код авторизации (требуется авторизация)

POST

/auth/token

Обменять код на токен

GET

/auth/apps/:id

Получить информацию о приложении OAuth

Интерактивная документация доступна по адресу /docs (Swagger UI). Спецификация OpenAPI находится в /openapi.json.

SDK

Официальные TypeScript SDK доступны в npm:

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

См. urantia.dev/sdks для получения документации.

Форматы ID абзацев

API принимает три формата ссылок, которые автоматически определяются из строки:

Формат

Пример

Структура

globalId

1:2.0.1

partId:paperId.sectionId.paragraphId

standardReferenceId

2:0.1

paperId:sectionId.paragraphId

paperSectionParagraphId

2.0.1

paperId.sectionId.paragraphId

Поиск

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

Режимы поиска: and (все слова, по умолчанию), or (любое слово), phrase (точное совпадение). Дополнительные фильтры: paperId, partId.

Аудио

Абзацы включают поле audio — вложенный объект, ключами которого являются модель и голос, или null, если аудио отсутствует:

{
  "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" }
    }
  }
}

Доступные модели и голоса различаются для каждого абзаца. Специальная конечная точка /audio/:paragraphId возвращает только аудиоданные для заданного абзаца.

Кэширование

Ответы включают заголовки Cache-Control. CDN Cloudflare кэширует данные на границе сети через s-maxage:

Маршрут

CDN (s-maxage)

Браузер (max-age)

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

24 часа

1 час

/search

1 час

5 минут

/paragraphs/random

no-store

no-store

/, /docs, /openapi.json

1 час

5 минут

Для ИИ-агентов

Рекомендуемый порядок действий:

  1. GET /toc — понять структуру книги

  2. POST /search — найти релевантные отрывки

  3. GET /paragraphs/:ref/context?window=3 — получить окружающий контекст

  4. GET /papers/:id — прочитать документ целиком

MCP-сервер

API включает встроенный MCP сервер по адресу https://api.urantia.dev/mcp — подключите Claude Desktop, Cursor или любой другой MCP-клиент для доступа к:

  • 13 инструментам — поиск, поиск абзацев, навигация по документам, просмотр сущностей, аудио

  • 2 шаблонам ресурсовurantia://paper/{id} (markdown) и urantia://entity/{id}

  • 2 шаблонам промптовstudy_assistant, comparative_theology

Установка в один клик через Smithery.

Аутентификация

Публичные конечные точки не требуют авторизации. Конечные точки пользователя (/me/*) требуют JWT. Поток OAuth:

  1. Зарегистрируйте приложение через POST /auth/apps (администратор) или самостоятельно на accounts.urantiahub.com/developer

  2. Пользователь входит в систему на accounts.urantiahub.com

  3. Обменяйте код авторизации на токен доступа через POST /auth/token

  4. Передайте токен как Authorization: Bearer <token>

Токены доступа — это HS256 JWT со сроком действия 7 дней. PKCE поддерживается для браузерных приложений.

Наблюдаемость

  • Логирование: BetterStack через @logtail/edge — структурированные JSON-логи с метаданными запросов

  • Отслеживание ошибок: Глобальный обработчик ошибок отправляет трассировки стека в BetterStack

  • Проверка работоспособности: GET /health — проверяет подключение к БД

  • Аптайм: Монитор аптайма BetterStack

Технологический стек

Разработка

# 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

Сервер по умолчанию запускается на http://localhost:3000.

Развертывание

Развернуто на Cloudflare Workers. Первоначальная настройка:

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

Развертывание:

bun run deploy

Данные

Контент получен из urantia-papers-json — 197 документов, 1 626 разделов, 14 500+ абзацев с аудиосопровождением через audio.urantia.dev.

Лицензия

Этот проект лицензирован по лицензии MIT.

Отказ от ответственности

Это независимый общественный проект, созданный Adams Technologies LLC. Он не связан, не одобрен и не аффилирован с Urantia Foundation. Оригинальный английский текст «Книги Урантии» является общественным достоянием (Michael Foundation v. Urantia Foundation, 10-й окружной апелляционный суд, 2003 г.). Все упоминания «Урантии» являются номинативным добросовестным использованием для идентификации предмета обсуждения.

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