项目简介

Syncable CLI MCP 服务器是一个用 Rust 实现的后端应用,它遵循 Model Context Protocol (MCP),旨在为大型语言模型 (LLM) 客户端提供结构化的上下文信息和可调用的功能。它通过标准化的方式,将复杂的代码库分析、安全漏洞扫描和项目依赖管理等能力,封装成易于 LLM 理解和执行的工具。

主要功能点

  • 代码分析 (analysis_scan): 深入解析项目代码,识别编程语言、框架、架构模式等,生成详细报告。支持多种展示格式(如矩阵、详细、摘要)。
  • 安全扫描 (security_scan): 扫描代码库中的安全风险,包括泄露的秘密和常见的漏洞,帮助开发者维护代码安全。
  • 依赖扫描 (dependency_scan): 检查项目依赖项,并将其与已知漏洞数据库进行比对,识别潜在的风险。
  • 漏洞扫描 (vulnerability_scan): 专门用于扫描已知漏洞。
  • 服务器信息 (about_info): 提供关于MCP服务器自身能力和用途的详细描述。
  • 多传输协议支持: 支持通过标准输入输出 (Stdio) 和服务器发送事件 (SSE) 两种方式与客户端进行通信。

安装步骤

  1. 安装 Rust: 确保您的系统已安装 Rust 1.70 或更高版本。可以通过 'rustup update' 命令更新。
  2. 克隆仓库: 将项目仓库克隆到本地。
    git clone https://github.com/syncable-dev/syncable-cli-mcp-server.git
    cd syncable-cli-mcp-server
  3. 构建服务器: 进入 'rust-mcp-server-syncable-cli' 目录并编译:
    cd rust-mcp-server-syncable-cli
    cargo build --release
    构建成功后,服务器的可执行文件将在 './target/release/' 目录下生成 'mcp-stdio' (用于标准I/O) 和 'mcp-sse' (用于 SSE 模式)。

服务器配置

MCP 客户端(如 Langchain、Agno 等)连接此服务器时,需要提供服务器的启动命令和相关参数。以下是两种传输协议的典型配置示例,客户端通常会以 JSON 对象的形式提供这些信息:

Stdio 模式配置:

{
  "server_name": "syncable_cli",
  "command": "../rust-mcp-server-syncable-cli/target/release/mcp-stdio",
  "args": [],
  "transport": "stdio",
  "description": "通过标准I/O与Syncable CLI MCP服务器通信,提供代码分析和安全扫描等功能。"
}
  • 'server_name': 服务器的唯一标识符。
  • 'command': 指向编译好的 'mcp-stdio' 可执行文件的路径。请确保路径正确,根据您的实际编译位置进行调整。
  • 'args': 启动服务器时附加的命令行参数,当前版本为空。
  • 'transport': 通信协议类型,此处为 'stdio'。
  • 'description': 对此服务器功能的简要描述。

SSE 模式配置:

{
  "server_name": "syncable_cli_sse",
  "url": "http://127.0.0.1:8008/sse",
  "transport": "sse",
  "description": "通过服务器发送事件 (SSE) 与Syncable CLI MCP服务器通信,提供代码分析和安全扫描等功能。服务器通常监听 8008 端口。"
}
  • 'server_name': 服务器的唯一标识符。
  • 'url': SSE 服务器的监听地址。默认端口为 8008。
  • 'transport': 通信协议类型,此处为 'sse'。
  • 'description': 对此服务器功能的简要描述。

基本使用方法

  1. 启动服务器:
    • Stdio 模式: 在一个终端中运行:
      cd rust-mcp-server-syncable-cli
      cargo run --release --bin mcp-stdio
    • SSE 模式: 在另一个终端中运行:
      cd rust-mcp-server-syncable-cli
      cargo run --release --bin mcp-sse
      SSE 服务器启动后,会显示监听地址,例如 'http://0.0.0.0:8008/sse'。
  2. 通过 MCP 客户端连接: 启动服务器后,LLM 应用或任何兼容 MCP 的客户端可以连接到此服务器。客户端会使用上述配置信息建立连接,并可以通过 JSON-RPC 请求来:
    • 初始化会话: 客户端发送 'initialize' 请求。
    • 列出可用工具: 客户端发送 'list_tools' 请求,服务器将返回如 'about_info', 'analysis_scan', 'security_scan', 'dependency_scan', 'vulnerability_scan' 等工具列表及其描述。
    • 调用工具: 客户端发送 'call_tool' 请求,指定工具名称(如 'analysis_scan')和参数(如 '{"path": "./", "display": "matrix"}'),服务器将执行相应操作并返回结果。 例如,LLM 客户端可能会通过提示词“分析当前项目代码并以矩阵形式展示”来触发 'analysis_scan' 工具的调用。

信息

分类

开发者工具