MCP.Market

Kybase MCP server

by Kyrzin·io.github.Kyrzin/kybase·v0.2.4·6 stars

Self-hosted Markdown memory for AI agents: notes you can read and edit, with hybrid search.

B83/100grade B
What users say
No reviews yet
Be the first
Safety scan
B83/100

full report

Adoption
Growing

6 stars365 downloads/wk

Reviews

Write one

Nobody has reviewed Kybase yet.

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

Kybase tools (18, 6 write)

write = sends, deletes, buys or posts

Read from the package source without running it. The installed server may list more.

  • append_to_note

    Add text to a note without resending the rest \u2014 prefer it over update_note for journals, logs and running lists. A blank line separates your text from what was there. The note is locked for the read-modify-write, so two sessions appending at the same moment keep both additions instead of the later one overwriting the earlier. Re-embeds in the background like any content change.

  • create_folderwrite action

    Create a new folder. Optionally nested under a parent.

  • create_notewrite action

    Create a new note. Embedding is generated automatically in the background. The server instructions' wikilink and tag rules apply: search_notes for the topic first and link the related notes it finds, and call list_tags before coining a new tag.

  • delete_folderwrite action

    Delete a folder and its full subtree of child folders (cascade). Every note inside \u2014 including notes in nested subfolders \u2014 is soft-deleted into the trash along with it (see delete_note), recoverable via restore_note within the retention window. To preserve organization instead, move notes/subfolders out first.

  • delete_notewrite action

    Soft-delete a note by id \u2014 it disappears from list_notes/search/get_note/the graph, but is recoverable with restore_note for … days before being purged for good. Use list_notes with trashed:true to see what's currently in the trash.

  • get_backlinks

    Notes that link to this one via [[Title]] wikilinks, by id or title. Each comes back as id/title/folder_path plus a snippet around the link; include_content:true returns their full text instead, which is expensive when many notes link here \u2014 prefer get_note on the ids you actually want. offset and limit count notes, not characters.

  • get_graph
  • get_neighbors
  • get_note
  • indexing_status
  • list_folders

    List folders with the full path already resolved \u2014 no need to walk parent_id yourself. Pass a folder's own id as parent_id to create_folder/update_folder to nest under it. Sorted by path, so a page is a contiguous slice of the tree read top to bottom; the reply is `{folders, has_more, next_offset?}`.

  • list_notes

    List notes newest first, filtered by folder, tag or date. This is the tool for "what is new" and "what changed lately": search_notes ranks by relevance and never by recency. created_* is when a note was made, updated_* when its own text last changed \u2014 a rename elsewhere rewriting a [[link]] inside it does not count as an edit here. Each row carries content_length, so you can tell a long note

  • list_tags
  • replace_in_note

    Replace exact text in a note without resending the rest. Either find/replace or old_string/new_string \u2014 the same pair, either spelling. For several replacements pass `edits` rather than the singular fields (one lock and one re-embed for the batch, not one per call); the two forms cannot be combined in one call. Edits apply in order, and each `find` is matched against the note as the edits bef

  • restore_note

    Undo delete_note: brings a soft-deleted note back. Errors if the note isn't in the trash (never deleted, already restored, or purged past the retention window), or if a live note has since taken the same title (rename one of them first, then retry).

  • search_notes
  • update_folderwrite action

    Rename a folder and/or move it under a different parent (set parent_id to null for top level). Provide at least one of name/parent_id. The response includes the resolved `path` so a rename or move can be confirmed without a follow-up list_folders call.

  • update_notewrite action

    Update note fields. Re-embeds if title or content changed. Updates wikilinks if title changed. The server instructions' wikilink and tag rules apply when substantially rewriting \u2014 in particular, call list_tags before coining a new tag. Pass expected_updated_at (the updated_at you read) to be refused instead of overwriting a change made in between.

Public scan report

scanner v0.1.10 · 2026-11-03 · same rubric, same numbers if you re-run it

no findings
  • Code scan2 source files scanned25/25
  • –Live reliabilityno gateway calls yet and no remote to proben/a
  • –Tool poisoningtools not inspected (local package is not executed); not countedn/a
  • Auth qualitystatic API keys via environment variables6/15
  • Maintenancelast push 5 days ago15/15
  • Maintainer identityregistry namespace matches repository owner; GitHub account older than a year8/10
Overall 83/100. Components that don't apply are left out of the denominator. Any critical finding is an F.RubricAppeal a findingJSON

How Kybase compares

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

