imi-sight-mcp
v1.0.5
Published
Model Context Protocol server exposing Sight CLI complexity analysis
Readme
Sight MCP Server
This repository exposes the Sight CLI complexity analysis as an MCP server so LLM clients can request metrics without shell access.
Prerequisites
- Node.js 18 or newer
- Network access to the internal npm registry (
http://npm.imile-inc.com/) sonpm installcan download@imd/sight-cli
The MCP server bundles @imd/sight-cli as a production dependency. After installation the executable is available at node_modules/.bin/sight; override SIGHT_BINARY only if you need a custom build.
Usage
npm installnpm run buildnpm start
During development you can run npm run dev to execute the TypeScript entry point via tsx.
Configuration is provided via environment variables:
| Variable | Default | Description |
| --- | --- | --- |
| SIGHT_BINARY | bundled node_modules/.bin/sight if present, otherwise sight | Absolute path or executable name of the CLI |
| SIGHT_WORKDIR | current working directory | Directory passed to the CLI |
| SIGHT_DEFAULT_ARGS | --output json | Extra default arguments (space separated or JSON array) |
| SIGHT_ALLOWED_FLAGS | (see below) | Comma-separated whitelist for Sight CLI flags to guard against typos |
| SIGHT_TIMEOUT_MS | 60000 | Timeout for the CLI invocation |
MCP Tool
- Name:
sight-complexity - Inputs:
target(string, required): analysis target passed tosight complexityargs(string[], optional): additional Sight CLI flags that must be present in the allow listincludeRawReport(boolean): include raw JSON in the text responsetimeoutMs(number): override configured timeout
- Outputs: Structured complexity metrics parsed from the CLI, plus a human summary and optional raw report text.
Testing
npm testUnit tests mock the Sight CLI process to cover success, validation failures, missing binary, non-zero exit codes, and timeouts.
- Sight CLI flags supported by default:
-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. UpdateSIGHT_ALLOWED_FLAGSto permit additional switches if the CLI evolves.
