lintbase-mcp 0.1.5 → 0.1.7

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/dist/server.js CHANGED
@@ -2,8 +2,66 @@
2
2
  "use strict";
3
3
  // packages/lintbase-mcp/src/server.ts
4
4
  // Entry point for the LintBase MCP server.
5
- // Run via `npx lintbase-mcp` — the IDE spawns this as a stdio process.
5
+ //
6
+ // Usage:
7
+ // npx lintbase-mcp → starts MCP server (for Cursor/Claude/IDE)
8
+ // npx lintbase-mcp install-skill → installs SKILL.md into .agent/skills/lintbase/
9
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ var desc = Object.getOwnPropertyDescriptor(m, k);
12
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
13
+ desc = { enumerable: true, get: function() { return m[k]; } };
14
+ }
15
+ Object.defineProperty(o, k2, desc);
16
+ }) : (function(o, m, k, k2) {
17
+ if (k2 === undefined) k2 = k;
18
+ o[k2] = m[k];
19
+ }));
20
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
21
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
22
+ }) : function(o, v) {
23
+ o["default"] = v;
24
+ });
25
+ var __importStar = (this && this.__importStar) || (function () {
26
+ var ownKeys = function(o) {
27
+ ownKeys = Object.getOwnPropertyNames || function (o) {
28
+ var ar = [];
29
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
30
+ return ar;
31
+ };
32
+ return ownKeys(o);
33
+ };
34
+ return function (mod) {
35
+ if (mod && mod.__esModule) return mod;
36
+ var result = {};
37
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
38
+ __setModuleDefault(result, mod);
39
+ return result;
40
+ };
41
+ })();
6
42
  Object.defineProperty(exports, "__esModule", { value: true });
43
+ const fs = __importStar(require("fs"));
44
+ const path = __importStar(require("path"));
45
+ // ── Subcommand: install-skill ──────────────────────────────────────────────────
46
+ if (process.argv[2] === 'install-skill') {
47
+ const SKILL_SRC = path.join(__dirname, '..', 'skill', 'SKILL.md');
48
+ const TARGET_DIR = path.join(process.cwd(), '.agent', 'skills', 'lintbase');
49
+ const TARGET_FILE = path.join(TARGET_DIR, 'SKILL.md');
50
+ fs.mkdirSync(TARGET_DIR, { recursive: true });
51
+ fs.copyFileSync(SKILL_SRC, TARGET_FILE);
52
+ console.log('');
53
+ console.log('✅ LintBase skill installed to:');
54
+ console.log(' ' + TARGET_FILE);
55
+ console.log('');
56
+ console.log('Your AI agent will now automatically check the real Firestore schema');
57
+ console.log('before writing any database code.');
58
+ console.log('');
59
+ console.log('Make sure lintbase-mcp is configured in your IDE:');
60
+ console.log(' → https://www.npmjs.com/package/lintbase-mcp');
61
+ console.log('');
62
+ process.exit(0);
63
+ }
64
+ // ── MCP Server ────────────────────────────────────────────────────────────────
7
65
  const mcp_js_1 = require("@modelcontextprotocol/sdk/server/mcp.js");
8
66
  const stdio_js_1 = require("@modelcontextprotocol/sdk/server/stdio.js");
9
67
  const scan_tool_js_1 = require("./tools/scan.tool.js");
@@ -11,7 +69,7 @@ const schema_tool_js_1 = require("./tools/schema.tool.js");
11
69
  const issues_tool_js_1 = require("./tools/issues.tool.js");
12
70
  const server = new mcp_js_1.McpServer({
13
71
  name: 'lintbase-mcp',
14
- version: '0.1.0',
72
+ version: '0.1.6',
15
73
  });
16
74
  // ── Register all 3 tools ──────────────────────────────────────────────────────
17
75
  (0, scan_tool_js_1.registerScanTool)(server); // Full scan → complete report
