io.github.zcsabbagh/knowledge-graph-mcp

Official registry Other

Knowledge graph MCP for student learning with spaced repetition and mastery tracking

What can you do with io.github.zcsabbagh/knowledge-graph-mcp?

  • Knowledge Graph Storage: SQLite-backed graph with concepts as nodes and relationships as edges
  • Multi-dimensional Mastery Tracking: Track recall, application, and explanation abilities separately
  • Spaced Repetition (SM-2): Automatic scheduling of review sessions based on performance
  • Misconception Tracking: Record and query common misconceptions for targeted remediation
  • Intelligent Queries: Find knowledge gaps, ready-to-learn concepts, struggling areas
  • Mermaid Visualization: Generate visual diagrams of the knowledge graph

Install

Add this to your client's MCP configuration (Claude Desktop: claude_desktop_config.json; Cursor: .cursor/mcp.json; VS Code and others use the same "mcpServers" shape).

PYPI package knowledge-graph-mcp
Claude Code
claude mcp add knowledge-graph-mcp -e 'KNOWLEDGE_GRAPH_DB_PATH=<KNOWLEDGE_GRAPH_DB_PATH>' -- uvx knowledge-graph-mcp==0.1.0
JSON configuration (Claude Desktop, Cursor, VS Code)
{
    "mcpServers": {
        "knowledge-graph-mcp": {
            "command": "uvx",
            "args": [
                "knowledge-graph-mcp==0.1.0"
            ],
            "env": {
                "KNOWLEDGE_GRAPH_DB_PATH": "<KNOWLEDGE_GRAPH_DB_PATH>"
            }
        }
    }
}

Environment variables

  • KNOWLEDGE_GRAPH_DB_PATH Custom path for SQLite database file (optional, defaults to ~/.knowledge_graph/knowledge.db)

Documentation

From the project's README on GitHub, refreshed weekly. Links open on GitHub.

Contents
  1. Knowledge Graph MCP Server
  2. Features
  3. Installation
  4. Usage
  5. MCP Tools
  6. How It Works
  7. Example Workflow
  8. License

Knowledge Graph MCP Server

An MCP (Model Context Protocol) server for tracking student learning via a knowledge graph. Built with FastMCP, it enables LLMs to build, query, and update a personalized knowledge map with spaced repetition scheduling.

Features

  • Knowledge Graph Storage: SQLite-backed graph with concepts as nodes and relationships as edges
  • Multi-dimensional Mastery Tracking: Track recall, application, and explanation abilities separately
  • Spaced Repetition (SM-2): Automatic scheduling of review sessions based on performance
  • Misconception Tracking: Record and query common misconceptions for targeted remediation
  • Intelligent Queries: Find knowledge gaps, ready-to-learn concepts, struggling areas
  • Mermaid Visualization: Generate visual diagrams of the knowledge graph

Installation

Install directly via Smithery:

npx @smithery/cli install @zcsabbagh/knowledge-graph-mcp --client claude

Or use the hosted version at: **https://smithery.ai/server/@zcsabbagh/knowledge-graph-mcp**

Option 2: Install from source

Prerequisites: Python 3.10+

git clone https://github.com/zcsabbagh/knowledge-graph-mcp.git
cd knowledge-graph-mcp
pip install -e .

Usage

Running the Server
# From the project root
python -m knowledge_graph_mcp.server
Configure with Claude Code

Add to your Claude Code MCP settings (~/.claude/settings.json):

{
  "mcpServers": {
    "knowledge-graph": {
      "command": "python",
      "args": ["-m", "knowledge_graph_mcp.server"],
      "cwd": "/path/to/knowledge-graph-mcp"
    }
  }
}
Configure with Claude Desktop

Add to ~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "knowledge-graph": {
      "command": "python",
      "args": ["-m", "knowledge_graph_mcp.server"],
      "cwd": "/path/to/knowledge-graph-mcp"
    }
  }
}

MCP Tools

1. add_node

Create a new concept node.

add_node(
  concept="Quadratic Formula",
  description="Formula for solving ax² + bx + c = 0",
  domain="mathematics",
  difficulty=0.7,
  tags=["algebra", "formulas"]
)
2. add_edge

Create relationships between concepts.

