A local private knowledge base MCP server with RAG (Retrieval-Augmented Generation) capabilities. Supports document parsing (TXT, MD, PDF, DOCX), semantic search, and multi-agent research workflows using LangGraph.
This MCP server presents three tools for local knowledge base access. While the tools are functional, definition quality is significantly below production standards. All three tools lack formal JSON Schema input specifications in the visible code, parameter descriptions are minimal or absent, and output schemas are undocumented. Tool descriptions exist but are in Chinese and lack the LLM-optimized detail needed for reliable agent selection. The codebase shows good engineering practices (concurrent file processing, incremental indexing, multi-format support), but MCP tool definitions are inadequately formalized for production agentic use.
列出本地知识库(data目录)下的所有可用文件。
读取指定本地文件的全文内容。如果文件过长报错,必须改用 search_local_knowledge
语义检索工具:用于寻找具体数据指标,或超长文件的局部查询
No input schemas visible in source code. All three tools are missing formal JSON Schema specifications for their parameters.
Descriptions are in Chinese and lack LLM-optimized English documentation. 'list_local_files' and 'read_local_file' descriptions are minimal and do not explain WHEN to use each tool or how they differ.
Parameter descriptions are absent or inadequate. 'read_local_file' has one parameter (filename) with only a brief description; no constraints (length, format) are specified. LLMs cannot validate input or understand valid values.
Output schemas are completely undocumented. No information about the structure of responses (fields, types, nested objects) is visible. LLMs cannot plan downstream actions or parse responses reliably.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 37 | <=2025-11-25 | v2 |
Tool naming ambiguity: 'read_local_file' and 'search_local_knowledge' both access the knowledge base but serve different purposes (full text vs. semantic search). Descriptions do not clearly explain when to use each or what the difference is.
Error handling is not documented. No guidance on what errors can occur (file not found, oversized content, invalid query) or how LLMs should recover. The description mentions 'if file too long use search_local_knowledge' but this is informal and not a structured error response.
No pagination support visible for 'list_local_files' or 'search_local_knowledge'. If the knowledge base contains many files or results, responses could be extremely large and blow context windows. No limit or offset parameters documented.
Tool composition and chaining is unclear. 'list_local_files' returns file names, but 'read_local_file' expects a 'filename' parameter. No documentation confirms that names returned by list_local_files are valid inputs to read_local_file.