# Portable grounding for AI

> An open standard for the knowledge AI answers from. Packaged with its structure and original sources, signed, and read the same way by any model, vector store or agent, on a server or offline.

Source: https://openmoca.org/

## What is OpenMOCA?

OpenMOCA is an open standard for portable grounding for AI. **MOCA stands for
Modular Ontology, Content & Attestation**: knowledge in modular packages,
organised by an optional ontology, its content kept with the original sources,
and attestations, signatures that prove who published it and who checked it. Open Readers in TypeScript, .NET and
Python read, verify, search and cite a package the same way, on a server or
offline, and every answer can cite a source you can check.

  - [Use MOCA with your AI assistant](/start/ai-assistant/): Add the openmoca agent skill to Claude, Copilot or Codex, and ask it to make, sign, search and cite packages.
  - [Got a .moca file?](/start/open-a-package/): Open it in Claude Desktop, Claude Code, VS Code or Cursor with one download, and get answers that cite their source.
  - [RAG with citations you can check](/docs/moca-and-rag/): What a package adds to retrieval-augmented generation: current, in-scope content, every passage traced to its source.
  - [Trust and provenance](/docs/trust-and-provenance/): Signed packages, signed reviews, quotes checked against the originals, and proof of what an answer used.
  - [Grounding for AI agents](/docs/ai-agents/): One package for any agent: an MCP server, Agent Framework, LangChain and LlamaIndex, with the same trust rules.
  - [Ontology for AI retrieval](/docs/ontology/): Topics, steps and prerequisites as structure, and search that adds what each result requires.
  - [Sovereign and offline AI](/docs/sovereign-ai/): Grounding that runs on infrastructure you control: no network calls, local search, signatures you verify.
  - [Questions?](/docs/faq/): What MOCA stands for, how it relates to RAG, vector stores, OKF and MCP, and where to start.

## The problem

Knowledge that feeds AI is often rebuilt for each model, vendor and pipeline,
and loses its structure and its sources on the way. It is then hard to prove
which version an answer came from, who published it, or whether anyone checked
it. Superseded content can keep being served, because the pipeline is rarely
told it is no longer in force.

## Where it helps

