mcpField
S
syke

syke

本地服务
github.com/khalomsky开发工具235 周前更新

关于 syke

SYKE 是供编码 Agent 使用的 MCP 服务,可绘制源文件依赖关系,并在构建或部署前检查变更影响。它结合静态分析、风险判定、级联检测和本地仪表板。

主要功能

  1. 01提供 PASS/WARN/FAIL 构建门禁
  2. 02依赖图与变更影响检查
  3. 03检测级联影响和循环依赖
  4. 04风险评分与 Git 变更耦合
  5. 05实时依赖图仪表板
  6. 06自动识别八种语言

适用场景

  1. 01在构建或部署前检查代码变更
  2. 02查找源文件变更影响的文件
  3. 03审查高风险或循环依赖
  4. 04通过仪表板监控代码变更

MCP 相关

SYKE 向兼容 MCP 的编码 Agent 提供代码安全和依赖分析工具,包括 `gate_build`、`check_safe` 和 `get_dependencies`。Pro 工具还提供影响分析、图刷新、AI 分析和变更预警。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"khalomsky-syke": {
"command": "npx",
"args": [
"-y",
"@syke1/mcp-server"
],
"env": {
"SYKE_LICENSE_KEY": "<SYKE_LICENSE_KEY>",
"GEMINI_KEY": "<GEMINI_KEY>"
}
}
}
}
启动命令npx -y @syke1/mcp-server
需要配置的环境变量
SYKE_LICENSE_KEY密钥SYKE Pro license key (optional — Free tier works without it)
GEMINI_KEY密钥Google Gemini API key for AI semantic analysis (optional, Pro only)

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npm@syke1/mcp-server1.5.4

工具

8

收录的工具列表 · 更新于 3 周前

参数类型必填说明
filesarray否可选的已修改文件列表(绝对路径或相对于源目录的路径)

详细介绍

SYKE — 你的代码库有脉搏

AI 代码影响分析 MCP 服务。 SYKE 会监控 AI 接触的每个文件、映射依赖图、检测级联故障,并在损害扩散前拦截构建。

适用于 Claude Code、Cursor、Windsurf 以及任何兼容 MCP 的 AI 编码 Agent。

SYKE 依赖图

SYKE 影响分析

SYKE 节点详情

工作原理

  1. 启动时,SYKE 会扫描源代码目录,并通过静态导入分析构建完整的依赖图。
  2. 你的 AI Agent 可以自由修改文件——正常工作期间不会受到打扰。
  3. 构建/部署之前,AI 会调用 gate_build,检查所有更改是否安全。
  4. 如果依赖关系遭到破坏,SYKE 会检测级联故障,并以 FAIL 判定阻止构建。
  5. 仪表板会实时可视化依赖图,并显示风险指标。

SYKE 是安全网,不是守门人。 它不会在 AI 工作时拦截它——而是在发布前捕获 AI 遗漏的问题。

快速开始

1. 创建配置文件

创建 ~/.syke/config.json:

{
  "licenseKey": "SYKE-XXXX-XXXX-XXXX-XXXX",
  "geminiKey": "your-gemini-api-key"
}

在 syke.cloud/dashboard 获取许可证密钥。你只需要一个 AI 密钥。支持:geminiKey、openaiKey、anthropicKey。

2. 注册 MCP 服务

Claude Code:

claude mcp add syke -- npx @syke1/mcp-server@latest

Cursor(.cursor/mcp.json):

{
  "mcpServers": {
    "syke": {
      "command": "npx",
      "args": ["@syke1/mcp-server@latest"]
    }
  }
}

Windsurf(~/.codeium/windsurf/mcp_config.json):

{
  "mcpServers": {
    "syke": {
      "command": "npx",
      "args": ["@syke1/mcp-server@latest"]
    }
  }
}

Windows 提示: 如果找不到 npx,请使用完整路径:"command": "C:\\Program Files\\nodejs\\npx.cmd"

3. 在项目中添加构建拦截

将以下内容添加到项目的 CLAUDE.md(或同等的 AI 指令文件):

After completing code changes, always run the gate_build MCP tool before committing or deploying.

这样可以确保 AI Agent 在每项任务完成后自动运行 SYKE 安全检查,无需手动提示。

4. 重启 AI Agent

