Project Knowledge Mcp

io.github.batook22由 GitHub 帳號 batook22 發布v1.0.6更新於 Oct 24, 2026

Cross-project knowledge graph for MCP — map features across mobile, backend, and admin codebases.

已驗證STDIO僅桌面知識與記憶開發者工具

概覽

AI 產生的概覽

保存跨專案的知識圖譜,讓助理能追蹤某項功能在行動端、後端與管理後台程式庫之間的流動。

可以做什麼
這個本機 MCP 伺服器以 JSON 知識圖譜保存已註冊的專案、功能工作流程與跨專案型別對應。工具可註冊與掃描專案、把功能定義為有序步驟、搜尋功能/端點/檔案/畫面、依檔案路徑反向查找引用、取得含影響分析的步驟脈絡、建議與檢查型別對應、瀏覽目錄樹,以及驗證已登錄路徑是否仍存在。每次異動後圖譜會自動儲存,並可提交到版本控制。
適用情境
當一項功能橫跨多個獨立程式庫(例如 React Native 應用、NestJS 後端與 Next.js 管理後台),而助理在修改、除錯或測試前需要全端脈絡時適用。單一儲存庫的專案用處不大。
執行需求
需要 Node.js 18 以上與 npm 9 以上(或 pnpm/yarn);透過 npx 或開發相依套件以 stdio 在本機執行。需要相容於 MCP 的用戶端。設定透過 --knowledge-file 與專案路徑等命令列參數完成;不需要環境變數、API 金鑰或帳號。
安裝前請注意
知識檔案是純 JSON,內含專案路徑、功能對應以及掃描取得的檔案內容,提交或分享前應視為可能敏感。掃描器據稱僅讀取,但註冊、移除、匯入或自動修復知識的工具會寫入知識檔案,匯入還可能取代既有知識。請讓每個 IDE 視窗指向同一個絕對 --knowledge-file 路徑,以免圖譜被拆散。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Project Knowledge Mcp,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

Project Knowledge MCP Server

[Node.js] [npm] [License]

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

bash
npx -y project-knowledge-mcp --knowledge-file ./project-knowledge.json

Then add to your MCP settings:

json
{  "mcpServers": {    "project-knowledge": {      "command": "npx",      "args": [        "-y",        "project-knowledge-mcp",        "--knowledge-file", "C:\\projects\\project-knowledge.json"      ],      "autoApprove": []    }  }}

Table of Contents


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)

bash
npm install --save-dev project-knowledge-mcp

Or run directly without installing:

bash
npx -y project-knowledge-mcp --knowledge-file ./project-knowledge.json

Build from Source

bash
git clone https://github.com/punic-pillars/project-knowledge-mcp.gitcd project-knowledge-mcpnpm installnpm run build

CLI Flags

All configuration is provided via CLI arguments. No environment variables or configuration files are required.

FlagDescriptionDefault
--backend-pathAbsolute path to the backend project—
--backend-frameworkBackend framework (nestjs, nextjs, react-native, or auto)auto
--backend-nameCustom name for the backend projectbackend
--mobile-pathAbsolute path to the mobile project—
--mobile-frameworkMobile frameworkauto
--mobile-nameCustom name for the mobile projectmobile
--admin-pathAbsolute path to the admin project—
--admin-frameworkAdmin frameworkauto
--admin-nameCustom name for the admin projectadmin
--knowledge-fileAbsolute path to persist the knowledge JSON./project-knowledge.json

MCP Client Configuration

Basic setup — register projects at runtime via tools:

