GitHub
Connect AI assistants to GitHub - manage repos, issues, PRs, and workflows through natural language.
作者提供的说明(英文原文)
Point an agent at a codebase: narrowed-scope architecture map, dependency/EOL risk list.
这三项永远不会合并成一个分数:意见、测量和人气是不同的东西。
我们还没有为它写通俗的介绍。下面是我们从注册中心读取到的事实。
选择你使用的 AI 应用,然后复制设置。
作者没有在注册中心列出安装信息。请查看下方作者的 README。
它在你的电脑上运行;安装后,工具列表会显示在你的 AI 应用中。
我们检查的是任何人都能看到的信息;我们没有阅读代码。不适用的检查项不计入总数。 · 检查于 2026年11月7日
注册名称已通过 GitHub 账户 CYAN-ECLIPSE-TECHNOLOGIES-LLC 验证,该账户拥有此仓库
我们还没有从 GitHub 读取这个仓库
我们还没有从 GitHub 读取这个仓库
它在你的电脑上运行,没有互联网端点
在你的电脑上运行,改用本地设置
它在你的电脑上运行;我们只能读取互联网端点的工具列表
与注册中心里这个分类中所有活跃的服务器比较。只有当发布者拥有该仓库时,星标数才计入。
它在 1 项适用的基础检查中通过了 1 项。我们没有阅读代码。在添加密钥或令牌之前,请先看看这个服务器要求哪些权限,并使用只具备所需权限的密钥。
注册中心没有列出必需的密钥,不过有些服务器会在首次使用时要求你登录。
它在你的电脑上运行。你的 AI 应用会在需要时启动它,数据不会经过作者的服务器(除非它自己调用在线服务)。
GitHub 仓库最后更新于–,最新版本(0.1.0)于11天前进入注册中心。
支持 MCP 的应用,例如 Claude Desktop、Claude Code、Cursor 和 VS Code。
同一分类中有:GitHub, Desktop Commander, Cloudflare MCP
同一分类中其他作者的服务器,按星标数排序。
如何看卡片:★ GitHub 星标i三大支柱:评价 · 检查 · 使用情况i更新 = 最新版本发布到注册中心的时间i
Connect AI assistants to GitHub - manage repos, issues, PRs, and workflows through natural language.
MCP server for terminal commands, file operations, and process management
Cloudflare MCP servers
按原文从作者的仓库复制。PopNx MCP 没有审查或背书其内容。HTML、图片和脚本已被移除。链接会离开本站。
Powered by Cyan Eclipse Technologies — https://cetech.ai
Point an agent at a codebase: narrowed-scope architecture map, dependency/EOL risk list, modernization estimate inputs.
v0.1.0, local, read-only. MCP over stdio, Python stdlib only. No certification claimed. The latest bench card (-10, 2026-10-26) is FAILED 22/25 at the former universal JS/TS claim; the owner disposition is to narrow the claims to the observed scope in CLAIM-SCOPE.md, not to stand the product as permanently FAILED and not to run a fourth fix round. A scoped re-bench is still required before any certification claim. Catalog entry: legacy-recon-mcp (spec sketch: mcp-product-slate-20261023.md §5). Free; services-led assessment funnel into CETech's legacy modernization line.
Within CLAIM-SCOPE.md, reported entries cite the file path plus the manifest line, structural fact, or inference basis they rest on. The standing UNKNOWN categories implemented by the engine carry reasons — never a guessed stack. OBSERVED is a scoped positive inventory, not an exhaustive inventory.
Withdrawn by name in the canonical scope note: JS/TS multiline block-comment continuation after a split no-closing-slash span (W1); chained no-closing-slash JS/TS spans (W2); B-LR-14 invalid-line identifier-follow shapes (W3); exhaustive OBSERVED recall (W4); dynamic-import observation or a dedicated dynamic-import UNKNOWN (W5); .mts/.cts OBSERVED extraction (W6); completeness over permission-denied subtrees (W7); report-and-skip treatment of self-referential symlink loops (W8); and hosted/authenticated/multi-tenant operation (W9).
At the narrowed scope, the dependency inventory distinguishes, in separate lists that are never blended:
internal); not an exhaustive inventory.PIL → distribution Pillow via a built-in mapping table; an import with no matching declared entry → inferred undeclared dependency).recon_scan (combined narrowed-scope report) · architecture_map · dependency_risk_list · modernization_inputs
All take path (required string) and optional max_files (integer, 1–50000, default 5000, via the house coerce_int_param guard pattern).
Modernization outputs are INPUTS, not an estimate: LOC by language, test file presence / test-LOC ratio, manifest filesystem-mtime signals (explicitly *not* commit age — git history is UNKNOWN in v0.1), and coupling hotspots by fan-in. No effort, cost, or duration figure is produced.
Manifest parsers: requirements.txt, Pipfile, pyproject.toml, setup.py/setup.cfg (python_requires), package.json, composer.json, Gemfile, pom.xml, go.mod, Cargo.toml; runtime pins from .python-version, .nvmrc, .ruby-version, runtime.txt, engines.node, requires-python, pom java.version.
EOL risk comes only from a small, explicit, versioned-in-code rules table (EOL_RULES_VERSION = 2026-10-25.1 in recon_engine.py): Python 2.7/3.6/3.7/3.8, Node 12/14/16/18, PHP 7.4/8.0, Ruby 2.7/3.0, Django 2.2/3.2/4.0/4.1, AngularJS 1.x, Rails 5.2/6.0, Flask 1.0. Every EOL claim cites its rule_id. No rule match = no claim (absence of a rule is never a claim of support). Unpinned declared versions surface as UNPINNED_VERSION.
escape: true. A self-referential symlink loop is the named exception in CLAIM-SCOPE.md W8: it can refuse the scan with TARGET_PATH_INVALID instead of being reported and skipped.max_files sets truncated: true + MAX_FILES_REACHED — a truncated scan never presents as complete.TARGET_NOT_FOUND, TARGET_NOT_DIRECTORY, TARGET_EMPTY, TARGET_PATH_INVALID, MAX_FILES_INVALID, ARGUMENTS_INVALID. Malformed wire args are -32602 naming the argument, never a raw -32603..git, __pycache__, node_modules, vendor, …) are skipped and listed.python3 server.py # stdio
python3 -m unittest discover -s tests # acceptance + schema fuzz python3 smoke.py # subprocess stdio smoke
Fixtures: fixtures/legacy-tree/ — synthetic mixed Python+JS legacy tree: Django 3.2 + Python 3.8 + Node 16 + AngularJS EOL pins, unpinned requests, a binary blob, and a symlink escape attempt (escape_link → /etc, recreated by tests/smoke if absent).
CLAIM-SCOPE.md is the controlling claim boundary. In particular:
require(/import forms, a second import on a line, and imports after template over-masking shapes named in CLAIM-SCOPE.md W4. Python recall can miss semicolon/statement-followed imports on a line, comma-list second modules, backslash continuations, and relative from-imports..mts and .cts files do not receive OBSERVED extraction (W6).A Cyan Eclipse Technologies product. The "Powered by Cyan Eclipse Technologies" attribution travels with it.