mcpField
S
Seta MCP - Up-to-date Local Docs for Coding

Seta MCP - Up-to-date Local Docs for Coding

本地服务
github.com/techformist记忆与知识172 周前更新

关于 Seta MCP - Up-to-date Local Docs for Coding

Seta MCP 是面向 Salesforce 开发者的本地文档 MCP 服务,可在编写代码和配置时提供文档上下文。它支持离线使用、控制文档版本与内容,并可选用语义搜索。

主要功能

  1. 01读取本地目录中的文档
  2. 02通过清单搜索文档库和主题
  3. 03获取包含关联上下文的文档
  4. 04可选的语义搜索索引
  5. 05离线使用并控制文档内容

适用场景

  1. 01查找相关 Apex 文档
  2. 02查询 LWC 实现指南
  3. 03向大模型提供内部文档
  4. 04关键词不匹配时搜索文档

MCP 相关

该 MCP 服务提供用于查找文档库和读取本地文档内容的工具,供 MCP 客户端调用。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"seta": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/inspector"
]
}
}
}
启动命令npx -y @modelcontextprotocol/inspector

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npm@modelcontextprotocol/inspector

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

Seta MCP - 面向编码的最新本地文档

帮助 Salesforce 开发者编写代码和创建配置!这是一个可在本地运行或托管在远程的 MCP 服务。

该服务旨在从本地文件系统获取文档,让你完全掌控提供给 AI 助手的上下文。

灵感来自 context7,但此应用使用本地文档库。

为什么使用它?

Seta MCP 服务由三个主要组件构成:

  • MCP 服务代码(本仓库)
  • Apex、LWC、配置等开放/公开、内部或专有文档
  • 全新:用于智能文档发现的语义搜索索引器

Seta MCP 可帮助你:

  • 完全离线工作。
  • 精细控制文档的具体版本和内容。
  • 快速迭代文档,并立即将其提供给大模型。
  • 全新:使用语义搜索查找相关文档,即使关键词不完全匹配也能找到。

💡 工作原理?

此 MCP 服务会从你指定的本地目录结构中读取文档。

  1. 设置 LOCAL_DOCS_PATH:通过 LOCAL_DOCS_PATH 环境变量指定文档的根目录。
  2. 整理文档库:在 LOCAL_DOCS_PATH 中,每个文档库或文档集都应位于单独的子目录中。
  3. 增强版 manifest.json:每个文档库子目录必须包含一个 manifest.json 文件,其中包含丰富的元数据,包括难度级别、用例、学习路径和语义分组。
  4. 可选的语义索引:运行 seta-indexer,创建用于语义搜索的向量数据库。

在向大模型(例如,在 VSCode 中)输入 use latest Apex docs、use seta,或在提示词中引用以下任一工具时:

  • get-library-id 工具会搜索 LOCAL_DOCS_PATH 中的 manifest.json 文件,以查找匹配的文档库。
  • get-library-docs 工具随后会从本地文件系统获取指定文档文件的内容。

🛠️ 入门

要求
  • Node.js >= v18.0.0
  • VSCode、Cursor、Windsurf、Claude Desktop 或其他 MCP 客户端。
  • 一个包含文档的本地目录,目录结构如下文所述。
  • 必须设置 LOCAL_DOCS_PATH 环境变量,使其指向此目录。
本地文档结构

LOCAL_DOCS_PATH 应指向一个根目录。每个文档库都应有自己的文件夹:

<your_LOCAL_DOCS_PATH>/
├── my-awesome-lib/
│   ├── manifest.json
│   ├── main_guide.md
│   ├── .seta_lancedb/          # Created by seta-indexer (optional)
│   └── topics/
│       └── report.md
│       └── advanced_reports.txt
└── another-tool/
    ├── manifest.json
    └── quick_start.md
增强版 manifest.json 格式

每个文档库目录(例如,my-awesome-lib/)都必须包含一个采用以下增强格式的 manifest.json 文件:

{
  "name": "My Awesome Library",
  "description": "A brief description of what this library does.",
  "version": "2.1.0",
  "default_doc": "main_guide.md", // File to use if no topic is specified
  "topics": [
    {
      "name": "report",
      "file": "report.md",
      "tags": ["report"],
      "related": ["advanced"],
      "prerequisites": [],
      "leads_to": ["advanced"],
      "difficulty": "beginner",
      "use_cases": ["basic reporting", "data visualization"],
      "code_patterns": ["SOQL queries", "report types"]
    },
    {
      "name": "advanced",
      "file": "topics/advanced_reports.txt",
      "tags": ["advanced"],
      "related": ["report"],
      "prerequisites": ["report"],
      "leads_to": [],
      "difficulty": "advanced",
      "use_cases": ["complex analytics", "custom report types"],
      "code_patterns": ["dynamic SOQL", "custom report builders"]
    }
  ],
  "semantic_groups": {
    "fundamentals": ["report"],
    "advanced_features": ["advanced"]
  },
  "learning_paths": {
    "beginner": ["report"],
    "expert": ["report", "advanced"]
  },
  "totalSnippets": 25 // Optional: for display purposes
}

增强版主题属性:

  • prerequisites(字符串数组,可选):应预先掌握的主题
  • leads_to(字符串数组,可选):自然衔接至此主题之后的主题
  • difficulty(字符串,可选):"beginner"、"intermediate" 或 "advanced"
  • use_cases(字符串数组,可选):此主题的实际应用
  • code_patterns(字符串数组,可选):涵盖的代码模式或技术

新增的文档库级属性:

  • semantic_groups(对象,可选):相关主题的命名集合
  • learning_paths(对象,可选):针对不同技能水平建议的主题学习顺序

增强版主题查找的工作方式:

  • 搜索时,服务会将你的查询与文档库名称、描述、主题名称、标签、use_cases 和 code_patterns 进行匹配。
  • 获取某个主题的文档时,服务会自动纳入其先决主题、相关主题和后续步骤的上下文。
  • 你可以按名称请求整个语义分组或学习路径。

🔍 使用 seta-indexer 进行语义搜索

开发

克隆项目并安装依赖:

npm i

构建(假设 main.ts 位于根目录,且 tsconfig.json 已配置 outDir: "./dist" 和 rootDir: "./"):

npm run build

这会将 main.ts(以及 lib/ 和 indexer/ 中的文件)编译到 dist/main.js 和 dist/indexer/cli.js。

本地配置示例(用于开发)

要通过 Cursor 这类 MCP 客户端运行本地开发版本:

{
  "mcpServers": {
    "seta_dev": {
      "command": "npx",
      "args": ["tsx", "/path/to/your/project/dist/main.js"],
      "env": {
        "LOCAL_DOCS_PATH": "/absolute/path/to/your/test_documentation_root", // Essential for testing
        "DEFAULT_MAX_TOKENS": "5000" // Optional
      }
    }
  }
}
使用 MCP Inspector 测试

确保已在环境中设置 LOCAL_DOCS_PATH。

# For published version
# export LOCAL_DOCS_PATH="/path/to/your/docs"
npx -y @modelcontextprotocol/inspector npx seta-mcp@latest

免责声明

本项目依赖于您提供的文档。生成的上下文的质量、准确性和完整性直接取决于您的本地文档文件。使用本项目的风险由您自行承担。

许可证

MIT

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。