内容
# MCP-RTFM
[](https://www.typescriptlang.org/)
[](https://github.com/modelcontextprotocol)
[](https://opensource.org/licenses/MIT)
> 他们说“RTFM!”,但如果没有可供阅读的手册怎么办?🤔 MCP-RTFM由此诞生:一个帮助您**创建**大家一直让人们阅读的**手册**的MCP服务器!通过高级内容分析、元数据生成和智能搜索功能,它将您不存在或不可读的文档转化为一个相互关联的知识库,从而在人们提问之前回答那些“基本问题”。
> **情节转折**:与其告诉人们阅读手册,不如给他们一个真正值得阅读的手册。📚✨ 因为对“阅读该死的说明书”的最佳回应是拥有一个真正值得阅读的说明书。
## 📚 目录
- [快速开始](#-快速开始)
- [功能](#-功能)
- [示例工作流程](#-示例工作流程)
- [安装](#-安装)
- [高级功能](#-高级功能)
- [开发](#-开发)
- [调试](#-调试)
## 🚀 快速开始
```bash
# 安装依赖
npm install
# 构建服务器
npm run build
# 添加到您的MCP设置并开始使用
await use_mcp_tool({
server: "mcp-rtfm",
tool: "analyze_project_with_metadata", // 增强初始化
args: { projectPath: "/path/to/project" }
});
// 这将:
# 1. 创建文档结构
# 2. 使用unified/remark分析内容
# 3. 生成智能元数据
# 4. 使用minisearch构建搜索索引
# 5. 添加结构化前言
# 6. 使您的文档真正可读!
```
## ✨ 功能
### 文档管理工具
- `analyze_existing_docs` - 分析和增强现有文档,包含内容分析和元数据
- `analyze_project_with_metadata` - 初始化文档结构,包含增强内容分析和元数据生成
- `analyze_project` - 文档结构的 basic 初始化
- `read_doc` - 读取文档文件(更新前需要)
- `update_doc` - 使用基于差异的更改更新文档
- `get_doc_content` - 获取文档文件当前内容
- `get_project_info` - 获取项目结构和文档状态
- `search_docs` - 跨文档文件搜索,包含高亮结果
- `update_metadata` - 更新文档元数据
- `get_related_docs` - 根据元数据和内容链接查找相关文档
- `customize_template` - 创建或更新文档模板
### 默认文档文件
服务器自动创建和管理这些核心文档文件:
- `techStack.md` - 工具、库和配置的详细清单
- `codebaseDetails.md` - 代码结构和逻辑的低级解释
- `workflowDetails.md` - 关键流程的逐步工作流程
- `integrationGuides.md` - 外部系统连接说明
- `errorHandling.md` - 故障排除策略和实践
- `handoff_notes.md` - 关键主题和下一步骤的总结
### 文档模板
内置不同文档类型的模板:
- 标准文档模板
- API 文档模板
- 工作流程文档模板
可以使用 `customize_template` 工具创建自定义模板。
## 📝 示例工作流程
### 1. 分析现有文档
```typescript
// 增强现有文档,包含高级分析
await use_mcp_tool({
server: "mcp-rtfm",
tool: "analyze_existing_docs",
args: { projectPath: "/path/to/project" }
});
// 这将:
# - 在.handoff_docs中找到所有markdown文件
# - 使用unified/remark分析内容结构
# - 生成智能元数据
# - 构建搜索索引
# - 如果不存在,则添加前言
# - 建立文档关系
# - 保留现有内容
// 结果包含:
# - 所有文档的增强元数据
# - 搜索索引填充
# - 内容关系映射
# - 如果可用,则提供Git上下文
```
### 2. 增强项目文档设置
```typescript
// 初始化文档,包含高级内容分析
await use_mcp_tool({
server: "mcp-rtfm",
tool: "analyze_project_with_metadata",
args: { projectPath: "/path/to/project" }
});
// 结果包含:
# - 初始化文档文件
# - 从内容分析生成元数据
# - 建立文档关系
# - 填充搜索索引
# - 添加结构化前言
# - Git仓库上下文
// 获取增强的项目信息
const projectInfo = await use_mcp_tool({
server: "mcp-rtfm",
tool: "get_project_info",
args: { projectPath: "/path/to/project" }
});
// 跨文档搜索,包含智能结果
const searchResults = await use_mcp_tool({
server: "mcp-rtfm",
tool: "search_docs",
args: {
projectPath: "/path/to/project",
query: "authentication"
}
});
// 结果包含:
# - 加权匹配(优先考虑标题匹配)
# - 模糊搜索结果
# - 完整内容上下文
# - 相关文档建议
```
### 3. 使用内容链接更新文档
```typescript
// 首先读取文档
await use_mcp_tool({
server: "mcp-rtfm",
tool: "read_doc",
args: {
projectPath: "/path/to/project",
docFile: "techStack.md"
}
});
// 更新包含链接到其他文档的内容
await use_mcp_tool({
server: "mcp-rtfm",
tool: "update_doc",
args: {
projectPath: "/path/to/project",
docFile: "techStack.md",
searchContent: "[Why this domain is critical to the project]",
replaceContent: "The tech stack documentation provides essential context for development. See [[workflowDetails]] for implementation steps.",
continueToNext: true // 自动移动到下一个文档
}
});
```
### 4. 管理文档元数据
```typescript
// 更新元数据以便更好地组织
await use_mcp_tool({
server: "mcp-rtfm",
tool: "update_metadata",
args: {
projectPath: "/path/to/project",
docFile: "techStack.md",
metadata: {
title: "Technology Stack Overview",
category: "architecture",
tags: ["infrastructure", "dependencies", "configuration"]
}
}
});
// 查找相关文档
const related = await use_mcp_tool({
server: "mcp-rtfm",
tool: "get_related_docs",
args: {
projectPath: "/path/to/project",
docFile: "techStack.md"
}
});
```
### 5. 搜索文档,包含上下文
```typescript
// 搜索,包含高亮结果
const results = await use_mcp_tool({
server: "mcp-rtfm",
tool: "search_docs",
args: {
projectPath: "/path/to/project",
query: "authentication"
}
});
// 结果包含:
# - 文件名
# - 行号
# - 高亮匹配
# - 匹配周围的上下文
```
### 6. 创建自定义模板
```typescript
// 为架构决策创建自定义模板
await use_mcp_tool({
server: "mcp-rtfm",
tool: "customize_template",
args: {
templateName: "architecture-decision",
content: `# {title}
## Context
[Background and context for the decision]
## Decision
[The architecture decision made]
## Consequences
[Impact and trade-offs of the decision]
## Related Decisions
[Links to related architecture decisions]`,
metadata: {
category: "architecture",
tags: ["decision-record", "design"]
}
}
});
```
## 🔧 安装
### VSCode (Roo Cline)
添加到设置文件:
- Windows: `%APPDATA%\Code\User\globalStorage\rooveterinaryinc.roo-cline\settings\cline_mcp_settings.json`
- MacOS: `~/Library/Application Support/Code/User/globalStorage/rooveterinaryinc.roo-cline/settings/cline_mcp_settings.json`
- Linux: `~/.config/Code/User/globalStorage/rooveterinaryinc.roo-cline/settings/cline_mcp_settings.json`
```json
{
"mcpServers": {
"mcp-rtfm": {
"command": "node",
"args": ["<path-to-mcp-rtfm>/build/index.js"],
"disabled": false,
"alwaysAllow": []
}
}
}
```
### Claude Desktop
添加到配置文件:
- Windows: `%APPDATA%\Claude\claude_desktop_config.json`
- MacOS: `~/Library/Application Support/Claude/claude_desktop_config.json`
- Linux: `~/.config/Claude/claude_desktop_config.json`
```json
{
"mcpServers": {
"mcp-rtfm": {
"command": "node",
"args": ["<path-to-mcp-rtfm>/build/index.js"],
"disabled": false,
"alwaysAllow": []
}
}
}
```
## 🎯 高级功能
### 内容链接
使用 `[[document-name]]` 语法在文档之间创建链接。服务器自动跟踪这些关系,并在查找相关文档时包含它们。
### 基于元数据的组织
文档使用以下方式组织:
- 类别(例如,“architecture”,“api”,“workflow”)
- 灵活分组的标签
- 基于共享元数据的自动关系发现
- 内容链接分析
### 增强内容分析
服务器使用高级库进行更好的文档管理:
- **unified/remark** 用于 Markdown 处理:
- 基于 AST 的内容分析
- 准确的标题结构检测
- 代码块和链接提取
- 正确的 Markdown 解析和操作
- **minisearch** 用于强大的搜索功能:
- 跨所有文档的快速模糊搜索
- 字段加权搜索(标题优先级更高)
- 完整内容和元数据索引
- 具有 TTL 管理的高效缓存
- 实时搜索索引更新
### 智能元数据生成
- 自动内容分析进行分类
- 基于内容模式的智能标签生成
- 文档中的结构化前言
- 基于 AST 的标题和章节检测
- 代码片段识别和标记
- 上下文感知结果呈现
### 模板系统
- 常见文档类型的内置模板
- 包含元数据默认值的自定义模板支持
- 模板继承和覆盖能力
- 一致格式的占位符系统
## 🛠️ 开发
```bash
# 安装依赖
npm install
# 构建服务器
npm run build
# 自动重建进行开发
npm run watch
```
## 🐛 调试
由于MCP服务器通过stdio通信,调试可能具有挑战性。请使用 [MCP Inspector](https://github.com/modelcontextprotocol/inspector):
```bash
npm run inspector
```
检查器将提供一个URL,以便在浏览器中访问调试工具。
## 📄 License
MIT © [Model Context Protocol](https://github.com/modelcontextprotocol)
连接信息
猜你喜欢
暂无推荐服务器