Project Knowledge MCP
概览
作者提供的说明(英文原文)
Cross-project knowledge graph for MCP — map features across mobile, backend, and admin codebases.
PopNx MCP 的三大支柱
这三项永远不会合并成一个分数:意见、测量和人气是不同的东西。
- 用户评价i暂无评价评价功能将在后续阶段与账户功能一起开放
- 我们的基础检查i1 项中通过 0 项依据公开信息检查;尚未扫描代码
- 使用情况i非常新↓ 61/周 · ★ –
它能帮你做什么
我们还没有为它写通俗的介绍。下面是我们从注册中心读取到的事实。
- 连接方式: 在你的电脑上运行
- 传输方式: stdio
- 分类: 搜索与 AI 记忆
安装
选择你使用的 AI 应用,然后复制设置。
安装之前
- 基础检查:1 项中通过 0 项
- 在你的电脑上运行,拥有你的用户账户的权限(文件、网络、应用)。
- 注册中心没有列出需要填写的密钥。
你需要
- npm已安装 Node.js(用于 npx 命令)
你用的是哪个应用?
在上方选择你的应用。我们会记住它,下次按钮会显示“安装到 …”。
打开 Claude Desktop → Settings → Developer → Edit Config,把下面的内容粘贴到 claude_desktop_config.json
{
"mcpServers": {
"project-knowledge": {
"command": "npx",
"args": [
"-y",
"project-knowledge-mcp"
]
}
}
}在终端中运行这条命令
claude mcp add project-knowledge -- npx -y project-knowledge-mcp或者自己复制设置
粘贴到项目中的 .cursor/mcp.json,或 ~/.cursor/mcp.json
{
"mcpServers": {
"project-knowledge": {
"command": "npx",
"args": [
"-y",
"project-knowledge-mcp"
]
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
或者自己复制设置
粘贴到项目中的 .vscode/mcp.json
{
"servers": {
"project-knowledge": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"project-knowledge-mcp"
]
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
这个服务器在你的电脑上运行,而 ChatGPT 只能连接互联网上的服务器。请选择其他应用。
你的选择通过 Cookie 保存在这台设备上,无需账户。
这些设置是根据作者在注册中心的条目生成的。如果 README 的写法不同,请以 README 为准。
它能做什么
它在你的电脑上运行;安装后,工具列表会显示在你的 AI 应用中。
基础检查i
我们检查的是任何人都能看到的信息;我们没有阅读代码。不适用的检查项不计入总数。 · 检查于 2026年11月9日
- ! 注意
作者与仓库一致
发布者(batook22)不是仓库所有者(punic-pillars);可能是其他人代为上架的
- … 尚未检查
仍在维护
我们还没有从 GitHub 读取这个仓库
- … 尚未检查
有许可证
我们还没有从 GitHub 读取这个仓库
- – 不适用
端点有响应
它在你的电脑上运行,没有互联网端点
- – 不适用
使用 OAuth 登录
在你的电脑上运行,改用本地设置
- … 尚未检查
工具描述中没有隐藏指令
它在你的电脑上运行;我们只能读取互联网端点的工具列表
与“搜索与 AI 记忆”中的其他服务器比较i
- 星标数多于此分类中其他 5727 个服务器的 0%
- 发布到注册中心的时间比此分类中其他 5727 个服务器的 12% 更新
- 基础检查结果等于或优于此分类中其他 5727 个服务器的 17%
与注册中心里这个分类中所有活跃的服务器比较。只有当发布者拥有该仓库时,星标数才计入。
常见问题
Project Knowledge MCP 安全吗?
它在 1 项适用的基础检查中通过了 0 项。我们没有阅读代码。在添加密钥或令牌之前,请先看看这个服务器要求哪些权限,并使用只具备所需权限的密钥。
它需要哪些密钥或代码?
注册中心没有列出必需的密钥,不过有些服务器会在首次使用时要求你登录。
它在我的电脑上运行还是在云端?
它在你的电脑上运行。你的 AI 应用会在需要时启动它,数据不会经过作者的服务器(除非它自己调用在线服务)。
它还在维护吗?
GitHub 仓库最后更新于–,最新版本(1.0.6)于6个月前进入注册中心。
哪些应用可以使用它?
支持 MCP 的应用,例如 Claude Desktop、Claude Code、Cursor 和 VS Code。你的电脑上还需要有 Node.js。
有什么可以替代它?
同一分类中有:Context7, Codebase Memory, Exa
替代选择
同一分类中其他作者的服务器,按星标数排序。
如何看卡片:↓ 每周下载量i★ GitHub 星标i三大支柱:评价 · 检查 · 使用情况i更新 = 最新版本发布到注册中心的时间i
Codebase Memory
Codebase knowledge graph for AI agents — 162 languages, sub-ms queries, 99% fewer tokens.
Exa
Connect AI agents to Exa for web search, content fetching, and multi-step research.
作者的 README
打开 README
按原文从作者的仓库复制。PopNx MCP 没有审查或背书其内容。HTML、图片和脚本已被移除。链接会离开本站。
Project Knowledge MCP Server
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.
Quick Start
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": [] } } }
Table of Contents
- Overview
- Features
- Prerequisites
- Installation & Configuration
- Knowledge File Management
- Tools Reference
- Usage Walkthrough
- Security
- Contributing
- License
Overview
The Problem
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
- Auto-scanning — discover NestJS endpoints, Next.js pages, and React Native screens automatically
- Full-text search — search across features, endpoints, files, and screens
- Cross-reference lookup — given a file path, find which features reference it
- Rich context — retrieve all endpoints, screens, and files for a feature at a specific workflow step
- Breaking change detection — before editing a file, see which other projects will be affected
- Type/schema synchronization — map equivalent types across projects (e.g.,
ProductCreateDto↔ProductFormSchema) - Architecture exploration — browse any project's directory tree with keyword filtering and content highlighting
- Health validation — verify that all registered file paths still exist; auto-detect stale entries
- Persistent knowledge — auto-saves to a JSON file after every mutation; can be git-tracked and shared
- 100% dynamic — all configuration via CLI arguments and runtime tools; no source code edits required
Prerequisites
- Node.js >= 18
- npm >= 9 (or pnpm / yarn equivalent)
- An MCP-compatible client (e.g., VS Code with Cline, any AI-powered IDE)
Installation & Configuration
Install from npm (recommended)
npm install --save-dev project-knowledge-mcp
Or run directly without installing:
npx -y project-knowledge-mcp --knowledge-file ./project-knowledge.json
Build from Source
git clone https://github.com/punic-pillars/project-knowledge-mcp.git
cd project-knowledge-mcp npm install npm run build
CLI Flags
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 |
MCP Client Configuration
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": [] } } }
Knowledge File Management
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-filewith 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.
Step 1: Register 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" }
Step 2: Scan Projects
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.
Step 3: Define a Feature
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
只显示了开头部分;其余内容请在仓库中阅读