Universal File Reader MCP Server - 通用文件读取器 MCP 服务. Supports reading multiple file formats including text files, documents (docx, xlsx, pdf), with intelligent text detection, document conversion, caching, and vector-based code search capabilities.
This server has 10 tools with schemas and descriptions present, but exhibits several quality gaps that prevent a higher score. Tool names follow verb_noun convention (view_directory_tree, list_files, read_file_content, search_codebase, etc.), which is positive. However, descriptions are sparse (averaging ~50-100 chars, well below the 194-char baseline), lack context about WHEN to use each tool, and contain no guidance for LLM selection disambiguation. Parameter descriptions exist but are minimal, many lack format/constraint details. The search_codebase tool accepts file_extensions as an array with no enum constraint, inviting hallucinated file types. Error handling is absent from all tool definitions, no guidance on what happens on failure, whether errors are retryable, or how to recover. Output schemas are not documented at all, forcing LLMs to guess at response structure. The index_codebase tool is destructive (WRITE risk) but has no confirmation or dry-run pattern. Overall, this server reads like a basic integration without LLM-centric refinement.
获取代码库索引的状态和统计信息
获取索引调度器的状态
查找与指定文件相似的文件
索引代码库文件以支持语义搜索
列出目录中的文件
读取文件内容,支持指定行范围。自动处理文档文件转换和缓存。
按文件扩展名搜索索引中的文件
按文件名搜索索引中的文件
No output schemas documented. LLMs cannot infer response structure, forcing them to guess at field names, types, and nesting. This risks downstream tool failures when chaining results.
Descriptions are minimal (30-50 chars) and lack WHEN/WHY context. They do not explain when to call search_codebase vs search_by_filename vs search_by_extension, forcing LLMs to guess at tool selection. Baseline is 194 chars.
search_codebase accepts file_extensions as unconstrained array, no enum, no format guidance. LLMs can hallucinate invalid extensions like '.xyz' or '.foo'.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | D | 52 | <=2025-11-25 | v2 |
| 2026-03-09 | F | 44 | - | v1 |
语义搜索代码库(使用向量嵌入)
查看目录树结构
index_codebase is destructive (WRITE, force_rebuild=true) but has no confirmation pattern, dry-run, or undo capability. An agent could corrupt the entire index without user consent.
No error handling documented in any tool. Unclear what happens on invalid paths, missing files, indexing failures, or API timeouts. No guidance for LLM recovery (retry, ask user, abort).
Parameter descriptions lack format/constraint details. 'max_depth', 'max_entries', 'k', 'score_threshold' have no min/max bounds stated. LLMs can pass unlimited, zero, or negative values.
Multiple search tools (search_codebase, search_by_filename, search_by_extension, get_similar_files) with overlapping intent. Descriptions do not clarify semantic vs filename vs extension vs similarity, LLM must reason about subtle differences.
Descriptions in Chinese (查看目录树结构, 列出目录中的文件, etc.) make it impossible for non-Chinese-speaking LLMs to infer tool intent. Tool descriptions MUST be in the language the LLM understands (typically English).