@simpletoolsindiaorg/engi-mcp 1.0.0 → 1.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +30 -1
- package/README.md +11 -7
- package/dist/core/indexer/indexer.d.ts +5 -22
- package/dist/core/indexer/indexer.d.ts.map +1 -1
- package/dist/core/indexer/indexer.js +210 -253
- package/dist/core/indexer/indexer.js.map +1 -1
- package/dist/core/retrieval/retriever.d.ts +0 -13
- package/dist/core/retrieval/retriever.d.ts.map +1 -1
- package/dist/core/retrieval/retriever.js +133 -165
- package/dist/core/retrieval/retriever.js.map +1 -1
- package/dist/memory/memory.d.ts +2 -27
- package/dist/memory/memory.d.ts.map +1 -1
- package/dist/memory/memory.js +62 -93
- package/dist/memory/memory.js.map +1 -1
- package/dist/resources/resources.d.ts +0 -28
- package/dist/resources/resources.d.ts.map +1 -1
- package/dist/resources/resources.js +135 -233
- package/dist/resources/resources.js.map +1 -1
- package/package.json +4 -4
package/CHANGELOG.md
CHANGED
|
@@ -5,7 +5,36 @@ All notable changes to this project will be documented in this file.
|
|
|
5
5
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
6
6
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
7
|
|
|
8
|
-
## [1.
|
|
8
|
+
## [1.1.1] - 2026-03-16
|
|
9
|
+
|
|
10
|
+
### Fixed
|
|
11
|
+
- **Indexer**: `extractExportsImports` used `match[2]` for `TS_IMPORT` regex which only has one capture group — imports were always `undefined`, crashing `impact_analyze` and `buildArchitectureMap`
|
|
12
|
+
- **Indexer**: Python import extraction now guards against undefined match groups
|
|
13
|
+
|
|
14
|
+
## [1.1.0] - 2026-03-16
|
|
15
|
+
|
|
16
|
+
### Performance Improvements
|
|
17
|
+
- **Indexer**: Parallel file I/O with `Promise.all` — all files read concurrently instead of sequentially
|
|
18
|
+
- **Indexer**: Each file read once (was read 2–3 times: stat + exports + symbols)
|
|
19
|
+
- **Indexer**: Async directory scanning with parallel subtree recursion
|
|
20
|
+
- **Indexer**: Deduplicates concurrent `indexRepository` calls (one in-flight index at a time)
|
|
21
|
+
- **Indexer**: Pre-compiled regex patterns as module-level constants (not recompiled per file)
|
|
22
|
+
- **Indexer**: `SET`-based pattern matching for `TEST_PATTERNS`, `DOC_PATTERNS`, `CONFIG_EXTS`, `SOURCE_EXTS`
|
|
23
|
+
- **Retriever**: Stop words moved to module-level `Set` — created once, `O(1)` lookup (was array created per call)
|
|
24
|
+
- **Retriever**: Exports lowercased once per file in `rankFiles` (not once per keyword)
|
|
25
|
+
- **Retriever**: `topFilePathSet` and `topModules` built as `Set` — all downstream lookups `O(1)`
|
|
26
|
+
- **Retriever**: `findRelevantTests` uses `Set` for deduplication and early exit at limit
|
|
27
|
+
- **Retriever**: `findRelevantDocs` uses `Set`-based dedup and early exit
|
|
28
|
+
- **Resources**: All 7 resource builders now cache results keyed by `index.lastIndexed` — rebuilt only when index changes
|
|
29
|
+
- **Resources**: Edge deduplication uses `Set` with composite key (was linear `.some()` scan)
|
|
30
|
+
- **Memory**: `getLatestForTask` is now `O(1)` via a `taskId → checkpointIds[]` index (was full scan)
|
|
31
|
+
- **Memory**: `taskIndex` rebuilt correctly on `load()` from persisted storage
|
|
32
|
+
|
|
33
|
+
### Changed
|
|
34
|
+
- Package renamed to `@simpletoolsindiaorg/engi-mcp`
|
|
35
|
+
- GitHub repository: [simpletoolsindia/Software-Engineering-Intelligence-MCP-Server](https://github.com/simpletoolsindia/Software-Engineering-Intelligence-MCP-Server)
|
|
36
|
+
|
|
37
|
+
## [1.0.0] - 2026-03-16
|
|
9
38
|
|
|
10
39
|
### Added
|
|
11
40
|
- 12 MCP tools across 5 capability modules (analysis, planning, execution, documentation, memory)
|
package/README.md
CHANGED
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
|
|
14
14
|
*Stop feeding Claude your entire codebase. Give it a brain instead.*
|
|
15
15
|
|
|
16
|
-
[](https://www.npmjs.com/package/@simpletoolsindiaorg/engi-mcp)
|
|
17
17
|
[](https://nodejs.org)
|
|
18
18
|
[](https://modelcontextprotocol.io)
|
|
19
19
|
[](LICENSE)
|
|
@@ -59,10 +59,10 @@ WITH engi-mcp: 3 tool calls → 405 tokens
|
|
|
59
59
|
|
|
60
60
|
```bash
|
|
61
61
|
# Install globally
|
|
62
|
-
npm install -g @
|
|
62
|
+
npm install -g @simpletoolsindiaorg/engi-mcp
|
|
63
63
|
|
|
64
64
|
# Or use directly with npx (no install needed)
|
|
65
|
-
npx @
|
|
65
|
+
npx @simpletoolsindiaorg/engi-mcp
|
|
66
66
|
```
|
|
67
67
|
|
|
68
68
|
Add to your Claude Code config (~/.claude.json):
|
|
@@ -72,7 +72,7 @@ Add to your Claude Code config (~/.claude.json):
|
|
|
72
72
|
"mcpServers": {
|
|
73
73
|
"engi": {
|
|
74
74
|
"command": "npx",
|
|
75
|
-
"args": ["-y", "@
|
|
75
|
+
"args": ["-y", "@simpletoolsindiaorg/engi-mcp"],
|
|
76
76
|
"env": { "LOG_LEVEL": "warn" }
|
|
77
77
|
}
|
|
78
78
|
}
|
|
@@ -422,7 +422,7 @@ Step 7: memory_checkpoint(taskId, ...) → save for next session
|
|
|
422
422
|
### Option A — Global install
|
|
423
423
|
|
|
424
424
|
```bash
|
|
425
|
-
npm install -g @
|
|
425
|
+
npm install -g @simpletoolsindiaorg/engi-mcp
|
|
426
426
|
```
|
|
427
427
|
|
|
428
428
|
Add to ~/.claude.json:
|
|
@@ -445,7 +445,7 @@ Add to ~/.claude.json:
|
|
|
445
445
|
"mcpServers": {
|
|
446
446
|
"engi": {
|
|
447
447
|
"command": "npx",
|
|
448
|
-
"args": ["-y", "@
|
|
448
|
+
"args": ["-y", "@simpletoolsindiaorg/engi-mcp"],
|
|
449
449
|
"env": { "LOG_LEVEL": "warn" }
|
|
450
450
|
}
|
|
451
451
|
}
|
|
@@ -475,7 +475,7 @@ Config path: ~/Library/Application Support/Claude/claude_desktop_config.json
|
|
|
475
475
|
"mcpServers": {
|
|
476
476
|
"engi": {
|
|
477
477
|
"command": "npx",
|
|
478
|
-
"args": ["-y", "@
|
|
478
|
+
"args": ["-y", "@simpletoolsindiaorg/engi-mcp"]
|
|
479
479
|
}
|
|
480
480
|
}
|
|
481
481
|
}
|
|
@@ -590,3 +590,7 @@ MIT — see LICENSE
|
|
|
590
590
|
---
|
|
591
591
|
|
|
592
592
|
Made for engineers who want Claude to work smarter, not harder.
|
|
593
|
+
|
|
594
|
+
---
|
|
595
|
+
|
|
596
|
+
**Organization:** [simpletoolsindia](https://github.com/simpletoolsindia) · **npm:** [@simpletoolsindiaorg/engi-mcp](https://www.npmjs.com/package/@simpletoolsindiaorg/engi-mcp) · **GitHub:** [Software-Engineering-Intelligence-MCP-Server](https://github.com/simpletoolsindia/Software-Engineering-Intelligence-MCP-Server)
|
|
@@ -1,33 +1,16 @@
|
|
|
1
1
|
import { RepositoryIndex } from '../types.js';
|
|
2
2
|
export declare class RepoIndexer {
|
|
3
3
|
private index;
|
|
4
|
-
|
|
5
|
-
* Index a repository directory
|
|
6
|
-
*/
|
|
4
|
+
private indexing;
|
|
7
5
|
indexRepository(rootPath: string): Promise<RepositoryIndex>;
|
|
8
|
-
/**
|
|
9
|
-
* Get current index
|
|
10
|
-
*/
|
|
11
6
|
getIndex(): RepositoryIndex | null;
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
private
|
|
16
|
-
/**
|
|
17
|
-
* Extract exports and imports from a file (simple regex-based)
|
|
18
|
-
*/
|
|
7
|
+
private _doIndex;
|
|
8
|
+
private processFile;
|
|
9
|
+
private scanDirectoryAsync;
|
|
10
|
+
private classifyFile;
|
|
19
11
|
private extractExportsImports;
|
|
20
|
-
/**
|
|
21
|
-
* Extract symbols from a file
|
|
22
|
-
*/
|
|
23
12
|
private extractSymbols;
|
|
24
|
-
/**
|
|
25
|
-
* Create test entry
|
|
26
|
-
*/
|
|
27
13
|
private createTestEntry;
|
|
28
|
-
/**
|
|
29
|
-
* Create documentation entry
|
|
30
|
-
*/
|
|
31
14
|
private createDocEntry;
|
|
32
15
|
}
|
|
33
16
|
export declare function getIndexer(): RepoIndexer;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"indexer.d.ts","sourceRoot":"","sources":["../../../src/core/indexer/indexer.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"indexer.d.ts","sourceRoot":"","sources":["../../../src/core/indexer/indexer.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,eAAe,EAMhB,MAAM,aAAa,CAAC;AA4DrB,qBAAa,WAAW;IACtB,OAAO,CAAC,KAAK,CAAgC;IAC7C,OAAO,CAAC,QAAQ,CAAyC;IAEnD,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC;IAUjE,QAAQ,IAAI,eAAe,GAAG,IAAI;YAMpB,QAAQ;YAmCR,WAAW;YA8DX,kBAAkB;IAyBhC,OAAO,CAAC,YAAY;IAmBpB,OAAO,CAAC,qBAAqB;IAwC7B,OAAO,CAAC,cAAc;IAmCtB,OAAO,CAAC,eAAe;IAQvB,OAAO,CAAC,cAAc;CASvB;AAMD,wBAAgB,UAAU,IAAI,WAAW,CAGxC;AAED,wBAAsB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,CAEhF"}
|