{"name":"io.github.frankchu91/mindbase","slug":"frankchu91-mindbase","title":null,"description":"LLM-maintained personal wiki: cross-references sources, flags contradictions. Local markdown.","url":"https://mcp.market/server/frankchu91-mindbase","rating":null,"grade":"A","score":92,"certified":false,"status":"active","category":"ai","tags":["ai"],"presence":{"score":43,"stars":118,"forks":17,"downloads_week":37,"last_push_at":"2026-09-14T05:08:29.000Z","license":"MIT"},"uptime":null,"claimed":false,"transport":"npm","callable_via_gateway":false,"default_price_micros":0,"repository":"https://github.com/frankchu91/mindbase","website":null,"version":"0.1.3","remotes":[],"packages":[{"registryType":"npm","registryBaseUrl":"https://registry.npmjs.org","identifier":"mindbase-mcp","version":"0.1.3","transport":{"type":"stdio"},"environmentVariables":[{"description":"Data directory for projects and wiki files (default: ~/mindbase-data)","format":"string","name":"MINDBASE_DATA_DIR"}]}],"tools":[{"name":"add_rss_feed","description":"Subscribe 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.","write_action":false,"price_micros":0,"input_schema":null},{"name":"answer_card","description":"Submit 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.","write_action":true,"price_micros":0,"input_schema":null},{"name":"append_to_page","description":"Append content to a section of an existing wiki page. Creates the section if missing. Refuses to modify human-edited pages unless force: true.","write_action":false,"price_micros":0,"input_schema":null},{"name":"ask_wiki","description":"Ask 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_","write_action":false,"price_micros":0,"input_schema":null},{"name":"create_card","description":"Create 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.","write_action":true,"price_micros":0,"input_schema":null},{"name":"create_daily_note","description":"Open 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`.","write_action":true,"price_micros":0,"input_schema":null},{"name":"create_note","description":"Create 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_","write_action":true,"price_micros":0,"input_schema":null},{"name":"export_subgraph","description":"Export a page + its connected neighbors (up to N hops) as a self-contained markdown bundle.","write_action":false,"price_micros":0,"input_schema":null},{"name":"find_contradictions","description":"Find self-contradictions in the wiki on a given topic. Returns only contradictions, no full synthesis. Useful when the user wants to reconcile evolving views.","write_action":false,"price_micros":0,"input_schema":null},{"name":"find_gaps","description":"Find gaps in the wiki's coverage of a topic. Returns LLM-suggested missing pieces (e.g., \"you mention X but never document Y\").","write_action":false,"price_micros":0,"input_schema":null},{"name":"find_orphans","description":"List wiki pages with no incoming links (orphans).","write_action":false,"price_micros":0,"input_schema":null},{"name":"find_related","description":"Find pages connected to a given page via wikilinks, shared tags, or shared sources. Returns a ranked list with the connection reason.","write_action":false,"price_micros":0,"input_schema":null},{"name":"generate_daily_brief","description":"Generate 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.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_graph_insights","description":"Compute graph insights for the wiki: top hubs, orphans, broken links, fragmented tag clusters.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_pulse","description":"Get 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.","write_action":false,"price_micros":0,"input_schema":null},{"name":"ingest_execute","description":"Conversational 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.","write_action":true,"price_micros":0,"input_schema":null},{"name":"ingest_plan","description":"Conversational 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.","write_action":false,"price_micros":0,"input_schema":null},{"name":"ingest_source","description":"Ingest 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.","write_action":false,"price_micros":0,"input_schema":null},{"name":"list_chats","description":"List recent chat sessions saved in MindBase, newest first.","write_action":false,"price_micros":0,"input_schema":null},{"name":"list_feeds","description":"List 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.","write_action":false,"price_micros":0,"input_schema":null},{"name":"list_recent","description":"List wiki pages added or updated within the past N days, newest first.","write_action":false,"price_micros":0,"input_schema":null},{"name":"list_review_cards","description":"List 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.","write_action":false,"price_micros":0,"input_schema":null},{"name":"mindbase_append_log","description":"Append a structured entry to logs/<today>.md. Format: ## [YYYY-MM-DD HH:MM] {operation} | {topic} | {details}","write_action":false,"price_micros":0,"input_schema":null},{"name":"mindbase_apply_template","description":"Overlay 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.","write_action":false,"price_micros":0,"input_schema":null},{"name":"mindbase_atomic_write_context","description":"Write 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.","write_action":true,"price_micros":0,"input_schema":null},{"name":"mindbase_contribute","description":"Append 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).","write_action":false,"price_micros":0,"input_schema":null},{"name":"mindbase_export","description":"Export 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).","write_action":false,"price_micros":0,"input_schema":null},{"name":"mindbase_gather_sources","description":"List 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.","write_action":false,"price_micros":0,"input_schema":null},{"name":"mindbase_ingest_file","description":"Ingest 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","write_action":false,"price_micros":0,"input_schema":null},{"name":"mindbase_init_project","description":"Scaffold 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.","write_action":false,"price_micros":0,"input_schema":null},{"name":"mindbase_load_project","description":"Load 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).","write_action":false,"price_micros":0,"input_schema":null},{"name":"mindbase_migrate","description":"Migrate one or all projects from legacy wiki/ layout to v2 layout. Snapshots to archive/<projectId>-<unixTs>/ first; idempotent on re-run.","write_action":false,"price_micros":0,"input_schema":null},{"name":"mindbase_rebuild_index","description":"Regenerate index.yaml by scanning the project tree. Always overwrites; never partial-merges. Output schema: { project, files, contributors, sources, last_build }.","write_action":false,"price_micros":0,"input_schema":null},{"name":"mindbase_research_save","description":"Save research findings to sources/research/<slug>.md. Appends if file exists; otherwise creates. Always appends a log entry.","write_action":false,"price_micros":0,"input_schema":null},{"name":"mindbase_status","description":"Project dashboard: last build time, line counts, contributor stats, recent operations, file counts. Read-only.","write_action":false,"price_micros":0,"input_schema":null},{"name":"mindbase_validate_structure","description":"Validate 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.","write_action":false,"price_micros":0,"input_schema":null},{"name":"quick_capture","description":"Save 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.","write_action":false,"price_micros":0,"input_schema":null},{"name":"read_wiki_page","description":"Read the full content (markdown body + frontmatter + incoming/outgoing wikilinks) of a wiki page by its slug.","write_action":false,"price_micros":0,"input_schema":null},{"name":"recall_chat","description":"Search past saved chat conversations by content. Returns matching chats with previews.","write_action":false,"price_micros":0,"input_schema":null},{"name":"run_wiki_health","description":"Run the full Wiki Health pipeline: build graph \\u2192 generate insights \\u2192 auto cross-link \\u2192 L2 lint. Writes _insights.md and applies improvements.","write_action":true,"price_micros":0,"input_schema":null},{"name":"save_chat_excerpt","description":"Save 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.","write_action":false,"price_micros":0,"input_schema":null},{"name":"search_all_projects","description":"Search 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.","write_action":false,"price_micros":0,"input_schema":null},{"name":"search_in_project","description":"Search the wiki, restricted to pages tagged with a specific project (uses the `project` frontmatter field).","write_action":false,"price_micros":0,"input_schema":null},{"name":"search_wiki","description":"Full-text search across the user's MindBase wiki \\u2014 matches page titles, one-liners, and slugs. Returns ranked list with snippets.","write_action":false,"price_micros":0,"input_schema":null},{"name":"semantic_search","description":"Embedding-based semantic search across the wiki. Falls back to keyword search if embeddings are unavailable.","write_action":false,"price_micros":0,"input_schema":null},{"name":"set_visibility","description":"Set the visibility level of a wiki page. \"internal\" and \"pii\" pages are excluded from semantic search and Q&A by default.","write_action":false,"price_micros":0,"input_schema":null},{"name":"suggest_links","description":"Suggest wikilinks that should be added to a specific page (review mode \\u2014 does NOT modify the page).","write_action":false,"price_micros":0,"input_schema":null},{"name":"synthesize_topic","description":"Synthesize 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.","write_action":false,"price_micros":0,"input_schema":null},{"name":"tag_note","description":"Add or replace tags on a wiki page. mode: \"add\" merges with existing tags (default); \"replace\" overwrites.","write_action":false,"price_micros":0,"input_schema":null},{"name":"update_note_section","description":"Replace the content under a section heading on an existing page. Refuses to modify human-edited pages unless force: true.","write_action":true,"price_micros":0,"input_schema":null}],"scan":{"score":92,"grade":"A","scanned_at":"2026-09-24T21:42:50.507Z","report":{"scannerVersion":"0.1.9","scannedAt":"2026-09-24T21:42:50.491Z","components":{"code":{"score":25,"max":25,"notes":["5 source files scanned"]},"reliability":{"score":-1,"max":20,"notes":["no gateway calls yet and no remote to probe"]},"poisoning":{"score":-1,"max":15,"notes":["tools not inspected (local package is not executed); not counted"]},"auth":{"score":12,"max":15,"notes":["local package, no credentials required"]},"maintenance":{"score":15,"max":15,"notes":["last push 11 days ago"]},"identity":{"score":8,"max":10,"notes":["registry namespace matches repository owner","GitHub account older than a year"]}},"findings":[],"inputs":{"packages":[{"registryType":"npm","identifier":"mindbase-mcp","version":"0.1.3","found":true,"license":"MIT","hasInstallScripts":false,"dependencyCount":6,"publishedAt":"2026-07-25T02:18:35.032Z","repositoryUrl":"git+https://github.com/frankchu91/mindbase.git","weeklyDownloads":37}],"repo":{"found":true,"owner":"frankchu91","repo":"mindbase","archived":false,"pushedAt":"2026-09-14T05:08:29Z","stars":118,"forks":17,"openIssues":0,"ownerType":"User","ownerAvatarUrl":"https://avatars.githubusercontent.com/u/76974721?v=4","ownerCreatedAt":"2021-01-04T21:56:40Z","license":"MIT"},"icon":{"url":null,"source":"none"},"presence":{"stars":118,"forks":17,"downloadsWeek":37,"license":"MIT","lastPushAt":"2026-09-14T05:08:29.000Z","score":43}}}},"grade_history":[],"reviews":[]}