使用说明

项目简介

Swift MCP服务器是一个基于Model Context Protocol(MCP)构建的后端服务,旨在为大型语言模型(LLM)客户端提供代码仓库的上下文信息和实用功能。通过标准化的MCP协议,Swift 服务器允许LLM客户端安全、可扩展地访问本地代码仓库,并执行代码分析、安全扫描等任务,从而增强LLM在软件开发领域的应用能力。

主要功能点

  • 代码仓库分析: 提供代码语言分布、代码质量、依赖关系等多维度分析,帮助用户深入了解代码库结构和健康状况。
  • 安全漏洞扫描: 扫描代码和依赖项中的安全漏洞,检测硬编码凭据和安全反模式,提升代码安全性。
  • UUID生成: 提供UUID生成工具,支持多种版本和格式,方便在开发过程中快速生成唯一ID。
  • 分析数据存储: 自动存储工具的分析结果,并提供查询接口,方便用户追踪和回顾历史分析数据。

安装步骤

  1. 安装 Docker Desktop: 确保已安装并运行 Docker Desktop。
  2. 获取 Claude 会员: 本MCP服务器主要为 Claude 等 LLM 客户端设计。
  3. 克隆仓库: 使用 Git 克隆仓库到本地:
    git clone https://github.com/lumix-labs/swift.git
    cd swift/mcp-server
  4. 构建 Docker 镜像: 运行 'build.sh' 脚本构建 Docker 镜像:
    ./build.sh
    构建成功后,您可以在 Docker Desktop 中看到名为 'swift-mcp-server' 的镜像。

服务器配置

要将 Swift MCP 服务器连接到 MCP 客户端(例如 Claude 桌面应用),您需要配置客户端的配置文件(通常是 'config.json')。在 'mcpServers' 字段下添加 Swift MCP 服务器的配置信息。以下是一个示例配置,请根据您的实际情况修改代码仓库路径:

{
 "mcpServers": {
  "swift-mcp-server": {
    "command": "docker",
    "args": [
      "run",
      "-i",
      "--rm",
      "-v",
      "/path/to/your/repo1:/repo1",  //  将 "/path/to/your/repo1" 替换为您的第一个本地代码仓库的绝对路径
      "-v",
      "/path/to/your/repo2:/repo2",  //  将 "/path/to/your/repo2" 替换为您的第二个本地代码仓库的绝对路径 (可选)
      "-w",
      "/",
      "swift-mcp-server"
    ]
   }
  }
}

参数说明:

  • server name: 'swift-mcp-server' (服务器名称,客户端配置中用于标识服务器)
  • command: 'docker' (启动服务器的命令,这里使用 Docker 运行)
  • args: 启动命令的参数列表,包括:
    • '-i': 保持标准输入 (stdin) 打开
    • '--rm': 容器退出后自动删除
    • '-v /path/to/your/repo1:/repo1': 将本地代码仓库目录挂载到容器内的 '/repo1' 目录,请替换为您的本地仓库路径
    • '-v /path/to/your/repo2:/repo2': 将本地代码仓库目录挂载到容器内的 '/repo2' 目录,请替换为您的本地仓库路径 (可选)
    • '-w /': 设置容器内的工作目录为根目录
    • 'swift-mcp-server': 要运行的 Docker 镜像名称

注意: 请务必将 '/path/to/your/repo1' 和 '/path/to/your/repo2' 替换为您本地代码仓库的实际绝对路径。

基本使用方法

配置完成后,在 MCP 客户端(如 Claude)中,您可以使用以下方式调用 Swift MCP 服务器提供的工具:

  • 代码仓库分析:
    Can you analyze the repository at /my-repo using repo-analyzer with language analysis and code quality metrics?
  • 安全漏洞扫描:
    Can you scan /my-repo for security vulnerabilities focusing on credential detection and OWASP Top 10?
  • 生成 UUID:
    Can you generate a UUID for me?

请将 '/my-repo' 替换为您在 Claude 配置文件中挂载的仓库路径(例如 '/my-app')。

信息

分类

开发者工具