kemdicode-mcp 1.20.0 → 1.20.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/README.md +63 -38
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -5,12 +5,12 @@
|
|
|
5
5
|
<h3 align="center">Model Context Protocol Server for AI-Powered Development</h3>
|
|
6
6
|
|
|
7
7
|
<p align="center">
|
|
8
|
-
|
|
8
|
+
119 tools • 7 LLM providers • multi-agent orchestration • kanban • project memory
|
|
9
9
|
</p>
|
|
10
10
|
|
|
11
11
|
<p align="center">
|
|
12
12
|
<a href="https://www.npmjs.com/package/kemdicode-mcp"><img src="https://img.shields.io/badge/npm-kemdicode--mcp-CB3837?style=flat-square&logo=npm&logoColor=white" alt="npm" /></a>
|
|
13
|
-
<a href="https://github.com/kemdi-pl/kemdicode-mcp/releases"><img src="https://img.shields.io/badge/version-1.
|
|
13
|
+
<a href="https://github.com/kemdi-pl/kemdicode-mcp/releases"><img src="https://img.shields.io/badge/version-1.20.1-blue?style=flat-square" alt="Version" /></a>
|
|
14
14
|
<a href="LICENSE"><img src="https://img.shields.io/badge/license-GPL--3.0-green?style=flat-square" alt="License" /></a>
|
|
15
15
|
</p>
|
|
16
16
|
|
|
@@ -23,12 +23,12 @@
|
|
|
23
23
|
|
|
24
24
|
---
|
|
25
25
|
|
|
26
|
-
**kemdiCode MCP** is a [Model Context Protocol](https://modelcontextprotocol.io/) server that gives AI agents and IDE assistants access to **
|
|
26
|
+
**kemdiCode MCP** is a [Model Context Protocol](https://modelcontextprotocol.io/) server that gives AI agents and IDE assistants access to **119 specialized tools** for code analysis, generation, git operations, file management, AST-aware editing, project memory, multi-board kanban, task comments, and multi-agent coordination.
|
|
27
27
|
|
|
28
28
|
<details>
|
|
29
29
|
<summary><strong>Table of Contents</strong></summary>
|
|
30
30
|
|
|
31
|
-
- [What's New in 1.
|
|
31
|
+
- [What's New in 1.20.0](#whats-new-in-1200)
|
|
32
32
|
- [Usage Examples](#usage-examples)
|
|
33
33
|
- [Highlights](#highlights)
|
|
34
34
|
- [Compatibility](#compatibility)
|
|
@@ -50,27 +50,49 @@
|
|
|
50
50
|
|
|
51
51
|
---
|
|
52
52
|
|
|
53
|
-
## What's New in 1.
|
|
53
|
+
## What's New in 1.20.0
|
|
54
54
|
|
|
55
|
-
|
|
56
|
-
- **Memory Tools: Redis Pipeline Optimization** — `read-memory` and `delete-memory` batch operations use Redis pipelines instead of sequential queries, eliminating N+1 performance issues.
|
|
57
|
-
- **5 Critical Bug Fixes** — memory leak in `sessionHistory` Map (LRU eviction), recursion context restoration in `tool-invoker`, Pub/Sub handler leak in `agent-monitor`, Redis connection leak in kanban subscriber, race condition in `claimTask` blocker validation.
|
|
58
|
-
- **5 Performance Improvements** — session write-back throttling (dirty flag + 5min threshold), kanban `listTasks` N+1 → Redis pipeline, context `queryContext` N+1 → pipeline, rate-limit map cleanup timer, shared Redis connection pooling.
|
|
59
|
-
- **2 Security Fixes** — hardcoded salt fallback removed (now throws on missing `SECURE_STORAGE_SALT`), command injection risk in `projectContext.enhanced.ts` fixed (switched to `execFile`).
|
|
60
|
-
- **Template Injection Prevention** — `consensus-prompt` fixed reversed `replaceAll` order to prevent user prompt from injecting `{board_responses}` placeholder. CEO `maxTokens` capped at 32K.
|
|
61
|
-
- **ANSI Escape Injection Protection** — new `sanitizeTerminalOutput()` utility applied to `agent-alert` and `agent-inject` to prevent terminal escape sequence injection via user-controlled strings.
|
|
62
|
-
- **Shared Memory Module** — extracted duplicated types, constants, and helpers from 7 memory tools into `src/tools/memory/shared.ts`, eliminating 6x duplication.
|
|
63
|
-
- **Shared Format Helpers** — new `src/utils/format-helpers.ts` with `sanitizeTerminalOutput()`, `wrapText()`, `priorityIcon()`, `statusIcon()` shared across agent tools.
|
|
64
|
-
- **Input Validation Hardening** — prototype pollution prevention in `agent-register` metadata keys, octal mode regex validation in `file-write`, ref flag injection prevention in `git-log`, content size limits (1MB) in `queue-message`.
|
|
55
|
+
### 14 New Tools
|
|
65
56
|
|
|
66
|
-
|
|
57
|
+
- **Git workflow** — `git-add` (stage files), `git-commit` (create commits), `git-stash` (full stash management: push/pop/list/drop/apply/show)
|
|
58
|
+
- **Kanban CRUD** — `task-get` (full task details), `task-delete` (batch 1-20), `task-comment` (append-only notes with author tracking), `board-delete` (cascade option), `workspace-delete` (ownership verification)
|
|
59
|
+
- **File operations** — `file-delete` (security checks, critical file protection, dry-run), `file-move` (cross-filesystem), `file-copy` (overwrite protection), `file-backup-restore` (list/restore `.bak` files)
|
|
60
|
+
- **Orchestration** — `pipeline` (sequential tool execution with `{{stepId.result}}` interpolation, max 10 steps), `checkpoint-diff` (compare current files with saved checkpoint)
|
|
67
61
|
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
-
|
|
71
|
-
-
|
|
72
|
-
-
|
|
73
|
-
-
|
|
62
|
+
### Task Comments System
|
|
63
|
+
|
|
64
|
+
New append-only notes for kanban tasks — agents can add progress notes without overwriting the task description:
|
|
65
|
+
- `TaskNote` type: `id`, `author`, `content`, `createdAt`
|
|
66
|
+
- `task-comment` tool: batch 1-20 comments, shorthand mode `{ taskId, author, content }`
|
|
67
|
+
- `task-get` returns `notes` array and `noteCount`
|
|
68
|
+
|
|
69
|
+
### Metadata for All 119 Tools
|
|
70
|
+
|
|
71
|
+
Every tool now has a `metadata` block with `category`, `tags`, `examples` (realistic args), and `relatedTools`. The `help` tool generates a categorized listing from this metadata. 4 new categories: `loci`, `mpc`, `session`, `rl`.
|
|
72
|
+
|
|
73
|
+
### UX Improvements
|
|
74
|
+
|
|
75
|
+
- **Auto-sessionId** — `sessionId` is now optional in all kanban/workspace tools; auto-detected from the MCP connection
|
|
76
|
+
- **Name lookup** — use board/workspace names instead of UUIDs (`"name:My Board"` or just `"My Board"`)
|
|
77
|
+
- **Shorthand mode** — `file-read` and `write-memory` accept single-item format without array wrapper
|
|
78
|
+
- **git-status / git-diff** — new `format` parameter (`text` / `json`)
|
|
79
|
+
- **batch tool** — configurable `maxResultLength` (up to 50,000 chars, default 5,000)
|
|
80
|
+
- **help tool** — rewritten with categorized tool listing from registry
|
|
81
|
+
- **Progress reporting** — fixed in `run-lint`
|
|
82
|
+
- **Cross-references** — `auto-fix` ↔ `replace-content` descriptions link to each other
|
|
83
|
+
|
|
84
|
+
### Bug Fixes
|
|
85
|
+
|
|
86
|
+
- Race condition in `task-comment` when multiple comments target the same task (Promise.all → sequential)
|
|
87
|
+
- Emoji fix: raw priority/status in data fields, separate `priorityIcon`/`statusIcon` fields
|
|
88
|
+
|
|
89
|
+
### What was in 1.19.0
|
|
90
|
+
|
|
91
|
+
- **Batch/Multi-Item Support for 14 Tools** — all single-item tools now accept arrays for parallel batch operations (1-20 items each). All return per-item success/failure with structured results.
|
|
92
|
+
- **Memory Tools: Redis Pipeline Optimization** — `read-memory` and `delete-memory` use Redis pipelines, eliminating N+1 issues.
|
|
93
|
+
- **5 Critical Bug Fixes** — memory leak in `sessionHistory`, recursion context restoration, Pub/Sub handler leak, Redis connection leak, race condition in `claimTask`.
|
|
94
|
+
- **5 Performance Improvements** — session write-back throttling, kanban/context N+1 → pipeline, rate-limit cleanup, shared Redis pooling.
|
|
95
|
+
- **Security** — hardcoded salt removed, command injection fix, template injection prevention, ANSI escape protection, input validation hardening.
|
|
74
96
|
|
|
75
97
|
---
|
|
76
98
|
|
|
@@ -132,7 +154,7 @@ You: "Set up 3 agents: backend, frontend, QA. Backend works on the API, frontend
|
|
|
132
154
|
|
|
133
155
|
| Capability | Description |
|
|
134
156
|
|:-----------|:------------|
|
|
135
|
-
| **
|
|
157
|
+
| **119 MCP Tools** | Code review, refactoring, testing, git, file management, AST editing, memory, checkpoints, kanban, task comments, pipelines |
|
|
136
158
|
| **7 LLM Providers** | Native SDKs for OpenAI (GPT-5), Anthropic (Claude 4.5), Gemini (Gemini 3) + OpenAI-compatible for Groq, DeepSeek, Ollama, OpenRouter |
|
|
137
159
|
| **Multi-Agent** | Agents connect via HTTP, share context through Redis Pub/Sub, coordinate via kanban boards |
|
|
138
160
|
| **Parallel Multi-Model** | Send one prompt to N models simultaneously; CEO-and-Board consensus pattern |
|
|
@@ -351,7 +373,7 @@ ai-config --action test
|
|
|
351
373
|
|
|
352
374
|
## Tool Reference
|
|
353
375
|
|
|
354
|
-
> **
|
|
376
|
+
> **119 tools** across 20 categories.
|
|
355
377
|
|
|
356
378
|
| Category | # | Tools |
|
|
357
379
|
|:---------|:-:|:------|
|
|
@@ -361,15 +383,16 @@ ai-config --action test
|
|
|
361
383
|
| **Line Editing** | 4 | `insert-at-line` `delete-lines` `replace-lines` `replace-content` |
|
|
362
384
|
| **Symbol Editing** | 3 | `insert-before-symbol` `insert-after-symbol` `rename-symbol` |
|
|
363
385
|
| **Code Modification** | 5 | `fix-bug` `refactor` `auto-fix` `auto-fix-agent` `write-tests` |
|
|
364
|
-
| **Project Memory** |
|
|
365
|
-
| **Git** |
|
|
366
|
-
| **File Operations** |
|
|
386
|
+
| **Project Memory** | 8 | `write-memory` `read-memory` `list-memories` `edit-memory` `delete-memory` `checkpoint-save` `checkpoint-restore` `checkpoint-diff` |
|
|
387
|
+
| **Git** | 8 | `git-status` `git-diff` `git-log` `git-blame` `git-branch` `git-add` `git-commit` `git-stash` |
|
|
388
|
+
| **File Operations** | 9 | `file-read` `file-write` `file-search` `file-tree` `file-diff` `file-delete` `file-move` `file-copy` `file-backup-restore` |
|
|
367
389
|
| **Project** | 5 | `project-info` `run-script` `run-tests` `run-lint` `check-types` |
|
|
368
|
-
| **Kanban — Tasks** |
|
|
369
|
-
| **Kanban — Workspaces** |
|
|
370
|
-
| **Kanban — Boards** |
|
|
390
|
+
| **Kanban — Tasks** | 10 | `task-create` `task-get` `task-list` `task-update` `task-delete` `task-comment` `task-claim` `task-assign` `task-push-multi` `board-status` |
|
|
391
|
+
| **Kanban — Workspaces** | 5 | `workspace-create` `workspace-list` `workspace-join` `workspace-leave` `workspace-delete` |
|
|
392
|
+
| **Kanban — Boards** | 6 | `board-create` `board-list` `board-share` `board-members` `board-invite` `board-delete` |
|
|
371
393
|
| **Recursive** | 3 | `invoke-tool` `invoke-batch` `invocation-log` |
|
|
372
394
|
| **Multi-Agent** | 13 | `agent-list` `agent-register` `agent-watch` `agent-alert` `agent-inject` `agent-history` `monitor` `agent-summary` `queue-message` `shared-thoughts` `get-shared-context` `feedback` `batch` |
|
|
395
|
+
| **Orchestration** | 1 | `pipeline` |
|
|
373
396
|
| **Session** | 5 | `session-list` `session-info` `session-create` `session-switch` `session-delete` |
|
|
374
397
|
| **MPC Security** | 4 | `mpc-split` `mpc-distribute` `mpc-reconstruct` `mpc-status` |
|
|
375
398
|
| **RL Learning** | 2 | `rl-reward-stats` `rl-dopamine-log` |
|
|
@@ -387,7 +410,7 @@ ai-config --action test
|
|
|
387
410
|
| **Clients** | Claude Code, Cursor, KiroCode, RooCode | Connect via SSE + JSON-RPC (MCP Protocol) |
|
|
388
411
|
| **HTTP Server** | `:3100` (Bun or Node.js) | Routes: `/sse`, `/message`, `/resume`, `/stream` |
|
|
389
412
|
| **Session Manager** | Per-client isolation | CWD injection, activity tracking, `/resume` for post-compaction recovery, SSE keep-alive |
|
|
390
|
-
| **Tool Registry** |
|
|
413
|
+
| **Tool Registry** | 119 tools, 20 categories | Zod schema validation, auto JSON Schema generation, runtime registration with `tools/list_changed` broadcast, full metadata (category, tags, examples, relatedTools) |
|
|
391
414
|
| **Provider Registry** | 7 LLM providers | OpenAI, Anthropic, Gemini (native SDKs) + Groq, DeepSeek, Ollama, OpenRouter (OpenAI-compatible). Lazy init, hot-reload, unified thinking tokens |
|
|
392
415
|
| **Tree-sitter AST** | 19 languages | WASM parsers, symbol navigation, rename, insert before/after, indentation detection |
|
|
393
416
|
| **Runtime Abstraction** | Bun / Node.js | Auto-detection at startup. Unified HTTP (`Bun.serve` / `node:http`), process spawning (`Bun.spawn` / `child_process`) |
|
|
@@ -436,10 +459,11 @@ ai-config --action test
|
|
|
436
459
|
| | `storage.ts` | Redis-based shared context store (DB 2) |
|
|
437
460
|
| | `feedback-loop.ts` | Learning from iteration results |
|
|
438
461
|
| | `iteration-tracker.ts` | Track fix attempts per issue |
|
|
439
|
-
| `src/kanban/` | `kanban-store.ts` | Task CRUD with Redis `hset`/`hgetall` persistence |
|
|
462
|
+
| `src/kanban/` | `kanban-store.ts` | Task CRUD with Redis `hset`/`hgetall` persistence, task notes |
|
|
440
463
|
| | `workspace-store.ts` | Workspace CRUD operations |
|
|
441
464
|
| | `board-store.ts` | Board management and membership |
|
|
442
465
|
| | `membership-store.ts` | Role-based access: owner / admin / member / viewer |
|
|
466
|
+
| | `resolvers.ts` | Auto-sessionId injection, board/workspace name-to-ID resolution |
|
|
443
467
|
| | `migration.ts` | Lazy migration to multi-board schema |
|
|
444
468
|
| `src/recursive/` | `tool-invoker.ts` | Safe recursive tool calls: max depth 2, rate-limited, parallel isolation |
|
|
445
469
|
| `src/tree-sitter/` | `parser-manager.ts` | WASM parser lifecycle for 19 languages |
|
|
@@ -447,15 +471,16 @@ ai-config --action test
|
|
|
447
471
|
| `src/session/` | `manager.ts` | Session create / destroy / cleanup lifecycle |
|
|
448
472
|
| | `cwd-resolver.ts` | Project path resolution priority chain |
|
|
449
473
|
| `src/tools/` | `registry.ts` | `UnifiedTool` interface, Zod → JSON Schema, broadcast on register |
|
|
450
|
-
| | `index.ts` | Central tool registration (
|
|
474
|
+
| | `index.ts` | Central tool registration (119 tools) |
|
|
475
|
+
| | `pipeline.tool.ts` | Sequential tool execution with `{{stepId.result}}` interpolation |
|
|
451
476
|
| `src/tools/agents/` | 9 tools | `agent-register`, `agent-watch`, `agent-alert`, `agent-inject`, `monitor`, `agent-summary`, `queue-message`, `agent-list`, `agent-history` |
|
|
452
477
|
| `src/tools/code/` | 8 tools | `find-definition`, `find-references`, `find-symbols`, `code-outline`, `insert-before-symbol`, `insert-after-symbol`, `rename-symbol`, `semantic-search` |
|
|
453
478
|
| `src/tools/context/` | 4 tools | `shared-thoughts`, `get-shared-context`, `feedback`, `batch` |
|
|
454
479
|
| `src/tools/edit/` | 4 tools | `insert-at-line`, `delete-lines`, `replace-lines`, `replace-content` |
|
|
455
|
-
| `src/tools/file/` |
|
|
456
|
-
| `src/tools/git/` |
|
|
457
|
-
| `src/tools/kanban/` |
|
|
458
|
-
| `src/tools/memory/` |
|
|
480
|
+
| `src/tools/file/` | 9 tools | `file-read`, `file-write`, `file-search`, `file-tree`, `file-diff`, `file-delete`, `file-move`, `file-copy`, `file-backup-restore` |
|
|
481
|
+
| `src/tools/git/` | 8 tools | `git-status`, `git-diff`, `git-log`, `git-blame`, `git-branch`, `git-add`, `git-commit`, `git-stash` |
|
|
482
|
+
| `src/tools/kanban/` | 21 tools | Tasks (10), boards (6), workspaces (5) |
|
|
483
|
+
| `src/tools/memory/` | 8 tools | `write-memory`, `read-memory`, `list-memories`, `edit-memory`, `delete-memory`, `checkpoint-save`, `checkpoint-restore`, `checkpoint-diff` |
|
|
459
484
|
| `src/tools/multi-llm/` | 2 tools | `multi-prompt`, `consensus-prompt` |
|
|
460
485
|
| `src/tools/project/` | 5 tools | `project-info`, `run-script`, `run-tests`, `run-lint`, `check-types` |
|
|
461
486
|
| `src/tools/recursive/` | 3 tools | `invoke-tool`, `invoke-batch`, `invocation-log` |
|
|
@@ -557,7 +582,7 @@ task-create --tasks '[
|
|
|
557
582
|
task-push-multi --taskIds '["t-1","t-2"]' --agents '["agent-1"]' --mode assign
|
|
558
583
|
```
|
|
559
584
|
|
|
560
|
-
**Features:** workspaces • multiple boards • owner / admin / member / viewer roles • batch create / update (1-20 per call) • assign / clone / notify distribution modes
|
|
585
|
+
**Features:** workspaces • multiple boards • owner / admin / member / viewer roles • batch create / update / delete (1-20 per call) • assign / clone / notify distribution modes • append-only task comments • auto-sessionId • board/workspace name lookup
|
|
561
586
|
|
|
562
587
|
---
|
|
563
588
|
|
package/dist/version.d.ts
CHANGED
package/dist/version.js
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "kemdicode-mcp",
|
|
3
|
-
"version": "1.20.
|
|
3
|
+
"version": "1.20.1",
|
|
4
4
|
"description": "Model Context Protocol (MCP) server with 100+ tools for code analysis, AI agents, git operations, multi-agent coordination, and kanban task management",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|