Skip to main content

An AI-powered onboarding intelligence layer on top of Graphify for MCP

Project description

OnboardAI: AI-Powered Onboarding Intelligence Layer

OnboardAI Use Case & Features

OnboardAI is a developer onboarding intelligence system that integrates with Claude Code and other MCP-compatible clients. It is designed to dramatically reduce the time it takes a new developer, intern, or employee to understand a codebase by converting raw repository data and Graphify knowledge graphs into interactive, onboarding-oriented insights.


1. Vision & Architecture

Rather than generating raw repository diagrams or acting as another codebase crawler, OnboardAI acts as a structured guidance layer on top of Graphify. It parses Graphify’s extraction data, maps relationships with NetworkX, groups code modules by directory structure, and answers questions relative to what tasks a developer has been assigned.

Core Architecture Flow

flowchart TD
    subgraph Client Layer
        ClaudeCode[Claude Code / MCP Client]
    end

    subgraph OnboardAI MCP Server
        Server[FastMCP Server]
        Scanner[Project Scanner & Tech Detector]
        Adapter[Graphify Adapter]
        Roadmap[Roadmap Generator]
        QA[Q&A & Context Engine]
        Viz[Mermaid Visualizer]
    end

    subgraph Intelligence Engine
        Graphify[Graphify extraction]
        NX[NetworkX Directed Graph]
    end

    ClaudeCode <-->|JSON-RPC via Stdio/SSE| Server
    Server <--> Scanner
    Server <--> Adapter
    Adapter <-->|Reads graphify-out/| Graphify
    Adapter <-->|Builds| NX
    Roadmap <--> Adapter
    QA <--> Adapter
    Viz <--> Adapter

2. Directory Layout & Components

Here is the file structure of the OnboardAI project:

OnboardAI/
├── .graphifyignore        # Ignore rules to bypass LLM extraction for non-code files
├── requirements.txt       # Project dependencies (FastAPI, uvicorn, mcp, networkx)
├── main.py                # Launcher: starts MCP server in stdio or sse mode
├── test_integration.py    # Offline self-check verification test script
├── test_client.py         # Standard python MCP client session simulation script
├── scanner/
│   ├── __init__.py
│   ├── project_scanner.py     # Counts files and crawls folders
│   └── architecture_detector.py # Detects tech stacks (FastAPI, React, etc.)
├── knowledge/
│   ├── __init__.py
│   ├── graphify_adapter.py    # Integrates Graphify output and builds NetworkX graphs
│   ├── onboarding_plan.py     # Generates day-by-day study paths
│   ├── repository_inventory.py# Structured module/class/function catalogs
│   └── qa_assistant.py        # Performs graph-based Q&A and task instructions
└── graph/
    ├── __init__.py
    └── graph_generator.py     # Generates Mermaid mindmaps, dependencies, and call-flows

3. How Each Feature Works & How It's Built

Feature 1: Repository Scan & Graph Integration

  • How it's built: Implemented in scanner/project_scanner.py and scanner/architecture_detector.py.
  • How it works: Walks the codebase directories (excluding noise like .git, node_modules, and virtual environments). It looks for configuration signatures (e.g. package.json, requirements.txt, manage.py, Dockerfile) and extracts details.
  • Graphify Integration: Located in knowledge/graphify_adapter.py. If graphify-out/graph.json is missing, the adapter automatically invokes python -m graphify extract <repo_path> via a subprocess to bootstrap the graph. It then builds a networkx.DiGraph to represent the entities and relationships.

Feature 2: Dependency-Aware Learning Roadmap

  • How it's built: Implemented in knowledge/onboarding_plan.py.
  • How it works: Groups files using Graphify’s community detection. It builds a directed graph of community dependencies (if Community A calls/imports elements in Community B, then B is foundational to A). It uses topological sorting (or sorting by in/out-degree ratios) to order the learning path:
    • Day 1: Environment setup, tech summary, configs.
    • Day 2: Foundational modules (utilities, schemas, database clients).
    • Day 3: Mid-level business logic.
    • Day 4: API controllers, routers, and entry points.
    • Day 5: Automated tests and first contribution.

Feature 3: Mindmap & Dependency Visualization

  • How it's built: Implemented in graph/graph_generator.py.
  • How it works: Traversing the NetworkX graph, it extracts relationships and formats them directly into Mermaid syntax:
    • generate_mindmap(): Creates a Mermaid mindmap showing high-level folders and key classes.
    • generate_call_flow(): Creates a flow diagram (flowchart TD) of method-to-method calls.
    • generate_dependency_graph(): Creates an import diagram (flowchart LR) of module dependencies.