MOCA is not another model, vector store or agent framework. It is the form
your knowledge travels in, so whatever you build answers from the right
version and cites the original source.

  - [Sharing knowledge for grounding](/docs/use-cases/#sharing-knowledge-for-grounding): Package a body of knowledge once; any assistant, model or framework grounds on it.
  - [Manuals and procedures](/docs/use-cases/#manuals-and-procedures): Steps in order, the checks that come first, cited to the PDF page, even offline.
  - [Law and regulation](/docs/use-cases/#law-and-regulation): Only the version in force, with the exact clause cited.
  - [Courses, talks and video](/docs/use-cases/#courses-and-training): Lessons in order and prerequisites kept; every answer opens the video at the moment.
  - [Customer support knowledge](/docs/use-cases/#customer-support-knowledge): AI drafts kept apart from what a person checked; internal answers stay internal.
  - [Audit and regulated AI](/docs/use-cases/#audit-and-regulated-ai): A record of exactly which content each answer used, long after the index is rebuilt.

[More use cases](/docs/use-cases/), and where MOCA is a poor fit.

## A package, in three layers

A MOCA package wraps an
[Open Knowledge Format](https://github.com/GoogleCloudPlatform/open-knowledge-format)
bundle, a folder of Markdown with YAML frontmatter. The name maps onto
it: the ontology is the structure layer, the content comes with its
evidence, and attestation is the trust that runs through all three, like the
pin in the logo.

<PackageLayers />

## What a Reader gives you

A Reader opens a package, verifies it, and searches it with trust rules
applied: content that is out of force, superseded or outside the caller's
audience never comes back. Every result is a **citation record**: the text,
the package version and digest it came from, a versioned reference to cite,
who signed and reviewed it, and its evidence, marked `matched` when the quote
was found in the original.

Readers are in-process libraries, one per language, and every one passes the
same [conformance corpus](/spec/conformance/), so a package reads the same way
everywhere.

  - [Get started in TypeScript](/start/typescript/): npm install @openmoca/moca-core: install, open, search and cite, run the corpus.
  - [Get started in .NET](/start/dotnet/): dotnet add package OpenMoca.Reader, with bindings for Microsoft.Extensions.AI, the Agent Framework and VectorData.
  - [Get started in Python](/start/python/): pip install moca-reader: the same Reader, for the language most AI code is written in.
  - [Serve packages over MCP](/tools/mcp/): One download, nothing to install: search, navigate and cite packages from any MCP client.
  - [Make a package](/docs/quickstart/): A valid package in five minutes, from Markdown you already have.

## Try it in your browser

[Try OpenMOCA](https://try.openmoca.org) runs the .NET Reader over eight real
packages, each converted from a published source and signed. No install, and
no account to search.

- **Learn Copilot Studio 2026** — a video series: 17 videos in order, every answer cited to the moment. _MadeForCloud on YouTube, CC BY 3.0._
- **First Steps to Using Claude AI** — a recorded talk, its chapters cited to the moment. _Eliot Prince on YouTube, CC BY 3.0._
- **Kubernetes documentation** — vendor documentation at scale: all 1,653 pages. _The Kubernetes Authors, CC BY 4.0._
- **Airplane Flying Handbook** — a manual with a topic ontology: what each topic builds on. _FAA, public domain._
- **Data Protection Act 2018** — legislation, section by section. _legislation.gov.uk, Open Government Licence._
- **HSE health and safety guidance** — regulated procedures, cited to the PDF page. _Health and Safety Executive, Open Government Licence._
- **GitLab handbook** — onboarding: a company's policies and people practices. _GitLab, Creative Commons with attribution._
- **Acme Support Knowledge Base** — trust: 34 pages in English and French; internal procedures kept out of public answers, expired and future policies left out, stale and disputed pages flagged. _The OpenMOCA specification's example, Apache-2.0._

What you can do there:

- **Search, with no account.** Lexical (keyword), semantic or hybrid, through the
  Reader's one search call. Two local embedding models, bge-small and Nomic,
  each with its own sidecar index of the same passages; your search is embedded
  on the server and never sent to an AI provider. Hybrid results show where
  each one ranked in the lexical and semantic lists.
- **Open every result at its source.** The passage opens beside the results,
  marked in place; a video opens at the moment.
- **Use the structure.** Search within a chapter, a folder or a topic, narrow
  to what the results fall under, or widen back out. In the Flying Handbook,
  each topic shows what it builds on (`requires`).
- **Check, don't trust.** Inspect a package: its digest, its signer, the
  Reader's findings and its search indexes.
- **Ask it questions.** Signed in, with your own key (Anthropic, OpenAI or
  Google Gemini) or a demo key by invitation. Every answer cites the package,
  and a citation opens the source.

The site is built and run by PI & Mash on the open Readers and tools; its own
code is not part of OpenMOCA.

## Three pillars

| Pillar | What it is | Openness |
| --- | --- | --- |
| **MOCA Package** | The format: structure, content, evidence, and the identity and trust that cover them | Open standard |
| **MOCA Reader** | The standard way to get anything out of a package: search, structure navigation, citation. In-process, one per language, one conformance corpus | Open source |
| **MOCA Application** | The product for one use case, built on a Reader and the agent framework of your choice | Yours |

## Status

**OpenMOCA 0.6.0** is the first public release. The specification and three
Readers, in TypeScript, .NET and Python, are released together and pass one
conformance corpus. Until `1.0.0` the format may still change, and every change
is noted; `1.0.0` comes when it has settled and is used beyond its maintainer.
If you'd like to help get there, [get in touch](/contact/), or see the
[roadmap](/project/roadmap/).
