MCP.Market

witness MCP server

by IngTian·io.github.IngTian/witness·v0.11.0·11 stars

Distills your sessions or any text corpus into a dated history of how its subject changed.

A92/100grade A
What users say
No reviews yet
Be the first
Safety scan
A92/100

not scanned yet

Adoption
Growing

11 stars137 downloads/wk

Reviews

Write one

Nobody has reviewed witness yet.

If you have run it, two minutes of your experience saves the next person an afternoon.

witness tools

No tool declarations could be read from the package source. They show once the server is installed.

Not scanned yet. New listings are scanned within a day or two of arriving.

How witness compares

Against every graded MCP server, from our own scans and uptime checks. Updated after each scan run.

Safety score
92/100
higher than 95% of 48,255 servers
GitHub stars
11
more than 88% of 28,688 servers
Downloads a week
137
more than 69% of 12,191 servers with a package

Release history: 4 versions in the registry since 2026-08-24, latest 2026-11-02, typically one every 1 day.

Install witness in Claude Code, Cursor or VS Code

Runs npx -y @witness-ai/opencode on your machine. Read the scan report first; the gateway never runs local packages.

claude mcp add witness -- npx -y @witness-ai/opencode
Add to Cursor

What the publisher says

From the witness repository's README, as published. We do not edit it. Read it on GitHub

witness — a distillation engine that keeps the history of how things changed.

witness turns a stream of text into a dated record of how its subject changed. Feed it your AI coding sessions and it tracks how you think and work. Feed it market commentary, research notes, or any document stream and it tracks how that changed instead. One pure-Go binary, a local SQLite archive plus plain markdown, served to your agent over MCP.

The thing it is built around is change over time, with provenance. When an attribute's value changes, witness does not overwrite it — it closes the old value with a date and opens a new one, and records which source records drove the shift. So the archive answers "how did this get here", not just "what is true now".

"Aah, you were at my side, all along.

My true mentor...

My guiding moonlight..."

— Ludwig, the Holy Blade

Two ways people use it

1. Watch your own growth as you work with AI. Install it into Claude Code or OpenCode and it captures your sessions in the background — no prompting, no ritual. It distills how your thinking, workstyle, habits, and blind spots shift over months, with evidence for every claim. This is the setup witness ships configured out of the box.

It is reflection-oriented, not clone-oriented: the point is to let your agent understand you, and to leave you a re-readable record of how you thought and grew. It is a pure tool, not a coach — it captures, structures, and serves. Building a coach on top ("you've done this three times…") is left to other projects that read its output.

2. Build a change-history over any text corpus. Write a lens — a prompt describing what to notice and which dimensions to track — point witness ingest at NDJSON records, and the same four-stage engine runs. Nothing about the machinery is person-specific: raw records → observations → dated facets → narrative.

A worked example, run end to end while writing this section. A regime lens over market commentary, in an archive with no person lens enabled at all: 7 news records became 22 observations and 13 facets. Then the regime flipped hawkish→dovish, and the archive recorded it as history rather than replacing it:

inflation/core_trend
  "Disinflation has broken rather than paused: core CPI reaccelerating…"   valid_to 2026-06-…
  "Core is disinflating persistently rather than reaccelerating…"          (current)

Five facets closed and reopened that way in one review. The generated brief even flagged that its own earlier sequencing thesis had been falsified by the new data — which is the whole point of keeping the history instead of the latest snapshot.

Honest caveat: the engine is general, but everything witness ships is person-shaped — the built-in default lens, the example lens, and the summary prompts all say "notice things about the person". For a non-person corpus you write your own lens (three files) and, if you want, override the summary prompt with one file. There is no market-lens or research-lens preset yet; the machinery is domain-agnostic, the batteries included are not.

Is this you?

witness is the answer if you've ever wanted to:

Shortened. The full README is on GitHub.

Nothing above is checked by us. What we check is on the safety report.

witness: common questions

Is witness MCP server safe?
Yes, by our scan: it is graded A (92/100). Read the witness safety report
How do I install witness?
It runs on your machine. Copy the Claude Code, Cursor, VS Code or Claude Desktop config from the install section.
Does witness need an API key?
Not as far as the registry entry and our scan can tell: no credentials are declared or required.
Is witness maintained?
The last commit was 4 days ago (2026-10-31). The latest release is v0.11.0.
How does witness compare with other MCP servers?
safety score 92/100 (higher than 95% of 48,255 servers); github stars 11 (more than 88% of 28,688 servers); downloads a week 137 (more than 69% of 12,191 servers with a package). Full comparison.