Skip to main content
Glama
urantia-hub

urantia-papers

Official

유란시아 서 API

유란시아 서를 위한 개발자 및 AI 에이전트 친화적인 API입니다. 197개 논문에 걸친 14,500개 이상의 단락에 대한 전문 검색, 구조화된 콘텐츠 액세스 및 오디오 URL을 제공합니다.

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

동적 오픈 그래프 이미지

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 헤더가 포함됩니다. Cloudflare의 CDN은 s-maxage를 통해 엣지에서 캐싱합니다:

경로

CDN (s-maxage)

브라우저 (max-age)

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

24시간

1시간

/search

1시간

5분

/paragraphs/random

캐시 안 함

캐시 안 함

/, /docs, /openapi.json

1시간

5분

AI 에이전트를 위한 가이드

권장 흐름:

  1. GET /toc — 책 구조 파악

  2. POST /search — 관련 구절 찾기

  3. GET /paragraphs/:ref/context?window=3 — 주변 문맥 가져오기

  4. GET /papers/:id — 전체 논문 읽기

MCP 서버

이 API에는 https://api.urantia.dev/mcp에 내장된 MCP 서버가 포함되어 있습니다. Claude Desktop, Cursor 또는 모든 MCP 클라이언트를 연결하여 다음을 이용할 수 있습니다:

  • 13개의 도구 — 검색, 단락 조회, 논문 탐색, 엔티티 브라우징, 오디오

  • 2개의 리소스 템플릿urantia://paper/{id} (마크다운) 및 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>으로 토큰 전달

액세스 토큰은 7일 만료되는 HS256 JWT입니다. 브라우저 기반 앱의 경우 PKCE가 지원됩니다.

관측 가능성

  • 로깅: @logtail/edge를 통한 BetterStack — 요청 메타데이터가 포함된 구조화된 JSON 로그

  • 오류 추적: 전역 오류 핸들러가 BetterStack으로 스택 추적 전송

  • 상태 확인: GET /health — DB 연결 확인

  • 가동 시간: 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)과 제휴, 보증 또는 연결되어 있지 않습니다. *유란시아 서(The Urantia Book)*의 원본 영어 텍스트는 퍼블릭 도메인입니다(Michael Foundation v. Urantia Foundation, 10th Cir. 2003). "Urantia"라는 용어의 모든 사용은 주제를 식별하기 위한 명목상의 공정 사용(nominative fair use)입니다.

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