An AI-powered onboarding intelligence layer on top of Graphify for MCP
Project description
OnboardAI: AI-Powered Onboarding Intelligence Layer
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.pyandscanner/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. Ifgraphify-out/graph.jsonis missing, the adapter automatically invokespython -m graphify extract <repo_path>via a subprocess to bootstrap the graph. It then builds anetworkx.DiGraphto 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 Mermaidmindmapshowing 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_contextstring (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:
analyze_repository(repo_path): High-level tech stack and file count summary.generate_onboarding_plan(repo_path, role, team, target_module): Customized daily learning roadmap.explain_project(repo_path): Basic codebase summary.explain_module(repo_path, module_name): Full signature and relationship breakout for a module.list_modules(repo_path): Direct directory list of files and components.search_repository(repo_path, query): Search symbols/descriptions in the codebase.get_architecture(repo_path, visualization_type): Generates Mermaid charts.get_learning_path(repo_path): Retrieves recommended files to read first.get_dependencies(repo_path): Returns internal couplings and external dependencies.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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2f06d6220b1e8fe69f7e5c61e27b94076b5b72087d6ef403f1a859115cec164a
|
|
| MD5 |
0d307d1a4695f8604d9b582dc4a38358
|
|
| BLAKE2b-256 |
a83e08680531edcf4ef447bc50d06bde55393780df21f4a319acfb98c3ff1191
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c64527e1fc2e59c303adfcf6b9215f84c390c337663cdc52bbc23daf4d2ea077
|
|
| MD5 |
71a029e712ca213d7074f31d42cb78f5
|
|
| BLAKE2b-256 |
4c539945b117b77670eed3225fc0f48e286d944b54bbc6d66f0d100e4d2f9fd1
|