SYKE 会自动检测项目语言,并在启动时构建依赖图。打开 http://localhost:3333 查看实时仪表板。

功能

8 个 MCP 工具
工具版本描述
gate_build免费构建前必检。 在任何构建或部署前返回 PASS/WARN/FAIL 判定。
check_safe免费快速返回一行安全判定:HIGH/MEDIUM/LOW/NONE 风险。
get_dependencies免费列出文件的内部导入(前向依赖)。
analyze_impactPro全面的影响分析,包含 SCC、风险评分和 git 耦合分析。
get_hub_filesPro根据 PageRank 重要性分数为文件排序。
refresh_graphPro重新扫描所有源文件并重建依赖图。
ai_analyzePro使用 AI(Gemini/OpenAI/Claude)对文件及其依赖文件进行语义分析。
check_warningsPro实时监控可能导致依赖文件故障的文件变更,并发出警报。
多 AI 提供商支持

SYKE 支持三种 AI 提供商进行语义分析。请自备密钥:

提供商模型配置键环境变量
Google Geminigemini-2.5-flashgeminiKeyGEMINI_KEY
OpenAIgpt-4o-miniopenaiKeyOPENAI_KEY
Anthropicclaude-sonnet-4-20250514anthropicKeyANTHROPIC_KEY

自动选择: SYKE 使用第一个可用的密钥(Gemini > OpenAI > Anthropic)。 指定提供商: 在配置中设置 aiProvider(或设置环境变量 SYKE_AI_PROVIDER)以覆盖自动选择。

高级图算法

SYKE 不止于简单的依赖计数。五种生产级算法协同工作,提供精准、快速且包含丰富上下文的影响分析——全部在本地运行,不产生任何 AI 令牌费用。

1. SCC 收缩 + 拓扑排序

循环依赖是影响分析产生误导的头号原因。SYKE 使用 Tarjan 算法检测所有强连通分量,将其收缩为清晰的 DAG,然后运行拓扑排序,以计算准确的级联层级。

Before: "47 files affected" (inflated by cycles)
After:  "3 files in circular cluster (Level 0) → 5 files (Level 1) → 4 files (Level 2)"
  • O(V+E) 计算 — 耗时仅为个位数毫秒
  • 每个大小 > 1 的 SCC 都会被标记为循环依赖簇
  • 即使在循环依赖严重的代码库中,级联层级也准确无误
2. 综合风险评分

将五种信号合并为一个 0–1 风险评分:

信号权重衡量内容
入度30%有多少文件依赖此文件
稳定性指数20%I = Ce/(Ca+Ce) — 数值越低 = 基础文件 = 修改风险越高
圈复杂度20%内部条件分支复杂度(基于正则表达式,支持 8 种语言)
级联深度15%影响传播的层数
PageRank15%在依赖图中的递归重要性
auth_service.ts → Risk: 0.82 (CRITICAL)
  Fan-in: 24, Stability: 0.12, Complexity: 47, Cascade: 4 levels, PageRank: 99th

string_utils.ts → Risk: 0.31 (LOW)
  Fan-in: 18, Stability: 0.85, Complexity: 3, Cascade: 1 level, PageRank: 42nd

AI Agent 现在可以根据阈值做出决策:< 0.3 时继续,0.3–0.7 时警告,> 0.7 时阻止。

3. 历史变更耦合

静态导入会遗漏隐藏依赖 — 这些文件总是一起变更,却不存在导入关系。SYKE 会分析 git 历史(最近 500 次提交),找出这些逻辑耦合。

auth_service.ts changed →
  [Dependency Graph] auth_provider.ts, login_screen.ts
  [Git Coupling — Hidden Dependencies]
    config/auth_config.json (85% confidence, 12 co-changes)
    styles/auth.css (72% confidence, 8 co-changes)
  • 可发现静态分析完全遗漏的 15–30% 受影响文件
  • 过滤大型提交(>20 个文件),避免噪声
  • 5 分钟缓存,自动刷新
4. 使用 PageRank 评估文件重要性

简单的入度计数会将所有依赖文件视为同等重要。PageRank 会计算递归重要性 — 被许多重要文件导入的文件,其排名会高于被许多叶子文件导入的文件。