@@ -21,8 +79,7 @@ const server = new mcp_js_1.McpServer({
21
79
  async function main() {
22
80
  const transport = new stdio_js_1.StdioServerTransport();
23
81
  await server.connect(transport);
24
- // Log to stderr so it doesn't pollute the MCP stdio protocol on stdout
25
- console.error('LintBase MCP server v0.1.0 running on stdio');
82
+ console.error('LintBase MCP server v0.1.6 running on stdio');
26
83
  }
27
84
  main().catch((err) => {
28
85
  console.error('Fatal error starting LintBase MCP server:', err);
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":";;AACA,sCAAsC;AACtC,2CAA2C;AAC3C,uEAAuE;;AAEvE,oEAAoE;AACpE,wEAAiF;AAEjF,uDAAwD;AACxD,2DAA4D;AAC5D,2DAA4D;AAE5D,MAAM,MAAM,GAAG,IAAI,kBAAS,CAAC;IACzB,IAAI,EAAE,cAAc;IACpB,OAAO,EAAE,OAAO;CACnB,CAAC,CAAC;AAEH,iFAAiF;AACjF,IAAA,+BAAgB,EAAC,MAAM,CAAC,CAAC,CAAK,8BAA8B;AAC5D,IAAA,mCAAkB,EAAC,MAAM,CAAC,CAAC,CAAG,6CAA6C;AAC3E,IAAA,mCAAkB,EAAC,MAAM,CAAC,CAAC,CAAG,qCAAqC;AAInE,iFAAiF;AACjF,KAAK,UAAU,IAAI;IACf,MAAM,SAAS,GAAG,IAAI,+BAAoB,EAAE,CAAC;IAC7C,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAChC,uEAAuE;IACvE,OAAO,CAAC,KAAK,CAAC,6CAA6C,CAAC,CAAC;AACjE,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;IACjB,OAAO,CAAC,KAAK,CAAC,2CAA2C,EAAE,GAAG,CAAC,CAAC;IAChE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACpB,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":";;AACA,sCAAsC;AACtC,2CAA2C;AAC3C,EAAE;AACF,SAAS;AACT,gFAAgF;AAChF,qFAAqF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAErF,uCAAyB;AACzB,2CAA6B;AAE7B,kFAAkF;AAClF,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,eAAe,EAAE,CAAC;IACtC,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;IAClE,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;IAC5E,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;IAEtD,EAAE,CAAC,SAAS,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC9C,EAAE,CAAC,YAAY,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;IAExC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChB,OAAO,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAC;IAC9C,OAAO,CAAC,GAAG,CAAC,KAAK,GAAG,WAAW,CAAC,CAAC;IACjC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChB,OAAO,CAAC,GAAG,CAAC,sEAAsE,CAAC,CAAC;IACpF,OAAO,CAAC,GAAG,CAAC,mCAAmC,CAAC,CAAC;IACjD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChB,OAAO,CAAC,GAAG,CAAC,mDAAmD,CAAC,CAAC;IACjE,OAAO,CAAC,GAAG,CAAC,gDAAgD,CAAC,CAAC;IAC9D,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACpB,CAAC;AAED,iFAAiF;AACjF,oEAAoE;AACpE,wEAAiF;AAEjF,uDAAwD;AACxD,2DAA4D;AAC5D,2DAA4D;AAE5D,MAAM,MAAM,GAAG,IAAI,kBAAS,CAAC;IACzB,IAAI,EAAE,cAAc;IACpB,OAAO,EAAE,OAAO;CACnB,CAAC,CAAC;AAEH,iFAAiF;AACjF,IAAA,+BAAgB,EAAC,MAAM,CAAC,CAAC,CAAK,8BAA8B;AAC5D,IAAA,mCAAkB,EAAC,MAAM,CAAC,CAAC,CAAG,6CAA6C;AAC3E,IAAA,mCAAkB,EAAC,MAAM,CAAC,CAAC,CAAG,qCAAqC;AAEnE,iFAAiF;AACjF,KAAK,UAAU,IAAI;IACf,MAAM,SAAS,GAAG,IAAI,+BAAoB,EAAE,CAAC;IAC7C,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAChC,OAAO,CAAC,KAAK,CAAC,6CAA6C,CAAC,CAAC;AACjE,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;IACjB,OAAO,CAAC,KAAK,CAAC,2CAA2C,EAAE,GAAG,CAAC,CAAC;IAChE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACpB,CAAC,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"schema.tool.d.ts","sourceRoot":"","sources":["../../src/tools/schema.tool.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAiDpE,MAAM,WAAW,WAAW;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,2DAA2D;IAC3D,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,iEAAiE;IACjE,YAAY,EAAE,MAAM,CAAC;IACrB,8DAA8D;IAC9D,MAAM,EAAE,OAAO,CAAC;IAChB,8CAA8C;IAC9C,IAAI,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,gBAAgB;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,gBAAgB,EAAE,MAAM,CAAC;IACzB,MAAM,EAAE,WAAW,EAAE,CAAC;CACzB;AAED,MAAM,WAAW,YAAY;IACzB,WAAW,EAAE,gBAAgB,EAAE,CAAC;IAChC,SAAS,EAAE,MAAM,CAAC;CACrB;AA0GD,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CA2D1D"}
1
+ {"version":3,"file":"schema.tool.d.ts","sourceRoot":"","sources":["../../src/tools/schema.tool.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAiLpE,MAAM,WAAW,WAAW;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,2DAA2D;IAC3D,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,iEAAiE;IACjE,YAAY,EAAE,MAAM,CAAC;IACrB,8DAA8D;IAC9D,MAAM,EAAE,OAAO,CAAC;IAChB,8CAA8C;IAC9C,IAAI,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,gBAAgB;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,gBAAgB,EAAE,MAAM,CAAC;IACzB,MAAM,EAAE,WAAW,EAAE,CAAC;CACzB;AAED,MAAM,WAAW,YAAY;IACzB,WAAW,EAAE,gBAAgB,EAAE,CAAC;IAChC,SAAS,EAAE,MAAM,CAAC;CACrB;AA8GD,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAgF1D"}
@@ -51,6 +51,125 @@ const zod_1 = require("zod");
51
51
  const admin = __importStar(require("firebase-admin"));
52
52
  const fs = __importStar(require("fs"));
53
53
  const path = __importStar(require("path"));
54
+ // ── Inline Markdown renderer (self-contained, no dep on lintbase CLI) ────────
55
+ function mdFieldStabilityIcon(stable, presenceRate) {
56
+ if (stable && presenceRate === 1)
57
+ return '\u2705';
58
+ if (stable)
59
+ return '\u2705';
60
+ if (presenceRate < 0.6)
61
+ return '\u274c';
62
+ return '\u26a0\ufe0f';
63
+ }
64
+ function mdSanitizeFilename(name) {
65
+ return name.replace(/[^a-zA-Z0-9_-]/g, '_').toLowerCase();
66
+ }
67
+ function mdFormatTypes(types) {
68
+ return types.length === 1 ? types[0] : `union(${types.join(' | ')})`;
69
+ }
70
+ /** Render one collection as an Obsidian-compatible Markdown file */
71
+ function renderCollectionMd(col, scannedAt, knownCollections) {
72
+ const lines = [];
73
+ const sparse = col.fields.filter(f => f.presenceRate < 0.6);
74
+ const optional = col.fields.filter(f => f.presenceRate >= 0.6 && f.presenceRate < 0.8);
75
+ const mixed = col.fields.filter(f => f.types.length > 1);
76
+ lines.push('---');
77
+ lines.push('tool: lintbase-mcp');
78
+ lines.push(`collection: ${col.name}`);
79
+ lines.push(`sampleSize: ${col.sampledDocuments}`);
80
+ lines.push(`generatedAt: ${scannedAt}`);
81
+ lines.push('---', '');
82
+ lines.push(`# Firestore Schema \u2014 \`${col.name}\``, '');
83
+ lines.push(`**Docs sampled:** ${col.sampledDocuments} `);
84
+ lines.push('**Source:** Inferred from samples. Presence < 100% = optional field. ');
85
+ lines.push(`**Generated:** ${new Date(scannedAt).toLocaleDateString('en-US', { year: 'numeric', month: 'long', day: 'numeric' })}`, '');
86
+ // Observations callout
87
+ if (mixed.length > 0 || sparse.length > 0) {
88
+ lines.push('> [!warning] Schema issues detected');
89
+ for (const f of mixed)
90
+ lines.push(`> \u2022 \`${f.name}\` has mixed types: ${f.types.join(', ')}`);
91
+ for (const f of sparse)
92
+ lines.push(`> \u2022 \`${f.name}\` is sparse (${Math.round(f.presenceRate * 100)}% presence)`);
93
+ lines.push('');
94
+ }
95
+ else {
96
+ lines.push('> [!success] No schema drift detected', '');
97
+ }
98
+ // Fields table
99
+ lines.push('## Fields', '');
100
+ lines.push('| Field | Type | Presence | Stable | Notes |');
101
+ lines.push('|---|---|---|---|---|');
102
+ for (const f of col.fields) {
103
+ const lower = f.name.toLowerCase();
104
+ const guesses = [lower.replace(/id$/, 's'), lower.replace(/id$/, ''), lower.replace(/ref$/, 's')];
105
+ const link = guesses.find(g => knownCollections.has(g));
106
+ const nameCell = link ? `\`${f.name}\` \u2192 [[${link}]]` : `\`${f.name}\``;
107
+ lines.push(`| ${nameCell} | ${mdFormatTypes(f.types)} | ${Math.round(f.presenceRate * 100)}% | ${mdFieldStabilityIcon(f.stable, f.presenceRate)} | ${f.note ?? ''} |`);
108
+ }
109
+ lines.push('');
110
+ // Optional field notes
111
+ if (optional.length > 0) {
112
+ lines.push('## Observations', '');
113
+ for (const f of optional)
114
+ lines.push(`- \`${f.name}\` is **optional** (${Math.round(f.presenceRate * 100)}% presence). Mark as optional in your type definitions.`);
115
+ lines.push('');
116
+ }
117
+ lines.push('---');
118
+ lines.push('*Generated by [LintBase MCP](https://lintbase.com)*');
119
+ return lines.join('\n');
120
+ }
121
+ /** Write schema Markdown file(s) to disk and return the written paths */
122
+ function writeSchemaMarkdown(schemaReport, outPath, singleCollection) {
123
+ const absPath = path.resolve(outPath);
124
+ const written = [];
125
+ if (singleCollection) {
126
+ // Single file — outPath is treated as the full target file path
127
+ const col = schemaReport.collections[0];
128
+ if (!col)
129
+ return [];
130
+ const knownCollections = new Set([col.name.toLowerCase()]);
131
+ const content = renderCollectionMd(col, schemaReport.scannedAt, knownCollections);
132
+ const dir = path.dirname(absPath);
133
+ if (!fs.existsSync(dir))
134
+ fs.mkdirSync(dir, { recursive: true });
135
+ fs.writeFileSync(absPath, content, 'utf-8');
136
+ written.push(absPath);
137
+ }
138
+ else {
139
+ // Multi-file — outPath is treated as a directory
140
+ if (!fs.existsSync(absPath))
141
+ fs.mkdirSync(absPath, { recursive: true });
142
+ const knownCollections = new Set(schemaReport.collections.map(c => c.name.toLowerCase()));
143
+ for (const col of schemaReport.collections) {
144
+ const filename = `${mdSanitizeFilename(col.name)}.md`;
145
+ const filepath = path.join(absPath, filename);
146
+ const content = renderCollectionMd(col, schemaReport.scannedAt, knownCollections);
147
+ fs.writeFileSync(filepath, content, 'utf-8');
148
+ written.push(filepath);
149
+ }
150
+ // Index file
151
+ const indexLines = [
152
+ '---', 'tool: lintbase-mcp', 'type: index', `generatedAt: ${schemaReport.scannedAt}`, '---', '',
153
+ '# LintBase \u2014 Schema Index', '',
154
+ `**Collections:** ${schemaReport.collections.length} `,
155
+ `**Generated:** ${new Date(schemaReport.scannedAt).toLocaleDateString('en-US', { year: 'numeric', month: 'long', day: 'numeric' })}`, '',
156
+ '## Collections', '',
157
+ '| Collection | Docs Sampled | Fields | Mixed Types |',
158
+ '|---|---|---|---|',
159
+ ...schemaReport.collections.map(c => {
160
+ const mixed = c.fields.filter(f => f.types.length > 1).length;
161
+ return `| [[${c.name}]] | ${c.sampledDocuments} | ${c.fields.length} | ${mixed > 0 ? `\u26a0\ufe0f ${mixed}` : '\u2705'} |`;
162
+ }),
163
+ '',
164
+ '---',
165
+ '*Generated by [LintBase MCP](https://lintbase.com)*',
166
+ ];
167
+ const indexPath = path.join(absPath, 'README.md');
168
+ fs.writeFileSync(indexPath, indexLines.join('\n'), 'utf-8');
169
+ written.push(indexPath);
170
+ }
171
+ return written;
172
+ }
54
173
  // ── Firestore helpers (same as scan.tool.ts) ──────────────────────────────────
55
174
  function inferType(value) {
56
175
  if (value === null)
@@ -167,11 +286,15 @@ const schemaInputShape = {
167
286
  keyPath: zod_1.z.string().describe('Absolute or relative path to the Firebase service account JSON file.'),
168
287
  collection: zod_1.z.string().optional().describe('Name of a single collection to inspect. Omit to get the schema of ALL collections.'),
169
288
  sampleSize: zod_1.z.number().int().min(1).max(500).optional().describe('Max documents to sample per collection (default: 50).'),
289
+ format: zod_1.z.enum(['md']).optional().describe('Output format. Use "md" to write Obsidian-compatible Markdown files to disk.'),
290
+ outPath: zod_1.z.string().optional().describe('Path to write Markdown output. For a single collection: full file path (e.g. "./docs/schema/users.md"). For all collections: directory path (e.g. "./.lintbase/schema").'),
170
291
  };
171
292
  const SchemaInput = zod_1.z.object({
172
293
  keyPath: zod_1.z.string(),
173
294
  collection: zod_1.z.string().optional(),
174
295
  sampleSize: zod_1.z.number().int().min(1).max(500).default(50),
296
+ format: zod_1.z.enum(['md']).optional(),
297
+ outPath: zod_1.z.string().optional(),
175
298
  });
176
299
  // ── Register with MCP server ──────────────────────────────────────────────────
177
300
  function registerSchemaTool(server) {
@@ -186,7 +309,7 @@ function registerSchemaTool(server) {
186
309
  inputSchema: schemaInputShape,
187
310
  }, async (rawInput) => {
188
311
  try {
189
- const { keyPath, collection, sampleSize } = SchemaInput.parse(rawInput);
312
+ const { keyPath, collection, sampleSize, format, outPath } = SchemaInput.parse(rawInput);
190
313
  const schemaReport = await getSchema(keyPath, sampleSize, collection);
191
314
  // Format a clean, readable text summary the AI can reason about instantly
192
315
  const lines = [
@@ -201,8 +324,8 @@ function registerSchemaTool(server) {
201
324
  lines.push(`|-------|---------|----------|--------|`);
202
325
  for (const f of col.fields) {
203
326
  const presence = `${Math.round(f.presenceRate * 100)}%`;
204
- const stable = f.stable ? '' : '⚠️';
205
- const note = f.note ? ` ${f.note}` : '';
327
+ const stable = f.stable ? '\u2705' : '\u26a0\ufe0f';
328
+ const note = f.note ? ` \u2190 ${f.note}` : '';
206
329
  lines.push(`| ${f.name} | ${f.types.join(' | ')} | ${presence} | ${stable}${note} |`);
207
330
  }
208
331
  lines.push(``);
@@ -210,12 +333,32 @@ function registerSchemaTool(server) {
210
333
  // Also return the raw JSON for programmatic use
211
334
  const jsonData = JSON.stringify(schemaReport, null, 2);
212
335
  const textSummary = lines.join('\n');
213
- return {
214
- content: [
215
- { type: 'text', text: textSummary },
216
- { type: 'text', text: `\n---\n**Raw JSON:**\n\`\`\`json\n${jsonData}\n\`\`\`` },
217
- ],
218
- };
336
+ const content = [
337
+ { type: 'text', text: textSummary },
338
+ { type: 'text', text: `\n---\n**Raw JSON:**\n\`\`\`json\n${jsonData}\n\`\`\`` },
339
+ ];
340
+ // \u2500\u2500 Markdown export (format: "md") \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500
341
+ if (format === 'md' && outPath) {
342
+ const written = writeSchemaMarkdown(schemaReport, outPath, Boolean(collection));
343
+ content.push({
344
+ type: 'text',
345
+ text: [
346
+ '',
347
+ '---',
348
+ `**\u2714 Markdown schema written** (${written.length} file${written.length !== 1 ? 's' : ''})`,
349
+ ...written.map(p => `- \`${p}\``),
350
+ '',
351
+ 'Drop the output directory into Obsidian or commit it to your repo as a database wiki.',
352
+ ].join('\n'),
353
+ });
354
+ }
355
+ else if (format === 'md' && !outPath) {
356
+ content.push({
357
+ type: 'text',
358
+ text: '\n---\n**Note:** Pass `outPath` alongside `format: "md"` to write the schema to disk.\nExample: `outPath: "./.lintbase/schema"`',
359
+ });
360
+ }
361
+ return { content };
219
362
  }
220
363
  catch (err) {
221
364
  const message = err instanceof Error ? err.message : String(err);
@@ -1 +1 @@
1
- {"version":3,"file":"schema.tool.js","sourceRoot":"","sources":["../../src/tools/schema.tool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schema.tool.js","sourceRoot":"","sources":["../../src/tools/schema.tool.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lintbase-mcp",
3
- "version": "0.1.5",
3
+ "version": "0.1.7",
4
4
  "mcpName": "io.github.Madia333/lintbase-mcp",
5
5
  "description": "MCP server for LintBase — give AI coding agents real-time database schema context.",
6
6
  "main": "dist/server.js",