corpus
Server Details
Read-only MCP access to Vela's corpus of human experience: cited passages, coordinates, reading path
- Status
- Healthy
- Uptime
- 100.0% over 22 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 9 tools
Tools are mostly distinct across three clear namespaces (corpus, magazine, research). Within corpus, ground_claim and witness both retrieve passages and could be confused, but descriptions clarify different use cases; query is also broadly named but well-differentiated by its coordinate-filter behavior.
All tools use a consistent `vela.<namespace>.<action>` dot-separated prefix, which is good. However, the action part mixes verb_noun (describe_topic, list_topics, get_study, list_studies), bare verbs (query, witness), and noun phrases (relation_floor, sequence_path), making the pattern less predictable.
Nine tools is well within the ideal range (3-15). Each tool serves a distinct function across the corpus, magazine, and research sub-domains, and none appear redundant or unnecessary.
The surface covers core read-only operations for querying topics, grounding claims, retrieving witness passages, and accessing magazine and research data. Minor gaps exist (e.g., no tool to list magazines or fetch a specific passage by ID), but the essential lifecycle for a read-only corpus API is present.
Available Tools
9 toolsvela.corpus.describe_topicvela.corpus.describe_topicARead-onlyInspect
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]
| Name | Required | Description | Default |
|---|---|---|---|
| topic | No | being-human |
Output Schema
| Name | Required | Description |
|---|---|---|
| inUse | Yes | |
| declared | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark readOnlyHint=true and destructiveHint=false; the description reinforces read-only and adds a unique cost signal ('FREE'). It goes beyond annotations by explaining the semantic distinction between declared vocabulary and used vocabulary and confirming that both are returned, which is a key behavioral nuance. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The purpose is front-loaded in the first clause, followed by essential scope details and the cost/read-only note. The bracketed capability and mirror lines are compact and informative; no sentence feels wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter, read-only tool with an output schema, the description covers what is returned and the semantic distinction that matters. It is missing only an explicit pointer that topic values come from list_topics, though the sibling tool and default value make this easily recoverable.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema only provides a 'topic' string with a default, and the description adds that the call addresses ONE topic while the mirrored endpoint (topics/:slug) implies the parameter is a topic slug. It does not enumerate valid values or point to list_topics for available slugs, so the low schema coverage is only partially compensated.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The opening phrase 'Describe ONE topic in full' names a specific verb and resource, then enumerates the exact content returned: axes, operative definitions, controlled theme/quality vocabularies, and in-use vocabulary counts. The 'ONE' scope and the explicit vocabulary facts clearly distinguish it from a listing tool like list_topics.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description makes the read-only, single-topic use case clear, but it does not explicitly say when to prefer this over alternatives or when not to use it. No sibling routing is provided, so an agent must infer that list_topics is for enumeration. This is implied usage, not explicit guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
vela.corpus.ground_claimvela.corpus.ground_claimARead-onlyInspect
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]
| Name | Required | Description | Default |
|---|---|---|---|
| claim | Yes | The claim to ground. | |
| limit | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| hits | Yes | |
| claim | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds useful behavioral context beyond annotations: it notes the tool performs real-passage retrieval, returns a short snippet, and costs 'a small amount (one embedding per call).' This helps the agent anticipate side effects and output character.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded: the first sentence states the action and output, the second sentence states the usage, and the third sentence warns about cost. The capability/mirror metadata is supplementary but not bloated. Every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given only two simple parameters, an output schema, and annotations that cover read-only/destructive behavior, this description is complete. It explains the purpose, mechanism, return contents, usage scenario, and cost. Nothing critical is missing for an agent to decide whether and how to call this tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema describes the 'claim' parameter but not 'limit', providing 50% coverage. The description adds no new parameter-level detail beyond the schema, and the default/max/min on 'limit' are self-explanatory. This is an adequate but not exceptional level of parameter guidance.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('ground') with a clear resource ('a claim in the corpus') and explains the mechanism ('hybrid semantic + theme retrieval over real passages') and output ('citations with source, passage code, scores, and a SHORT snippet'). It clearly positions this tool as distinct from siblings by focusing on claim verification against corpus passages.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly states the intended use case: 'Use to check whether the corpus supports, complicates or is silent on an assertion.' This gives clear context for when to invoke the tool, though it does not explicitly name alternative sibling tools or state when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
vela.corpus.list_topicsvela.corpus.list_topicsARead-onlyInspect
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]
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| topics | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint and destructiveHint, and the description adds the useful details that the tool is FREE and read-only. It also notes the REST mirror, which provides some extra context, but it does not go beyond annotations in explaining broader behavioral traits such as data freshness, rate limits, or scope limitations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded: the core action and output are stated in the first sentence, followed by the key usage instruction and cost/safety note. The metadata tags add value without bloating the text.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter, read-only listing tool with an output schema and annotations covering safety, the description supplies the essential context: what is returned, why to call it, and the relationship to the main query tool. Nothing material is missing for an agent to invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero parameters, so the baseline is 4. The description correctly indicates that no inputs are required and focuses on what the tool returns, which is appropriate for a parameterless discovery endpoint.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('List'), a concrete resource ('coordinate systems the corpus can be queried through'), and the key contents (thesis, axes, controlled vocabularies). It also positions itself relative to vela.corpus.query, making its purpose unmistakable even among several corpus siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly advises calling this tool before vela.corpus.query to discover available axes and themes, which is clear usage guidance. It does not explicitly mention when not to use it or name all alternative tools, but it gives enough context for correct invocation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
vela.corpus.queryvela.corpus.queryARead-onlyInspect
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]
| Name | Required | Description | Default |
|---|---|---|---|
| axes | No | Axis → allowed weights. ALL listed axes must match. e.g. {"religion":["T","s"],"work":["T","s"]} | |
| text | No | Substring match over title / author / one-line claim. | |
| genre | No | ||
| limit | No | ||
| topic | No | Coordinate system to query (topic_configs.slug). | being-human |
| offset | No | ||
| themes | No | Cards citing ANY of these controlled themes. | |
| qualities | No | Cards carrying ANY of these qualities (emotions, for being-human). | |
| include_passages | No | Include theme-anchored passage pointers. |
Output Schema
| Name | Required | Description |
|---|---|---|
| hits | Yes | |
| topic | Yes | |
| total | Yes | |
| applied | Yes | |
| returned | Yes | |
| truncated | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, destructiveHint=false and openWorldHint=false, so the safety profile is covered. The description adds 'FREE' as an operational fact and notes the returned card metadata, but the return shape is already carried by the output schema, so net new behavioral disclosure is modest.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the defining distinction, then the filter dimensions and return summary, all in a compact block. The trailing '[capability … mirrors …]' tag is mildly extraneous but arguably useful routing metadata.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 9-parameter, nested-object query tool with an output schema and full annotation coverage, the description supplies the conceptual model (coordinate weights, conjunctive axes) that the schema can't convey. Pagination and default-limit behavior are left implicit, but the schema covers defaults and bounds.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 67% schema coverage and a nested 'axes' object, the description adds real meaning: the axis-weight query model ('religion ∈ {T,s} AND work ∈ {T,s}') and that axes are conjunctive, plus the emotional framing of qualities. It leaves limit/offset/pagination semantics to the schema, which is acceptable.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('ask the corpus', 'filter works') and sharpens it with the 'COORDINATE rather than keyword' distinction, which tells an agent what kind of lookup this is. It enumerates the filter dimensions (axes, themes, qualities, genre, text). It does not name or differentiate itself from the actual sibling tools, so the sibling-based differentiation is only conceptual.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
'Ask the corpus by COORDINATE rather than keyword' plus the concrete axis-weight example gives clear context for when this tool is the right call. However, no explicit when-not condition or named alternative sibling is provided, leaving selection guidance to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
vela.corpus.witnessvela.corpus.witnessARead-onlyInspect
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]
| Name | Required | Description | Default |
|---|---|---|---|
| axes | No | Axis weight filters for claims only — same format as vela.corpus.query (e.g. {work:["T","s"]}). | |
| themes | No | Controlled themes from Vela's vocabulary (e.g. 'fairness', 'recognition'). | |
| emotions | No | Emotions to match (e.g. 'shame', 'betrayal', 'grief'). At least one of themes or emotions is required. | |
| max_claims | No | Max one-line claims to return (default 3). | |
| max_passages | No | Max passages to return (default 5). | |
| problem_slug | No | ProblemFrame entity slug (echoed in response; reserved for frame_tags[] pre-cache after PA-1153 ID-freeze). | |
| condition_slug | No | ConditionFrame entity slug (same reservation as problem_slug). |
Output Schema
| Name | Required | Description |
|---|---|---|
| query | Yes | |
| claims | Yes | |
| passages | Yes | |
| evidence_grade | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false; the description adds non-obvious behavior beyond that: results carry 'evidence_grade T1 (single-extractor) until PRN-282 lands,' warning about evidence quality. It also discloses the cost distinction between claims and passages and notes that problem_slug/condition_slug are 'reserved for frame_tags[] pre-cache after PA-1153 ID-freeze.' No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four informative sentences plus a bracketed capability/mirror note, with the core action front-loaded in the first sentence. The prose is efficient and purposeful, though internal identifiers like ASN-1577, PRN-282, and PA-1153 add jargon that is not essential for invoking the tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With rich annotations, a 100%-covered schema, and an output schema present, the description is nearly complete: purpose, page context, evidence-grade caveat, cost, and API mirror are all covered. The main gap is that it doesn't explicitly differentiate this tool from sibling tools like vela.corpus.query or describe_topic, which matters for an agent with no other context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3; the schema already documents all seven parameters. The tool description adds only general context ('given themes and/or emotions') and cost behavior, not meaningful new parameter-level meaning. It doesn't need to compensate, but it also doesn't substantially elevate parameter understanding.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific action and resource: 'return passages and one-line claims from Vela's 762-work corpus' that illuminate themes/emotions. It also positions the tool as an 'inside-out layer' complement to the frame join's 'outside-in portrait,' helping distinguish it from neighboring corpus tools. The title alone would be useless, but the description supplies real semantic content.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The intended use case is explicit: 'Designed for frame-family profile pages — PersonFrame × ProblemFrame × ConditionFrame — to add an inside-out layer.' It also provides cost-based guidance ('FREE for claims; costs one embedding for the passage path') that helps agents choose between claims and passage results. It does not explicitly name sibling alternatives or exclusion conditions, so it isn't a full routing contract.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
vela.magazine.relation_floorvela.magazine.relation_floorARead-onlyInspect
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]
| Name | Required | Description | Default |
|---|---|---|---|
| property | No | Restrict to one property id; omit for every property with published pieces. |
Output Schema
| Name | Required | Description |
|---|---|---|
| properties | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Read-only behavior is already covered by annotations, but the description adds meaningful context beyond them: it explains that fill rate alone is misleading and that separating power is reported because a field present on every piece with one distinct value carries no information. It also exposes the relevant capability and npm mirror, which clarifies what the tool computes.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The core description is compact: two sentences carry the purpose and the key analytic nuance, followed by useful capability/mirror metadata. The opening phrase is slightly abstract, but the second sentence grounds it immediately. No unnecessary prose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With one optional parameter, fully described schema, and an output schema, the description plus structured data cover the main call requirements. It tells the agent what is measured, why the measurement matters, and that the operation is read-only. It only lacks explicit sibling routing, which is already penalized in usage_guidelines.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already fully documents the single optional property parameter, so the baseline is 3. The description reinforces that reporting is per property but adds no new format, constraints, or relation to dimensions beyond what the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a concrete diagnostic purpose: whether a magazine's corpus can support adaptive promise, then specifies that it reports each relational dimension's fill and separating power per property. This is specific enough to identify the tool, but it does not explicitly differentiate it from sibling tools like sequence_path or corpus.query.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit guidance on when to use this tool versus alternatives. The opening clause about adaptive promise implies a diagnostic use case, but the description never names sibling tools or states why relation_floor is preferred over them. An agent is left to infer usage from context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
vela.magazine.sequence_pathvela.magazine.sequence_pathARead-onlyInspect
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]
| Name | Required | Description | Default |
|---|---|---|---|
| forms | No | Article forms to steer by. At least one of emotions/forms is required. | |
| limit | No | Pieces to return (default 4). | |
| emotions | No | Emotions the reader is steering by. | |
| property | No | Property id; defaults to vela. |
Output Schema
| Name | Required | Description |
|---|---|---|
| path | Yes | |
| property | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate read-only and non-destructive behavior, and the description adds a useful explicit guarantee: 'writes nothing and records no signal.' It also clarifies the output is the real path, not a preview, which goes beyond the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short, front-loaded sentences plus one bracketed metadata line. Each sentence adds a distinct fact: purpose, output authenticity, and side-effect guarantee. There is no filler or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given full schema coverage and an output schema, the description need not repeat parameter or return details. It covers purpose, output authenticity, and side effects. The main gap is not mentioning how this relates to the sibling relation_floor tool for adjacent magazine use cases.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so parameters such as forms, limit, emotions, and property are already documented in the schema. The description only gestures at these via 'wanted these things' and adds no additional parameter-level guidance.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a concrete deliverable: the REAL sequenced path with rationale for each piece. It also explicitly states this is not a preview, clarifying the output is the actual core path. It does not explicitly contrast with sibling tools like relation_floor, but the verb and resource are clear enough.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The opening sentence frames the specific scenario: use this when asking what the magazine would actually offer a reader expressing certain wants/emotions/forms. It provides clear context but does not list exclusions or explicitly direct the agent to an alternative sibling tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
vela.research.get_studyvela.research.get_studyARead-onlyInspect
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]
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Catalogue id, e.g. S-01. |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | |
| note | Yes | |
| study | Yes | |
| profile | Yes | |
| problems | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint and destructiveHint, and the description adds valuable behavior beyond them: it is FREE, read-only, unknown ids error out, and the response contains both a ProfileDTO and a raw StudyRecord. No contradiction exists.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded: it states the core operation first, then error behavior, then cost/safety, then the mirrored endpoint. Every sentence carries useful information with no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple fetch-by-id tool with a single required parameter, the description is complete: it covers return shape, error semantics, read-only/free status, and the mirrored API route. The output schema exists, so return-value details do not need to be duplicated.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the single id parameter is already documented with 'Catalogue id, e.g. S-01.' The description adds the 'Unknown id is an error' behavior, but does not add new parameter-level semantics beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: retrieving 'One FieldStation study' by id, and specifies the exact return shape ('library-kit ProfileDTO plus the raw StudyRecord'). It is clearly distinct from the sibling list_studies, since it targets a single study.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the usage context: you must provide an exact catalogue id, and an unknown id is an error. However, it does not explicitly mention when to prefer this tool over vela.research.list_studies or name an alternative, leaving the routing decision somewhat implicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
vela.research.list_studiesvela.research.list_studiesARead-onlyInspect
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]
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | |
| note | Yes | |
| count | Yes | |
| studies | Yes | |
| problems | Yes | |
| sendable | Yes | |
| discovery | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide read-only and non-destructive hints; the description adds that it is 'FREE and read-only,' discloses an honesty gate (limitations, readiness, doNotClaim), and states 'Presence is gated; truth is not.' These go beyond the structured hints, though some phrasing is cryptic.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loaded with the action. The additional sentences earn their place by clarifying content semantics and safety, but phrases like 'honesty gate' and 'Presence is gated; truth is not' are compact yet less clear than they could be.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter, read-only list operation with an output schema, the description covers purpose, scope, safety, and catalogue semantics. It lacks only explicit sibling routing or a clearer explanation of gating, but nothing essential to invoking it is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are zero parameters, and schema description coverage is 100%, so the baseline is 4. The description adds no parameter details, but none are needed; it instead notes the output is a library-kit DiscoveryDTO and mirrors GET /api/research/studies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb and resource: 'List FieldStation research ideas as a library-kit DiscoveryDTO.' It further clarifies that returned cards are supportable studies, not participant-facing surfaces. It does not explicitly contrast with sibling get_study, so it stops short of full differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The intended use is implied: call this to retrieve the study catalogue, and it warns that this is 'not a running participant surface.' However, it never explicitly says when to prefer get_study or another sibling, or when not to use this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
1 tool update
- Changed
vela.corpus.query1 field changed- added
Output schema / properties / hits / items / properties / urlAdded value: +{ + "type": "string" +}
1 tool update
- Removed
get_membership_offer
2 tool updates
- Added
vela.research.get_study - Added
vela.research.list_studies
1 tool update
- Added
get_membership_offer
7 tool updates
- First observed
vela.corpus.describe_topic - First observed
vela.corpus.ground_claim - First observed
vela.corpus.list_topics - First observed
vela.corpus.query - First observed
vela.corpus.witness - First observed
vela.magazine.relation_floor - First observed
vela.magazine.sequence_path
Related MCP Connectors
Read-only MCP access to authorized Vocci sessions, notes, files, and memory search.
Read-only hosted MCP over CanonicAI's cited Answers corpus on canonicai.com.
Read-only MCP over the LivingMeta AI-in-Research corpus: 12,400 papers, gaps, priority agenda.
Read-only MCP server exposing a user ORANO library to their own AI agent.
Related MCP Servers
- FlicenseNot gradedqualityCmaintenanceSearch and read your interview transcripts from Claude or any MCP client. Full-text search across every project, speaker-labelled transcripts with timestamps, cited passages. Read-only.-
- AlicenseNot gradedqualityBmaintenanceA read-only MCP server that lets AI agents search and retrieve the Wheel of Heaven corpus, including source-grounded facts, interpretations, and comparative traditions, all with full epistemic metadata.20 npmCreative Commons Zero v1.0 Universal
- FlicenseAqualityCmaintenanceProvides read-only MCP tools to search and retrieve evidence-grounded knowledge compiled from video content, including hybrid semantic and lexical search with citations.5-
- AlicenseAqualityAmaintenanceEnables browsing, searching, and quote verification of a local ebook library via MCP, providing deterministic RAG with no embeddings or network.62MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.