json
{  "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:

json
{  "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:

bash
# Track the knowledge graphgit add project-knowledge.jsongit commit -m "chore: add project knowledge graph"
# Or keep it localecho "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

ToolDescription
register_projectRegister a project with name, path, and framework
remove_projectRemove a registered project
scan_projectAuto-discover endpoints, screens, or pages from a project

Feature Management

ToolDescription
register_featureDefine a feature with its multi-project workflow steps
remove_featureRemove a feature
get_featureRetrieve full feature details (compact or verbose, with optional health check)

Search & Query

ToolDescription
searchSearch across features, endpoints, files, and screens
reverse_lookupFind all cross-project references to a file (graph-registered + scan-discovered), plus which features reference it
get_contextRetrieve cross-project context for a feature or step (with optional impact analysis)

Type/Schema Synchronization

ToolDescription
register_type_mappingsRegister one or more type mappings (accepts single object or array)
check_type_mappingFind all files across projects that define or reference a type
suggest_type_mappingsAuto-detect potential type mappings by scanning all projects

Architecture Exploration

ToolDescription
get_architectureExplore a project's directory tree with optional filter (path keyword), highlight (content keyword with ★ marker), and showAll (full tree with matches marked)

Validation

ToolDescription
validate_knowledgeCheck all registered file paths for stale entries; optionally auto-fix with fix=true

Persistence

ToolDescription
export_knowledgeConfirm the knowledge file path and trigger an explicit save (auto-persist handles this after every mutation)
import_knowledgeLoad 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

json
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:

json
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:

json
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 /api/v1/auth/forgot/password" },      backend: { endpoint: "POST /api/v1/auth/forgot/password", controller: "AuthController", file: "src/auth/auth.controller.ts" }    },    {      step: 5, name: "Reset Password",      description: "Reset password with token",      mobile: { screen: "ResetPasswordScreen", api: "POST /api/v1/auth/reset/password" },      backend: { endpoint: "POST /api/v1/auth/reset/password", controller: "AuthController", file: "src/auth/auth.controller.ts" }    }  ],  test_scenarios: [    "Login with valid credentials returns token",    "Login with invalid email returns 401",    "Register with existing email returns conflict",    "Forgot password sends email",    "Reset password with valid token works"  ]}

Step 4: Query Features

Compact mode — get a summary:

json
get_feature { name: "auth" }

Returns: 5 steps, 5 test scenarios, mobile=5 screens, backend=5 endpoints, admin=1 page.

Verbose mode — get full workflow details:

json
get_feature { name: "auth", verbose: true }

Returns all 5 steps with full mobile screens, backend endpoints, controllers, and file paths.

With health check — verify all registered paths exist:

json
get_feature { name: "auth", includeHealth: true }

Returns: Health: 5/5 backend ok, mobile=5/5, admin=1/5, 5 test scenarios.

Step 5: Search and Cross-Reference

Search across the knowledge graph:

json
search { query: "product" }

Returns 100+ results across features, workflow steps, backend mappings, mobile mappings, type mappings, and file contents.

Find cross-project references to a file:

json
reverse_lookup { filePath: "auth.controller.ts" }

Returns:

  • Feature associations: Which features reference this file (steps 1–5 of the auth feature)
  • Graph-registered: 5 exact matches (steps 1–5 of the auth feature, all backend), plus the admin Login page
  • Scan-discovered: All files across all projects that import or reference auth.controller.ts

Step 6: Type Mappings

Register a cross-project type mapping:

json
register_type_mappings {  mapping: {    typeName: "productId",    sourceProject: "backend",    sourceFile: "src/products/infrastructure/persistence/relational/entities/product.entity.ts",    targetProject: "mobile",    targetFile: "app/_types/ProductTypes.ts",    description: "Standardizing productId as numeric INTEGER across all projects"  }}

Check what references a type before changing it:

json
check_type_mapping { typeName: "productId" }

Returns all files across all projects that define or reference productId.

Auto-discover potential type mappings:

json
suggest_type_mappings { limit: 5, confidence: "high" }

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:

json
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:

json
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.


License

MIT

來源:README.md,提交 5930c5c

工具

0
SourceWeft 尚未在沙箱中啟動過該軟體包,因此其工具未知。

版本歷史

1
  1. v1.0.6最新Sep 16, 2026

評分

已滿足適用檢查項的 50%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通25 分

    請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。

  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分