Olaverse Lab

io.github.Olaverse-LabsPublished by GitHub account Olaverse-Labsv0.2.1Updated Nov 7, 2026

Document extraction with calibrated confidence, decisions, language ID in 608 languages, diacritics.

VerifiedStreamable HTTPWeb executableKnowledge & MemoryData & AnalyticsAI & ML

Overview

AI-generated overview

Olaverse Lab exposes small task-specific language models as tools: document-to-JSON extraction with confidence, typed decisions, language ID and diacritic…

What you can do
  • Extract structured JSON from text, JPEG/PNG images or PDFs using a template, with a calibrated confidence per field; long documents run as jobs whose results are collected later
  • Answer typed questions about a message, ticket or record (yes/no, choice, score) with calibrated probabilities
  • Identify the language of a text among 608 languages, in traffic or coverage mode
  • Restore tone marks, accents and Arabic vowel marks in 11 languages
  • Generate search-style questions that a passage answers, in the passage's own language
When to use it
Useful when an assistant must pull fields out of receipts, forms, scans or PDFs and needs per-field confidence to decide what to trust, or when working with English and African-language text for language detection, diacritics or question generation.
Requirements
An Olaverse API key, created in the Olaverse console, passed as OLAVERSE_API_KEY for the local uvx package or as an Authorization bearer header for the hosted endpoint. The local server needs uv/uvx; the hosted server needs no install. Optional settings: OLAVERSE_API_URL and OLAVERSE_JOB_WAIT. Scanned PDFs without a text layer must be sent as JPEG or PNG images.
Before you install
Every call is billed to your API key, so usage costs money beyond any free credit. The API key is a secret sent as OLAVERSE_API_KEY or an Authorization header. Documents, messages and text you submit are sent to Olaverse's servers. Confidence scores are calibrated only for the documents the models were built for, so check a threshold on your own samples before automating on it.

Installation

In SourceWeft

  1. Open Olaverse Lab in the dashboard and add it to a workspace.
  2. Connect Authorization token credentials. They are stored privately and never shown on public pages.
  3. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/io.github.Olaverse-Labs%2Folaverse-mcp/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "olaverse-lab": {
      "type": "http",
      "url": "https://mcp.olaverselab.com/mcp",
      "headers": {
        "Authorization": "Bearer <YOUR_TOKEN>"
      }
    }
  }
}

README

Olaverse MCP server

Olaverse Lab's API as tools for AI agents: Claude, Cursor and any other MCP client. The models are small, task-specific and strongest on English and African-language text.

ToolWhat it does
extract_documentA document (text, a JPEG/PNG photo or scan, or a PDF) to JSON shaped like your template, with a calibrated confidence for every field. Long documents are split, extracted in parallel and merged.
get_extraction_jobCollects a long-document result that's still running.
decideTyped questions about a message, ticket or record (yes/no, choice, score), with calibrated probabilities. 19 languages.
detect_languageThe language of a text, among 608 (built African-first, good on very short text).
restore_diacriticsPuts back tone marks, accents and Arabic vowel marks in 11 languages, including Yorùbá, Igbo, Hausa and Arabic.
generate_questionsSearch-style questions a passage answers, in the passage's own language (25 languages).

Set up

You need an Olaverse API key: create one at console.olaverselab.com (new accounts get $1 of free credit). Calls are billed to your key at the usual prices.

The server runs with uv (uvx downloads and runs it).

Claude Code

bash
claude mcp add olaverse --env OLAVERSE_API_KEY=your-key -- uvx olaverse-mcp

Claude Desktop, Cursor and others (the mcpServers block of the client's MCP config file)

json
{  "mcpServers": {    "olaverse": {      "command": "uvx",      "args": ["olaverse-mcp"],      "env": { "OLAVERSE_API_KEY": "your-key" }    }  }}

Hosted (no install). Olaverse also runs this server at https://mcp.olaverselab.com/mcp (streamable HTTP). Send your key with each request as Authorization: Bearer your-key. The hosted server takes documents as text, or as an image or pdf in base64; it doesn't read files or fetch URLs.

Use it

Ask in plain words, and the agent picks the tool:

  • "Extract the merchant, date, total and line items from ~/Downloads/receipt.jpg."
  • "Is this customer message asking for a refund, and how urgent is it? «Ẹ jọ̀ọ́, wọ́n ti yọ owó lẹ́ẹ̀mejì…»"
  • "Which language is 'Mo fẹ́ lọ sí ọjà'?"
  • "Add the tone marks back: se eranko naa si gbo o?"

Confidence. extract_document returns a confidence for every field. It's calibrated: fields at 0.95 and above are right about 95% of the time on the documents it was built for. Check a threshold on a sample of your own documents before you automate on it.

Settings

VariableDefault
OLAVERSE_API_KEYrequiredYour API key.
OLAVERSE_API_URLhttps://api.olaverselab.com
OLAVERSE_JOB_WAIT900Seconds a long-document extraction waits before handing back a job id for get_extraction_job.

Scanned PDFs (no text layer) aren't read directly: send their pages as JPEG or PNG images.

Licence

Apache-2.0.

mcp-name: io.github.Olaverse-Labs/olaverse-mcp

Source: README.md at commit b5d4b2a

Tools

6

extract_document

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.

Parameterspdftextimagetemplaterequiredfile_pathinstructions

get_extraction_job

The result of a long-document extraction job that extract_document left running (by its id, exj_...).

Parametersjob_idrequired

decide

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.

Parametersstaterequiredquestionsrequired

detect_language

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.

Parametersmodetextrequiredtop_k

restore_diacritics

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ọ́ ọ?"

Parameterstextrequiredlanguagerequired

generate_questions

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.

Parametersnpassagerequiredlanguage

Version history

1
  1. v0.2.1LatestNov 7, 2026

Score

100% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts