corpus

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

Should I use this

Quality & Safety

B
Description quality
98%
Schema completeness
75%
Naming quality
50%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Findings (9)

  • LOWTool 'vela.corpus.query' doesn't follow camelCase/snake_casein vela.corpus.query
  • LOWTool 'vela.corpus.list_topics' doesn't follow camelCase/snake_casein vela.corpus.list_topics
  • LOWTool 'vela.corpus.describe_topic' doesn't follow camelCase/snake_casein vela.corpus.describe_topic
  • LOWTool 'vela.corpus.ground_claim' doesn't follow camelCase/snake_casein vela.corpus.ground_claim
  • LOWTool 'vela.corpus.witness' doesn't follow camelCase/snake_casein vela.corpus.witness
  • LOWTool 'vela.magazine.sequence_path' doesn't follow camelCase/snake_casein vela.magazine.sequence_path
  • LOWTool 'vela.magazine.relation_floor' doesn't follow camelCase/snake_casein vela.magazine.relation_floor
  • LOWTool 'vela.research.list_studies' doesn't follow camelCase/snake_casein vela.research.list_studies
  • LOWTool 'vela.research.get_study' doesn't follow camelCase/snake_casein vela.research.get_study

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~4,383Tokens (tool definitions)
~4.5 KBTypical response size
Significant attention impact (3.42% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "corpus": {
      "url": "https://vela.study/mcp"
    }
  }
}

Remote endpoints

https://vela.study/mcpstreamable-http

What it can do

Tool inventory

Tools (9)

๐ŸŸข Read-only๐ŸŸก Write๐Ÿ”ด Deleteโšช Unknown
๐ŸŸขvela.corpus.query(topic, axes, themes, qualities, genre, ...)

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]

Input Schema

{
  "type": "object",
  "properties": {
    "topic": {
      "default": "being-human",
      "description": "Coordinate system to query (topic_configs.slug).",
      "type": "string"
    },
    "axes": {
      "description": "Axis โ†’ allowed weights. ALL listed axes must match. e.g. {\"religion\":[\"T\",\"s\"],\"work\":[\"T\",\"s\"]}",
      "type": "object",
      "propertyNames": {
        "type": "string"
      },
      "additionalProperties": {
        "type": "array",
        "items": {
          "type": "string"
        }
      }
    },
    "themes": {
      "description": "Cards citing ANY of these controlled themes.",
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "qualities": {
      "description": "Cards carrying ANY of these qualities (emotions, for being-human).",
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "genre": {
      "type": "string"
    },
    "text": {
      "description": "Substring match over title / author / one-line claim.",
      "type": "string"
    },
    "include_passages": {
      "default": false,
      "description": "Include theme-anchored passage pointers.",
      "type": "boolean"
    },
    "limit": {
      "default": 50,
      "type": "integer",
      "minimum": 1,
      "maximum": 200
    },
    "offset": {
      "default": 0,
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Output Schema

{
  "type": "object",
  "properties": {
    "topic": {
      "type": "string"
    },
    "total": {
      "type": "number"
    },
    "returned": {
      "type": "number"
    },
    "hits": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "sourceSlug": {
            "type": "string"
          },
          "libraryId": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "title": {
            "type": "string"
          },
          "author": {
            "type": "string"
          },
          "year": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ]
          },
          "genre": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "oneLineClaim": {
            "type": "string"
          },
          "themes": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "coordinates": {
            "type": "object",
            "propertyNames": {
              "type": "string"
            },
            "additionalProperties": {
              "type": "string"
            }
          },
          "qualities": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "signaturePassages": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "code": {
                  "type": "string"
                },
                "theme": {
                  "type": "string"
                },
                "quote": {
                  "type": "string"
                }
              },
              "required": [
                "code",
                "theme",
                "quote"
              ],
              "additionalProperties": false
            }
          }
        },
        "required": [
          "sourceSlug",
          "libraryId",
          "title",
          "author",
          "year",
          "genre",
          "oneLineClaim",
          "themes",
          "coordinates",
          "qualities"
        ],
        "additionalProperties": {}
      }
    },
    "truncated": {
      "type": "boolean"
    },
    "applied": {
      "type": "object",
      "propertyNames": {
        "type": "string"
      },
      "additionalProperties": {}
    }
  },
  "required": [
    "topic",
    "total",
    "returned",
    "hits",
    "applied"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}
๐ŸŸขvela.corpus.list_topics

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]

Input Schema