Safety score
83/100
higher than 70% of 3,470 Web search servers
Tools
18
the typical Web search server has 5
Tools that change things
33%
typical: 0%. Fewer write tools means less an agent can break
GitHub stars
6
more than 81% of 1,786 Web search servers
Downloads a week
365
more than 81% of 827 Web search servers with a package

What its tools let an agent do: 11 read · 2 create · 3 change · 2 delete

Release history: 4 versions in the registry since 2026-09-23, latest 2026-10-29, typically one every 9 days.

Install Kybase in Claude Code, Cursor or VS Code

Runs npx -y kybase-mcp on your machine. Read the scan report first; the gateway never runs local packages.

claude mcp add kybase -- npx -y kybase-mcp
Add to Cursor

What the publisher says

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

Your AI forgets when the session ends. Kybase remembers.

Kybase gives Claude, Cursor, Windsurf and any other MCP-speaking agent a long-term memory you own: one Markdown knowledge base, running on your own machine, that every agent can search, read and update — and that you can open in a browser and edit by hand.

Self-hosted. Private by default. Plain Markdown. Yours.

The problem · Quick start · Connect your agent · What you get · Settings · Sharing · Backups · Upgrading

The problem

You tell your agent how the staging deploy works. It helps, and the session ends.

Tomorrow you open a new one:

You: what did we decide about the staging database?

Agent: I don't have that context — could you tell me again?

So you explain it again. Then you switch editors, and explain it there too.

With Kybase, the knowledge lives outside the agent:

You: what did we decide about the staging database?

Agent: (searches Kybase) You moved staging to its own Postgres

instance so migrations could be tested against real data first — that's

in "Staging environment", under "Database".

New session, same memory. Different tool, same memory.

Quick start

One local agent

Nothing to install, no Docker, no database to run:

{
  "mcpServers": {
    "kybase": {
      "command": "npx",
      "args": ["-y", "kybase-mcp"]
    }
  }
}

Put that in your client's MCP config and restart it. Your notes live under ~/.kybase, and kybase-mcp export vault.zip gets them back out as plain Markdown at any time.

The full app

For the web UI, the graph view, share links, and several agents against one knowledge base:

macOS and Linux

git clone https://github.com/Kyrzin/kybase.git
cd kybase
cp .env.example .env
sed -i.bak "s/^KYBASE_SECRET=$/KYBASE_SECRET=$(openssl rand -hex 32)/" .env
sed -i.bak "s/^POSTGRES_PASSWORD=$/POSTGRES_PASSWORD=$(openssl rand -hex 16)/" .env
rm -f .env.bak
docker compose pull && docker compose up -d

Windows (PowerShell) — no openssl or sed there, so the secrets are generated by .NET instead:

Shortened. The full README is on GitHub.

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

Kybase: common questions

Is Kybase MCP server safe?
Mostly: it is graded B (83/100). Read the Kybase safety report
How do I install Kybase?
It runs on your machine. Copy the Claude Code, Cursor, VS Code or Claude Desktop config from the install section.
Does Kybase need an API key?
Yes. The registry entry asks for GOOGLE_API_KEY, OPENAI_API_KEY, DATABASE_URL.
Is Kybase maintained?
The last commit was 6 days ago (2026-10-29). The latest release is v0.2.4.
What can I use instead of Kybase?
Servers from other publishers that do the same job: DocsMint MCP server, searxNcrawl MCP server and obsei MCP server. Compare all Kybase alternatives.
How does Kybase compare with other Web search MCP servers?
safety score 83/100 (higher than 70% of 3,470 Web search servers); tools 18 (the typical Web search server has 5); tools that change things 33% (typical: 0%. Fewer write tools means less an agent can break). Full comparison.

Alternatives to Kybase

Same job from other publishers: the closest match first, then the best rated.

All Kybase alternatives →
  • DocsMint
    Cloud or self-hosted knowledge for AI agents: hybrid search, reranking, GraphRAG, scoped MCP tools.
    A
  • searxNcrawl
    Web search via SearXNG and/or You.com, plus clean Markdown crawling via Crawl4AI. Self-hosted.
    A
  • obsei
    Self-hosted customer feedback with PII stripped at ingest: search, stats and themes with citations.
    A
  • Tinysearch
    Fast discovery search and self-hosted web research for MCP agents.
    B
  • M3 Memory
    Local-first, cloud-friendly memory — 100+ tools, 99.2% LongMemEval-S retrieval@8, hybrid search.
    A