代码仓库访问服务器

一个连接IBM GitHub Enterprise的MCP服务器,提供对Carbon for Salesforce代码仓库的直接访问,支持源代码检索、仓库结构浏览和实现细节查看。

  • by KirtiJha
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 KirtiJha/carbon-salesforce-mcp

使用说明

Salesforce MCP服务器的碳

一个模型上下文协议(MCP)服务器,提供对IBM GitHub Enterprise上Carbon for Salesforce存储库的直接访问。此服务器使AI助手能够检索源代码,探索存储库结构,并访问Salesforce Lightning Web components中Carbon Design System组件的实现细节。

概述

此MCP服务器连接到IBM GitHub Enterprise Carbon for Salesforce存储库,以提供对以下内容的实时访问:

  • 组件源代码和实现
  • 存储库结构和文件组织
  • 代码示例和模式
  • 文档和配置文件

该服务器充当AI助手和Carbon for Salesforce代码库之间的桥梁,实现智能代码协助、实施指导和开发支持。

特性

存储库访问

  • 文件检索:获取存储库中任何文件的完整内容
  • 目录浏览:探索文件夹结构和文件列表
  • 代码搜索:使用GitHub的搜索功能搜索所有文件
  • 存储库元数据:访问存储库信息和统计数据

直接GitHub集成

  • 实时数据:始终保持最新的存储库状态
  • 企业访问:连接到IBM的内部GitHub Enterprise实例
  • 全面覆盖:访问所有公共文件和文档
  • 原始数据访问:未处理的GitHub API响应,以实现最大的灵活性

安装

npm install
npm run build

配置

服务器需要访问IBM GitHub Enterprise。使用以下任一方式设置身份验证:

  1. 环境变量 (推荐):

    export IBM_GITHUB_TOKEN="your_github_token_here"
    
  2. 默认令牌:服务器包含用于开发/测试目的的回退令牌。

备注:对于生产使用,请始终提供具有适当存储库访问权限的GitHub令牌。

用法

服务器可以与Claude Desktop或任何兼容MCP的客户端一起使用:

{
  "mcpServers": {
    "carbon-salesforce": {
      "command": "node",
      "args": ["/path/to/carbon-salesforce-mcp-server/dist/index.js"],
      "env": {
        "IBM_GITHUB_TOKEN": "your_github_token_here"
      }
    }
  }
}

仓库

该项目托管在:https://github.ibm.com/kirtijha/carbon-salesforce-mcp-server

可用工具

服务器为存储库交互提供了4个核心工具:

carbon_search_files

在Carbon for Salesforce存储库中搜索文件。

  • 参数:
    • query (必填):搜索词(例如,“button”、“carbon lwc”、“文件名:button.js”)
    • maxResults (可选):返回的最大结果数(默认值:10,最大值:100)
  • 退货:包含文件路径、内容片段和元数据的原始GitHub搜索结果

carbon_get_file

从存储库中检索特定文件的完整内容。

  • 参数:
    • path (必填):存储库中的文件路径(例如,“force app/main/default/lwc/cocarbonButton/cocarbonButton.js”)
  • 退货:包含元数据(编码、大小等)的原始文件内容

carbon_list_directory

浏览存储库中任何目录的内容。

  • 参数:
    • path (可选):目录路径(默认:“”表示根目录)
  • 退货:包含类型、大小和路径信息的文件和子目录数组

carbon_get_repository_info

获取存储库元数据和统计信息。

  • 参数:无
  • 退货:存储库详细信息,包括描述、语言、大小、上次更新时间等。

查询示例

以下是一些使用这些工具的示例方法:

// Search for button components
carbon_search_files({ query: "button", maxResults: 5 })

// Get a specific component file
carbon_get_file({ path: "force-app/main/default/lwc/carbonButton/carbonButton.js" })

// Browse the LWC components directory
carbon_list_directory({ path: "force-app/main/default/lwc" })

// Get repository information
carbon_get_repository_info()

存储库结构

Salesforce的Carbon存储库通常包含:

  • force-app/main/default/lwc/ -闪电网络组件
  • force-app/main/default/staticresources/ -静态资源和资产
  • docs/ -文件和指南
  • examples/ -示例实现和模式
  • Salesforce DX和Carbon设置的配置文件

发展

建设项目

npm run build     # Compile TypeScript
npm run watch     # Watch mode for development
npm run dev       # Build and start the 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

GitHub企业配置

  • 基本URL: https://github.ibm.com/api/v3
  • 仓库: carbon-for-salesforce/carbon-for-salesforce
  • 认证:GitHub个人访问令牌
  • 必需的权限:存储库读取权限

用例

此MCP服务器特别适用于:

  1. 组件发现:查找现有的碳组件及其实现
  2. 代码分析:检查具体功能是如何实现的
  3. 模式研究:确定常见模式和最佳做法
  4. 文档访问:检索README文件、注释和文档
  5. 架构理解:探索Carbon for Salesforce项目的整体结构
  6. 实施示例:查找组件的实际使用示例

贡献

此服务器旨在支持Salesforce开发团队的Carbon。欢迎提供意见和反馈。

许可证

MIT许可证