使用说明
项目简介
Swift MCP服务器是一个基于Model Context Protocol(MCP)构建的后端服务,旨在为大型语言模型(LLM)客户端提供代码仓库的上下文信息和实用功能。通过标准化的MCP协议,Swift 服务器允许LLM客户端安全、可扩展地访问本地代码仓库,并执行代码分析、安全扫描等任务,从而增强LLM在软件开发领域的应用能力。
主要功能点
- 代码仓库分析: 提供代码语言分布、代码质量、依赖关系等多维度分析,帮助用户深入了解代码库结构和健康状况。
- 安全漏洞扫描: 扫描代码和依赖项中的安全漏洞,检测硬编码凭据和安全反模式,提升代码安全性。
- UUID生成: 提供UUID生成工具,支持多种版本和格式,方便在开发过程中快速生成唯一ID。
- 分析数据存储: 自动存储工具的分析结果,并提供查询接口,方便用户追踪和回顾历史分析数据。
安装步骤
- 安装 Docker Desktop: 确保已安装并运行 Docker Desktop。
- 获取 Claude 会员: 本MCP服务器主要为 Claude 等 LLM 客户端设计。
- 克隆仓库: 使用 Git 克隆仓库到本地:
git clone https://github.com/lumix-labs/swift.git cd swift/mcp-server - 构建 Docker 镜像: 运行 'build.sh' 脚本构建 Docker 镜像:
构建成功后,您可以在 Docker Desktop 中看到名为 'swift-mcp-server' 的镜像。./build.sh
服务器配置
要将 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')。
信息
分类
开发者工具