codesift-mcp 0.2.2 → 0.2.3
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/README.md +10 -6
- package/dist/server.d.ts +1 -0
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +1 -0
- package/dist/server.js.map +1 -1
- package/package.json +1 -1
- package/rules/codesift.md +1 -0
- package/rules/codesift.mdc +1 -0
- package/rules/codex.md +1 -0
- package/rules/gemini.md +1 -0
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# CodeSift -- Token-efficient code intelligence for AI agents
|
|
2
2
|
|
|
3
|
-
CodeSift indexes your codebase with tree-sitter AST parsing and gives AI agents
|
|
3
|
+
CodeSift indexes your codebase with tree-sitter AST parsing and gives AI agents 64 search, retrieval, and analysis tools via CLI or MCP server. It uses 61-95% fewer tokens than raw grep/Read workflows on typical code navigation tasks.
|
|
4
4
|
|
|
5
5
|
**Works with:** Claude Code, Cursor, Codex, Gemini CLI, Zed, Aider, Continue — any MCP client.
|
|
6
6
|
|
|
@@ -185,7 +185,7 @@ codesift retrieve local/my-project \
|
|
|
185
185
|
| `codesift generate-claude-md <repo>` | Generate CLAUDE.md project summary |
|
|
186
186
|
| `codesift list-patterns` | List all built-in anti-pattern names |
|
|
187
187
|
|
|
188
|
-
## MCP tools (63 total — 13 core +
|
|
188
|
+
## MCP tools (63 total — 13 core + 51 discoverable)
|
|
189
189
|
|
|
190
190
|
When running as an MCP server, CodeSift exposes 13 core tools directly. The remaining 50 tools are discoverable via `discover_tools` and `describe_tools` to minimize system prompt token overhead.
|
|
191
191
|
|
|
@@ -290,6 +290,8 @@ scan_secrets(repo="local/my-project", file_pattern="src/config/**")
|
|
|
290
290
|
| Get type info | `get_type_info` | Return types + docs via LSP hover — no file reading |
|
|
291
291
|
| Rename across files | `rename_symbol` | LSP type-safe rename in all files at once |
|
|
292
292
|
| Detect hardcoded secrets | `scan_secrets` | ~1,100 rules, AST-aware, masked output, auto-cached |
|
|
293
|
+
| Ranked text search | `search_text(ranked=true)` | Classifies hits by function, saves follow-up get_symbol calls |
|
|
294
|
+
| Find hidden tools | `discover_tools` + `describe_tools` | 51 tools hidden by default — search by keyword, get full schema |
|
|
293
295
|
| Find ALL occurrences | `grep -rn` | Exhaustive, no top_k cap |
|
|
294
296
|
| Count matches | `grep -c` | Simple exact count |
|
|
295
297
|
|
|
@@ -313,7 +315,7 @@ Custom regex is also supported: `codesift patterns local/project "Promise<.*any>
|
|
|
313
315
|
|
|
314
316
|
## MCP server setup
|
|
315
317
|
|
|
316
|
-
CodeSift runs as an [MCP](https://modelcontextprotocol.io) server, exposing
|
|
318
|
+
CodeSift runs as an [MCP](https://modelcontextprotocol.io) server, exposing 64 tools to AI agents (13 core visible + 50 discoverable). The fastest setup method is `codesift setup <platform>` which handles everything automatically. Manual configuration is also supported:
|
|
317
319
|
|
|
318
320
|
### OpenAI Codex
|
|
319
321
|
|
|
@@ -472,9 +474,11 @@ All configuration is via environment variables.
|
|
|
472
474
|
|
|
473
475
|
5. **File watcher** -- chokidar watches indexed folders for changes. Modified files are re-parsed and the index is updated incrementally.
|
|
474
476
|
|
|
475
|
-
6. **Response guards** -- Multiple layers prevent token waste:
|
|
477
|
+
6. **Response guards** -- Multiple layers prevent token waste: progressive cascade (>15K tok → compact, >25K → counts, >30K → truncate), response dedup cache (30s), in-flight request coalescing, H1-H9 sequential hints, and source truncation.
|
|
476
478
|
|
|
477
|
-
7. **
|
|
479
|
+
7. **Agent onboarding** -- MCP `instructions` field sends ~800 tokens of guidance (tool discovery, hints, ALWAYS/NEVER rules) to every client automatically. `codesift setup` installs full rules files per platform + Claude Code hooks for enforcement.
|
|
480
|
+
|
|
481
|
+
8. **LSP bridge** (optional) -- When a language server is installed (typescript-language-server, pylsp, gopls, rust-analyzer, solargraph, intelephense), CodeSift uses it for type-safe `find_references`, precise `go_to_definition`, `get_type_info` via hover, and cross-file `rename_symbol`. Falls back to tree-sitter/grep when LSP is unavailable. Lazy start + 5 min idle kill — zero overhead when not used.
|
|
478
482
|
|
|
479
483
|
## Glob pattern support
|
|
480
484
|
|
|
@@ -566,7 +570,7 @@ BSL-1.1
|
|
|
566
570
|
<!-- Evidence Map
|
|
567
571
|
| Section | Source file(s) |
|
|
568
572
|
|---------|---------------|
|
|
569
|
-
| Tool count (
|
|
573
|
+
| Tool count (64) | src/register-tools.ts (62 in TOOL_DEFINITIONS + discover_tools + describe_tools) |
|
|
570
574
|
| Quick install | package.json:bin (line 8-11) |
|
|
571
575
|
| Quick start | src/cli/commands.ts |
|
|
572
576
|
| Benchmark | benchmarks/ directory, previously measured |
|
package/dist/server.d.ts
CHANGED
package/dist/server.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":";AASA,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC"}
|
package/dist/server.js
CHANGED
package/dist/server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,yBAAyB,EAAE,MAAM,+BAA+B,CAAC;AAC1E,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAE1D,mCAAmC;AACnC,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAE3E,UAAU,EAAE,CAAC;AAEb,MAAM,MAAM,GAAG,IAAI,SAAS,CAC1B,EAAE,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,OAAO,EAAE,EAC1C,EAAE,YAAY,EAAE,qBAAqB,EAAE,CACxC,CAAC;AAEF,aAAa,CAAC,MAAM,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC;AAE9C,KAAK,UAAU,IAAI;IACjB,MAAM,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAC;IAC7C,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAChC,OAAO,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC;IAE7C,6EAA6E;IAC7E,yBAAyB,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,GAAY,EAAE,EAAE;QAC9D,OAAO,CAAC,KAAK,CAAC,gDAAgD,EAAE,GAAG,CAAC,CAAC;IACvE,CAAC,CAAC,CAAC;AACL,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,GAAY,EAAE,EAAE;IAC5B,OAAO,CAAC,KAAK,CAAC,2CAA2C,EAAE,GAAG,CAAC,CAAC;IAChE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "codesift-mcp",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.3",
|
|
4
4
|
"description": "MCP server for code intelligence — 63 tools for symbol search, call graph, semantic search, route tracing, community detection, LSP bridge, secret detection, and conversation search",
|
|
5
5
|
"license": "BSL-1.1",
|
|
6
6
|
"author": "Greg Laskowski",
|
package/rules/codesift.md
CHANGED
|
@@ -37,6 +37,7 @@ Use this table to pick the right tool for each task:
|
|
|
37
37
|
| find usages | `find_references` |
|
|
38
38
|
| symbol + refs in 1 call | `find_and_show(include_refs=true)` |
|
|
39
39
|
| call chain | `trace_call_chain` |
|
|
40
|
+
| callers/callees of function | `get_call_hierarchy(direction="incoming")` |
|
|
40
41
|
| blast radius | `impact_analysis(since="HEAD~3")` |
|
|
41
42
|
| concept question | `semantic_search` or `codebase_retrieval(queries=[{type:"semantic",...}])` |
|
|
42
43
|
| multi-search 3+ | `codebase_retrieval(queries=[...])` |
|
package/rules/codesift.mdc
CHANGED
|
@@ -42,6 +42,7 @@ Use this table to pick the right tool for each task:
|
|
|
42
42
|
| find usages | `find_references` |
|
|
43
43
|
| symbol + refs in 1 call | `find_and_show(include_refs=true)` |
|
|
44
44
|
| call chain | `trace_call_chain` |
|
|
45
|
+
| callers/callees of function | `get_call_hierarchy(direction="incoming")` |
|
|
45
46
|
| blast radius | `impact_analysis(since="HEAD~3")` |
|
|
46
47
|
| concept question | `semantic_search` or `codebase_retrieval(queries=[{type:"semantic",...}])` |
|
|
47
48
|
| multi-search 3+ | `codebase_retrieval(queries=[...])` |
|
package/rules/codex.md
CHANGED
|
@@ -37,6 +37,7 @@ Use this table to pick the right tool for each task:
|
|
|
37
37
|
| find usages | `find_references` |
|
|
38
38
|
| symbol + refs in 1 call | `find_and_show(include_refs=true)` |
|
|
39
39
|
| call chain | `trace_call_chain` |
|
|
40
|
+
| callers/callees of function | `get_call_hierarchy(direction="incoming")` |
|
|
40
41
|
| blast radius | `impact_analysis(since="HEAD~3")` |
|
|
41
42
|
| concept question | `semantic_search` or `codebase_retrieval(queries=[{type:"semantic",...}])` |
|
|
42
43
|
| multi-search 3+ | `codebase_retrieval(queries=[...])` |
|
package/rules/gemini.md
CHANGED
|
@@ -37,6 +37,7 @@ Use this table to pick the right tool for each task:
|
|
|
37
37
|
| find usages | `find_references` |
|
|
38
38
|
| symbol + refs in 1 call | `find_and_show(include_refs=true)` |
|
|
39
39
|
| call chain | `trace_call_chain` |
|
|
40
|
+
| callers/callees of function | `get_call_hierarchy(direction="incoming")` |
|
|
40
41
|
| blast radius | `impact_analysis(since="HEAD~3")` |
|
|
41
42
|
| concept question | `semantic_search` or `codebase_retrieval(queries=[{type:"semantic",...}])` |
|
|
42
43
|
| multi-search 3+ | `codebase_retrieval(queries=[...])` |
|