supply-chain-local-agent
Exports the knowledge base into an Obsidian vault with structured notes, page-level source references, Mermaid diagrams, and handoff records, and supports reviewing/approving changes to keep the vault and retrieval index in sync.
Enables troubleshooting SAP/CRM internal systems by searching approved fault evidence and querying official SAP Help Portal documentation when internal evidence is insufficient.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@supply-chain-local-agentWhat do I need to check for ocean booking?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
供应链本地知识库与 Pi Agent
一个本地优先、可审核、可追溯的供应链知识库原型。它把公司制度、框架协议、SOP、业务链路图和手写笔记处理成可检索知识,并通过 Pi 工具返回文件名、页码和原文证据。
真实资料始终放在仓库外;本仓库只包含程序、模板和脱敏演示数据。
已实现
kb init:创建inbox/originals/derived/review/approved/reports私有目录和模板;kb inventory:SHA-256 文件盘点、PDF页数、PPTX幻灯片数、重复文件报告;kb ingest:PDF逐页抽取与渲染、PPTX可见/隐藏页映射、DOCX真实页码、扫描页/图片视觉转录、XLSX/CSV/Markdown处理;kb structure apply/status/finalize:导入 Codex 离线结构草稿,强制验证源哈希、真实页/幻灯片/工作表范围、逐字引文和流程边;OpenAI兼容模型:文档分类、SOP步骤、协议条款、流程节点、候选联系人和缺失字段抽取;
风险分级审核:制度与协议默认高风险,审核状态同步到所有知识片段;
kb index/search/ask/get/status:中文语义检索、精确匹配、LLM重排和带页码问答;Pi 工具:知识检索、SAP/CRM 内部故障诊断、SAP/Microsoft 官方文档兜底、MMSI 船舶动态和工作交接闭环;
Pi 工作交接闭环:已审核证据收集、知识缺口识别、事项级来源、候选联系人隔离、JSON/Markdown 双格式草稿及人工批准快照;
Obsidian-first Vault:把结构化知识、逐页来源、原始附件、流程 Mermaid 和交接记录迁移到人工可读 Vault,SQLite 保留为派生检索索引;
相同内容幂等跳过,同一路径发生变化时保留历史版本。
来源定位按格式保存:PDF/DOCX/图片使用页码,PPTX 使用原始幻灯片号并标记隐藏页,XLSX 使用工作表和单元格范围。确定性原文与视觉转录分别保存,视觉结果不会覆盖原文。
Related MCP server: Knowledge Base MCP Server (Qdrant)
环境要求
Node.js 22.19 或更高版本;
Poppler:提供
pdfinfo、pdftotext、pdftoppm;LibreOffice:用于 DOCX/PPTX 的逐页渲染和引用映射;
公司批准的 OpenAI 兼容文本、视觉及 Embedding 模型。
macOS:
brew install poppler
brew install --cask libreoffice
npm install
npm run build快速开始
cp .env.example .env填写 .env:
KB_DATA_DIR=/绝对路径/supply-chain-private-kb
KB_OBSIDIAN_VAULT=/绝对路径/supply-chain-private-kb/obsidian-vault
LLM_BASE_URL=https://approved-endpoint.example/v1
LLM_API_KEY=...
LLM_TEXT_MODEL=...
LLM_VISION_MODEL=...
EMBEDDING_MODEL=...初始化并导入首批资料:
npm run dev -- init
# 将20到30份代表性资料复制到 $KB_DATA_DIR/inbox
npm run dev -- inventory
npm run dev -- ingest --limit 30
# 只重试失败文件,或重新处理指定文件
npm run dev -- ingest --file "文件名关键字" --retry-failed
npm run dev -- ingest --file "文件名关键字" --reprocess
npm run dev -- structure apply /绝对路径/结构草稿.json
npm run dev -- structure status
npm run dev -- structure finalize
npm run dev -- review list
npm run dev -- review approve <document-id> --note "已核对原文和版本"
npm run dev -- index
npm run dev -- ask "海运订舱需要核对哪些信息?"
npm run dev -- troubleshoot "CRM+" "有车号但没有发票" --stage "香港月结"
npm run dev -- eval troubleshoot
npm run dev -- vessel watch add 477123456 --label "示例船"
npm run dev -- vessel ports import ~/Downloads/UpdatedPub150.csv
npm run dev -- vessel ports status
npm run dev -- vessel watch run
npm run dev -- vessel lookup 477123456
npm run dev -- handoff prepare "香港月结交接" -q "SAP 月结" -q "报关异常"
npm run dev -- handoff create ./templates/handoff-input.json
npm run dev -- handoff list
npm run dev -- handoff approve <handoff-id> --note "接收人已确认"
npm run dev -- obsidian export
npm run dev -- obsidian check
npm run dev -- obsidian sync prepare
npm run dev -- obsidian sync list
npm run dev -- obsidian sync approve <review-id> --note "已核对修改和来源"
npm run dev -- obsidian rebuild垂类 Agent 与 MCP
构建后可用 supply-chain-mcp 启动只读 MCP Server,向 Pi MCP Adapter、Gemini CLI 或其他 MCP 客户端提供:
kb_search、kb_get、kb_status:带审核状态和真实来源定位的知识查询;system_troubleshoot:按系统、模块、事务码/页面、错误代码和现象检索 SAP/CRM/OA 故障证据;vendor_support_search:仅在内部证据不足后,实时检索 SAP Help Portal 或 Microsoft Learn 的公开官方文档候选;vessel_lookup:按9位 MMSI 查询 AIS 位置、航行状态和近期到离港事件。
SAP/CRM 故障接口只复述与当前症状匹配的原始页证据;存在 Obsidian 汇总笔记时优先引用 90-来源文档 的精确页。没有足够依据时返回 insufficient_evidence 和需要补充的信息,不会用普通系统流程冒充故障解法。明确为 SAP 或 Microsoft Dynamics 365/Dataverse 时,Agent 才可继续调用 vendor_support_search;厂商结果始终单列,保留官方 URL、产品/版本不确定性,绝不冒充企业内部处理路径。泛称 CRM、CRM+ 或自研系统不会自动映射到 Microsoft。所有故障工具都不会执行过账、冲销、重推、开票、权限或主数据修改。船舶动态采用 AISStream 全球免费采集、Digitraffic 芬兰水域免费即时查询与 VesselFinder 全球付费补查的混合方案,详见 船舶动态数据方案。
故障能力必须用真实问题持续验收。新增已解决故障时使用 templates/system-fault-case.md 记录现象、根因、处理步骤、验证和风险,经人工审核后再进入检索。将验收格式参考 templates/troubleshooting-gold.json,真实问题放入私有 reports/system-troubleshooting-gold.json;kb eval troubleshoot 会同时验证有答案案例的来源与关键要素,以及无依据案例是否正确拒答。
npm run build
node --env-file=.env dist/src/mcp-server.js未配置模型时,文本型文件仍可解析并进入 needs_llm 状态,kb index 会使用 lexical-only 模式;扫描件不会被猜测,必须配置视觉模型后重新处理。带 E-SafeNet LOCK 等企业加密容器的文件需先在授权客户端解密导出。
也可以在一次受控的 Codex 任务中生成 processor=codex_bootstrap 离线结构包。导入器会用现有 Zod Schema 校验,并拒绝哈希不符、来源位置不存在、引文无法逐字命中、步骤编号不连续或流程边引用不存在节点的包。通过校验的结果仍为 draft,不会自动批准;Embedding 未配置时仍明确报告 lexical-only。
审核规则
company_policy、framework_agreement:只有approved内容可进入最终回答;SOP、流程图、手写SOP:草稿可以被检索,但回答必须显示“未审核”;
候选联系人永远不是权威联系人,需在
$KB_DATA_DIR/approved/contacts.csv中人工确认;LLM生成的摘要和结构不会覆盖页级原文;引用页码由解析程序固定;
协议问答只做条款检索,不构成法律意见。
Pi 安装
本仓库符合 Pi Package 目录约定。开发阶段可直接加载:
npm install
npm run agent等价的直接命令是 pi -e ./extensions/supply-chain-kb.ts --skill ./skills。
也可以将发布后的仓库安装为包。Pi 启动后会发现知识问答与交接 Skills,并注册知识检索、故障诊断、厂商文档查询、船舶动态和交接工具。
交互模式下可直接使用:
/handoff 香港月结工作
/handoffs
/kb-status
/handoff-approve <handoff-id>/handoff 会让 Agent 先检查知识库、检索已审核依据并补齐真正缺失的事实,然后展示完整交接内容。只有用户明确确认后,Agent 才能调用 create_handoff。草稿写入 $KB_DATA_DIR/review/handoffs;/handoff-approve 会再次要求人工确认,并将批准快照复制到 $KB_DATA_DIR/approved/handoffs。
交接中的每个事项都可以附 sourceChunkIds。有来源的内容标记为 [S#],没有来源的当前工作事实会明确显示“当前会话提供,未由知识库验证”。声称已确认的联系人必须存在于 $KB_DATA_DIR/approved/contacts.csv,否则保存会被拒绝。
数据目录
$KB_DATA_DIR/
├── inbox/ # 用户复制进来的待处理文件
├── originals/ # 按内容哈希保存的只读工作副本
├── derived/ # PDF页面图、OCR和派生结果
├── review/ # LLM结构化结果和交接草稿
├── approved/ # 人工批准快照和联系人目录
├── reports/ # 文件盘点与黄金问题集
├── obsidian-vault/ # Obsidian 人工知识库(默认位置)
└── knowledge.sqliteObsidian 工作方式
运行 kb obsidian export 后,在 Obsidian 中选择“打开本地仓库”,指向 $KB_OBSIDIAN_VAULT。每份资料会生成一份结构化知识页和一份逐页来源页,原始文件复制到 Attachments/Originals。流程图会生成 Mermaid,制度和合同保留结构化条款与逐字引用。
Vault、原始附件和清单都属于私有数据,已经排除在 Git 之外。obsidian export 会记录受管笔记的内容哈希;再次导出时,已经人工编辑的笔记会被保留并报告冲突,不会静默覆盖。
日常维护流程是:在 Obsidian 编辑 → obsidian sync prepare 生成逐项差异审核 → obsidian sync approve 或 reject → obsidian rebuild 重建检索缓存。未经批准的修改会以 draft 进入检索,高风险制度和合同不能据此给出已确认结论。obsidian rebuild 只重建可删除的 obsidian_note_chunks 搜索缓存,不会反向猜测或改写原始页、证据引用、合同条款及流程节点/边。SQLite 仍是后台索引与审计数据库,Obsidian 才是日常人工维护入口。
关于 Gemini CLI、Pi MCP Adapter 和 Claudian 的接入判断见 工具集成评估。
建议先用 reports/gold-questions.yaml 记录30到50个真实问题。验收目标是正确来源进入前5条的比例不低于90%,所有实质性答案均带文件名和页码。
开发验证
npm run check
npm test
npm run build测试覆盖重复检测、PDF逐页渲染与引用、幂等导入、版本保留、人工审核传播、高风险草稿隔离、损坏PDF错误记录、离线结构引用校验、Obsidian 编辑保护与批准同步、交接来源校验、联系人确认和交接批准快照。
开源边界
不要提交 .env、真实公司资料、联系人、SQLite数据库、页面渲染结果或审核产物。knowledge-demo/ 中的内容完全是脱敏演示数据。
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- Alicense-qualityAmaintenanceLocal-first MCP server for querying multi-repo engineering documentation artifacts from a SQLite corpus.352AGPL 3.0
- Flicense-qualityBmaintenanceRead-only MCP server with hybrid search combining dense semantic and sparse keyword retrieval via Qdrant, enabling document querying and fetching for ChatGPT Deep Research.
- AlicenseAqualityBmaintenanceA local-first MCP server that ingests PDFs, extracts structure, and provides semantic search and sequential navigation tools for AI clients to query and learn from documents.10MIT
- Alicense-qualityAmaintenanceRead-only local-first MCP server enabling AI assistants to semantically search private Markdown, PDF, and Tika-backed knowledge bases without data upload.45MIT
Related MCP Connectors
Agent-native MCP server over the public saagarpatel.dev corpus. Read-only, stateless.
Read-only MCP server for ClassQuill, a tutoring-business-management platform.
Read-only MCP server for wafergraph.com's semiconductor & AI supply-chain data: 30 tools, no auth.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/wublinux/supply-chain-local-agent'
If you have feedback or need assistance with the MCP directory API, please join our Discord server