Sight MCP 服务器
这个存储库将Sight CLI复杂性分析作为一项功能提供出来 MCP(多用途指挥官/多功能指挥官,具体含义根据上下文而定) 服务器因此允许LLM客户端在无需shell访问权限的情况下请求指标。
先决条件
- Node.js 18 或更高版本
- 访问内部npm注册表的网络权限
http://npm.imile-inc.com/) 所以npm install可以下载@imd/sight-cli
MCP服务器软件包 @imd/sight-cli 作为生产依赖。安装后,可执行文件位于 node_modules/.bin/sight以(权力)否决 SIGHT_BINARY 只有在你需要定制构建时(才适用)。
用法
npm installnpm run buildnpm start
在开发过程中,您可以运行 npm run dev 通过执行 TypeScript 入口点 tsx。
配置是通过环境变量提供的:
| 变量 | 默认值 | 描述 |
|---|---|---|
SIGHT_BINARY | 打包的 node_modules/.bin/sight 如果存在,则(执行某操作);否则 sight | CLI的绝对路径或可执行文件名 |
SIGHT_WORKDIR | 当前工作目录 | 传递给 CLI 的目录 |
SIGHT_DEFAULT_ARGS | --output json | 额外的默认参数(以空格分隔或JSON数组形式) |
SIGHT_ALLOWED_FLAGS | *(见下文)* 用于Sight CLI标志的逗号分隔白名单,以防止拼写错误 | |
SIGHT_TIMEOUT_MS | 60000 | CLI 调用的超时时间 |
MCP 工具
- 名字:
sight-complexity - 输入:
- target (字符串,必填):传递给分析目标的 sight complexity - args (string\[\],可选):必须包含在允许列表中的额外 Sight CLI 标志 - includeRawReport (boolean): 在文本响应中包含原始JSON - timeoutMs (数字):覆盖配置的超时时间
- 输出: 从命令行界面解析出的结构化复杂性指标,以及人工总结和可选的原始报告文本。
测试
npm test单元测试通过模拟Sight CLI进程来覆盖成功情况、验证失败、二进制文件缺失、非零退出码以及超时等场景。
- 默认支持的Sight CLI标志:
-o,--output,--output-file,-i,--include,-e,--exclude,-j,--concurrency,-t,--threshold,--min-complexity,--filter,--min-file,--top-files,--top-functions,-c,--config,--no-config,--jsx-analysis,--jsx-props-in-cognitive,--fast-mode,--memory-limit,--timeout,--max-file-size,--skip-minified-js,--no-color,--include-details,--pretty,--respect-gitignore,--use-global-gitignore,--algorithms,--progress,--tui,--json-view,--view-output-file,--events,--events-file更新SIGHT_ALLOWED_FLAGS如果命令行界面(CLI)有所发展,将允许添加额外的开关。
