Knowledge Graph Mcp

io.github.zcsabbaghPublished by GitHub account zcsabbaghv0.1.0Updated Oct 24, 2026

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

Overview

AI-generated overview

A local MCP server that lets an assistant build and query a SQLite knowledge graph of learning concepts, with mastery tracking and spaced repetition.

What you can do
Create and update concept nodes and relationships, including mastery scores, misconceptions and review ratings that trigger SM-2 scheduling. Query the graph for prerequisites, ready-to-learn concepts, due reviews, struggling areas, knowledge gaps and next recommendations. Read a concept's neighborhood as JSON or a Mermaid diagram, and get ordered learning paths to a target concept. Retrieve learning progress statistics by domain.
When to use it
Useful for tutoring or study assistants that need persistent, structured tracking of what a learner knows, what they struggle with, and what to review next across sessions.
Requirements
Runs as a local Python process (Python 3.10+), installed from PyPI or source; the README also mentions a hosted Smithery option. Data is stored in a local SQLite file, by default under the user's home directory; the optional KNOWLEDGE_GRAPH_DB_PATH variable overrides the location. No authentication is declared.
Before you install
The assistant can create and modify stored learning records, including mastery scores and review schedules, so incorrect updates persist in the local database. Data stays in the local SQLite file; the README's hosted Smithery option would place that data with a third party.

Installation

In SourceWeft

  1. Open Knowledge Graph Mcp in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

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

Option 1: Install from Smithery (Recommended)

Install directly via Smithery:

bash
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+

bash
git clone https://github.com/zcsabbagh/knowledge-graph-mcp.gitcd knowledge-graph-mcppip install -e .

Usage

Running the Server

bash
# From the project rootpython -m knowledge_graph_mcp.server

Configure with Claude Code

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

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:

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

Source: README.md at commit 2d39208

Tools

0
SourceWeft has not started this package in its sandbox yet, so its tools are not known.

Version history

1
  1. v0.1.0LatestSep 16, 2026

Score

50% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts

    Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.

  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts