Metadata-Version: 2.4
Name: mcp-knowledge-gaps
Version: 0.1.0
Summary: Find what your knowledge base mentions but doesn't actually explain.
Project-URL: Homepage, https://github.com/onetrueclaude-creator/mcp-knowledge-gaps
Project-URL: Repository, https://github.com/onetrueclaude-creator/mcp-knowledge-gaps
Project-URL: Issues, https://github.com/onetrueclaude-creator/mcp-knowledge-gaps/issues
Author-email: Toygar Ermin <toygar.ermin@gmail.com>
License-Expression: MIT
License-File: LICENSE
Keywords: gap-analysis,knowledge-graph,logseq,mcp,obsidian,research,vault
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Requires-Python: >=3.10
Requires-Dist: cryptography>=41.0.0
Requires-Dist: mcp>=1.20.0
Requires-Dist: pyjwt>=2.8.0
Requires-Dist: pyyaml>=6.0
Description-Content-Type: text/markdown

<!-- mcp-name: io.github.onetrueclaude-creator/mcp-knowledge-gaps -->

# mcp-knowledge-gaps

**Find what your knowledge base mentions but doesn't actually explain.**

Find concepts mentioned but never defined in your markdown knowledge base
(Obsidian vault, Logseq graph, any folder of .md files). Uses fuzzy
canonicalization to avoid false positives, ranks gaps by frequency ×
region-diversity × novelty, generates prioritized research questions,
and samples from the long tail via sortition to break confirmation
bias in your research queue.


## Install

```bash
pip install mcp-knowledge-gaps
# or
uvx mcp-knowledge-gaps
```

## Usage

### Claude Code

```bash
claude mcp add mcp-knowledge-gaps -- mcp-knowledge-gaps
```

### Claude Desktop

Add to `claude_desktop_config.json`:

```json
{
  "mcpServers": {
    "knowledge_gaps": {
      "command": "uvx",
      "args": ["mcp-knowledge-gaps"]
    }
  }
}
```

## MCP Tools

| Tool | Tier | Description |
|------|------|-------------|
| `find_gaps` | Free | Scan a markdown vault and return concepts mentioned in multiple notes but without their own dedicated note. Applies fuzzy canonicalization and noise filtering. |
| `list_gaps_by_priority` | Free | Return gaps ranked by priority: frequency × diversity × novelty (higher = fill this gap first). |
| `generate_research_questions` | **Pro** | Generate prioritized research questions for the top N gaps. Each question comes with a priority score and factor breakdown. |
| `surprise_research_topic` | **Pro** | Sortition sampling — pick a random gap from the LOW-priority long tail. Breaks confirmation bias by surfacing topics you'd never pick yourself. |
| `export_review_queue` | **Pro** | Export a CSV of top-priority gap concepts, suitable for Anki or other spaced-repetition tools. Writes to output_csv and returns the row count. |


## Pro tier

Unlocks research question generation with RL-weighted ranking, sortition sampling of long-tail gaps, and CSV review queue export.

License activation — any one of these works:

```bash
# 1. Environment variable
export KNOWLEDGE_GAPS_LICENSE="eyJhbGc..."

# 2. CLI flag
mcp-knowledge-gaps --license-key "eyJhbGc..."

# 3. Config file
echo "eyJhbGc..." > ~/.mcp-knowledge-gaps/license.jwt
```

Licenses are verified fully offline — no phone-home, no activation server. Get a license at **https://github.com/onetrueclaude-creator/mcp-knowledge-gaps#pro-tier**.

## Requirements

- Python 3.10+

## License

MIT
