Call this server's tools from your browser. Nothing to install.
Bearer followed by your Olaverse API key (console.olaverselab.com)
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Answer typed questions about a message, ticket, record or form, with a calibrated probability for each answer. state: the thing to decide about: a string (e.g. a customer message) or a JSON object (a record). questions: {question_id: {...}}, each one of: {"type": "noul", "instructions": "The customer is asking for a refund."} -> probability it's true {"type": "choice", "instructions": "Which team?", "criteria": {"billing": "payments", "delivery": "orders"}} {"type": "score", "instructions": "How urgent?", "criteria": ["can wait", "today", "immediately"]} Works in 19 languages, including English, Pidgin, Hausa, Yorùbá, Igbo, Swahili and Arabic.
This tool isn't marked read-only, so it may change something on the server or in an account you connected.
Pick your client. Values in capitals, like YOUR_TOKEN, are yours to fill in.
Run in a terminal
claude mcp add --transport http olaverse-mcp https://mcp.olaverselab.com/mcp \ --header 'Authorization: Bearer YOUR_TOKEN'
Headers
Authorization (required): Bearer followed by your Olaverse API key (console.olaverselab.com)Answer typed questions about a message, ticket, record or form, with a calibrated probability for each answer. state: the thing to decide about: a string (e.g. a customer message) or a JSON object (a record). questions: {question_id: {...}}, each one of: {"type": "noul", "instructions": "The customer is asking for a refund."} -> probability it's true {"type": "choice", "instructions": "Which team?", "criteria": {"billing": "payments", "delivery": "orders"}} {"type": "score", "instructions": "How urgent?", "criteria": ["can wait", "today", "immediately"]} Works in 19 languages, including English, Pidgin, Hausa, Yorùbá, Igbo, Swahili and Arabic.
| Argument | Type | Description |
|---|---|---|
| state* | any | |
| questions* | object |
{
"type": "object",
"title": "decideArguments",
"required": [
"state",
"questions"
],
"properties": {
"state": {
"title": "State"
},
"questions": {
"type": "object",
"title": "Questions",
"additionalProperties": true
}
}
}Identify the language of a text among 608 languages (built African-first; good on very short text). mode: "traffic" (user messages and chat; favours languages people actually use) or "coverage" (all languages equal, for building corpora). Returns the ISO 639-3 code, script, name, confidence and runners-up.
| Argument | Type | Description |
|---|---|---|
| mode | string | |
| text* | string | |
| top_k | integer |
{
"type": "object",
"title": "detect_languageArguments",
"required": [
"text"
],
"properties": {
"mode": {
"type": "string",
"title": "Mode",
"default": "traffic"
},
"text": {
"type": "string",
"title": "Text"
},
"top_k": {
"type": "integer",
"title": "Top K",
"default": 3
}
}
}Turn a document into JSON shaped like `template`, with a calibrated confidence (0-1) for every field. template: the shape of the answer; each leaf names a type: "verbatim-string" (copied exactly), "string", "number", "integer", "date" (YYYY-MM-DD), "date-time", "boolean", ["a", "b"] (pick one), [["a", "b"]] (pick any), ["string"] (a list), or [{...}] (a list of objects, e.g. line items). Example: {"merchant": "verbatim-string", "total": "number", "date": "date", "items": [{"name": "verbatim-string", "price": "number"}]} Give the document as exactly one of: text: the document as text. image: a JPEG or PNG, base64 or a data URL (a photo, scan or screenshot of one page). pdf: a PDF with a text layer, base64. file_path: a JPEG/PNG, PDF or text file on this machine (local server only). instructions: optional guidance, e.g. "dates are day/month/year" or "amounts in kobo". Long documents (over 60,000 characters) are split into parts, extracted in parallel and merged; that can take minutes. Missing values come back as null. Treat fields with confidence below about 0.95 as needing a check.
| Argument | Type | Description |
|---|---|---|
| any | ||
| text | any | |
| image | any | |
| template* | object | |
| file_path | any | |
| instructions | any |
Write n natural, search-style questions that a passage answers, in the passage's own language (25 languages). Useful for FAQs, study cards and search or RAG training data. passage: up to 8,000 characters.
| Argument | Type | Description |
|---|---|---|
| n | integer | |
| passage* | string | |
| language | any |
{
"type": "object",
"title": "generate_questionsArguments",
"required": [
"passage"
],
"properties": {
"n": {
"type": "integer",
"title": "N",
"default": 3
},
"passage": {
"type": "string",
"title": "Passage"
},
"language": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Language",
"default": null
}
}
}The result of a long-document extraction job that extract_document left running (by its id, exj_...).
| Argument | Type | Description |
|---|---|---|
| job_id* | string |
{
"type": "object",
"title": "get_extraction_jobArguments",
"required": [
"job_id"
],
"properties": {
"job_id": {
"type": "string",
"title": "Job Id"
}
}
}Put back diacritics, tone marks or Arabic vowel marks in text typed without them. language: yor (Yorùbá), ibo (Igbo), hau (Hausa), vie, pol, tur, por, spa, fra, ita or ara (Arabic). Example: "se eranko naa si gbo o?" (yor) -> "ṣé ẹranko náà sì gbọ́ ọ?"
| Argument | Type | Description |
|---|---|---|
| text* | string | |
| language* | string |
{
"type": "object",
"title": "restore_diacriticsArguments",
"required": [
"text",
"language"
],
"properties": {
"text": {
"type": "string",
"title": "Text"
},
"language": {
"type": "string",
"title": "Language"
}
}
}We read every tool's name, description and inputs the way the model will, looking for instructions hidden from you. A clean result means no warning signs, not a guarantee. Scanned Nov 6, 2026.
No readOnlyHint / destructiveHint annotations, so clients can't tell a read from a write without asking.
Fix: Add annotations to each tool, e.g. { readOnlyHint: true } for tools that only read.
{
"type": "object",
"title": "extract_documentArguments",
"required": [
"template"
],
"properties": {
"pdf": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Pdf",
"default": null
},
"text": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Text",
"default": null
},
"image": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Image",
"default": null
},
"template": {
"type": "object",
"title": "Template",
"additionalProperties": true
},
"file_path": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "File Path",
"default": null
},
"instructions": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Instructions",
"default": null
}
}
}