# Harness Knowledge

> Project documentation for your AI coding agents, in one local binary.

Harness Knowledge is a local stdio MCP server that lets Claude Code, Codex, OMP, PI, OpenCode and any other MCP client search the documentation you import, with cited passages.

## What does Harness Knowledge do?

- **Written knowledge, searched on demand.** People import guides, READMEs, ADRs, OpenAPI specs, Confluence exports, PDFs and meeting transcripts. Agents search them when they need to know how something works.
- **Cited passages.** knowledge_search answers with pointers (title, section and snippet) or whole chunks, and knowledge_get reads a document or chunk with its neighbours.
- **Hybrid search.** Keyword search (BM25) and vector search with the multilingual e5-small model, merged with reciprocal rank fusion. Without the embedder, search falls back to keywords.
- **Heading-aware chunks.** Markdown, text, HTML and Confluence exports, OpenAPI, AsciiDoc, reStructuredText, PDFs with a text layer and VTT or SRT transcripts, each split along its own sections.
- **Linked to repositories.** A document can link to repositories, narrowed to path globs. A search from inside a repository ranks its linked documents higher; an unlinked document is global.
- **People approve what agents add.** knowledge_add only sends a proposal to a review queue. A person approving it in Harness Desktop, or with held approve, makes it searchable.
- **Cheap re-imports.** Unchanged content changes nothing. Changed content updates the document in place and reuses the vectors of unchanged chunks.
- **Team database.** Keep the index in MongoDB, PostgreSQL with pgvector or libSQL, and choose per kind of document whether it lives remote, on this computer or both.

## Which harnesses and tools does Harness Knowledge support?

| Harness | Support |
| --- | --- |
| Claude Code | Register with claude mcp add --scope user harness-knowledge -- harness-knowledge mcp. |
| Codex | Register with codex mcp add harness-knowledge -- harness-knowledge mcp. |
| OMP, PI, OpenCode | Add a harness-knowledge entry that runs harness-knowledge mcp to their MCP config. |
| Harness Desktop | Installs it, registers the server for every harness and adds a Knowledge view for import, review and repository links. |
| Any other MCP client | Any MCP client can start the stdio server with harness-knowledge mcp. |

## Which platforms does Harness Knowledge run on?

- macOS (Apple Silicon and Intel)
- Linux (x86_64)
- Windows

## How do I install Harness Knowledge?

### macOS and Linux

```sh
curl -fsSL https://raw.githubusercontent.com/MSpiechowicz/harness-useful-knowledge/main/install.sh | sh
```

### Windows (PowerShell)

```powershell
powershell -ExecutionPolicy Bypass -c "irm https://raw.githubusercontent.com/MSpiechowicz/harness-useful-knowledge/main/install.ps1 | iex"
```

## Is Harness Knowledge private? Where does my data live?

- Local by default. The index lives in knowledge.sqlite3 in the harness-knowledge folder of your user data directory unless you point it at a team database.
- The embedder downloads its search model once from this project’s GitHub release, pinned by SHA-256 and size, and runs it on this computer.
- Document text is treated as untrusted data, never as instructions.
- Agents cannot write knowledge on their own. Every proposal waits in a review queue for a person.
- A team database is reached over TLS whenever it is not on this computer.

## Frequently asked questions

### What is Harness Knowledge?

Harness Knowledge is a stdio MCP server, shipped as one local binary called harness-knowledge. People import project documents and coding agents search them, getting back passages with their title and section, so an answer comes from your docs instead of a guess.

### How is it different from Harness Memory?

Harness Memory keeps what agents learn that is written down nowhere, such as fixes, decisions and where things live. Harness Knowledge keeps what is written down already: guides, ADRs, API specs, runbooks and transcripts that people import.

### Which documents can I import?

Markdown, plain text, HTML and Confluence exports, OpenAPI and Swagger specs, AsciiDoc, reStructuredText, PDFs with a text layer and VTT or SRT transcripts. Each is split along its headings, operations, pages or time ranges. Scanned PDFs without a text layer are refused.

### Can an agent add documents by itself?

No. knowledge_add sends a proposal to a review queue and never writes the database. Only a person approving it in Harness Desktop, or with harness-knowledge held approve, makes it searchable.

### How do I install Harness Knowledge?

On macOS and Linux run the curl install script from the README. On Windows run the PowerShell command. Both check the SHA-256 against the release’s checksums before installing anything. Then register harness-knowledge mcp with each harness, or let Harness Desktop do it.

### Does Harness Knowledge send my documents anywhere?

Not by default: the index is a local SQLite file and the embedder runs on your computer. If you configure a team database (MongoDB, PostgreSQL or libSQL), documents and the words of a search go to that database. What an agent reads goes to its model provider like the rest of its context.

## Links

- Page: https://harness-useful.com/knowledge
- GitHub: https://github.com/MSpiechowicz/harness-useful-knowledge
- Releases: https://github.com/MSpiechowicz/harness-useful-knowledge/releases
- License: GPL-3.0-or-later
- Harness Useful home: https://harness-useful.com/
- FAQ: https://harness-useful.com/faq