{
  "type": "object",
  "properties": {},
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Output Schema

{
  "type": "object",
  "properties": {
    "topics": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "slug": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "thesis": {
            "type": "string"
          },
          "axes": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "key": {
                  "type": "string"
                },
                "label": {
                  "type": "string"
                },
                "description": {
                  "type": "string"
                }
              },
              "required": [
                "key",
                "label"
              ],
              "additionalProperties": {}
            }
          },
          "axisWeights": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "themeCount": {
            "type": "number"
          },
          "qualityCount": {
            "type": "number"
          }
        },
        "required": [
          "slug",
          "name",
          "axes",
          "axisWeights",
          "themeCount",
          "qualityCount"
        ],
        "additionalProperties": false
      }
    }
  },
  "required": [
    "topics"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}
๐ŸŸขvela.corpus.describe_topic(topic)

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]

Input Schema

{
  "type": "object",
  "properties": {
    "topic": {
      "default": "being-human",
      "type": "string"
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Output Schema

{
  "type": "object",
  "properties": {
    "declared": {
      "type": "object",
      "properties": {
        "slug": {
          "type": "string"
        },
        "name": {
          "type": "string"
        },
        "thesis": {
          "type": "string"
        },
        "axes": {
          "type": "array",
          "items": {}
        },
        "themes": {
          "type": "array",
          "items": {}
        },
        "qualities": {
          "type": "array",
          "items": {}
        },
        "axisWeights": {
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      },
      "required": [
        "slug",
        "name",
        "axes",
        "themes",
        "qualities"
      ],
      "additionalProperties": {}
    },
    "inUse": {
      "type": "object",
      "properties": {
        "cards": {
          "type": "number"
        },
        "themes": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "slug": {
                "type": "string"
              },
              "count": {
                "type": "number"
              }
            },
            "required": [
              "slug",
              "count"
            ],
            "additionalProperties": false
          }
        },
        "qualities": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "slug": {
                "type": "string"
              },
              "count": {
                "type": "number"
              }
            },
            "required": [
              "slug",
              "count"
            ],
            "additionalProperties": false
          }
        },
        "genres": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "slug": {
                "type": "string"
              },
              "count": {
                "type": "number"
              }
            },
            "required": [
              "slug",
              "count"
            ],
            "additionalProperties": false
          }
        },
        "axes": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "key": {
                "type": "string"
              },
              "weights": {
                "type": "object",
                "propertyNames": {
                  "type": "string"
                },
                "additionalProperties": {
                  "type": "number"
                }
              }
            },
            "required": [
              "key",
              "weights"
            ],
            "additionalProperties": false
          }
        }
      },
      "required": [
        "cards",
        "themes",
        "qualities",
        "genres",
        "axes"
      ],
      "additionalProperties": {}
    }
  },
  "required": [
    "declared",
    "inUse"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}
๐ŸŸขvela.corpus.ground_claim(claim, limit)

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]

Input Schema

{
  "type": "object",
  "properties": {
    "claim": {
      "type": "string",
      "minLength": 3,
      "description": "The claim to ground."
    },
    "limit": {
      "default": 8,
      "type": "integer",
      "minimum": 1,
      "maximum": 20
    }
  },
  "required": [
    "claim"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Output Schema

{
  "type": "object",
  "properties": {
    "claim": {
      "type": "string"
    },
    "hits": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "passageCode": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "sourceTitle": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "themes": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "score": {
            "type": "number"
          },
          "rationale": {
            "type": "string"
          },
          "snippet": {
            "type": "string"
          },
          "snippetTruncated": {
            "type": "boolean"
          }
        },
        "required": [
          "passageCode",
          "sourceTitle",
          "themes",
          "score",
          "rationale",
          "snippet",
          "snippetTruncated"
        ],
        "additionalProperties": false
      }
    }
  },
  "required": [
    "claim",
    "hits"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}
๐ŸŸขvela.corpus.witness(themes, emotions, axes, problem_slug, condition_slug, ...)

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]

Input Schema