Before: utils.ts ranked #1 (25 dependents — but all are leaf components)
After:  auth.ts ranked #1 (20 dependents — 15 of which are core modules)
  • 使用阻尼因子 0.85 的标准幂迭代
  • 启动时预计算,文件变更时增量更新
  • 每个文件都会获得排名位置和百分位数(例如,“245 个文件中排名第 3,位于第 99 百分位”)
5. 增量图更新 + 查询记忆化

对于大型代码库(10K+ 个文件),完整重建图的速度太慢。SYKE 现在只更新已变更文件的边,并且只使受影响的缓存条目失效。

Before: 1 file changed → re-parse all 500 files → 2+ seconds
After:  1 file changed → re-parse 1 file → edge diff → 50ms
        Same file queried again → cache hit → O(1) instant
  • 反向索引可按 O(affected) 使缓存失效,而非 O(cache_size)
  • 边变更后会重新计算 SCC 和 PageRank(处理 10K 个文件仍 < 100ms)
  • 提供含命中/未命中诊断信息的 500 条目 LRU 缓存
语言支持

自动检测,零配置:Dart/Flutter、TypeScript/JavaScript、Python、Go、Rust、Java、C++、Ruby。

Web 控制面板

在 localhost:3333 提供实时依赖图可视化,包含:

  • 交互式 3D 节点图(点击任意文件即可查看其连接)
  • 实时级联监控
  • 风险等级指示器
  • 服务离线检测与自动重连

配置

SYKE 从 ~/.syke/config.json(主要配置文件)读取配置,并允许通过环境变量覆盖:

配置键环境变量描述必需
licenseKeySYKE_LICENSE_KEY控制面板中的 Pro 许可证密钥否(免费版无需密钥即可使用)
geminiKeyGEMINI_KEY用于 ai_analyze 的 Google Gemini API 密钥否(任意一个 AI 密钥即可)
openaiKeyOPENAI_KEY用于 ai_analyze 的 OpenAI API 密钥否(任意一个 AI 密钥即可)
anthropicKeyANTHROPIC_KEY用于 ai_analyze 的 Anthropic API 密钥否(任意一个 AI 密钥即可)
aiProviderSYKE_AI_PROVIDER指定 AI 提供商:gemini、openai 或 anthropic否(自动选择)
portSYKE_WEB_PORT控制面板端口(默认:3333)否

完整配置示例(~/.syke/config.json):

{
  "licenseKey": "SYKE-XXXX-XXXX-XXXX-XXXX",
  "geminiKey": "AIza...",
  "openaiKey": "",
  "anthropicKey": "",
  "port": 3333
}

推荐工作流

You (developer)          AI Agent            SYKE
     |                      |                  |
     |-- "Add feature X" -->|                  |
     |                      |-- modifies files |
     |                      |-- modifies files |
     |                      |-- modifies files |
     |                      |                  |
     |                      |-- gate_build --->|
     |                      |                  |-- scans graph
     |                      |                  |-- checks impact
     |                      |<-- PASS/FAIL ----|
     |                      |                  |
     |<-- "Done. Safe to    |                  |
     |    build." ----------|                  |

创始 100 名用户 — 早期采用者免费享用 Pro

我们将为前 100 名开发者提供完整的 Pro 权限,有效期 30 天——无需信用卡,不附加任何条件。

你将获得:

  • 全部 8 个 MCP 工具及高级算法(SCC、PageRank、风险评分、Git 耦合)
  • 无限文件数、多项目支持
  • 实时级联监控 + Web 仪表板
  • AI 语义分析(BYOK — Gemini、OpenAI 或 Claude)

如何领取:

  1. 在 syke.cloud 注册
  2. 为此仓库点 Star
  3. 在你的仪表板中点击“I Starred” → 解锁 30 天 Pro

名额有限。领完即止。

源代码此仓库包含 Free 层级源代码——核心依赖关系图引擎、语言插件和 3 个免费 MCP 工具(gate_build、check_safe、get_dependencies)。Pro 和 Cortex 功能(高级算法、AI 分析、实时监控、Web 仪表板)以编译代码形式包含在 npm 包中。

许可证

Elastic License 2.0 (ELv2)

你可以自由使用、修改和分发 SYKE,但有两项限制:

  1. 不得提供托管服务 — 你不能向第三方提供 SYKE 托管服务。
  2. 不得规避许可证密钥 — 你不能移除、禁用或绕过许可证密钥功能。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。