Feature 4: Interactive Q&A & Task-Context Overlays

  • How it's built: Implemented in knowledge/qa_assistant.py.
  • How it works: Uses regex and keywords to search the graph. If a query matches a module (e.g. ProjectScanner), it generates a structured analysis of the component: Purpose, Responsibilities, Methods, Dependencies, and Callers.
  • Task-Context Overlays: If the client provides a work_context string (e.g., "I need to implement a visualizer"), the Q&A assistant searches for components associated with those keywords in the graph and appends tailored, step-by-step developer instructions.

4. MCP Server & Protocols

The MCP Server is implemented in mcp_server/server.py using the high-level FastMCP SDK. This enables automatic tool schemas, JSON-RPC communication, and transport selection.

It exposes 10 tools to any connected client:

  1. analyze_repository(repo_path): High-level tech stack and file count summary.
  2. generate_onboarding_plan(repo_path, role, team, target_module): Customized daily learning roadmap.
  3. explain_project(repo_path): Basic codebase summary.
  4. explain_module(repo_path, module_name): Full signature and relationship breakout for a module.
  5. list_modules(repo_path): Direct directory list of files and components.
  6. search_repository(repo_path, query): Search symbols/descriptions in the codebase.
  7. get_architecture(repo_path, visualization_type): Generates Mermaid charts.
  8. get_learning_path(repo_path): Retrieves recommended files to read first.
  9. get_dependencies(repo_path): Returns internal couplings and external dependencies.
  10. ask_repository_question(repo_path, question, work_context): Q&A helper with custom action items.

5. Setup & Integration Guide

Local Verification

Verify the server runs successfully on your machine by running the test client session simulation:

$env:PYTHONIOENCODING="utf-8"
python test_client.py

This script acts as a local client session, connects to the server, retrieves the tools list, and invokes them locally.

Integrating with Claude Code

To register the server with the Claude Code CLI, run:

claude mcp add onboard-ai python "C:\Users\RohitAnish\.gemini\antigravity\scratch\OnboardAI\main.py"

Once registered, launch Claude Code:

claude

Integrating with Claude Desktop

To integrate with the Claude Desktop App, open your desktop configuration file:

  • Path: %APPDATA%\Claude\claude_desktop_config.json
  • Configuration:
    {
      "mcpServers": {
        "onboard-ai": {
          "command": "python",
          "args": [
            "C:/Users/RohitAnish/.gemini/antigravity/scratch/OnboardAI/main.py"
          ]
        }
      }
    }
    

6. How to Ask Questions

Once integrated into Claude, the model will automatically pick the right tool based on your natural language prompt. Here are some examples:

Question you ask Claude Tool Claude calls under the hood
"How should I learn this project?" generate_onboarding_plan
"Explain the module ProjectScanner" explain_module
"Which components are critical to look at?" get_learning_path
"Show me the dependency mindmap" get_architecture(visualization_type='mindmap')
"How does the project work? I am going to work on the visualizer." ask_repository_question(work_context='visualizer')

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

onboardai-0.1.3.tar.gz (23.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

onboardai-0.1.3-py3-none-any.whl (23.7 kB view details)

Uploaded Python 3

File details

Details for the file onboardai-0.1.3.tar.gz.

File metadata

  • Download URL: onboardai-0.1.3.tar.gz
  • Upload date:
  • Size: 23.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.5

File hashes

Hashes for onboardai-0.1.3.tar.gz
Algorithm Hash digest
SHA256 2f06d6220b1e8fe69f7e5c61e27b94076b5b72087d6ef403f1a859115cec164a
MD5 0d307d1a4695f8604d9b582dc4a38358
BLAKE2b-256 a83e08680531edcf4ef447bc50d06bde55393780df21f4a319acfb98c3ff1191

See more details on using hashes here.

File details

Details for the file onboardai-0.1.3-py3-none-any.whl.

File metadata

  • Download URL: onboardai-0.1.3-py3-none-any.whl
  • Upload date:
  • Size: 23.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.5

File hashes

Hashes for onboardai-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 c64527e1fc2e59c303adfcf6b9215f84c390c337663cdc52bbc23daf4d2ea077
MD5 71a029e712ca213d7074f31d42cb78f5
BLAKE2b-256 4c539945b117b77670eed3225fc0f48e286d944b54bbc6d66f0d100e4d2f9fd1

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page