{
  "type": "object",
  "properties": {
    "themes": {
      "description": "Controlled themes from Vela's vocabulary (e.g. 'fairness', 'recognition').",
      "type": "array",
      "items": {
        "type": "string",
        "minLength": 1
      }
    },
    "emotions": {
      "description": "Emotions to match (e.g. 'shame', 'betrayal', 'grief'). At least one of themes or emotions is required.",
      "type": "array",
      "items": {
        "type": "string",
        "minLength": 1
      }
    },
    "axes": {
      "description": "Axis weight filters for claims only โ€” same format as vela.corpus.query (e.g. {work:[\"T\",\"s\"]}).",
      "type": "object",
      "propertyNames": {
        "type": "string"
      },
      "additionalProperties": {
        "type": "array",
        "items": {
          "type": "string"
        }
      }
    },
    "problem_slug": {
      "description": "ProblemFrame entity slug (echoed in response; reserved for frame_tags[] pre-cache after PA-1153 ID-freeze).",
      "type": "string"
    },
    "condition_slug": {
      "description": "ConditionFrame entity slug (same reservation as problem_slug).",
      "type": "string"
    },
    "max_passages": {
      "default": 5,
      "description": "Max passages to return (default 5).",
      "type": "integer",
      "minimum": 1,
      "maximum": 10
    },
    "max_claims": {
      "default": 3,
      "description": "Max one-line claims to return (default 3).",
      "type": "integer",
      "minimum": 1,
      "maximum": 8
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Output Schema

{
  "type": "object",
  "properties": {
    "passages": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "passage_code": {
            "type": "string"
          },
          "text": {
            "type": "string"
          },
          "source_title": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "author": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "charge": {
            "type": "number"
          },
          "themes": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "page_range": {
            "type": "null"
          }
        },
        "required": [
          "passage_code",
          "text",
          "source_title",
          "author",
          "charge",
          "themes",
          "page_range"
        ],
        "additionalProperties": false
      }
    },
    "claims": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "claim": {
            "type": "string"
          },
          "source_title": {
            "type": "string"
          },
          "author": {
            "type": "string"
          },
          "themes": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "claim",
          "source_title",
          "author",
          "themes"
        ],
        "additionalProperties": false
      }
    },
    "evidence_grade": {
      "type": "string",
      "const": "T1"
    },
    "query": {
      "type": "object",
      "properties": {
        "themes": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "emotions": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "axes": {
          "type": "object",
          "propertyNames": {
            "type": "string"
          },
          "additionalProperties": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "problem_slug": {
          "type": "string"
        },
        "condition_slug": {
          "type": "string"
        }
      },
      "required": [
        "themes",
        "emotions"
      ],
      "additionalProperties": {}
    }
  },
  "required": [
    "passages",
    "claims",
    "evidence_grade",
    "query"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}
๐ŸŸขvela.magazine.sequence_path(emotions, forms, property, limit)

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]

Input Schema

{
  "type": "object",
  "properties": {
    "emotions": {
      "description": "Emotions the reader is steering by.",
      "maxItems": 12,
      "type": "array",
      "items": {
        "type": "string",
        "minLength": 1,
        "maxLength": 64
      }
    },
    "forms": {
      "description": "Article forms to steer by. At least one of emotions/forms is required.",
      "maxItems": 12,
      "type": "array",
      "items": {
        "type": "string",
        "minLength": 1,
        "maxLength": 64
      }
    },
    "property": {
      "description": "Property id; defaults to vela.",
      "type": "string",
      "minLength": 1,
      "maxLength": 64
    },
    "limit": {
      "description": "Pieces to return (default 4).",
      "type": "integer",
      "minimum": 1,
      "maximum": 12
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Output Schema

{
  "type": "object",
  "properties": {
    "property": {
      "type": "string"
    },
    "path": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "slug": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "rationale": {
            "type": "string"
          },
          "personalized": {
            "type": "boolean"
          }
        },
        "required": [
          "id",
          "slug",
          "title",
          "rationale",
          "personalized"
        ],
        "additionalProperties": false
      }
    }
  },
  "required": [
    "property",
    "path"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}
๐ŸŸขvela.magazine.relation_floor(property)

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]

Input Schema

{
  "type": "object",
  "properties": {
    "property": {
      "description": "Restrict to one property id; omit for every property with published pieces.",
      "type": "string",
      "minLength": 1,
      "maxLength": 64
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Output Schema

{
  "type": "object",
  "properties": {
    "properties": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "property": {
            "type": "string"
          },
          "published": {
            "type": "number"
          },
          "dimensions": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string"
                },
                "key": {
                  "type": "string"
                },
                "fill": {
                  "type": "number"
                },
                "distinct": {
                  "type": "number"
                },
                "separation": {
                  "type": "number"
                },
                "usable": {
                  "type": "boolean"
                },
                "verdict": {
                  "type": "string"
                }
              },
              "required": [
                "name",
                "key",
                "fill",
                "distinct",
                "separation",
                "usable",
                "verdict"
              ],
              "additionalProperties": false
            }
          },
          "curatorConfirmed": {
            "type": "number"
          },
          "usableCount": {
            "type": "number"
          },
          "inert": {
            "type": "boolean"
          }
        },
        "required": [
          "property",
          "published",
          "dimensions",
          "curatorConfirmed",
          "usableCount",
          "inert"
        ],
        "additionalProperties": false
      }
    }
  },
  "required": [
    "properties"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}
