Mindbase MCP server
LLM-maintained personal wiki: cross-references sources, flags contradictions. Local markdown.
118 stars37 downloads/wk
Reviews
Write oneNobody has reviewed Mindbase yet.
If you have run it, two minutes of your experience saves the next person an afternoon.
Mindbase tools (50, 8 write)
write = sends, deletes, buys or postsRead from the package source without running it. The installed server may list more.
add_rss_feedSubscribe MindBase to a new RSS feed. New entries are auto-fetched every 60 minutes and compiled into wiki pages. Use this when the user says things like "subscribe me to <url>", "follow this blog", "add this to my feeds", or shares a feed URL.
answer_cardwrite actionSubmit an answer to a review card. Use ratings as: forgot (didn't know), hard (struggled), good (right answer with effort), easy (instant recall). After answering, the card is rescheduled according to SM-2.
append_to_pageAppend content to a section of an existing wiki page. Creates the section if missing. Refuses to modify human-edited pages unless force: true.
ask_wikiAsk a natural-language question against the user's wiki. Performs graph-aware retrieval (search \u2192 top hits + their 1-hop wikilinks) and returns a cited answer using the configured LLM. Best tool for "what do I know about X?" questions. The answer text contains [N] citation markers \u2014 match each N to the corresponding entry in the citations array and render as a clickable link to mindbase_
create_cardwrite actionCreate a new review card manually. Use this when you and the user have just discussed a fact worth remembering long-term, e.g. "add this to my reviews". The card will be scheduled for review immediately.
create_daily_notewrite actionOpen or create the daily note for today (or a specific date). Daily notes follow the slug pattern `daily-YYYY-MM-DD` and are auto-linked to yesterday/tomorrow. Returns the existing page if already created, marking `created: false`.
create_notewrite actionCreate a new wiki note. Use for: capturing a thought, starting a research page, or building a meeting/person/project page from a template. At least one of `title` or `content` is recommended. If `template` is given, it is filled with standard vars (date, time, slug, yesterday_slug, tomorrow_slug, title) plus any custom `variables`. Existing slugs cause an error \u2014 use append_to_page or update_
export_subgraphExport a page + its connected neighbors (up to N hops) as a self-contained markdown bundle.
find_contradictionsFind self-contradictions in the wiki on a given topic. Returns only contradictions, no full synthesis. Useful when the user wants to reconcile evolving views.
find_gapsFind gaps in the wiki's coverage of a topic. Returns LLM-suggested missing pieces (e.g., "you mention X but never document Y").
find_orphansList wiki pages with no incoming links (orphans).
find_relatedFind pages connected to a given page via wikilinks, shared tags, or shared sources. Returns a ranked list with the connection reason.
generate_daily_briefGenerate a morning brief summarizing recent wiki activity with [N] citations. Default 24h lookback. Does not email \u2014 for that use the web UI Settings \u2192 Daily Brief \u2192 Send Now.
get_graph_insightsCompute graph insights for the wiki: top hubs, orphans, broken links, fragmented tag clusters.
get_pulseGet today's (or a specific date's) wiki pulse: weekly writes, new connections, contradictions, stale notes, SRS due count. Use to give the user a daily situational awareness of their knowledge base.
ingest_executewrite actionConversational ingest, step 2 of 2. Commits the user-approved subset of a plan returned by ingest_plan. `approvals` is a map of action id \u2192 boolean; omitted ids default to approved (true). Returns the per-action results plus a summary of what got created / updated.
ingest_planConversational ingest, step 1 of 2. Reads the source, returns the LLM's narrative takeaways and a structured plan of proposed actions \u2014 without writing anything yet. The user reviews the takeaways + plan, decides which actions to approve, and then calls ingest_execute(planId, approvals) to commit the approved subset.
ingest_sourceIngest a new source into the wiki: saves the raw text, runs LLM compile to create/update wiki pages, applies cross-linking. Returns a summary of changes.
list_chatsList recent chat sessions saved in MindBase, newest first.
list_feedsList all RSS feeds the user is subscribed to, with stats (last poll time, items ingested, errors). Use this when the user asks "what feeds am I subscribed to?" or wants to check their RSS subscriptions.
list_recentList wiki pages added or updated within the past N days, newest first.
list_review_cardsList spaced-repetition review cards. By default returns cards due now (due_only=true). Use this to conduct an interactive review session: list due cards, present each Q to the user, wait for their answer, call answer_card, repeat.
mindbase_append_logAppend a structured entry to logs/<today>.md. Format: ## [YYYY-MM-DD HH:MM] {operation} | {topic} | {details}
mindbase_apply_templateOverlay a schema template onto an existing project. Appends template prose to README.md and seeds template-specific sections in context.md. Idempotent \u2014 re-running with same template is a no-op marker.
mindbase_atomic_write_contextwrite actionWrite new content into context.md atomically. Steps: (1) snapshot current context.md \u2192 state/builder/snapshots/<timestamp>.md, (2) tmpwrite + rename, (3) append log entry. Enforces 400-line cap by truncating overflow to sources/research/<auto>.md.
mindbase_contributeAppend a contributor entry to the current project. Writes to sources/contributors/<user>/<YYYY-MM-DD>.md (append-only) plus log entry. Route mode forces routing: auto (LLM decides), daily (only contributor file), concept (also flag for /mb:build to extract concept), daily+concept (both).
mindbase_exportExport a project to a portable artifact. markdown-bundle: copies project tree to artifacts/exports/<projectId>-<timestamp>/. zip-archive: same plus zips (uses `zip` if available).
mindbase_gather_sourcesList contributor + research files modified since the last build (or since a given ISO date). Returns paths + sizes + mtimes. Used by /mb:build to know what to synthesize.
mindbase_ingest_fileIngest a file (PDF, .md, or .txt) into a project: archives the original into sources/raw/<date>/, extracts text locally (pdfjs for PDFs \u2014 no API call), writes an .extracted.md sidecar for PDFs, and returns the text. Accepts a local absolute path OR an http(s) URL that points directly at a file (e.g. an arXiv PDF link) \u2014 URLs are downloaded first. After calling this, discuss the key takea
mindbase_init_projectScaffold a new MindBase project with the v2 layout: README.md, context.md, index.yaml, sources/contributors/, sources/research/, sources/raw/, state/, logs/, artifacts/. Idempotent \u2014 refuses to overwrite existing project.
mindbase_load_projectLoad the README + context + index.yaml for a project (defaults to currentProjectId in config.json). Returns the three file bodies for context injection. Read-only by default; pass persist=true to also update config.json currentProjectId (i.e. switch the active project).
mindbase_migrateMigrate one or all projects from legacy wiki/ layout to v2 layout. Snapshots to archive/<projectId>-<unixTs>/ first; idempotent on re-run.
mindbase_rebuild_indexRegenerate index.yaml by scanning the project tree. Always overwrites; never partial-merges. Output schema: { project, files, contributors, sources, last_build }.
mindbase_research_saveSave research findings to sources/research/<slug>.md. Appends if file exists; otherwise creates. Always appends a log entry.
mindbase_statusProject dashboard: last build time, line counts, contributor stats, recent operations, file counts. Read-only.
mindbase_validate_structureValidate that a project conforms to the v2 layout. Returns list of missing required files/dirs. Used as a precondition guard by /mb:build and /mb:migrate.
quick_captureSave content to the inbox for later batch processing (NOT a direct wiki note). Use this for "save this for later, I will categorize it myself in the MindBase UI". To create a wiki note directly, use create_note instead.
read_wiki_pageRead the full content (markdown body + frontmatter + incoming/outgoing wikilinks) of a wiki page by its slug.
recall_chatSearch past saved chat conversations by content. Returns matching chats with previews.
run_wiki_healthwrite actionRun the full Wiki Health pipeline: build graph \u2192 generate insights \u2192 auto cross-link \u2192 L2 lint. Writes _insights.md and applies improvements.
save_chat_excerptSave a fragment of the current AI conversation as a wiki page. LLM auto-titles it if no suggested_title. Marks `created_via: mcp` for audit.
search_all_projectsSearch the user's wiki across EVERY project (not just the current one). Returns ranked matches with their owning project id, suitable for citing as `[[<project>/<slug>]]` cross-project wikilinks. Use this when answering open-ended "have I seen this before" questions or proposing cross-project bridges during ingest.
search_in_projectSearch the wiki, restricted to pages tagged with a specific project (uses the `project` frontmatter field).
search_wikiFull-text search across the user's MindBase wiki \u2014 matches page titles, one-liners, and slugs. Returns ranked list with snippets.
semantic_searchEmbedding-based semantic search across the wiki. Falls back to keyword search if embeddings are unavailable.
set_visibilitySet the visibility level of a wiki page. "internal" and "pii" pages are excluded from semantic search and Q&A by default.
suggest_linksSuggest wikilinks that should be added to a specific page (review mode \u2014 does NOT modify the page).
synthesize_topicSynthesize what the user's wiki collectively knows about a topic. Returns structured threads with row-level citations, contradictions, and gaps. Cached; pass force_refresh: true to regenerate.
tag_noteAdd or replace tags on a wiki page. mode: "add" merges with existing tags (default); "replace" overwrites.
update_note_sectionwrite actionReplace the content under a section heading on an existing page. Refuses to modify human-edited pages unless force: true.
Public scan report
scanner v0.1.9 · 2026-09-24 · same rubric, same numbers if you re-run it
- Code scan5 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 qualitylocal package, no credentials required12/15
- Maintenancelast push 11 days ago15/15
- Maintainer identityregistry namespace matches repository owner; GitHub account older than a year8/10
What the publisher says
From the Mindbase repository's README, as published. We do not edit it. Read it on GitHub
MindBase — Karpathy's LLM Wiki, as a product
An open-source implementation of Andrej Karpathy's LLM Wiki idea: an AI that builds and maintains a wiki from your sources. Not RAG-in-a-vector-DB. A real markdown wiki on your disk, that an LLM gardens for you between conversations.
npx mindbase-appOne command: starts the local server, opens the web app, and walks you through picking a free local model that fits your RAM. No API key, nothing leaves your machine. (Node 20+)
MindBase implements Andrej Karpathy's LLM-Wiki pattern: you feed it sources (papers, articles, thoughts); the LLM reads, cross-references, flags contradictions, and writes structured wiki pages. Later, when you ask a question, the wiki already has the synthesized answer — no vector-search re-derivation at query time.
Status: Early access, actively developed. What's new: CHANGELOG · Releases
Why MindBase
You read a lot. Papers, articles, tweets, docs. You want to remember them, connect them, form opinions from them. Today you have two bad options:
- Notion / Obsidian / Roam: Passive containers. You do all the organizing. AI features are bolted-on generation, not maintenance.
- NotebookLM / Perplexity Pages / ChatGPT search: RAG-based. Nothing accumulates. Every question re-derives the answer from raw sources.
MindBase is the third option: the LLM actively maintains a persistent, structured wiki as you feed it sources. Knowledge compounds. Your context.md gets sharper every time you contribute. The AI remembers you across sessions because your beliefs are written down in markdown files — not stored in a chat history that gets summarized away.
Think of it as a personal Wikipedia that an AI intern writes for you, kept up to date, cross-referenced, and honest about what it doesn't know.
How it works (30 seconds)
Three physical layers on disk (Karpathy's model):
Three operations run the loop: ingest (AI reads a source, discusses takeaways, you approve the wiki updates), build (regenerate context.md from everything unbuilt), lint (the AI audits its own wiki for contradictions, stale claims, and orphans).
What makes it different
Shortened. The full README is on GitHub.
Nothing above is checked by us. What we check is on the safety report.
Install directly
Runs npx -y mindbase-mcp on your machine. Read the scan report first; the gateway never runs local packages.
claude mcp add mindbase -- npx -y mindbase-mcp
Mindbase: common questions
- Is Mindbase MCP server safe?
- Yes, by our scan: it is graded A (92/100). Read the Mindbase safety report
- How do I install Mindbase?
- It runs on your machine. Copy the Claude Code, Claude Desktop or Cursor config from the install section.
- Does Mindbase need an API key?
- No secret keys are declared. It reads 1 setting from the environment.
- Is Mindbase maintained?
- The last commit was 11 days ago (2026-09-14). The latest release is v0.1.3.
- What can I use instead of Mindbase?
- Servers from other publishers that do the same job: Basic Memory MCP server, IWE MCP server and Google Surf MCP server. Compare all Mindbase alternatives.
Alternatives to Mindbase
Same job from other publishers: the closest match first, then the best rated.
- Basic MemoryLocal-first knowledge management with bi-directional LLM sync via Markdown files.not reviewedEstablishedC
- IWEMarkdown knowledge base as agent memory. Runs against the notes directory it is started in.not reviewedEstablishedA
- Google SurfWeb, academic and code search with graph RAG, data lineage, ontology and cross-project schema links.not reviewedEstablishedB
- Agent CommsCross-harness communication mesh for LLM agents — rooms, DMs, presence, and visibility over TCPnot reviewedEstablishedA
Context by FulcraConnect your Fulcra Context personal datastore: access your metrics, events, agent data and morenot reviewedGrowingA