{"name":"io.github.diko316/kbdb","slug":"diko316-kbdb","title":"kbdb","description":"A searchable second brain for AI agents: ranked keyword and semantic search over your Markdown.","url":"https://mcp.market/server/diko316-kbdb","rating":null,"grade":"A","score":92,"certified":false,"status":"active","category":"seo","tags":["seo","search"],"presence":{"score":27,"stars":0,"forks":0,"downloads_week":75,"last_push_at":"2026-09-01T16:14:58.000Z","license":"AGPL-3.0"},"uptime":null,"claimed":false,"transport":"npm","callable_via_gateway":false,"default_price_micros":0,"repository":"https://github.com/diko316/knowledge-base-db","website":"https://diko316.gitlab.io/knowledge-base-db/","version":"1.0.3","remotes":[],"packages":[{"registryType":"npm","identifier":"@dikolab/kbdb","version":"1.0.3","runtimeHint":"npx","transport":{"type":"stdio"},"packageArguments":[{"value":"mcp","type":"positional","valueHint":"subcommand"},{"description":"Directory holding the knowledge base kbdb reads and writes.","isRequired":true,"format":"filepath","type":"named","name":"--db"}]}],"tools":[{"name":"auto-capture-review","description":"Propose knowledge for storage and let the user confirm it, when the host supports elicitation.","write_action":false,"price_micros":0,"input_schema":null},{"name":"check","description":"Verify the integrity of the knowledge base. Reports checksum mismatches, orphan sections, broken references, and circular reference chains.","write_action":false,"price_micros":0,"input_schema":null},{"name":"consolidate","description":"Propose groups of stored sections that could become one, so a knowledge base of twenty overlapping notes can become a few good ones. Proposes ONLY -- nothing is merged. Each group reports its weakest link. Without an entailment judge kbdb CANNOT tell whether a group disagrees with itself; read every section before merging it.","write_action":false,"price_micros":0,"input_schema":null},{"name":"content","description":"Compose a rendered Markdown document from one or more kbid or docid identifiers.","write_action":false,"price_micros":0,"input_schema":null},{"name":"contradictions","description":"Report pairs of stored sections covering the same ground, to read together before trusting either. Similarity finds pairs; it cannot judge agreement. Without an entailment model every pair reads \"related\", and no \"contradicts\" means nothing was asked, not that nothing conflicts.","write_action":false,"price_micros":0,"input_schema":null},{"name":"export","description":"Export the knowledge base as a self-contained directory snapshot (sections, documents, catalog -- no indexes).","write_action":false,"price_micros":0,"input_schema":null},{"name":"gaps","description":"Report what this knowledge base is repeatedly asked and answers badly, worst first. Call it to decide what to learn next. Ranking is triage, not measurement: the log records how each search went, never whether the answer helped.","write_action":false,"price_micros":0,"input_schema":null},{"name":"gc","description":"Remove unreferenced sections from the knowledge base. A section is eligible when no document manifest references it.","write_action":true,"price_micros":0,"input_schema":null},{"name":"history","description":"List every revision of a section, oldest first, and name the current one. Call it when a kb-id you hold no longer appears in search: revisions are retired, not deleted, so a stale kb-id still leads to the text that replaced it. A section revised once has two revisions; one never revised has one.","write_action":false,"price_micros":0,"input_schema":null},{"name":"learn","description":"Store durable knowledge in the agent's second brain.","write_action":false,"price_micros":0,"input_schema":null},{"name":"mark_result","description":"Record whether a recalled section answered a query. Accumulates real usage into an eval dataset. Call it once you know whether a result helped, including when it did not -- a wrong answer is the more useful judgement.","write_action":false,"price_micros":0,"input_schema":null},{"name":"neighbourhood","description":"List what relates to a section and HOW, so you can decide what to read next. Eight relations: supersedes, superseded-by, parent, child, sibling, references, referenced-by, similar. Seven are recorded facts; only \"similar\" is inferred from a cosine. Related is not relevant -- judge these against your task.","write_action":false,"price_micros":0,"input_schema":null},{"name":"rebuild","description":"Reconstruct all index files from section files and document manifests on disk. Use this to recover from index corruption.","write_action":false,"price_micros":0,"input_schema":null},{"name":"recall","description":"Expand remembered context after search. Retrieves full content and context for sections by identifier, returning section text, level, parent, metadata, references, and back-references. Call it on the kbids search returned. Use maxTokens to bound the payload, and format: compact when you only need the content.","write_action":false,"price_micros":0,"input_schema":null},{"name":"retrieve","description":"Low-level fetch of a section or document by identifier. For AI agent workflows, prefer `recall` which includes metadata, context, and back-references.","write_action":false,"price_micros":0,"input_schema":null},{"name":"save_evals","description":"Validate and persist retrieval eval cases drafted via the eval-generate prompt. Rejects cases whose kbids do not resolve, and drops duplicates. Call it only with kbids a search actually returned; invented ids fail the whole batch.","write_action":false,"price_micros":0,"input_schema":null},{"name":"search","description":"Recall relevant knowledge by ranked keyword and semantic (hybrid) relevance. Returns ranked results with heading, snippet, matched terms, level, parent, and sectionType. Sections from the same document receive a sibling score boost when multiple sections match. Use multiple short keyword queries for best coverage. Use recall for full content.","write_action":false,"price_micros":0,"input_schema":null},{"name":"status","description":"Get knowledge base status including document count, section count, index size, and cache statistics.","write_action":false,"price_micros":0,"input_schema":null},{"name":"unlearn","description":"Remove a section from the knowledge base by its kb-id, or an entire document (and its member sections) by docid.","write_action":true,"price_micros":0,"input_schema":null}],"scan":{"score":92,"grade":"A","scanned_at":"2026-09-21T13:03:31.805Z","report":{"scannerVersion":"0.1.9","scannedAt":"2026-09-21T13:03:31.793Z","components":{"code":{"score":25,"max":25,"notes":["714 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 20 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":"@dikolab/kbdb","version":"1.0.3","found":true,"license":"AGPL-3.0-only","hasInstallScripts":false,"dependencyCount":1,"publishedAt":"2026-08-25T15:43:08.463Z","repositoryUrl":"git+https://gitlab.com/diko316/knowledge-base-db.git","weeklyDownloads":75}],"repo":{"found":true,"owner":"diko316","repo":"knowledge-base-db","archived":false,"pushedAt":"2026-09-01T16:14:58Z","stars":0,"forks":0,"openIssues":0,"ownerType":"User","ownerAvatarUrl":"https://avatars.githubusercontent.com/u/9333007?v=4","ownerCreatedAt":"2014-10-21T07:56:58Z","license":"AGPL-3.0"},"icon":{"url":"https://avatars.githubusercontent.com/u/9333007?v=4&s=128","source":"github"},"presence":{"stars":0,"forks":0,"downloadsWeek":75,"license":"AGPL-3.0","lastPushAt":"2026-09-01T16:14:58.000Z","score":27}}}},"grade_history":[],"reviews":[]}