A cross-project knowledge graph for the Model Context Protocol (MCP). Map features across mobile, backend, and admin codebases so your AI agent has full-stack context when testing, writing code, debugging, or adding features.
Cross-project knowledge graph for MCP — map features across mobile, backend, and admin codebases.
When working on a project with multiple codebases — for example, a React Native mobile app, a NestJS backend, and a Next.js admin panel — the AI agent has no awareness of how a single feature flows across all three. This leads to incomplete context, missed dependencies, and breaking changes that could have been caught earlier.
The Solution
This MCP server stores a knowledge graph of your features, mapping each workflow step to the relevant screens, endpoints, controllers, and files in every project. The AI agent can then query this graph to understand end-to-end feature flows, detect cross-project impacts before editing files, and keep type definitions synchronized across codebases.
Features
Multi-project awareness — register any number of projects (mobile, backend, admin, etc.)
Feature workflow mapping — define features as ordered steps across all projects
The knowledge file is a plain JSON file that stores all registered projects, feature workflows, and type mappings. Understanding where it lives is essential for maintaining a consistent knowledge graph.
The Shared File Pattern
If your fullstack projects live in separate directories (e.g., backend/, mobile/, admin/), each IDE window starts the MCP server from a different working directory. Without --knowledge-file, each instance creates its own fragment:
backend/
└── project-knowledge.json ← only backend context
mobile/
└── project-knowledge.json ← only mobile context
admin/
└── project-knowledge.json ← only admin context
This defeats the purpose of cross-project awareness. Always use --knowledge-file with an absolute path to point all IDE windows to the same file:
projects/
├── project-knowledge.json ← single source of truth
├── backend/
├── mobile/
└── admin/
Use the same --knowledge-file path in every IDE window, regardless of which sub-project you have open. All instances read and write to the same file, keeping the knowledge graph complete and consistent.
When the Default Is Safe
The default path (no --knowledge-file) is only safe when you open the monorepo root — the single directory containing all sub-projects:
my-monorepo/ ← open this in your IDE
├── project-knowledge.json ← created here, covers everything
├── backend/
├── mobile/
└── admin/
If your projects are in separate repositories or directories, always use --knowledge-file.
Sharing with Your Team
Since the knowledge file is plain JSON, you can commit it to version control and share it with your team:
# Track the knowledge graph
git add project-knowledge.json
git commit -m "chore: add project knowledge graph"
# Or keep it local
echo "project-knowledge.json" >> .gitignore
Guideline: One fullstack project = one knowledge file. Use --knowledge-file with an absolute path whenever your projects live in separate directories.
Tools Reference
Project Management
Tool
Description
register_project
Register a project with name, path, and framework
remove_project
Remove a registered project
scan_project
Auto-discover endpoints, screens, or pages from a project
Feature Management
Tool
Description
register_feature
Define a feature with its multi-project workflow steps
remove_feature
Remove a feature
get_feature
Retrieve full feature details (compact or verbose, with optional health check)
Search & Query
Tool
Description
search
Search across features, endpoints, files, and screens
reverse_lookup
Find all cross-project references to a file (graph-registered + scan-discovered), plus which features reference it
get_context
Retrieve cross-project context for a feature or step (with optional impact analysis)
Type/Schema Synchronization
Tool
Description
register_type_mappings
Register one or more type mappings (accepts single object or array)
check_type_mapping
Find all files across projects that define or reference a type
suggest_type_mappings
Auto-detect potential type mappings by scanning all projects
Architecture Exploration
Tool
Description
get_architecture
Explore a project's directory tree with optional filter (path keyword), highlight (content keyword with ★ marker), and showAll (full tree with matches marked)
Validation
Tool
Description
validate_knowledge
Check all registered file paths for stale entries; optionally auto-fix with fix=true
Persistence
Tool
Description
export_knowledge
Confirm the knowledge file path and trigger an explicit save (auto-persist handles this after every mutation)
import_knowledge
Load knowledge from a JSON file (merge or replace, with preview)
Usage Walkthrough
This walkthrough demonstrates the core workflow using a real multi-project setup (NestJS backend, React Native mobile, Next.js admin panel). Domain names have been anonymized — "products" instead of "stations", "orders" instead of "reports" — but every command shown was run against actual projects.
Scans all registered projects and finds exact type name matches — returns suggestions with source and target file paths ready to register.
Step 7: Validate and Export
Validate knowledge health:
validate_knowledge
Checks all registered file paths across all features and type mappings. Returns a report of existing and missing entries.
Confirm persistence:
The knowledge graph is auto-persisted after every mutation — register_project, register_feature, register_type_mappings, and validate_knowledge with fix=true all write to disk immediately. Use export_knowledge to confirm the file path before committing to version control:
export_knowledge
Returns the path to the knowledge file. Git-track this file to share context with your team.
Security
Knowledge file is plain JSON — you control where it is stored and who has access
No credentials stored — this MCP only stores project paths and feature mappings
File scanning is read-only — scanners only read files, never modify them
Contributing
Contributions are welcome. Please open an issue or pull request for any improvements, bug fixes, or feature requests.