Salesforce文档搜索服务

一个本地优先的模型上下文协议(MCP)服务器,用于搜索Salesforce开发者文档,支持从VS Code、Claude Desktop或任何MCP兼容客户端直接搜索360份官方Salesforce PDF文档。

  • by SalesforceDiariesBySanket
  • TypeScript
  • 本地部署
  • 22 星标
  • 更新于
在 GitHub 查看 SalesforceDiariesBySanket/salesforce-docs-mcp

使用说明

Salesforce文档MCP服务器

A. 本地优先 用于搜索Salesforce开发人员文档的模型上下文协议(MCP)服务器。直接从VS Code、Claude Desktop或任何兼容MCP的客户端搜索360个Salesforce官方PDF文档。

✨ 特性

  • 🎯 基于意图的搜索 -自动检测查询主题(Apex、RESTneneneba API、LWC等)并在相关文档中进行搜索
  • 📚 360文档 -291个开发人员指南+69个发行说明(Apex、LWC、REST API、Metadata API等)
  • 🏠 100%本地 -所有数据都保留在您的计算机上,脱机工作
  • ⚡ 快速 -智能过滤+LRU缓存的亚秒级查询延迟
  • 🔍 智能回退 -如果主题筛选结果稀疏,则扩展搜索
  • 📦 可打包 -纯JavaScript(sql.js),无原生依赖
  • 🔐 安全 -参数化查询,使用zod进行输入验证

🚀 快速开始

先决条件

  • Node.js 18或更高版本
  • npm或纱线
  • 使用GitHub Copilot或Claude Desktop编写VS代码

安装

# Clone the repository
git clone https://github.com/SalesforceDiariesBySanket/salesforce-docs-mcp.git
cd salesforce-docs-mcp

# Install dependencies
npm install

# Build the TypeScript
npm run build

# Build the search index (parses all PDFs - takes 5-10 minutes)
npm run build-index

配置VS代码

添加到您的VS代码MCP配置中(%APPDATA%\Code\User\mcp.json 在Windows上):

{
  "servers": {
    "salesforce-docs": {
      "type": "stdio",
      "command": "node",
      "args": ["C:\\path\\to\\salesforce-docs-mcp\\dist\\index.js"]
    }
  }
}

配置Claude桌面

添加到您的Claude Desktop配置(%APPDATA%\Claude\claude_desktop_config.json):

{
  "mcpServers": {
    "salesforce-docs": {
      "command": "node",
      "args": ["C:\\path\\to\\salesforce-docs-mcp\\dist\\index.js"]
    }
  }
}

🛠️ 可用工具

search_salesforce_docs

使用自然语言查询搜索所有Salesforce文档。

Example: "How to create an Apex trigger on Account"
Example: "REST API authentication with OAuth 2.0"
Example: "Lightning Web Component wire service"

get_api_reference

获取特定的Salesforce API参考文档。

Example: API name "REST API", endpoint "/services/data"
Example: API name "Bulk API 2.0", endpoint "jobs"

get_release_notes

获取Salesforce特定版本或功能的发行说明。

Example: release "Winter 26"
Example: feature "Dynamic Forms"

get_code_example

从Salesforce文档中获取代码示例。

Example: topic "trigger on Account", language "apex"

list_doc_categories

列出所有文档类别和文档计数。

get_document

通过ID或文件名获取特定文档的完整内容。

🎯 基于意图的搜索

MCP服务器会自动检测您的查询主题,并在最相关的文档中进行搜索:

查询 检测到的意图 搜索范围
“如何创建Apex触发器” Apex开发 ~15个Apex文档
“REST API OAuth身份验证” REST API 约10个REST API文档
“LWC电线装饰器” 闪电/LWC ~12闪电文档
“批量API 2.0作业” 批量API ~5批量API文档
“共享规则权限集” 安全 12个安全文档
“SOQL查询限制” SOQL/SOSL ~5个SOQL文档

优点:

  • 🎯 更多相关结果 -首先在特定主题的文档中搜索
  • ⚡ 更快的查询 -扫描约15份文档,而不是357份
  • 🔄 智能回退 -如果找到的结果太少,则扩展搜索

