Skip to content

study.vela/corpus

by vela.study · remote · no sign-in to list tools · v0.1.0 · published by study.vela

Read-only MCP access to Vela's corpus of human experience: cited passages, coordinates, reading path

Changes · 4

10 tools: 4 change things and 6 only read.

Scanned Oct 21, 2026

No check matched anything in the tool definitions. No finding is not a safety guarantee. How the checks work.

claude mcp add --transport http corpus https://vela.study/mcp

Tools

Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.

10 tools

Changes things 4Claude Code: ask
  • vela.corpus.ground_claimGround a claim in the corpus: hybrid semantic + theme retrieval over real passages, returning citations with source, passage code, scores, and a SHORT snippet.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Ground a claim in the corpus: hybrid semantic + theme retrieval over real passages, returning citations with source, passage code, scores, and a SHORT snippet. Use to check whether the corpus supports, complicates or is silent on an assertion. COSTS a small amount (one embedding per call). [capability: corpus-ingestion-dual-grade · mirrors: internal — lib/audit/retrieve.ts]

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: false
  • vela.corpus.witnessLiterary Witness Rail (ASN-1577): return passages and one-line claims from Vela's 762-work corpus that illuminate the given themes and/or emotions.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Literary Witness Rail (ASN-1577): return passages and one-line claims from Vela's 762-work corpus that illuminate the given themes and/or emotions. Designed for frame-family profile pages — PersonFrame × ProblemFrame × ConditionFrame — to add an inside-out layer (what writers who lived this say) alongside the outside-in portrait the frame join produces. Results carry evidence_grade 'T1' (single-extractor) until PRN-282 lands. FREE for claims; costs one embedding for the passage path. [capability: literary-witness · mirrors: GET /api/vela/witness]

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: false
  • vela.magazine.relation_floorWhether a magazine's corpus can support the adaptive promise its pages render.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Whether a magazine's corpus can support the adaptive promise its pages render. Reports, per property, each relational dimension's fill AND its separating power — a field present on every piece with one distinct value carries no information, so fill rate alone is misleading. Read-only. [capability: adaptive-magazine-engine · mirrors: npm run magazine:relation-floor]

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: false
  • vela.magazine.sequence_pathAsk what this magazine would actually give a reader who said they wanted these things.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Ask what this magazine would actually give a reader who said they wanted these things. Returns the REAL sequenced path with the rationale for each piece — the same core the anonymous intake calls, not a preview. Read-only: writes nothing and records no signal. [capability: adaptive-magazine-engine · mirrors: POST /api/magazine/start-path]

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: false
Only reads 6Claude Code: allow
  • vela.corpus.describe_topicDescribe ONE topic in full — its axes and their operative definitions, its complete controlled theme and quality vocabularies, plus the vocabulary actually IN USE across the corpus…No findings

    Why it is in this group

    • The name "vela.corpus.describe_topic" says "describe": a word for reading.
    Description, as the server wrote it
    Describe ONE topic in full — its axes and their operative definitions, its complete controlled theme and quality vocabularies, plus the vocabulary actually IN USE across the corpus with counts. The declared vocabulary and the used vocabulary are different facts; this returns both. FREE and read-only. [capability: topic-coordinate-systems · mirrors: GET /api/corpus/topics/:slug]

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: false
  • vela.corpus.list_topicsList the coordinate systems the corpus can be queried through — each with its thesis, axes, and controlled vocabularies.No findings

    Why it is in this group

    • The name "vela.corpus.list_topics" says "list": a word for reading.
    Description, as the server wrote it
    List the coordinate systems the corpus can be queried through — each with its thesis, axes, and controlled vocabularies. Call this before vela.corpus.query to learn what axes and themes exist. FREE and read-only. [capability: topic-coordinate-systems · mirrors: GET /api/corpus/topics]

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: false
  • vela.corpus.queryAsk the corpus by COORDINATE rather than keyword.No findings

    Why it is in this group

    • The name "vela.corpus.query" says "query": a word for reading.
    Description, as the server wrote it
    Ask the corpus by COORDINATE rather than keyword. Filter works by axis weights (e.g. religion ∈ {T,s} AND work ∈ {T,s} returns the God-and-Work source set across genres), controlled themes, qualities/emotions, genre, and free text. Returns card metadata: the one-line claim, themes, coordinates, qualities. FREE and read-only. [capability: library-extraction-cards · mirrors: POST /api/corpus/query]

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: false
  • vela.library.reading_listThe reading list an emotion or theme page shows: books with one-line claims and a short attributed passage (≤300 chars).No findings

    Why it is in this group

    • The name "vela.library.reading_list" says "list": a word for reading.
    Description, as the server wrote it
    The reading list an emotion or theme page shows: books with one-line claims and a short attributed passage (≤300 chars). Exactly one of emotion or theme. FREE and read-only. Every url carries ?ref=mcp for citation arrival measurement. [capability: library-extraction-cards · mirrors: GET /api/corpus/reading-list]

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: false
  • vela.research.get_studyOne FieldStation study as a library-kit ProfileDTO plus the raw StudyRecord.No findings

    Why it is in this group

    • The name "vela.research.get_study" says "get": a word for reading.
    Description, as the server wrote it
    One FieldStation study as a library-kit ProfileDTO plus the raw StudyRecord. Unknown id is an error. FREE and read-only. [capability: study-catalogue · mirrors: GET /api/research/studies/:id]

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: false
  • vela.research.list_studiesList FieldStation research ideas as a library-kit DiscoveryDTO.No findings

    Why it is in this group

    • The name "vela.research.list_studies" says "list": a word for reading.
    Description, as the server wrote it
    List FieldStation research ideas as a library-kit DiscoveryDTO. Each card is a study we can support, not a running participant surface. The honesty gate (limitations, readiness, doNotClaim) is enforced by research:catalog-check — this tool publishes that same file. FREE and read-only. Presence is gated; truth is not. [capability: study-catalogue · mirrors: GET /api/research/studies]

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: false

This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.

Install

Pinned to version 0.1.0. Values in angle brackets are yours to fill in.

claude mcp add --transport http corpus https://vela.study/mcp

Run in a terminal.

Claude Code permissions

Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.

.claude/settings.json
{
  "permissions": {
    "allow": [
      "mcp__corpus__vela_corpus_query",
      "mcp__corpus__vela_library_reading_list",
      "mcp__corpus__vela_corpus_list_topics",
      "mcp__corpus__vela_corpus_describe_topic",
      "mcp__corpus__vela_research_list_studies",
      "mcp__corpus__vela_research_get_study"
    ],
    "ask": [
      "mcp__corpus__vela_corpus_ground_claim",
      "mcp__corpus__vela_corpus_witness",
      "mcp__corpus__vela_magazine_sequence_path",
      "mcp__corpus__vela_magazine_relation_floor"
    ],
    "deny": []
  }
}

Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as corpus. Review it before you use it.