๐ŸŸขvela.research.list_studies

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]

Input Schema

{
  "type": "object",
  "properties": {},
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Output Schema

{
  "type": "object",
  "properties": {
    "ok": {
      "type": "boolean",
      "const": true
    },
    "note": {
      "type": "string"
    },
    "problems": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "sendable": {
      "type": "number"
    },
    "count": {
      "type": "number"
    },
    "discovery": {
      "type": "object",
      "properties": {
        "facetGroups": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "key": {
                "type": "string"
              },
              "heading": {
                "type": "string"
              },
              "combine": {
                "type": "string",
                "enum": [
                  "and",
                  "or"
                ]
              },
              "facets": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "value": {
                      "type": "string"
                    },
                    "label": {
                      "type": "string"
                    },
                    "count": {
                      "type": "number"
                    }
                  },
                  "required": [
                    "value",
                    "label",
                    "count"
                  ],
                  "additionalProperties": false
                }
              }
            },
            "required": [
              "key",
              "heading",
              "combine",
              "facets"
            ],
            "additionalProperties": false
          }
        },
        "cards": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "href": {
                "type": "string"
              },
              "eyebrow": {
                "type": "string"
              },
              "title": {
                "type": "string"
              },
              "claim": {
                "type": "string"
              },
              "chips": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "slug": {
                      "type": "string"
                    },
                    "label": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "slug",
                    "label"
                  ],
                  "additionalProperties": false
                }
              }
            },
            "required": [
              "id",
              "href",
              "eyebrow",
              "title",
              "claim"
            ],
            "additionalProperties": false
          }
        },
        "labels": {
          "type": "object",
          "properties": {
            "filterHeading": {
              "type": "string"
            },
            "clear": {
              "type": "string"
            },
            "resultNoun": {
              "type": "array",
              "items": [
                {
                  "type": "string"
                },
                {
                  "type": "string"
                }
              ]
            }
          },
          "required": [
            "filterHeading",
            "clear",
            "resultNoun"
          ],
          "additionalProperties": false
        }
      },
      "required": [
        "facetGroups",
        "cards",
        "labels"
      ],
      "additionalProperties": false
    },
    "studies": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "claim": {
            "type": "string"
          },
          "repo": {
            "type": "string"
          },
          "readiness": {
            "type": "string"
          },
          "ethicsBurden": {
            "type": "string"
          },
          "stage": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "disciplines": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "needs": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "id",
          "title",
          "claim",
          "repo",
          "readiness",
          "ethicsBurden",
          "stage",
          "disciplines",
          "needs"
        ],
        "additionalProperties": false
      }
    }
  },
  "required": [
    "ok",
    "note",
    "problems",
    "sendable",
    "count",
    "discovery",
    "studies"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}
๐ŸŸขvela.research.get_study(id)

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]

Input Schema

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "minLength": 1,
      "description": "Catalogue id, e.g. S-01."
    }
  },
  "required": [
    "id"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Output Schema

{
  "type": "object",
  "properties": {
    "ok": {
      "type": "boolean",
      "const": true
    },
    "note": {
      "type": "string"
    },
    "problems": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "profile": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string"
        },
        "title": {
          "type": "string"
        },
        "author": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "year": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ]
        },
        "kicker": {
          "type": "string"
        },
        "body": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "kind": {
                "type": "string"
              }
            },
            "required": [
              "kind"
            ],
            "additionalProperties": {}
          }
        },
        "meta": {
          "type": "object",
          "properties": {
            "title": {
              "type": "string"
            },
            "description": {
              "type": "string"
            }
          },
          "required": [
            "title",
            "description"
          ],
          "additionalProperties": false
        }
      },
      "required": [
        "id",
        "title",
        "author",
        "year",
        "kicker",
        "body",
        "meta"
      ],
      "additionalProperties": {}
    },
    "study": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string"
        },
        "title": {
          "type": "string"
        },
        "claim": {
          "type": "string"
        }
      },
      "required": [
        "id",
        "title",
        "claim"
      ],
      "additionalProperties": {}
    }
  },
  "required": [
    "ok",
    "note",
    "problems",
    "profile",
    "study"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded9 tools
verifiedversion not recorded8 tools