以(权力)否决 您始终可以指定 category 或 subcategory 在特定区域进行搜索。

📁 文档类别

类别 描述
core_platform 顶点、LWC、视觉力、SOQL/SOSL、公式
apis REST、SOAP、元数据、批量、工具API
dev_tools Salesforce CLI、VS代码、打包
clouds 销售、服务、体验、行业云
security 身份验证、授权、共享
integration 集成模式、连接器
best_practices 限制、性能、备忘单
release_notes 2015年冬季至今

🏗️ 项目结构

salesforce-docs-mcp/
├── src/
│   ├── index.ts              # MCP server entry point
│   ├── types.ts              # TypeScript type definitions
│   ├── db/
│   │   ├── database.ts       # SQLite connection (sql.js)
│   │   └── queries.ts        # Search queries with intent detection
│   └── utils/
│       ├── formatter.ts      # Result formatting
│       ├── intent.ts         # Intent detection patterns
│       ├── classifier.ts     # Document classification
│       └── chunker.ts        # PDF text chunking
├── scripts/
│   ├── build-index.ts        # PDF parsing and indexing
│   ├── test-search.ts        # Search testing (114 tests)
│   ├── test-llm-judge.ts     # LLM-as-judge evaluation
│   └── postinstall.js        # Post-install setup
├── docs/
│   ├── pdfs/                 # 291 Salesforce developer PDFs
│   └── release-notes/        # 69 release notes PDFs
├── data/
│   └── salesforce-docs.db    # SQLite search index (357 docs)
├── package.json
├── tsconfig.json
└── README.md

📥 添加文档

将Salesforce PDF下载到 docs/pdfs/ 然后重建索引:

npm run build-index

PDF可以从以下网址下载:

https://resources.docs.salesforce.com/{version}/latest/en-us/sfdc/pdf/{name}.pdf

当前版本: 258 (26年冬季,API v65.0版)

🔧 发展

# Run in development mode
npm run dev

# Build TypeScript
npm run build

# Test search functionality
npm run test-search

⚡ 演出

度量 值
PDF文档 360(291+69发行说明)
文档索引 357
搜索块 ~156000
数据库大小 ~520 MB
意图过滤查询 <50ms(范围搜索)
未过滤查询 <500ms(完整语料库)
缓存查询 <10ms

基于意图的搜索如何提高性能

Traditional Search:
  "Apex trigger" → Scan all 156K chunks → Filter → Rank → ~500ms

Intent-Based Search:
  "Apex trigger" → Detect: Apex (high confidence)
                 → Filter to apex subcategory (~15 docs, ~6,000 chunks)
                 → Scan → Rank → ~50ms

注: 使用sql.js(纯JavaScript SQLite)和基于LIKE的文本搜索。对于特定主题的查询,意图检测将搜索范围缩小了90%以上。

🔐 安全

  • 100%本地:没有数据离开您的机器
  • 没有API密钥:完全离线工作
  • stdio运输:没有暴露的HTTP端点
  • 参数化查询:防止SQL注入
  • 输入验证:所有工具输入均已zod模式验证

📜 许可证

MIT许可证-请参阅 许可证 了解详情。

⚠️ 免责声明

Salesforce文档: 此存储库中包含的Salesforce文档PDF文件是Salesforce,股份有限公司的财产,仅为方便起见提供。这些文档受Salesforce自己的使用条款和版权的约束。

商标声明: Salesforce®的商标和产品名称,包括Salesforce™商标,均为Salesforce,股份有限公司的财产。本项目为 不隶属于、赞助或认可Salesforce,股份有限公司。 在本项目中使用Salesforce®商标和Salesforce文档并不表示Salesforce,股份有限公司与项目维护者之间存在认可、推荐或业务关系。

官方文件: 有关Salesforce官方文档,请访问 developer.salesforce.com/docs.


©2026 Sanket(SalesforceDiariesBySanket)| Salesforce文档©Salesforce,股份有限公司。