urantia-papers
OfficialAPI «Документов Урантии»
API для «Документов Урантии», удобное для разработчиков и ИИ-агентов. Предоставляет полнотекстовый поиск, доступ к структурированному контенту и аудиоссылки для всех 14 500+ абзацев в 197 документах.
Конечные точки API
Метод | Путь | Описание |
GET |
| Оглавление (части → документы) |
GET |
| Список всех 197 документов |
GET |
| Отдельный документ со всеми абзацами |
GET |
| Разделы внутри документа |
GET |
| Случайный абзац |
GET |
| Абзац по любому формату ID |
GET |
| Абзац с окружающим контекстом |
POST |
| Полнотекстовый поиск с пагинацией |
GET |
| Аудиоинформация для абзаца |
POST |
| Семантический (векторный) поиск |
GET |
| Список сущностей (существа, места, концепции и т. д.) |
GET |
| Детали сущности |
GET |
| Абзацы, упоминающие сущность |
GET |
| Генерация цитаты (APA, MLA, Chicago, BibTeX) |
GET |
| Динамическое изображение Open Graph |
POST |
| Векторные эмбеддинги для абзацев |
GET |
| Профиль пользователя (требуется авторизация) |
POST |
| Создать закладку (требуется авторизация) |
GET |
| Список закладок (требуется авторизация) |
GET |
| Список заметок (требуется авторизация) |
POST |
| Создать заметку (требуется авторизация) |
GET |
| Прогресс чтения (требуется авторизация) |
GET |
| Настройки пользователя (требуется авторизация) |
POST |
| Получить код авторизации (требуется авторизация) |
POST |
| Обменять код на токен |
GET |
| Получить информацию о приложении 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 |
|
|
standardReferenceId |
|
|
paperSectionParagraphId |
|
|
Поиск
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) |
| 24 часа | 1 час |
| 1 час | 5 минут |
| no-store | no-store |
| 1 час | 5 минут |
Для ИИ-агентов
Рекомендуемый порядок действий:
GET /toc— понять структуру книгиPOST /search— найти релевантные отрывкиGET /paragraphs/:ref/context?window=3— получить окружающий контекст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:
Зарегистрируйте приложение через
POST /auth/apps(администратор) или самостоятельно на accounts.urantiahub.com/developerПользователь входит в систему на accounts.urantiahub.com
Обменяйте код авторизации на токен доступа через
POST /auth/tokenПередайте токен как
Authorization: Bearer <token>
Токены доступа — это HS256 JWT со сроком действия 7 дней. PKCE поддерживается для браузерных приложений.
Наблюдаемость
Логирование: BetterStack через
@logtail/edge— структурированные JSON-логи с метаданными запросовОтслеживание ошибок: Глобальный обработчик ошибок отправляет трассировки стека в BetterStack
Проверка работоспособности:
GET /health— проверяет подключение к БДАптайм: Монитор аптайма BetterStack
Технологический стек
Среда выполнения: Bun (разработка) / Cloudflare Workers (продакшн)
Фреймворк: Hono + @hono/zod-openapi
База данных: Supabase (PostgreSQL + pgvector)
ORM: Drizzle
Наблюдаемость: 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 г.). Все упоминания «Урантии» являются номинативным добросовестным использованием для идентификации предмета обсуждения.
This server cannot be installed
Maintenance
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