Skip to content

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.

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.

Four command-line tools, used in this order. Each runs with npx, with no install; they need Node.js 22 or later.

moca-convert turns Markdown folders, Obsidian vaults, OpenAPI documents, PDFs and YouTube videos into a package.

Terminal window
npx @openmoca/moca-convert ./docs -o my-docs \
--id https://example.com/kb/my-docs --title "My docs"

moca-lint checks a package as a Reader reads it, packs it into one .moca file, and prints its digest, manifest and structure.

Terminal window
npx @openmoca/moca-lint lint my-docs

moca-sign makes keys, signs the package as its publisher, records reviews of pages, verifies signatures, and manages your trust root.

Terminal window
npx @openmoca/moca-sign sign my-docs \
--key keys/publisher.pem --keyid publisher

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.

Terminal window
npx @openmoca/moca-index build my-docs \
-o my-docs.moca.idx --chunk headings --model bge-small-en-v1.5

The 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.