Context7
Feeds AI the latest docs for libraries and frameworks before it answers, so code it writes does not use outdated, removed functions.
Description from the maker (original English)
Cross-project knowledge graph for MCP — map features across mobile, backend, and admin codebases.
These three are never merged into one score: opinions, measurements and popularity are different things.
We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.
Pick the AI app you use, then copy the settings.
You need
Which app do you use?
Pick your app above. We remember it, so next time the button says “Install in …”.
Open Claude Desktop → Settings → Developer → Edit Config, and paste this into claude_desktop_config.json
{
"mcpServers": {
"project-knowledge": {
"command": "npx",
"args": [
"-y",
"project-knowledge-mcp"
]
}
}
}Run this in your terminal
claude mcp add project-knowledge -- npx -y project-knowledge-mcpPaste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"project-knowledge": {
"command": "npx",
"args": [
"-y",
"project-knowledge-mcp"
]
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
Paste into .vscode/mcp.json in your project
{
"servers": {
"project-knowledge": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"project-knowledge-mcp"
]
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
This one runs on your computer, and ChatGPT can only connect to servers on the internet. Pick another app.
Your choice stays on this device in a cookie; no account needed.
These settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.
Runs on your computer; the tool list appears in your AI app after you install it.
We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 7, 2026
The publisher (batook22) is not the repo owner (punic-pillars); someone else may have listed it
We have not read this repo from GitHub yet
We have not read this repo from GitHub yet
This one runs on your computer; there is no internet endpoint
Runs on your computer and uses local settings instead
Runs on your computer; we can only read tool lists from internet endpoints
Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.
It passed 0 of 1 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.
The registry does not list a required key, though some servers ask you to sign in on first use.
It runs on your computer. Your AI app starts it when needed, and data does not pass through the maker’s servers (unless it calls an online service itself).
The GitHub repo last changed –, and the latest version (1.0.6) reached the registry 6 months ago.
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. You also need Node.js on your computer.
In the same category: Context7, Codebase Memory, Exa
Servers in the same category from other makers, sorted by stars.
Reading a card:★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi
Feeds AI the latest docs for libraries and frameworks before it answers, so code it writes does not use outdated, removed functions.
Codebase knowledge graph for AI agents — 162 languages, sub-ms queries, 99% fewer tokens.
Connect AI agents to Exa for web search, content fetching, and multi-step research.
Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.
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.
npx -y project-knowledge-mcp --knowledge-file ./project-knowledge.json
Then add to your MCP settings:
{
"mcpServers": { "project-knowledge": { "command": "npx", "args": [ "-y", "project-knowledge-mcp", "--knowledge-file", "C:\\projects\\project-knowledge.json" ], "autoApprove": [] } } }
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.
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.
ProductCreateDto ↔ ProductFormSchema)npm install --save-dev project-knowledge-mcp
Or run directly without installing:
npx -y project-knowledge-mcp --knowledge-file ./project-knowledge.json
git clone https://github.com/punic-pillars/project-knowledge-mcp.git
cd project-knowledge-mcp npm install npm run build
All configuration is provided via CLI arguments. No environment variables or configuration files are required.
| Flag | Description | Default |
|---|---|---|
--backend-path | Absolute path to the backend project | — |
--backend-framework | Backend framework (nestjs, nextjs, react-native, or auto) | auto |
--backend-name | Custom name for the backend project | backend |
--mobile-path | Absolute path to the mobile project | — |
--mobile-framework | Mobile framework | auto |
--mobile-name | Custom name for the mobile project | mobile |
--admin-path | Absolute path to the admin project | — |
--admin-framework | Admin framework | auto |
--admin-name | Custom name for the admin project | admin |
--knowledge-file | Absolute path to persist the knowledge JSON | ./project-knowledge.json |
Basic setup — register projects at runtime via tools:
{
"mcpServers": { "project-knowledge": { "command": "npx", "args": [ "-y", "project-knowledge-mcp", "--knowledge-file", "C:\\projects\\project-knowledge.json" ], "autoApprove": [] } } }
Bootstrap setup — pre-register projects at startup:
{
"mcpServers": { "project-knowledge": { "command": "npx", "args": [ "-y", "project-knowledge-mcp", "--knowledge-file", "C:\\projects\\project-knowledge.json", "--backend-path", "C:\\projects\\backend", "--mobile-path", "C:\\projects\\mobile", "--admin-path", "C:\\projects\\admin" ], "autoApprove": [] } } }
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.
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.
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.
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"
echo "project-knowledge.json" >> .gitignore
Guideline: One fullstack project = one knowledge file. Use
--knowledge-filewith an absolute path whenever your projects live in separate directories.
| 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 |
| 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) |
| 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) |
| 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 |
| 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) |
| Tool | Description |
|---|---|
validate_knowledge | Check all registered file paths for stale entries; optionally auto-fix with fix=true |
| 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) |
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.
register_project { name: "backend", path: "C:/projects/backend", framework: "nestjs" }
register_project { name: "mobile", path: "C:/projects/mobile", framework: "react-native" } register_project { name: "admin", path: "C:/projects/admin", framework: "auto" }
Discover endpoints, screens, and pages automatically:
scan_project { projectName: "backend" }
scan_project { projectName: "mobile" } scan_project { projectName: "admin" }
The scanners discover 150+ endpoints, 200+ screens, and multiple admin pages across all registered projects.
Register an auth feature — a straightforward flow that touches all three projects:
register_feature {
name: "auth", description: "Authentication flow — login, register, forgot password, email confirmation", workflow: [ { step: 1, name: "Login", description: "User logs in with email and password", mobile: { screen: "LoginScreen", api: "POST /api/v1/auth/email/login" }, backend: { endpoint: "POST /api/v1/auth/email/login", controller: "AuthController", file: "src/auth/auth.controller.ts" }, admin: { page: "/login", file: "src/pages/Login" } }, { step: 2, name: "Register", description: "User registers a new account", mobile: { screen: "RegisterScreen", api: "POST /api/v1/auth/email/register" }, backend: { endpoint: "POST /api/v1/auth/email/register", controller: "AuthController", file: "src/auth/auth.controller.ts" } }, { step: 3, name: "Email Confirmation", description: "Confirm email address", mobile: { api: "POST /api/v1/auth/email/confirm" }, backend: { endpoint: "POST /api/v1/auth/email/confirm", controller: "AuthController", file: "src/auth/auth.controller.ts" } }, { step: 4, name: "Forgot Password", description: "Request password reset", mobile: { screen: "ForgotPasswordScreen", api: "POST
Only the beginning is shown; read the rest in the repo