Relation types:

  • prerequisite - Must learn source before target
  • builds_on - Target extends source concept
  • related_to - Concepts are connected
  • contradicts - Common misconception
  • applies_to - Application domain
  • parent_of - Category hierarchy
add_edge(
  source_concept="Algebra",
  target_concept="Quadratic Formula",
  relation_type="prerequisite"
)
3. update_node

Update mastery and record reviews. Providing a quality rating (0-5) triggers spaced repetition scheduling.

update_node(
  node_id="quadratic_formula",
  quality=4,  # SM-2 rating: 0=blackout, 5=perfect
  mastery_application=0.6,
  misconception_detected="forgets ± sign"
)
4. query_graph

Intelligent queries for learning insights.

Query types:

  • prerequisites - All prerequisites for a concept
  • ready_to_learn - Concepts where prereqs are mastered
  • due_for_review - Needs review based on schedule
  • struggling - High difficulty + low mastery
  • stalled - Multiple reviews, no improvement
  • misconceptions - Concepts with detected misconceptions
  • knowledge_gaps - Low mastery blocking progress
  • next_recommended - Best concept to study next
query_graph(query_type="next_recommended", domain="mathematics")
5. read_subgraph

Get the neighborhood around a concept with Mermaid visualization.

read_subgraph(
  center_node="calculus",
  depth=2,
  direction="upstream",  # or "downstream", "both"
  output_format="both"   # "json", "mermaid", or "both"
)
6. get_learning_path

Get ordered prerequisites for a target concept.

get_learning_path(target_concept="calculus")
7. get_statistics

Get learning progress metrics.

get_statistics(domain="mathematics")

How It Works

Data Model

Nodes represent concepts with:

  • Mastery levels (overall, recall, application, explanation)
  • Spaced repetition data (ease factor, interval, next review date)
  • Difficulty rating and review history
  • Tags and detected misconceptions

Edges represent relationships with:

  • Relation type (prerequisite, builds_on, etc.)
  • Strength/confidence rating
  • Optional reasoning
Spaced Repetition (SM-2)

When you call update_node with a quality rating:

  • 5: Perfect response → longer interval
  • 4: Correct with hesitation
  • 3: Correct with difficulty
  • 2-0: Incorrect → reset interval

The algorithm calculates the next optimal review date based on performance history.

Mastery Calculation

Overall mastery combines dimensional scores:

mastery_level = 0.3 × recall + 0.4 × application + 0.3 × explanation
Storage

Data is stored in SQLite at ~/.knowledge_graph/knowledge.db by default.

Example Workflow

1. LLM discovers student doesn't know "quadratic formula"
   → add_node(concept="Quadratic Formula", difficulty=0.7)

2. LLM identifies prerequisites
   → add_edge("Algebra", "Quadratic Formula", "prerequisite")

3. Student attempts problem, struggles
   → update_node("quadratic_formula", quality=2,
                 misconception_detected="confuses ± with +")

4. LLM decides what to teach next
   → query_graph("next_recommended")

5. Visualize the learning path
   → get_learning_path("quadratic_formula")

License

MIT

Frequently asked questions

What is io.github.zcsabbagh/knowledge-graph-mcp?

Knowledge graph MCP for student learning with spaced repetition and mastery tracking

How do I install io.github.zcsabbagh/knowledge-graph-mcp?

It runs on your machine. In Claude Code: claude mcp add knowledge-graph-mcp -e 'KNOWLEDGE_GRAPH_DB_PATH=<KNOWLEDGE_GRAPH_DB_PATH>' -- uvx knowledge-graph-mcp==0.1.0. For other clients, paste the JSON configuration from this page into their MCP settings.

Does io.github.zcsabbagh/knowledge-graph-mcp need an API key?

Its registry entry lists no required key or secret. Some features may still need an account with the service it connects to.

Is io.github.zcsabbagh/knowledge-graph-mcp open source?

Yes. Its code is on GitHub under the MIT license.

Who maintains io.github.zcsabbagh/knowledge-graph-mcp?

It is published by zcsabbagh. AI.tn lists it but does not maintain or endorse it.

From the official MCP Registry. Listing is not an endorsement: review a server's code and permissions before giving it access to your data.