Server data from the Official MCP Registry
Detect circular imports, report the exact cycle per component, and suggest a break point.
About
Detect circular imports, report the exact cycle per component, and suggest a break point.
Security Report
importfix is a pure local circular-import detector with no network access, no shell execution, and no credentials, and its code matches its stated purpose. The only notable item is that the CLI reads a caller-specified modules file path without restriction, which is expected for a local CLI and is not reachable through the MCP tool. No findings warrant a meaningful score reduction. Supply chain analysis found 3 known vulnerabilities in dependencies (0 critical, 2 high severity). Package verification found 1 issue.
8 files analyzed · 6 issues found
Security scores are indicators to help you make informed decisions, not guarantees. Always review permissions before connecting any MCP server.
Permissions Required
This plugin requests these system permissions. Most are normal for its category.
How to Install
Add this to your MCP configuration file:
{
"mcpServers": {
"io-github-cloudcorprecords-importfix": {
"args": [
"-y",
"@reneturcios/importfix"
],
"command": "npx"
}
}
}Documentation
View on GitHubFrom the project's GitHub README.
importfix
Circular imports are easy to create and miserable to unwind by eye: the compiler names a file, not the loop. importfix takes a module graph — each module's path and the paths it imports — and works out where the loops actually are.
For every cyclic component it reports exactly one representative cycle: the exact nodes in traversal order and the edges between them, closing back to the start. It does not enumerate every elementary cycle; one exact, reproducible cycle per component is the contract. Each cycle also carries a suggested break point — the cycle edge to remove first, chosen because its target has the fewest dependents in the whole graph, so breaking it disturbs the least-imported module on the loop.
The graph rules are strict about what counts:
- An import only becomes an edge when it names another module in the same input. Imports of anything else are external: counted in the stats, never edged.
- Duplicate imports collapse into one edge.
- A module importing itself is a cycle of one, reported like any other.
- The representative cycle is deterministic: it starts at the component's lexicographically smallest module and follows neighbours in lexicographic order, so the same graph always yields the same answer.
Pure local computation: no network, no filesystem reads of your source tree — the graph is supplied by the caller.
CLI
npx @reneturcios/importfix cycles --modules modules.json
npx @reneturcios/importfix --version
modules.json contains the modules array:
[
{"path": "src/a.ts", "imports": ["src/b.ts"]},
{"path": "src/b.ts", "imports": ["src/a.ts", "node:fs"]}
]
The command prints the report as JSON:
{
"has_cycles": true,
"cycles": [
{
"nodes": ["src/a.ts", "src/b.ts"],
"edges": [
{"from": "src/a.ts", "to": "src/b.ts"},
{"from": "src/b.ts", "to": "src/a.ts"}
],
"suggested_break": {
"from": "src/a.ts",
"to": "src/b.ts",
"reason": "target has the fewest dependents in the graph (1)"
}
}
],
"stats": {
"module_count": 2,
"edge_count": 2,
"external_imports": 1,
"cyclic_module_count": 2
}
}
Exit codes: 0 on success, 1 on a runtime error
(including an unreadable or invalid modules file), 2 on
a usage error.
MCP server
npx -y @reneturcios/importfix mcp
MCP client config:
{
"mcpServers": {
"importfix": {
"command": "npx",
"args": ["-y", "@reneturcios/importfix", "mcp"]
}
}
}
Tools
find_import_cycles— Detect circular imports in a module graph and report one representative cycle per cyclic component, with a suggested break point.modules(array, required, at least one item) — modules as{path, imports}objects;pathis the module's own path andimportslists the paths it imports (may be empty)
Docker
docker run -i ghcr.io/cloudcorprecords/importfix
docker run --rm -v "$PWD:/w" ghcr.io/cloudcorprecords/importfix cycles --modules /w/modules.json
Development
npm install
npm run build # tsc -> dist/
npm test # tsx --test test/*.test.ts (pure local, no network)
npm run dev # run the CLI from source
License
MIT — Copyright (c) 2026 Rene Turcios
Reviews
No reviews yet
Be the first to review this server!
More Developer Tools MCP Servers
Rea
Freeby Morluto · Developer Tools
Reverse engineer anything from your terminal or agent with one CLI and MCP server.
Paperclip
Freeby Paperclipai · Developer Tools
Trending hip-hop artist momentum scores across four cultural dimensions.
Fetch
Freeby Modelcontextprotocol · Developer Tools
Web content fetching and conversion for efficient LLM usage
Git
Freeby Modelcontextprotocol · Developer Tools
Read, search, and manipulate Git repositories programmatically
Toleno
Freeby Toleno · Developer Tools
Toleno Network MCP Server — Manage your Toleno mining account with Claude AI using natural language.
MCP Marketplace
Freeby mcp-marketplace · Developer Tools
Search and install MCP servers from inside your AI client.
