sqlew 2.1.0 → 2.1.2
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 +65 -0
- package/README.md +257 -456
- package/dist/cli.js +1 -1
- package/dist/database.js +18 -18
- package/dist/database.js.map +1 -1
- package/dist/index.js +4 -4
- package/dist/index.js.map +1 -1
- package/dist/tools/context.d.ts.map +1 -1
- package/dist/tools/context.js +82 -71
- package/dist/tools/context.js.map +1 -1
- package/package.json +3 -3
package/README.md
CHANGED
|
@@ -1,59 +1,146 @@
|
|
|
1
1
|
# sqlew
|
|
2
|
+

|
|
2
3
|
|
|
3
4
|
[](https://www.npmjs.com/package/sqlew)
|
|
4
5
|
[](https://opensource.org/licenses/MIT)
|
|
5
6
|
|
|
6
|
-
**
|
|
7
|
+
> **SQL Efficient Workflow** - MCP server for efficient context sharing between Claude Code sub-agents
|
|
7
8
|
|
|
8
|
-
##
|
|
9
|
+
## Overview
|
|
9
10
|
|
|
10
|
-
**
|
|
11
|
+
**sqlew** is a Model Context Protocol (MCP) server that enables efficient context sharing between multiple Claude Code agents through a SQLite-backed database. It dramatically reduces token consumption while providing structured data management through metadata-driven organization.
|
|
11
12
|
|
|
12
|
-
**
|
|
13
|
+
**Current Version:** 2.1.1
|
|
13
14
|
|
|
14
|
-
|
|
15
|
+
## Benefits
|
|
15
16
|
|
|
16
|
-
|
|
17
|
+
### 🧠 Organizational Memory for AI Agents
|
|
17
18
|
|
|
18
|
-
|
|
19
|
+
**sqlew solves the "organizational memory" problem that traditional code can't:**
|
|
19
20
|
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
21
|
+
| What Traditional Code Provides | What sqlew Adds |
|
|
22
|
+
|-------------------------------|-----------------|
|
|
23
|
+
| ✅ **Git history** - WHAT changed | ✅ **Decisions** - WHY it changed |
|
|
24
|
+
| ✅ **Code comments** - HOW it works | ✅ **Constraints** - WHY it must work this way |
|
|
25
|
+
| ❌ **Architectural decisions** - Missing! | ✅ **Context survival** - Across sessions |
|
|
26
|
+
|
|
27
|
+
**Real-World Example:**
|
|
28
|
+
```typescript
|
|
29
|
+
// Agent in Session 1 records:
|
|
30
|
+
{
|
|
31
|
+
key: "loom/duration-constraint",
|
|
32
|
+
value: "Duration must NOT occur in Loom module",
|
|
33
|
+
layer: "business",
|
|
34
|
+
tags: ["architecture", "constraint", "breaking"]
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
// Agent in Session 2 queries:
|
|
38
|
+
"What are business layer constraints for Loom module?"
|
|
39
|
+
→ Finds: "Duration must NOT occur in Loom"
|
|
40
|
+
→ Avoids introducing the same bug you just fixed!
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
### 💡 Why This Matters for LLMs
|
|
44
|
+
|
|
45
|
+
1. **Context Survival**: Next Claude session can query architectural decisions from previous sessions
|
|
46
|
+
2. **Prevents Regression**: Constraints like "Duration must NOT occur in Loom" prevent reintroducing bugs
|
|
47
|
+
3. **Historical Reasoning**: Captures WHY decisions were made, not just WHAT changed
|
|
48
|
+
4. **Knowledge Discovery**: Searchable by layer/tag/scope - "Show me all breaking changes in business layer"
|
|
49
|
+
|
|
50
|
+
### ⚡ Real-World Token Savings
|
|
51
|
+
|
|
52
|
+
**Scenario: 5 Agents Working Across 10 Sessions**
|
|
53
|
+
|
|
54
|
+
| Approach | Token Usage | Details |
|
|
55
|
+
|----------|-------------|---------|
|
|
56
|
+
| **Without sqlew** | ~20,000 tokens | All context re-provided every session |
|
|
57
|
+
| **With sqlew** | ~7,400 tokens | Selective queries, persistent storage |
|
|
58
|
+
| **Savings** | **63% reduction** | Realistic multi-session project |
|
|
59
|
+
|
|
60
|
+
**Why sqlew Saves Tokens:**
|
|
61
|
+
|
|
62
|
+
1. **Selective Retrieval** (50-70% savings)
|
|
63
|
+
- Without: Must read ALL context every time
|
|
64
|
+
- With: Query only what's needed - `search_layer("business")` returns 5 decisions, not 100
|
|
65
|
+
|
|
66
|
+
2. **Structured vs Unstructured** (60-85% savings)
|
|
67
|
+
- Without: "We decided to use JWT because..." (50-200 tokens in prose)
|
|
68
|
+
- With: `{key: "auth", value: "JWT", layer: "business"}` (20-30 tokens)
|
|
69
|
+
|
|
70
|
+
3. **Cross-Session Persistence** (80-95% savings)
|
|
71
|
+
- Without: Context re-provided every new session
|
|
72
|
+
- With: Query from database, context survives sessions
|
|
73
|
+
|
|
74
|
+
4. **Search Instead of Scan** (70-90% savings)
|
|
75
|
+
- Without: Read all 100 decisions to find 5 relevant ones
|
|
76
|
+
- With: `search_tags(["breaking", "api"])` → only relevant results
|
|
77
|
+
|
|
78
|
+
**Expected Token Reduction (Typical Multi-Agent Project):**
|
|
79
|
+
- Conservative: 50-65% reduction
|
|
80
|
+
- Realistic: 60-75% reduction
|
|
81
|
+
- Optimal: 70-85% reduction
|
|
82
|
+
|
|
83
|
+
*Note: Internal architecture improvements (v1.0.0→v2.0.0) achieved 96% tool definition reduction and 67% MCP context reduction. The percentages above reflect real-world usage benefits.*
|
|
84
|
+
|
|
85
|
+
**Performance:**
|
|
86
|
+
- Query response: 2-50ms
|
|
87
|
+
- Concurrent access: 5+ simultaneous agents
|
|
88
|
+
- Storage efficiency: ~140 bytes per decision
|
|
89
|
+
|
|
90
|
+
**Reliability:**
|
|
91
|
+
- SQLite ACID transactions
|
|
92
|
+
- 100% backward compatible upgrades
|
|
26
93
|
|
|
27
94
|
## Features
|
|
28
95
|
|
|
29
|
-
|
|
30
|
-
- **
|
|
31
|
-
- **
|
|
32
|
-
- **
|
|
33
|
-
- **
|
|
34
|
-
- **
|
|
35
|
-
- **
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
- **
|
|
39
|
-
- **
|
|
40
|
-
- **
|
|
41
|
-
- **
|
|
42
|
-
- **
|
|
43
|
-
- **
|
|
44
|
-
|
|
96
|
+
### Core Capabilities
|
|
97
|
+
- **Context Management** - Store and retrieve decisions with tags, layers, scopes, and versions
|
|
98
|
+
- **Agent Messaging** - Priority-based messaging system with broadcast support
|
|
99
|
+
- **File Change Tracking** - Layer-based file organization with lock detection
|
|
100
|
+
- **Constraint Management** - Track performance, architecture, and security constraints
|
|
101
|
+
- **Activity Logging** - Automatic tracking of all agent actions (v2.1.0)
|
|
102
|
+
- **Weekend-Aware Auto-Cleanup** - Smart retention policies that pause during weekends
|
|
103
|
+
|
|
104
|
+
### Advanced Features (v2.1.0)
|
|
105
|
+
- **Smart Defaults** - Auto-infer layer and tags from file paths (60% token reduction)
|
|
106
|
+
- **Batch Operations** - Process up to 50 operations atomically (70% token reduction)
|
|
107
|
+
- **Update Polling** - Lightweight subscription mechanism (95% token reduction)
|
|
108
|
+
- **Advanced Query** - Complex multi-criteria filtering with full-text search
|
|
109
|
+
- **Templates** - 5 built-in templates + custom template support
|
|
110
|
+
- **CLI Tool** - Standalone query commands without MCP server
|
|
111
|
+
|
|
112
|
+
### 6 Consolidated Tools (26 Actions)
|
|
113
|
+
1. **`decision`** (13 actions) - Context management with metadata
|
|
114
|
+
2. **`message`** (4 actions) - Agent-to-agent messaging
|
|
115
|
+
3. **`file`** (4 actions) - File change tracking
|
|
116
|
+
4. **`constraint`** (3 actions) - Constraint management
|
|
117
|
+
5. **`stats`** (4 actions) - Statistics and cleanup
|
|
118
|
+
6. **`config`** (2 actions) - Configuration management
|
|
45
119
|
|
|
46
120
|
## Installation
|
|
47
121
|
|
|
122
|
+
### Requirements
|
|
123
|
+
- Node.js 18.0.0 or higher
|
|
124
|
+
- npm or npx
|
|
125
|
+
|
|
126
|
+
### Install from npm
|
|
127
|
+
|
|
48
128
|
```bash
|
|
49
129
|
npm install sqlew
|
|
50
130
|
```
|
|
51
131
|
|
|
132
|
+
### Quick Test
|
|
133
|
+
|
|
134
|
+
```bash
|
|
135
|
+
# Test with MCP Inspector
|
|
136
|
+
npx @modelcontextprotocol/inspector npx sqlew
|
|
137
|
+
```
|
|
138
|
+
|
|
52
139
|
## Quick Start
|
|
53
140
|
|
|
54
141
|
### Add to Claude Desktop
|
|
55
142
|
|
|
56
|
-
Add
|
|
143
|
+
Add to your Claude Desktop configuration (`claude_desktop_config.json`):
|
|
57
144
|
|
|
58
145
|
```json
|
|
59
146
|
{
|
|
@@ -66,7 +153,7 @@ Add sqlew to your Claude Desktop configuration (`claude_desktop_config.json`):
|
|
|
66
153
|
}
|
|
67
154
|
```
|
|
68
155
|
|
|
69
|
-
|
|
156
|
+
### Custom Database Path
|
|
70
157
|
|
|
71
158
|
```json
|
|
72
159
|
{
|
|
@@ -79,7 +166,7 @@ Or with a custom database path:
|
|
|
79
166
|
}
|
|
80
167
|
```
|
|
81
168
|
|
|
82
|
-
|
|
169
|
+
### Weekend-Aware Auto-Deletion
|
|
83
170
|
|
|
84
171
|
```json
|
|
85
172
|
{
|
|
@@ -97,95 +184,24 @@ Or with weekend-aware auto-deletion enabled:
|
|
|
97
184
|
}
|
|
98
185
|
```
|
|
99
186
|
|
|
100
|
-
###
|
|
101
|
-
|
|
102
|
-
Test all tools interactively:
|
|
103
|
-
|
|
104
|
-
```bash
|
|
105
|
-
npx @modelcontextprotocol/inspector npx sqlew
|
|
106
|
-
```
|
|
107
|
-
|
|
108
|
-
### CLI Query Tool (v2.1.0)
|
|
109
|
-
|
|
110
|
-
Query your context database directly from the terminal without MCP Inspector. The CLI provides 4 specialized query commands with rich filtering capabilities.
|
|
111
|
-
|
|
112
|
-
```bash
|
|
113
|
-
# Query decisions with filtering
|
|
114
|
-
sqlew query decisions --layer business --tags breaking --output table
|
|
115
|
-
sqlew query decisions --search "auth" --status active --limit 10
|
|
116
|
-
sqlew query decisions --key-pattern "api_*" --scope user-service
|
|
117
|
-
|
|
118
|
-
# Query unread high-priority messages
|
|
119
|
-
sqlew query messages --unread --priority high --output json
|
|
120
|
-
sqlew query messages --to-agent db-agent --msg-type warning
|
|
121
|
-
sqlew query messages --from-agent auth-agent --since 1h
|
|
122
|
-
|
|
123
|
-
# Query recent file changes (last hour)
|
|
124
|
-
sqlew query files --since 1h --output table
|
|
125
|
-
sqlew query files --layer data --change-type modified
|
|
126
|
-
sqlew query files --agent auth-agent --file-path "*/auth/*"
|
|
127
|
-
|
|
128
|
-
# Query recent activity from all agents
|
|
129
|
-
sqlew query activity --since 5m --agent '*' --output json
|
|
130
|
-
sqlew query activity --action-type decision_set --since 30m
|
|
131
|
-
sqlew query activity --agent auth-agent --limit 50
|
|
132
|
-
```
|
|
133
|
-
|
|
134
|
-
**Available Commands:**
|
|
135
|
-
- `decisions` - Query decisions with multi-criteria filtering and full-text search
|
|
136
|
-
- `messages` - Query agent messages with priority, read status, and type filters
|
|
137
|
-
- `files` - Query file changes with layer, change type, and path filtering
|
|
138
|
-
- `activity` - Query activity log with action type and agent filters
|
|
139
|
-
|
|
140
|
-
**Common Options:**
|
|
141
|
-
- `--output <format>` - Output format: `json` or `table` (default: json)
|
|
142
|
-
- `--layer <layer>` - Filter by layer (presentation, business, data, infrastructure, cross-cutting)
|
|
143
|
-
- `--tags <tags>` - Filter by tags (comma-separated)
|
|
144
|
-
- `--since <time>` - Time filter (e.g., "5m", "1h", "2d", or ISO timestamp)
|
|
145
|
-
- `--limit <number>` - Limit results (default: 100)
|
|
146
|
-
- `--db-path <path>` - Custom database path
|
|
147
|
-
- `--help` - Show help for available options
|
|
148
|
-
|
|
149
|
-
**Decision-Specific Options:**
|
|
150
|
-
- `--search <text>` - Full-text search in keys and values
|
|
151
|
-
- `--status <status>` - Filter by status (active, deprecated, draft)
|
|
152
|
-
- `--key-pattern <pattern>` - SQL LIKE pattern for keys
|
|
153
|
-
- `--scope <scope>` - Filter by scope
|
|
154
|
-
|
|
155
|
-
**Message-Specific Options:**
|
|
156
|
-
- `--unread` - Show only unread messages
|
|
157
|
-
- `--priority <priority>` - Filter by priority (low, medium, high, critical)
|
|
158
|
-
- `--msg-type <type>` - Filter by message type (decision, warning, request, info)
|
|
159
|
-
- `--from-agent <agent>` - Filter by sender agent
|
|
160
|
-
- `--to-agent <agent>` - Filter by recipient agent
|
|
161
|
-
|
|
162
|
-
**File-Specific Options:**
|
|
163
|
-
- `--change-type <type>` - Filter by change type (created, modified, deleted)
|
|
164
|
-
- `--agent <agent>` - Filter by agent name
|
|
165
|
-
- `--file-path <pattern>` - SQL LIKE pattern for file paths
|
|
166
|
-
|
|
167
|
-
**Activity-Specific Options:**
|
|
168
|
-
- `--action-type <type>` - Filter by action type (decision_set, message_send, file_record, constraint_add)
|
|
169
|
-
- `--agent <agent>` - Filter by agent name
|
|
170
|
-
|
|
171
|
-
Run `sqlew query <command> --help` for command-specific documentation.
|
|
172
|
-
|
|
173
|
-
### Database Location
|
|
187
|
+
### Default Database Location
|
|
174
188
|
|
|
175
|
-
|
|
189
|
+
`.sqlew/sqlew.db` (created in current directory)
|
|
176
190
|
|
|
177
|
-
##
|
|
191
|
+
## MCP Tools Reference
|
|
178
192
|
|
|
179
|
-
All tools
|
|
193
|
+
All tools use action-based routing. Call any tool with `action: "help"` for comprehensive documentation.
|
|
180
194
|
|
|
181
|
-
### `decision` - Context Management
|
|
195
|
+
### 1. `decision` - Context Management
|
|
182
196
|
|
|
183
197
|
Manage decisions with metadata (tags, layers, versions, scopes).
|
|
184
198
|
|
|
185
|
-
**Actions:** `set`, `get`, `list`, `search_tags`, `search_layer`, `versions`, `quick_set`, `search_advanced`, `set_batch`, `set_from_template`, `create_template`, `list_templates`, `
|
|
199
|
+
**Actions:** `set`, `get`, `list`, `search_tags`, `search_layer`, `versions`, `quick_set`, `search_advanced`, `set_batch`, `has_updates`, `set_from_template`, `create_template`, `list_templates`, `help`
|
|
200
|
+
|
|
201
|
+
**Examples:**
|
|
186
202
|
|
|
187
203
|
```typescript
|
|
188
|
-
//
|
|
204
|
+
// Standard set
|
|
189
205
|
{
|
|
190
206
|
action: "set",
|
|
191
207
|
key: "auth_method",
|
|
@@ -193,96 +209,59 @@ Manage decisions with metadata (tags, layers, versions, scopes).
|
|
|
193
209
|
agent: "auth-agent",
|
|
194
210
|
layer: "business",
|
|
195
211
|
tags: ["authentication", "security"],
|
|
196
|
-
|
|
197
|
-
version: "1.0.0",
|
|
198
|
-
status: "active"
|
|
212
|
+
version: "1.0.0"
|
|
199
213
|
}
|
|
200
214
|
|
|
201
|
-
// Quick set with smart defaults (
|
|
215
|
+
// Quick set with smart defaults (auto-infers layer, tags)
|
|
202
216
|
{
|
|
203
217
|
action: "quick_set",
|
|
204
|
-
key: "
|
|
205
|
-
value: "
|
|
206
|
-
agent: "
|
|
207
|
-
|
|
208
|
-
// Automatically infers: layer="data", tags=["database", "repositories"]
|
|
218
|
+
key: "api/users/auth",
|
|
219
|
+
value: "JWT validation updated",
|
|
220
|
+
agent: "auth-agent"
|
|
221
|
+
// Auto-infers: layer="presentation", tags=["api", "users", "auth"]
|
|
209
222
|
}
|
|
210
223
|
|
|
211
|
-
//
|
|
212
|
-
{
|
|
213
|
-
action: "search_advanced",
|
|
214
|
-
search_text: "authentication",
|
|
215
|
-
layers: ["business", "presentation"],
|
|
216
|
-
tags: ["security"],
|
|
217
|
-
status: "active",
|
|
218
|
-
agent: "auth-agent",
|
|
219
|
-
scopes: ["user-service"]
|
|
220
|
-
}
|
|
221
|
-
|
|
222
|
-
// Batch set (v2.1.0)
|
|
224
|
+
// Batch set (up to 50 decisions atomically)
|
|
223
225
|
{
|
|
224
226
|
action: "set_batch",
|
|
225
227
|
decisions: [
|
|
226
|
-
{ key: "api_v1", value: "REST",
|
|
227
|
-
{ key: "api_v2", value: "GraphQL",
|
|
228
|
-
]
|
|
228
|
+
{ key: "api_v1", value: "REST", layer: "presentation" },
|
|
229
|
+
{ key: "api_v2", value: "GraphQL", layer: "presentation" }
|
|
230
|
+
],
|
|
231
|
+
atomic: true
|
|
229
232
|
}
|
|
230
233
|
|
|
231
|
-
//
|
|
234
|
+
// Check for updates (lightweight polling)
|
|
232
235
|
{
|
|
233
|
-
action: "
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
agent: "api-agent",
|
|
237
|
-
overrides: {
|
|
238
|
-
value: "GET /api/users",
|
|
239
|
-
scopes: ["user-service"]
|
|
240
|
-
}
|
|
241
|
-
}
|
|
242
|
-
|
|
243
|
-
// Create custom template (v2.1.0)
|
|
244
|
-
{
|
|
245
|
-
action: "create_template",
|
|
246
|
-
name: "my-template",
|
|
247
|
-
description: "Custom template",
|
|
248
|
-
agent: "admin-agent",
|
|
249
|
-
default_layer: "business",
|
|
250
|
-
default_tags: ["custom"],
|
|
251
|
-
default_status: "active"
|
|
236
|
+
action: "has_updates",
|
|
237
|
+
agent_name: "my-agent",
|
|
238
|
+
since_timestamp: "2025-10-15T10:00:00Z"
|
|
252
239
|
}
|
|
253
240
|
|
|
254
|
-
//
|
|
241
|
+
// Advanced search with complex filtering
|
|
255
242
|
{
|
|
256
|
-
action: "
|
|
243
|
+
action: "search_advanced",
|
|
244
|
+
layers: ["business", "data"],
|
|
245
|
+
tags_all: ["security"],
|
|
246
|
+
search_text: "authentication",
|
|
247
|
+
status: "active",
|
|
248
|
+
limit: 20
|
|
257
249
|
}
|
|
258
250
|
|
|
259
|
-
//
|
|
251
|
+
// Set from template
|
|
260
252
|
{
|
|
261
|
-
action: "
|
|
262
|
-
|
|
263
|
-
|
|
253
|
+
action: "set_from_template",
|
|
254
|
+
template: "api-endpoint",
|
|
255
|
+
key: "user_api",
|
|
256
|
+
value: "GET /api/users"
|
|
264
257
|
}
|
|
265
258
|
|
|
266
|
-
// Get decision
|
|
259
|
+
// Get decision
|
|
267
260
|
{
|
|
268
261
|
action: "get",
|
|
269
262
|
key: "auth_method"
|
|
270
263
|
}
|
|
271
264
|
|
|
272
|
-
// List with filtering
|
|
273
|
-
{
|
|
274
|
-
action: "list",
|
|
275
|
-
status: "active",
|
|
276
|
-
layer: "business"
|
|
277
|
-
}
|
|
278
|
-
|
|
279
|
-
// Search by tags
|
|
280
|
-
{
|
|
281
|
-
action: "search_tags",
|
|
282
|
-
tags: ["authentication", "security"],
|
|
283
|
-
tag_match: "AND"
|
|
284
|
-
}
|
|
285
|
-
|
|
286
265
|
// Get version history
|
|
287
266
|
{
|
|
288
267
|
action: "versions",
|
|
@@ -293,12 +272,14 @@ Manage decisions with metadata (tags, layers, versions, scopes).
|
|
|
293
272
|
{ action: "help" }
|
|
294
273
|
```
|
|
295
274
|
|
|
296
|
-
### `message` - Agent Messaging
|
|
275
|
+
### 2. `message` - Agent Messaging
|
|
297
276
|
|
|
298
|
-
Send and retrieve messages
|
|
277
|
+
Send and retrieve messages with priority levels.
|
|
299
278
|
|
|
300
279
|
**Actions:** `send`, `get`, `mark_read`, `send_batch`, `help`
|
|
301
280
|
|
|
281
|
+
**Examples:**
|
|
282
|
+
|
|
302
283
|
```typescript
|
|
303
284
|
// Send message
|
|
304
285
|
{
|
|
@@ -311,7 +292,7 @@ Send and retrieve messages between agents with priority levels.
|
|
|
311
292
|
payload: { file: "/src/auth.ts" }
|
|
312
293
|
}
|
|
313
294
|
|
|
314
|
-
//
|
|
295
|
+
// Batch send (up to 50 messages)
|
|
315
296
|
{
|
|
316
297
|
action: "send_batch",
|
|
317
298
|
messages: [
|
|
@@ -319,14 +300,14 @@ Send and retrieve messages between agents with priority levels.
|
|
|
319
300
|
from_agent: "orchestrator",
|
|
320
301
|
to_agent: "auth-agent",
|
|
321
302
|
msg_type: "request",
|
|
322
|
-
message: "Start
|
|
303
|
+
message: "Start setup",
|
|
323
304
|
priority: "high"
|
|
324
305
|
},
|
|
325
306
|
{
|
|
326
307
|
from_agent: "orchestrator",
|
|
327
308
|
to_agent: "db-agent",
|
|
328
309
|
msg_type: "request",
|
|
329
|
-
message: "Initialize
|
|
310
|
+
message: "Initialize schema",
|
|
330
311
|
priority: "high"
|
|
331
312
|
}
|
|
332
313
|
]
|
|
@@ -335,6 +316,7 @@ Send and retrieve messages between agents with priority levels.
|
|
|
335
316
|
// Get messages
|
|
336
317
|
{
|
|
337
318
|
action: "get",
|
|
319
|
+
agent_name: "agent1",
|
|
338
320
|
unread_only: true,
|
|
339
321
|
priority_filter: "high"
|
|
340
322
|
}
|
|
@@ -342,16 +324,19 @@ Send and retrieve messages between agents with priority levels.
|
|
|
342
324
|
// Mark as read
|
|
343
325
|
{
|
|
344
326
|
action: "mark_read",
|
|
327
|
+
agent_name: "agent1",
|
|
345
328
|
message_ids: [1, 2, 3]
|
|
346
329
|
}
|
|
347
330
|
```
|
|
348
331
|
|
|
349
|
-
### `file` - File Change Tracking
|
|
332
|
+
### 3. `file` - File Change Tracking
|
|
350
333
|
|
|
351
|
-
Track file modifications with layer assignment
|
|
334
|
+
Track file modifications with layer assignment.
|
|
352
335
|
|
|
353
336
|
**Actions:** `record`, `get`, `check_lock`, `record_batch`, `help`
|
|
354
337
|
|
|
338
|
+
**Examples:**
|
|
339
|
+
|
|
355
340
|
```typescript
|
|
356
341
|
// Record file change
|
|
357
342
|
{
|
|
@@ -363,23 +348,21 @@ Track file modifications with layer assignment and lock detection.
|
|
|
363
348
|
description: "Updated JWT validation"
|
|
364
349
|
}
|
|
365
350
|
|
|
366
|
-
//
|
|
351
|
+
// Batch record (up to 50 file changes)
|
|
367
352
|
{
|
|
368
353
|
action: "record_batch",
|
|
369
|
-
|
|
354
|
+
file_changes: [
|
|
370
355
|
{
|
|
371
356
|
file_path: "/src/auth/jwt.ts",
|
|
372
357
|
agent_name: "auth-agent",
|
|
373
358
|
change_type: "created",
|
|
374
|
-
layer: "business"
|
|
375
|
-
description: "Added JWT utility"
|
|
359
|
+
layer: "business"
|
|
376
360
|
},
|
|
377
361
|
{
|
|
378
362
|
file_path: "/src/auth/validation.ts",
|
|
379
363
|
agent_name: "auth-agent",
|
|
380
364
|
change_type: "created",
|
|
381
|
-
layer: "business"
|
|
382
|
-
description: "Added validation logic"
|
|
365
|
+
layer: "business"
|
|
383
366
|
}
|
|
384
367
|
]
|
|
385
368
|
}
|
|
@@ -387,7 +370,7 @@ Track file modifications with layer assignment and lock detection.
|
|
|
387
370
|
// Get file changes
|
|
388
371
|
{
|
|
389
372
|
action: "get",
|
|
390
|
-
since: "2025-
|
|
373
|
+
since: "2025-10-15T10:00:00Z",
|
|
391
374
|
layer: "business"
|
|
392
375
|
}
|
|
393
376
|
|
|
@@ -399,12 +382,14 @@ Track file modifications with layer assignment and lock detection.
|
|
|
399
382
|
}
|
|
400
383
|
```
|
|
401
384
|
|
|
402
|
-
### `constraint` - Constraint Management
|
|
385
|
+
### 4. `constraint` - Constraint Management
|
|
403
386
|
|
|
404
387
|
Manage architectural, performance, and security constraints.
|
|
405
388
|
|
|
406
389
|
**Actions:** `add`, `get`, `deactivate`, `help`
|
|
407
390
|
|
|
391
|
+
**Examples:**
|
|
392
|
+
|
|
408
393
|
```typescript
|
|
409
394
|
// Add constraint
|
|
410
395
|
{
|
|
@@ -430,12 +415,14 @@ Manage architectural, performance, and security constraints.
|
|
|
430
415
|
}
|
|
431
416
|
```
|
|
432
417
|
|
|
433
|
-
### `stats` - Statistics & Utilities
|
|
418
|
+
### 5. `stats` - Statistics & Utilities
|
|
434
419
|
|
|
435
420
|
Get database statistics and manage data cleanup.
|
|
436
421
|
|
|
437
422
|
**Actions:** `layer_summary`, `db_stats`, `clear`, `activity_log`, `help`
|
|
438
423
|
|
|
424
|
+
**Examples:**
|
|
425
|
+
|
|
439
426
|
```typescript
|
|
440
427
|
// Layer summary
|
|
441
428
|
{ action: "layer_summary" }
|
|
@@ -446,9 +433,8 @@ Get database statistics and manage data cleanup.
|
|
|
446
433
|
// Activity log (v2.1.0)
|
|
447
434
|
{
|
|
448
435
|
action: "activity_log",
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
since: "2025-01-10T10:00:00Z",
|
|
436
|
+
since: "1h",
|
|
437
|
+
agent_names: ["auth-agent"],
|
|
452
438
|
limit: 100
|
|
453
439
|
}
|
|
454
440
|
|
|
@@ -460,12 +446,14 @@ Get database statistics and manage data cleanup.
|
|
|
460
446
|
}
|
|
461
447
|
```
|
|
462
448
|
|
|
463
|
-
### `config` - Configuration
|
|
449
|
+
### 6. `config` - Configuration
|
|
464
450
|
|
|
465
451
|
Manage auto-deletion and retention settings.
|
|
466
452
|
|
|
467
453
|
**Actions:** `get`, `update`, `help`
|
|
468
454
|
|
|
455
|
+
**Examples:**
|
|
456
|
+
|
|
469
457
|
```typescript
|
|
470
458
|
// Get config
|
|
471
459
|
{ action: "get" }
|
|
@@ -479,195 +467,61 @@ Manage auto-deletion and retention settings.
|
|
|
479
467
|
}
|
|
480
468
|
```
|
|
481
469
|
|
|
482
|
-
## v2.1.0
|
|
483
|
-
|
|
484
|
-
### FR-001: Activity Log
|
|
470
|
+
## CLI Tool (v2.1.0)
|
|
485
471
|
|
|
486
|
-
|
|
472
|
+
Query your database directly from terminal without MCP server.
|
|
487
473
|
|
|
488
|
-
|
|
489
|
-
- Audit trail for debugging agent interactions
|
|
490
|
-
- Performance monitoring and bottleneck identification
|
|
491
|
-
- Historical analysis of agent behavior patterns
|
|
474
|
+
### Available Commands
|
|
492
475
|
|
|
493
|
-
|
|
494
|
-
|
|
495
|
-
-
|
|
496
|
-
- Query via `stats` tool with `action: "activity_log"` or CLI with `sqlew query activity`
|
|
497
|
-
|
|
498
|
-
### FR-002: Smart Defaults
|
|
499
|
-
|
|
500
|
-
Quick decision creation with intelligent layer and tag inference from file paths. Reduces boilerplate by automatically categorizing decisions based on file context.
|
|
501
|
-
|
|
502
|
-
**Use Cases:**
|
|
503
|
-
- Rapid decision recording during active development
|
|
504
|
-
- Consistent layer/tag assignment without manual specification
|
|
505
|
-
- Reduced cognitive load for agents
|
|
506
|
-
|
|
507
|
-
**Implementation:**
|
|
508
|
-
- `quick_set` action in `decision` tool
|
|
509
|
-
- Path pattern matching: `/src/data/*` → layer="data", tags=["database"]
|
|
510
|
-
- `/src/presentation/*` → layer="presentation", tags=["ui", "views"]
|
|
511
|
-
- Overridable defaults if explicit values provided
|
|
512
|
-
|
|
513
|
-
### FR-003: Subscriptions
|
|
514
|
-
|
|
515
|
-
Lightweight polling mechanism to check for updates without fetching all data. Agents can subscribe to decision changes and efficiently check for updates since last poll.
|
|
516
|
-
|
|
517
|
-
**Use Cases:**
|
|
518
|
-
- Periodic checks for new decisions without full data retrieval
|
|
519
|
-
- Token-efficient polling for agents monitoring specific contexts
|
|
520
|
-
- Reduced network/token overhead for update detection
|
|
521
|
-
|
|
522
|
-
**Implementation:**
|
|
523
|
-
- `t_subscriptions` table tracks agent_id and last_check timestamps
|
|
524
|
-
- `has_updates` action in `decision` tool returns boolean and count
|
|
525
|
-
- Agents can poll periodically with minimal token cost
|
|
526
|
-
|
|
527
|
-
### FR-004: Advanced Query
|
|
528
|
-
|
|
529
|
-
Complex multi-criteria filtering with full-text search across decisions. Supports AND/OR logic for tags, multiple layer filtering, and text search in keys/values.
|
|
530
|
-
|
|
531
|
-
**Use Cases:**
|
|
532
|
-
- Cross-layer analysis (e.g., all "security" decisions in "business" and "data" layers)
|
|
533
|
-
- Full-text search for decisions related to specific features
|
|
534
|
-
- Complex filtering scenarios with multiple conditions
|
|
535
|
-
|
|
536
|
-
**Implementation:**
|
|
537
|
-
- `search_advanced` action in `decision` tool
|
|
538
|
-
- SQL LIKE search for text patterns in keys and values
|
|
539
|
-
- Multiple layer filtering with `layers` array parameter
|
|
540
|
-
- Combines with existing tag/status/scope filters
|
|
541
|
-
|
|
542
|
-
### FR-005: Batch Operations
|
|
543
|
-
|
|
544
|
-
Bulk creation of decisions, messages, and file changes in single transactions. Reduces round-trips and ensures atomic operations.
|
|
545
|
-
|
|
546
|
-
**Use Cases:**
|
|
547
|
-
- Bulk initialization of project decisions
|
|
548
|
-
- Broadcasting messages to multiple agents
|
|
549
|
-
- Recording multiple file changes from refactoring operations
|
|
550
|
-
- Atomic multi-entity operations
|
|
551
|
-
|
|
552
|
-
**Implementation:**
|
|
553
|
-
- `set_batch` action in `decision` tool (accepts array of decisions)
|
|
554
|
-
- `send_batch` action in `message` tool (accepts array of messages)
|
|
555
|
-
- `record_batch` action in `file` tool (accepts array of file changes)
|
|
556
|
-
- All operations wrapped in transactions for ACID guarantees
|
|
557
|
-
|
|
558
|
-
### FR-006: Templates
|
|
476
|
+
```bash
|
|
477
|
+
# Query decisions
|
|
478
|
+
npx sqlew-cli query decisions --layer=business --tags=breaking --output=table
|
|
559
479
|
|
|
560
|
-
|
|
480
|
+
# Query messages
|
|
481
|
+
npx sqlew-cli query messages --unread --priority=high --output=json
|
|
561
482
|
|
|
562
|
-
|
|
563
|
-
|
|
564
|
-
2. **database-config**: Database connection and schema settings (layer: data, tags: database, config)
|
|
565
|
-
3. **security-policy**: Authentication, authorization, encryption rules (layer: cross-cutting, tags: security, policy)
|
|
566
|
-
4. **performance-threshold**: Performance metrics and SLA definitions (layer: infrastructure, tags: performance, monitoring)
|
|
567
|
-
5. **feature-flag**: Feature toggle configurations (layer: business, tags: feature-flags, config)
|
|
483
|
+
# Query file changes
|
|
484
|
+
npx sqlew-cli query files --since=1h --layer=data --output=table
|
|
568
485
|
|
|
569
|
-
|
|
570
|
-
-
|
|
571
|
-
|
|
572
|
-
- Team standards enforcement through templates
|
|
486
|
+
# Query activity log
|
|
487
|
+
npx sqlew-cli query activity --since=5m --agent=* --output=json
|
|
488
|
+
```
|
|
573
489
|
|
|
574
|
-
|
|
575
|
-
- `m_templates` table stores template definitions
|
|
576
|
-
- `set_from_template` action applies template with key and overrides
|
|
577
|
-
- `create_template` action for custom templates
|
|
578
|
-
- `list_templates` action to view available templates
|
|
490
|
+
### Common Options
|
|
579
491
|
|
|
580
|
-
|
|
492
|
+
- `--output <format>` - Output format: `json` or `table` (default: json)
|
|
493
|
+
- `--layer <layer>` - Filter by layer
|
|
494
|
+
- `--tags <tags>` - Filter by tags (comma-separated)
|
|
495
|
+
- `--since <time>` - Time filter (e.g., "5m", "1h", "2d", or ISO timestamp)
|
|
496
|
+
- `--limit <number>` - Limit results
|
|
497
|
+
- `--db-path <path>` - Custom database path
|
|
498
|
+
- `--help` - Show help
|
|
581
499
|
|
|
582
|
-
|
|
500
|
+
## Architecture Layers
|
|
583
501
|
|
|
584
|
-
|
|
585
|
-
- Quick context checks during terminal-based development
|
|
586
|
-
- CI/CD integration for decision validation
|
|
587
|
-
- Shell scripting with JSON output parsing
|
|
588
|
-
- Human-readable table output for debugging
|
|
502
|
+
sqlew organizes code by standard architecture layers:
|
|
589
503
|
|
|
590
|
-
**
|
|
591
|
-
-
|
|
592
|
-
-
|
|
593
|
-
-
|
|
594
|
-
-
|
|
504
|
+
- **presentation** - UI, API endpoints, views
|
|
505
|
+
- **business** - Business logic, services, use cases
|
|
506
|
+
- **data** - Repositories, database access
|
|
507
|
+
- **infrastructure** - Configuration, external services
|
|
508
|
+
- **cross-cutting** - Logging, security, utilities
|
|
595
509
|
|
|
596
510
|
## Database Schema
|
|
597
511
|
|
|
598
|
-
|
|
599
|
-
|
|
600
|
-
**Master Tables (m_ prefix):** m_agents, m_files, m_context_keys, m_layers, m_tags, m_scopes, m_constraint_categories, m_config, m_templates (v2.1.0)
|
|
512
|
+
**Master Tables (m_ prefix):** Normalization layer (agents, files, keys, layers, tags, scopes, categories, config, templates)
|
|
601
513
|
|
|
602
|
-
**Transaction Tables (t_ prefix):**
|
|
514
|
+
**Transaction Tables (t_ prefix):** Core data (decisions, history, messages, file changes, constraints, activity log)
|
|
603
515
|
|
|
604
|
-
**
|
|
516
|
+
**Views (v_ prefix):** Token-efficient pre-aggregated queries
|
|
605
517
|
|
|
606
|
-
**Triggers (trg_ prefix):**
|
|
518
|
+
**Triggers (trg_ prefix):** Automatic version history and activity logging
|
|
607
519
|
|
|
608
520
|
### Automatic Migration
|
|
609
521
|
|
|
610
|
-
**
|
|
611
|
-
|
|
612
|
-
|
|
613
|
-
|
|
614
|
-
## Token Efficiency
|
|
615
|
-
|
|
616
|
-
sqlew achieves **96% token reduction** through:
|
|
617
|
-
|
|
618
|
-
1. **Action-Based Tools (v2.0):** Consolidates 20 tools → 6 tools, eliminating duplication
|
|
619
|
-
2. **ID-Based Normalization:** Strings stored once, referenced by integer IDs
|
|
620
|
-
3. **Integer Enums:** Status, priority, message types use integers (1-4) instead of strings
|
|
621
|
-
4. **Pre-Aggregated Views:** Common queries use pre-computed results
|
|
622
|
-
5. **Type-Based Tables:** Separate storage for numeric vs string values
|
|
623
|
-
6. **Automatic Cleanup:** Prevents database bloat
|
|
624
|
-
|
|
625
|
-
### v2.0.0 Token Savings
|
|
626
|
-
|
|
627
|
-
- **Tool Definitions:** 12,848 → 481 tokens (96.3% reduction)
|
|
628
|
-
- **MCP Context Usage:** ~13,730 → ~4,482 tokens (67% reduction)
|
|
629
|
-
|
|
630
|
-
### Example Comparison
|
|
631
|
-
|
|
632
|
-
**Traditional JSON (1000 tokens):**
|
|
633
|
-
```json
|
|
634
|
-
{
|
|
635
|
-
"key": "auth_method",
|
|
636
|
-
"value": "JWT",
|
|
637
|
-
"agent": "auth-agent",
|
|
638
|
-
"layer": "business",
|
|
639
|
-
"status": "active",
|
|
640
|
-
"tags": ["authentication", "security"],
|
|
641
|
-
"scopes": ["user-service"],
|
|
642
|
-
"updated": "2025-01-10T12:00:00Z"
|
|
643
|
-
}
|
|
644
|
-
```
|
|
645
|
-
|
|
646
|
-
**sqlew Response (280 tokens):**
|
|
647
|
-
```json
|
|
648
|
-
{
|
|
649
|
-
"key_id": 42,
|
|
650
|
-
"value": "JWT",
|
|
651
|
-
"agent_id": 5,
|
|
652
|
-
"layer_id": 2,
|
|
653
|
-
"status": 1,
|
|
654
|
-
"tag_ids": [1,4],
|
|
655
|
-
"scope_ids": [3],
|
|
656
|
-
"ts": 1736510400
|
|
657
|
-
}
|
|
658
|
-
```
|
|
659
|
-
|
|
660
|
-
**Token Savings: 720 tokens (72%)**
|
|
661
|
-
|
|
662
|
-
## Architecture Layers
|
|
663
|
-
|
|
664
|
-
sqlew organizes code by standard architecture layers:
|
|
665
|
-
|
|
666
|
-
- **presentation:** UI, API endpoints, views
|
|
667
|
-
- **business:** Business logic, services, use cases
|
|
668
|
-
- **data:** Repositories, database access
|
|
669
|
-
- **infrastructure:** Configuration, external services
|
|
670
|
-
- **cross-cutting:** Logging, security, utilities
|
|
522
|
+
- **v1.x → v2.x:** Automatic migration adds table prefixes and new features
|
|
523
|
+
- **v2.0 → v2.1:** Adds activity log and template tables
|
|
524
|
+
- All migrations are safe with rollback protection
|
|
671
525
|
|
|
672
526
|
## Development
|
|
673
527
|
|
|
@@ -680,119 +534,76 @@ npm install
|
|
|
680
534
|
npm run build
|
|
681
535
|
```
|
|
682
536
|
|
|
683
|
-
###
|
|
537
|
+
### Available Scripts
|
|
684
538
|
|
|
685
539
|
```bash
|
|
686
|
-
npm start
|
|
540
|
+
npm start # Start MCP server
|
|
541
|
+
npm run cli # Run CLI tool
|
|
542
|
+
npm run inspector # Test with MCP Inspector
|
|
543
|
+
npm run build # Build TypeScript
|
|
544
|
+
npm run dev # Watch mode
|
|
545
|
+
npm run rebuild # Clean and rebuild
|
|
687
546
|
```
|
|
688
547
|
|
|
689
|
-
|
|
548
|
+
## Configuration
|
|
690
549
|
|
|
691
|
-
|
|
692
|
-
# Use MCP Inspector to test all tools
|
|
693
|
-
npm run inspector
|
|
550
|
+
### Retention Periods (Defaults)
|
|
694
551
|
|
|
695
|
-
|
|
696
|
-
|
|
697
|
-
|
|
552
|
+
- **Messages:** 24 hours (weekend-aware optional)
|
|
553
|
+
- **File Changes:** 7 days (weekend-aware optional)
|
|
554
|
+
- **Decisions:** Permanent (version history preserved)
|
|
555
|
+
- **Constraints:** Permanent (soft delete only)
|
|
698
556
|
|
|
699
|
-
###
|
|
557
|
+
### Weekend-Aware Cleanup
|
|
700
558
|
|
|
701
|
-
|
|
702
|
-
sqlew/
|
|
703
|
-
├── src/
|
|
704
|
-
│ ├── index.ts # MCP server entry point
|
|
705
|
-
│ ├── database.ts # Database initialization
|
|
706
|
-
│ ├── schema.ts # Schema management
|
|
707
|
-
│ ├── types.ts # TypeScript types
|
|
708
|
-
│ ├── constants.ts # Constants & enums
|
|
709
|
-
│ └── tools/
|
|
710
|
-
│ ├── context.ts # Context management
|
|
711
|
-
│ ├── messaging.ts # Messaging system
|
|
712
|
-
│ ├── files.ts # File tracking
|
|
713
|
-
│ ├── constraints.ts # Constraint management
|
|
714
|
-
│ └── utils.ts # Utilities
|
|
715
|
-
├── dist/ # Compiled JavaScript
|
|
716
|
-
└── package.json
|
|
717
|
-
```
|
|
559
|
+
When enabled, weekends (Saturday/Sunday) don't count toward retention periods:
|
|
718
560
|
|
|
719
|
-
|
|
561
|
+
- Message sent Friday 3pm → Deleted Monday 3pm (skips weekend)
|
|
562
|
+
- Message sent Monday 10am → Deleted Tuesday 10am
|
|
720
563
|
|
|
721
|
-
|
|
564
|
+
Configure via CLI args or MCP tools at runtime.
|
|
722
565
|
|
|
723
|
-
|
|
566
|
+
## Migration Guide
|
|
724
567
|
|
|
725
|
-
|
|
726
|
-
- When `ignoreWeekend: false` (default): Standard time-based deletion
|
|
727
|
-
- When `ignoreWeekend: true`: Weekends (Sat/Sun) don't count toward retention period
|
|
568
|
+
### From v2.1.0 to v2.1.1
|
|
728
569
|
|
|
729
|
-
|
|
730
|
-
- Message sent Friday 3pm → Deleted Monday 3pm (skips Sat/Sun)
|
|
731
|
-
- Message sent Monday 10am → Deleted Tuesday 10am (no weekend in between)
|
|
570
|
+
No breaking changes. Only bin command configuration changed:
|
|
732
571
|
|
|
733
|
-
**
|
|
572
|
+
- **Old:** `npx sqlew` → CLI, `npx sqlew-server` → MCP server
|
|
573
|
+
- **New:** `npx sqlew` → MCP server (default), `sqlew-cli` → CLI (after installing the package)
|
|
734
574
|
|
|
735
|
-
|
|
736
|
-
```bash
|
|
737
|
-
npx sqlew \
|
|
738
|
-
--autodelete-ignore-weekend \
|
|
739
|
-
--autodelete-message-hours=48 \
|
|
740
|
-
--autodelete-file-history-days=10
|
|
741
|
-
```
|
|
575
|
+
Update Claude Desktop config if using custom commands.
|
|
742
576
|
|
|
743
|
-
|
|
744
|
-
```typescript
|
|
745
|
-
// Get current config
|
|
746
|
-
get_config()
|
|
577
|
+
### From v2.0.0 to v2.1.0
|
|
747
578
|
|
|
748
|
-
|
|
749
|
-
update_config({
|
|
750
|
-
ignoreWeekend: true,
|
|
751
|
-
messageRetentionHours: 72,
|
|
752
|
-
fileHistoryRetentionDays: 14
|
|
753
|
-
})
|
|
754
|
-
```
|
|
579
|
+
No breaking changes. Database migrates automatically on startup.
|
|
755
580
|
|
|
756
|
-
|
|
757
|
-
Config is stored in the database and travels with the DB file.
|
|
581
|
+
New features are opt-in via new actions.
|
|
758
582
|
|
|
759
|
-
###
|
|
583
|
+
### From v1.x to v2.0.0
|
|
760
584
|
|
|
761
|
-
|
|
762
|
-
- **File Changes:** 7 days (weekend-aware optional)
|
|
763
|
-
- **Decisions:** Permanent (version history preserved)
|
|
764
|
-
- **Constraints:** Permanent (soft delete only)
|
|
765
|
-
|
|
766
|
-
### Environment Variables
|
|
767
|
-
|
|
768
|
-
- `DEBUG_SQL`: Set to enable SQL query logging
|
|
585
|
+
Requires migration. See [MIGRATION_v2.md](MIGRATION_v2.md) for details.
|
|
769
586
|
|
|
770
587
|
## License
|
|
771
588
|
|
|
772
589
|
MIT - see [LICENSE](LICENSE) file for details
|
|
773
590
|
|
|
774
|
-
##
|
|
775
|
-
|
|
776
|
-
Contributions welcome! Areas of interest:
|
|
591
|
+
## Links
|
|
777
592
|
|
|
778
|
-
-
|
|
779
|
-
-
|
|
780
|
-
-
|
|
781
|
-
-
|
|
593
|
+
- [npm package](https://www.npmjs.com/package/sqlew)
|
|
594
|
+
- [GitHub repository](https://github.com/sin5ddd/mcp-sqlew)
|
|
595
|
+
- [Changelog](CHANGELOG.md)
|
|
596
|
+
- [Architecture Documentation](ARCHITECTURE.md)
|
|
597
|
+
- [Model Context Protocol](https://modelcontextprotocol.io/)
|
|
782
598
|
|
|
783
|
-
|
|
599
|
+
## Author
|
|
784
600
|
|
|
785
|
-
|
|
786
|
-
2. Create a feature branch
|
|
787
|
-
3. Make your changes
|
|
788
|
-
4. Add tests if applicable
|
|
789
|
-
5. Submit a pull request
|
|
601
|
+
**sin5ddd**
|
|
790
602
|
|
|
791
603
|
## Support
|
|
792
604
|
|
|
793
605
|
- **Issues:** [GitHub Issues](https://github.com/sin5ddd/mcp-sqlew/issues)
|
|
794
606
|
- **Documentation:** See [ARCHITECTURE.md](ARCHITECTURE.md) for technical details
|
|
795
|
-
- **Schema Reference:** See source code for complete schema
|
|
796
607
|
|
|
797
608
|
## Acknowledgments
|
|
798
609
|
|
|
@@ -800,13 +611,3 @@ Built with:
|
|
|
800
611
|
- [Model Context Protocol SDK](https://github.com/modelcontextprotocol/sdk)
|
|
801
612
|
- [better-sqlite3](https://github.com/WiseLibs/better-sqlite3)
|
|
802
613
|
- TypeScript
|
|
803
|
-
|
|
804
|
-
## Author
|
|
805
|
-
|
|
806
|
-
**sin5ddd**
|
|
807
|
-
|
|
808
|
-
## Links
|
|
809
|
-
|
|
810
|
-
- [npm package](https://www.npmjs.com/package/sqlew)
|
|
811
|
-
- [GitHub repository](https://github.com/sin5ddd/mcp-sqlew)
|
|
812
|
-
- [Model Context Protocol](https://modelcontextprotocol.io/)
|