Salesforce MCP服务器的碳
](https://www.npmjs.com/package/@kirtijha/carbon-salesforce-mcp-server) ](https://www.npmjs.com/package/@kirtijha/carbon-salesforce-mcp-server)
一个模型上下文协议(MCP)服务器,提供对IBM GitHub Enterprise上Carbon for Salesforce存储库的直接访问。此服务器使AI助手能够检索源代码,探索存储库结构,并访问Salesforce Lightning Web components中Carbon Design System组件的实现细节。
🔗 链接
- GitHub:
- NPM:
📦 安装
使用npx(推荐-无需安装)
使用服务器的最简单方法是 npx:
{
"mcpServers": {
"carbon-salesforce": {
"command": "npx",
"args": ["-y", "@kirtijha/carbon-salesforce-mcp-server"],
"env": {
"GITHUB_TOKEN": "your-github-token"
}
}
}
}全球安装
npm install -g @kirtijha/carbon-salesforce-mcp-server然后配置:
{
"mcpServers": {
"carbon-salesforce": {
"command": "carbon-salesforce-mcp",
"env": {
"GITHUB_TOKEN": "your-github-token"
}
}
}
}HTTP服务器模式
作为独立的HTTP服务器运行:
# Set environment variables
export GITHUB_TOKEN="your-github-token"
export MCP_API_KEY="your-secure-api-key"
export PORT=3000
# Using npx
npx -y @kirtijha/carbon-salesforce-mcp-server --http
# Or if installed globally
carbon-salesforce-http地方发展
为了促进或地方发展:
# Clone the repository
git clone https://github.ibm.com/kirtijha/carbon-salesforce-mcp-server.git
cd carbon-salesforce-mcp-server
# Install dependencies
npm install
# Build the project
npm run build🔑 GitHub令牌设置
从IBM GitHub Enterprise创建GitHub个人访问令牌:
- 首选https://github.ibm.com/settings/tokens
- 点击“生成新令牌(经典)”
- 选择范围:
repo(适用于私有存储库)或public_repo(适用于公共存储库) - 复制生成的令牌
⚡ 快速开始
📚 配置示例
使用npx(推荐)
🔵 IBM Bob IDE
全局配置 (~/Library/Application Support/Bob-IDE/User/globalStorage/ibm.bob-code/settings/mcp_settings.json):
{
"mcpServers": {
"carbon-salesforce": {
"command": "npx",
"args": ["-y", "@kirtijha/carbon-salesforce-mcp-server"],
"env": {
"GITHUB_TOKEN": "your_github_token_here"
}
}
}
}项目配置 ( /.Bob/mcp.json):
{
"mcpServers": {
"carbon-salesforce": {
"command": "npx",
"args": ["-y", "@kirtijha/carbon-salesforce-mcp-server"],
"env": {
"GITHUB_TOKEN": "your_github_token_here"
}
}
}
}🟣 Claude Desktop
添加到您的 claude_desktop_config.json (~/Library/Application Support/Claude/claude_desktop_config.json):
{
"mcpServers": {
"carbon-salesforce": {
"command": "npx",
"args": ["-y", "@kirtijha/carbon-salesforce-mcp-server"],
"env": {
"GITHUB_TOKEN": "your_github_token_here"
}
}
}
}� GitHub Copilot Chat (VS Code)
项目配置 ( /.vscode/mcp.json):
{
"mcpServers": {
"carbon-salesforce": {
"command": "npx",
"args": ["-y", "@kirtijha/carbon-salesforce-mcp-server"],
"env": {
"GITHUB_TOKEN": "your_github_token_here"
}
}
}
}使用本地安装
如果您已在本地克隆了存储库:
�🔵 IBM Bob IDE (Local)
配置
添加到IBM Bob IDE配置文件中:
全局配置 (~/Library/Application Support/Bob-IDE/User/globalStorage/ibm.bob-code/settings/mcp_settings.json):
{
"mcpServers": {
"carbon-salesforce": {
"command": "node",
"args": ["/absolute/path/to/carbon-salesforce-mcp-server/dist/index.js"],
"env": {
"IBM_GITHUB_TOKEN": "your_github_token_here"
}
}
}
}项目配置 ( /.Bob/mcp.json):
{
"mcpServers": {
"carbon-salesforce": {
"command": "node",
"args": ["/absolute/path/to/carbon-salesforce-mcp-server/dist/index.js"],
"env": {
"IBM_GITHUB_TOKEN": "your_github_token_here"
}
}
}
}备注:替换 /absolute/path/to/ 使用克隆存储库的实际路径。🟣 Claude Desktop
配置
添加到您的 claude_desktop_config.json (~/Library/Application Support/Claude/claude_desktop_config.json):
{
"mcpServers": {
"carbon-salesforce": {
"command": "node",
"args": ["/absolute/path/to/carbon-salesforce-mcp-server/dist/index.js"],
"env": {
"IBM_GITHUB_TOKEN": "your_github_token_here"
}
}
}
}备注:替换 /absolute/path/to/ 使用克隆存储库的实际路径。🤖 GitHub Copilot Chat (VS Code)
配置
用户范围配置 (~/.config/Code/User/settings.json):
{
"mcp.servers": {
"carbon-salesforce": {
"command": "node",
"args": ["/absolute/path/to/carbon-salesforce-mcp-server/dist/index.js"],
"env": {
"IBM_GITHUB_TOKEN": "your_github_token_here"
}
}
}
}项目配置 ( /.vscode/mcp.json):
{
"mcpServers": {
"carbon-salesforce": {
"command": "node",
"args": ["/absolute/path/to/carbon-salesforce-mcp-server/dist/index.js"],
"env": {
"IBM_GITHUB_TOKEN": "your_github_token_here"
}
}
}
}备注:替换 /absolute/path/to/ 使用克隆存储库的实际路径。______________________________________________________________________
🌐 远程部署(可选)
对于喜欢远程部署的团队,服务器还支持基于HTTP的执行。
HTTP服务器模式
启动HTTP服务器:
npm run start:http服务器将在以下位置可用:
- 健康检查: http://localhost:3005/health
- 工具列表: http://localhost:3005/tools
- 工具执行: http://localhost:3005/tools/call(职位)
远程配置
克劳德桌面
{
"mcpServers": {
"carbon-salesforce": {
"transport": {
"type": "http",
"url": "http://localhost:3005"
},
"headers": {
"Authorization": "Bearer carbon-server-key"
}
}
}
}IBM Bob集成开发环境
全局配置 (~/Library/Application Support/Bob-IDE/User/globalStorage/ibm.bob-code/settings/mcp_settings.json):
{
"mcpServers": {
"carbon-salesforce": {
"transport": {
"type": "http",
"url": "http://localhost:3005"
},
"headers": {
"Authorization": "Bearer carbon-server-key"
}
}
}
}GitHub Copilot聊天(VS代码)
{
"mcp.servers": {
"carbon-salesforce": {
"transport": {
"type": "http",
"url": "http://localhost:3005"
},
"headers": {
"Authorization": "Bearer carbon-server-key"
}
}
}
}环境变量
# IBM GitHub Enterprise Authentication
IBM_GITHUB_TOKEN=your_github_token_here
# HTTP Server Configuration
PORT=3005
API_KEY=carbon-server-key
# Optional: GitHub Enterprise Settings
GITHUB_BASE_URL=https://github.ibm.com/api/v3
REPO_OWNER=carbon-for-salesforce
REPO_NAME=carbon-for-salesforceDocker部署
FROM node:18-alpine
WORKDIR /app
COPY package*.json ./
RUN npm install
COPY . .
RUN npm run build
EXPOSE 3005
CMD ["npm", "run", "start:http"]docker build -t carbon-salesforce-mcp-server .
docker run -p 3005:3005 \
-e IBM_GITHUB_TOKEN=your-token \
carbon-salesforce-mcp-server生产部署
# Using PM2 for process management
npm install pm2 -g
pm2 start "npm run start:http" --name carbon-salesforce-mcp
pm2 save
pm2 startup______________________________________________________________________
🎯 此服务器提供什么
此MCP服务器连接到IBM GitHub Enterprise Carbon for Salesforce存储库,以提供对以下内容的实时访问:
- 组件源代码:访问碳设计系统组件的完整实施
- 存储库结构:导航和探索整个项目组织
- 代码示例:查找真实世界的使用模式和实现
- 文档:检索README文件、注释和内联文档
- 配置文件:访问生成配置、包定义和项目设置
该服务器充当AI助手和Carbon for Salesforce代码库之间的桥梁,实现智能代码协助、实施指导和开发支持。
✨ 主要特点
存储库访问工具
- 🔍 文件搜索:使用GitHub强大的搜索功能搜索所有文件
- 📄 文件检索:获取存储库中任何文件的完整内容
- 📁 目录浏览:探索文件夹结构和文件列表
- ℹ️ 存储库元数据:访问存储库统计数据和信息
直接GitHub集成
- ⚡ 实时数据:始终保持最新的存储库状态
- 🏢 企业访问:连接到IBM的内部GitHub Enterprise实例
- 🔒 安全:使用GitHub个人访问令牌进行身份验证
- 📦 全面覆盖:访问所有文件和文档
🔧 可用工具(共4个)
该服务器提供了4个专用工具,用于与Carbon for Salesforce存储库进行交互:
carbon_search_files
搜索文件 使用GitHub的搜索功能在整个Carbon for Salesforce存储库中搜索。
参数:
query(必填):搜索词-支持文件名、代码内容、路径
- 示例: "button", "carbon lwc", "filename:button.js", "class carbonButton"
maxResults(可选):返回的最大结果数(默认值:10,最大值:100)
退货:完整的GitHub搜索结果,包括:
- 文件路径和名称
- 显示匹配项的内容片段
- 存储库元数据(SHA、URL、大小)
- 匹配分数和相关性
示例用例:
// Find all button-related components
carbon_search_files({ query: "button", maxResults: 5 });
// Search for specific file types
carbon_search_files({ query: "extension:js carbonButton" });
// Find files in specific directories
carbon_search_files({ query: "path:lwc/ carbonIcon" });______________________________________________________________________
carbon_get_file
检索完整内容 存储库中的任何特定文件。
参数:
path(必需):存储库中的完整文件路径
- 例子: "force-app/main/default/lwc/carbonButton/carbonButton.js"
退货:完整的文件数据,包括:
- 原始文件内容(二进制文件采用base64编码)
- 文件元数据(大小、SHA、编码)
- 下载URL和git引用
- 上次修改信息
示例用例:
// Get a Lightning Web Component
carbon_get_file({
path: "force-app/main/default/lwc/carbonButton/carbonButton.js",
});
// Retrieve component HTML template
carbon_get_file({
path: "force-app/main/default/lwc/carbonButton/carbonButton.html",
});
// Get configuration files
carbon_get_file({ path: "package.json" });______________________________________________________________________
carbon_list_directory
浏览目录内容 探索存储库结构。
参数:
path(可选):列表的目录路径(默认:""根)
- 例子: "force-app/main/default/lwc"
退货:目录内容数组,包含:
- 文件和文件夹名称
- 类型(文件或目录)
- 大小和元数据
- 嵌套访问的完整路径
示例用例:
// List all Lightning Web Components
carbon_list_directory({ path: "force-app/main/default/lwc" });
// Browse root directory
carbon_list_directory({ path: "" });
// Explore static resources
carbon_list_directory({ path: "force-app/main/default/staticresources" });______________________________________________________________________
carbon_get_repository_info
获取存储库元数据 以及总体统计数据。
参数:无需
退货:完整的存储库信息,包括:
- 存储库描述和用途
- 使用的编程语言
- 存储库大小和统计信息
- 创建和最后更新日期
- 星星、叉子和观察者都很重要
- 默认分行信息
示例用例:
// Get overview of the repository
carbon_get_repository_info();______________________________________________________________________
💡 示例查询和用例
组件发现
// Find all Carbon button components
carbon_search_files({ query: "carbonButton", maxResults: 10 });
// Locate icon implementations
carbon_search_files({ query: "carbonIcon path:lwc/" });代码分析
// Examine button component implementation
carbon_get_file({
path: "force-app/main/default/lwc/carbonButton/carbonButton.js",
});
// Review component styling
carbon_get_file({
path: "force-app/main/default/lwc/carbonButton/carbonButton.css",
});模式研究
// Explore all LWC components
carbon_list_directory({ path: "force-app/main/default/lwc" });
// Find test patterns
carbon_search_files({ query: "test.js" });文档访问
// Get project README
carbon_get_file({ path: "README.md" });
// Find documentation files
carbon_search_files({ query: "extension:md documentation" });架构理解
// Get repository overview
carbon_get_repository_info();
// Browse project structure
carbon_list_directory({ path: "" });
// Explore configuration
carbon_get_file({ path: "sfdx-project.json" });______________________________________________________________________
📁 存储库结构
Salesforce的Carbon存储库通常包含:
carbon-for-salesforce/
├── force-app/
│ └── main/
│ └── default/
│ ├── lwc/ # Lightning Web Components
│ │ ├── carbonButton/ # Button component
│ │ ├── carbonIcon/ # Icon component
│ │ └── ... # Other components
│ ├── staticresources/ # Static resources
│ └── aura/ # Aura components (if any)
├── docs/ # Documentation
├── examples/ # Usage examples
├── .storybook/ # Storybook configuration
├── stories/ # Component stories
├── package.json # NPM dependencies
├── sfdx-project.json # Salesforce DX config
└── README.md # Project documentation______________________________________________________________________
🚀 常见用例
此MCP服务器特别适用于:
- 🔍 组件发现:查找现有的碳组件及其实现
- 📊 代码分析:详细检查具体功能是如何实现的
- 📚 模式研究:确定常见模式、最佳实践和架构决策
- 📖 文档访问:检索README文件、内联注释和文档
- 🏗️ 架构理解:探索总体结构和组织
- 💻 实施示例:查找真实世界的使用示例和代码模式
- 🔧 配置审查:访问生成配置、包定义和项目设置
- 🧪 测试模式分析:研究如何测试和验证组件
______________________________________________________________________
🛠️ 发展
建设项目
npm run build # Compile TypeScript to JavaScript
npm run watch # Watch mode for active development
npm run dev # Build and start the server immediately项目结构
carbon-salesforce-mcp-server/
├── src/
│ ├── index.ts # Main server entry point
│ ├── tools/ # MCP tool implementations
│ │ ├── getFile.ts # File content retrieval
│ │ ├── listDirectory.ts # Directory browsing
│ │ ├── searchFiles.ts # Repository search
│ │ └── getRepositoryInfo.ts # Repository metadata
│ ├── types/ # TypeScript type definitions
│ └── utils/ # Utility functions and helpers
├── dist/ # Compiled JavaScript output
├── package.json # Project dependencies
├── tsconfig.json # TypeScript configuration
└── README.md # This fileGitHub企业配置
- 基本URL:
https://github.ibm.com/api/v3 - 仓库:
carbon-for-salesforce/carbon-for-salesforce - 认证:GitHub个人访问令牌(PAT)
- 必需的权限:存储库读取权限(
repo或public_repo范围)
______________________________________________________________________
📝 许可证
MIT许可证
______________________________________________________________________
🔗 链接
- 仓库: https://github.ibm.com/kirtijha/carbon-salesforce-mcp-server
- Salesforce的碳: https://github.ibm.com/carbon-for-salesforce/carbon-for-salesforce
- 模型上下文协议: https://modelcontextprotocol.io
______________________________________________________________________
🤝 贡献
此服务器旨在支持Salesforce开发团队的Carbon。欢迎投稿、反馈和建议!
## License
MIT License