Skip to main content
Glama
urantia-hub

urantia-papers

Official
by urantia-hub

유란시아 서 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에 있습니다.

Related MCP server: mnemex

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)입니다.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    A
    maintenance
    Free, no-key MCP server for reading scripture from 35+ public-domain translations in 8 languages. Lets users fetch verses, chapters, and passages via natural language from any MCP client.
    7
    136 npm
    1
    MIT
  • F
    license
    Not graded
    quality
    A
    maintenance
    An MCP server for Christian scholarship and research, providing read-only access to a SQLite corpus of 66-book BSB and 83-book WEB Bibles, original-language Greek/Hebrew word studies with Strong's and morphology, cross-references, patristic citations (Irenaeus, Justin Martyr, Apostolic Fathers), verse alignments, semantic and hybrid search over ~55,800 embeddings, and multi-work passage retrieval, interlinear lookup, and research-brief synthesis prompts.
    3
    -