Tools
Every tool is open source under Apache-2.0, and reads packages through a MOCA Reader, so it reaches the same conclusions as any other Reader.
Serve packages to an AI assistant
Section titled “Serve packages to an AI assistant”The MCP server connects MOCA packages to Claude Desktop, Claude Code, VS Code, Cursor or any client of the Model Context Protocol. The assistant can search the packages, open a page and ask how topics relate, and every answer is a citation record it can quote.
Make and publish packages
Section titled “Make and publish packages”Four command-line tools, used in this order. Each runs with npx, with no
install; they need Node.js 22 or later.
1. Make it: moca-convert
Section titled “1. Make it: moca-convert”moca-convert turns Markdown folders, Obsidian vaults, OpenAPI documents, PDFs and YouTube videos into a package.
npx @openmoca/moca-convert ./docs -o my-docs \ --id https://example.com/kb/my-docs --title "My docs"2. Check it: moca-lint
Section titled “2. Check it: moca-lint”moca-lint checks a package as a Reader reads it, packs it
into one .moca file, and prints its digest, manifest and structure.
npx @openmoca/moca-lint lint my-docs3. Sign it: moca-sign
Section titled “3. Sign it: moca-sign”moca-sign makes keys, signs the package as its publisher, records reviews of pages, verifies signatures, and manages your trust root.
npx @openmoca/moca-sign sign my-docs \ --key keys/publisher.pem --keyid publisher4. Index it: moca-index
Section titled “4. Index it: moca-index”moca-index builds a sidecar search index, bound to the
package’s digest. Add --model to build it with a standard embedding model, so
the MCP server can search it by meaning too.
npx @openmoca/moca-index build my-docs \ -o my-docs.moca.idx --chunk headings --model bge-small-en-v1.5The model is installed once, with
moca-embed (npx @openmoca/moca-embed models add bge-small-en-v1.5) or the MCP server’s moca-mcp models add; both use the same
model folder. Then serve the package with the MCP server, or read it in code
with a Reader.