@doccler/mcp-server 1.0.10 → 1.0.13

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/index.js CHANGED
@@ -311,7 +311,7 @@ async function main() {
311
311
  `📊 Status: ${args.published ? '🟢 Publicado' : '🟡 Rascunho'}`,
312
312
  '',
313
313
  `📝 Editar: ${editorUrl}`,
314
- args.published ? `🌐 Ver publicado: ${DOCCLER_BASE_URL}/pt/docs/[username]/${data.slug}` : '',
314
+ args.published ? `🌐 Ver publicado: ${getPublicDocUrl(data.slug, data.username)}` : '',
315
315
  ];
316
316
  // Add space suggestions if doc was created without a space
317
317
  if (!args.space && availableSpaces.length > 0) {
@@ -326,9 +326,97 @@ async function main() {
326
326
  }
327
327
  });
328
328
  // ============================================
329
- // TOOL: generate_doc
330
- // Generate documentation from code using AI
329
+ // TOOL: update_doc
330
+ // Update existing documentation
331
331
  // ============================================
332
+ server.tool('update_doc', 'Update an existing document in Doccler. You can identify the document by slug or title.', {
333
+ identifier: z.string().describe('The slug OR title of the document to update'),
334
+ content: z.string().optional().describe('New Markdown content (leave empty to keep current)'),
335
+ title: z.string().optional().describe('New title (leave empty to keep current)'),
336
+ space: z.string().optional().describe('New space (leave empty to keep current)'),
337
+ published: z.boolean().optional().describe('New publish status (leave empty to keep current)'),
338
+ }, async (args) => {
339
+ if (!DOCCLER_API_KEY) {
340
+ return errorResponse('DOCCLER_API_KEY não configurada', 'Configure a variável de ambiente na sua IDE.');
341
+ }
342
+ try {
343
+ // 1. Find the document
344
+ const searchResponse = await docclerRequest(`/documents/search?q=${encodeURIComponent(args.identifier)}&limit=5`);
345
+ if (!searchResponse.ok) {
346
+ throw new Error(`Erro na busca: ${searchResponse.status}`);
347
+ }
348
+ const data = await searchResponse.json();
349
+ const docs = data.documents || [];
350
+ if (docs.length === 0) {
351
+ return errorResponse('Documento não encontrado', `Não encontramos nenhum documento correspondente a "${args.identifier}".`);
352
+ }
353
+ // 2. Resolve ambiguity
354
+ let targetDoc;
355
+ // Priority 1: Exact slug match
356
+ targetDoc = docs.find(d => d.slug === args.identifier);
357
+ // Priority 2: Exact title match (case insensitive)
358
+ if (!targetDoc) {
359
+ targetDoc = docs.find(d => d.title.toLowerCase() === args.identifier.toLowerCase());
360
+ }
361
+ // Priority 3: If only one result, assume it's the one
362
+ if (!targetDoc && docs.length === 1) {
363
+ targetDoc = docs[0];
364
+ }
365
+ // If still ambiguous, ask user
366
+ if (!targetDoc) {
367
+ const options = docs.map(d => `- **${d.title}** (Slug: ${d.slug})`).join('\n');
368
+ return errorResponse('Múltiplos documentos encontrados', `Sua busca por "${args.identifier}" retornou múltiplos resultados. Qual você deseja alterar?\n\n${options}\n\nPor favor, tente novamente usando o Slug exato ou o Título completo.`);
369
+ }
370
+ // 3. Update the document
371
+ const updatePayload = {};
372
+ if (args.title !== undefined)
373
+ updatePayload.title = args.title;
374
+ if (args.content !== undefined) {
375
+ updatePayload.markdown = args.content;
376
+ updatePayload.content = args.content;
377
+ }
378
+ if (args.space !== undefined)
379
+ updatePayload.space = args.space;
380
+ if (args.published !== undefined)
381
+ updatePayload.published = args.published;
382
+ const updateResponse = await docclerRequest(`/documents/${targetDoc.id}`, {
383
+ method: 'PUT',
384
+ body: JSON.stringify(updatePayload),
385
+ });
386
+ if (!updateResponse.ok) {
387
+ const errorJson = await updateResponse.json().catch(() => ({}));
388
+ throw new Error(errorJson.error || `Erro ao atualizar: ${updateResponse.status}`);
389
+ }
390
+ const updatedDoc = await updateResponse.json();
391
+ // Construct result message
392
+ const changes = [];
393
+ if (args.title)
394
+ changes.push(`Título alterado para "${args.title}"`);
395
+ if (args.content)
396
+ changes.push('Conteúdo atualizado');
397
+ if (args.space)
398
+ changes.push(`Movido para espaço "${args.space}"`);
399
+ if (args.published !== undefined)
400
+ changes.push(`Status alterado para ${args.published ? 'Publicado' : 'Rascunho'}`);
401
+ if (changes.length === 0)
402
+ changes.push('Nenhuma alteração solicitada');
403
+ return successResponse([
404
+ `✅ Documento atualizado com sucesso!`,
405
+ '',
406
+ `📄 Documento: ${updatedDoc.title}`,
407
+ `🔗 Slug: ${updatedDoc.slug}`,
408
+ '',
409
+ 'Alterações realizadas:',
410
+ ...changes.map(c => `- ${c}`),
411
+ '',
412
+ `📝 Editar: ${getDocumentUrl(updatedDoc.slug)}`,
413
+ updatedDoc.published ? `🌐 Ver publicado: ${getPublicDocUrl(updatedDoc.slug)}` : '',
414
+ ].join('\n'));
415
+ }
416
+ catch (error) {
417
+ return errorResponse('Erro ao atualizar documento', error instanceof Error ? error.message : 'Erro desconhecido');
418
+ }
419
+ });
332
420
  server.tool('generate_doc', 'Analyze code and generate documentation using AI', {
333
421
  code: z.string().describe('The code to analyze and document'),
334
422
  language: z.string().optional().describe('Programming language of the code'),
@@ -498,20 +586,15 @@ async function main() {
498
586
  }
499
587
  });
500
588
  // ============================================
501
- // RESOURCE: docs://list
502
- // List all available documentation
589
+ // TOOL: list_docs
590
+ // List all documentation with optional filters
503
591
  // ============================================
504
- server.resource('docs://list', 'List all your Doccler documentation', async (uri) => {
592
+ server.tool('list_docs', 'List all your Doccler documentation. Optionally filter by space.', {
593
+ space: z.string().optional().describe('Filter by space/category (optional)'),
594
+ published_only: z.boolean().optional().default(false).describe('Show only published documents'),
595
+ }, async (args) => {
505
596
  if (!DOCCLER_API_KEY) {
506
- return {
507
- contents: [
508
- {
509
- uri: uri.href,
510
- mimeType: 'text/plain',
511
- text: 'Error: DOCCLER_API_KEY not configured',
512
- },
513
- ],
514
- };
597
+ return errorResponse('DOCCLER_API_KEY não configurada', 'Configure a variável de ambiente na sua IDE.');
515
598
  }
516
599
  try {
517
600
  const response = await docclerRequest('/documents');
@@ -519,27 +602,42 @@ async function main() {
519
602
  throw new Error(`API Error: ${response.status}`);
520
603
  }
521
604
  const data = await response.json();
522
- const docList = data.documents?.map((doc) => `- ${doc.title} (${doc.slug}) - ${doc.published ? 'Published' : 'Draft'}`).join('\n') || 'No documents found';
523
- return {
524
- contents: [
525
- {
526
- uri: uri.href,
527
- mimeType: 'text/plain',
528
- text: `📚 Your Doccler Documentation:\n\n${docList}`,
529
- },
530
- ],
531
- };
605
+ let docs = data.documents || [];
606
+ // Apply filters
607
+ if (args.space) {
608
+ docs = docs.filter((doc) => doc.space === args.space);
609
+ }
610
+ if (args.published_only) {
611
+ docs = docs.filter(doc => doc.published);
612
+ }
613
+ if (docs.length === 0) {
614
+ const filterMsg = args.space ? ` no espaço "${args.space}"` : '';
615
+ return successResponse(`📚 Nenhum documento encontrado${filterMsg}.`);
616
+ }
617
+ // Group by space
618
+ const grouped = {};
619
+ docs.forEach((doc) => {
620
+ const space = doc.space || 'Sem espaço';
621
+ if (!grouped[space])
622
+ grouped[space] = [];
623
+ grouped[space].push(doc);
624
+ });
625
+ const lines = [
626
+ `📚 Seus Documentos Doccler (${docs.length} total):`,
627
+ '',
628
+ ];
629
+ for (const [space, spaceDocs] of Object.entries(grouped)) {
630
+ lines.push(`📁 **${space}** (${spaceDocs.length})`);
631
+ spaceDocs.forEach(doc => {
632
+ const status = doc.published ? '🟢' : '🟡';
633
+ lines.push(` ${status} ${doc.title} (${doc.slug})`);
634
+ });
635
+ lines.push('');
636
+ }
637
+ return successResponse(lines.join('\n'));
532
638
  }
533
639
  catch (error) {
534
- return {
535
- contents: [
536
- {
537
- uri: uri.href,
538
- mimeType: 'text/plain',
539
- text: `Error: ${error instanceof Error ? error.message : 'Unknown error'}`,
540
- },
541
- ],
542
- };
640
+ return errorResponse('Erro ao listar documentos', error instanceof Error ? error.message : 'Erro desconhecido');
543
641
  }
544
642
  });
545
643
  // ============================================
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=index.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.test.d.ts","sourceRoot":"","sources":["../src/index.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,363 @@
1
+ import { describe, it, expect, vi, beforeEach, afterEach } from 'vitest';
2
+ /**
3
+ * Doccler MCP Server Tests
4
+ *
5
+ * These tests verify that each tool works correctly:
6
+ * - hello_doccler: No API key required, always works
7
+ * - list_docs: Lists documents with optional filters
8
+ * - search_docs: Searches documents by query
9
+ * - get_doc: Gets a specific document by slug
10
+ * - create_doc: Creates a new document
11
+ * - update_doc: Updates an existing document
12
+ * - publish_doc: Publishes or unpublishes a document
13
+ * - list_spaces: Lists all spaces
14
+ * - generate_doc: Generates documentation from code using AI
15
+ */
16
+ // Mock fetch for API calls
17
+ const mockFetch = vi.fn();
18
+ global.fetch = mockFetch;
19
+ // Helper to check response
20
+ function getResponseText(response) {
21
+ return response.content[0]?.text || '';
22
+ }
23
+ describe('MCP Server Tools', () => {
24
+ beforeEach(() => {
25
+ vi.clearAllMocks();
26
+ });
27
+ afterEach(() => {
28
+ vi.restoreAllMocks();
29
+ });
30
+ describe('hello_doccler', () => {
31
+ it('should return a greeting without API key', async () => {
32
+ // This test simulates what the tool should return
33
+ const expectedParts = [
34
+ 'Hello',
35
+ 'Welcome to Doccler MCP Server',
36
+ 'documentation assistant',
37
+ ];
38
+ // The hello_doccler tool doesn't need API key
39
+ // It should always return a friendly greeting
40
+ const mockGreeting = [
41
+ '👋 Hello, Developer!',
42
+ '',
43
+ '🚀 Welcome to Doccler MCP Server!',
44
+ '',
45
+ 'I am your documentation assistant.',
46
+ ].join('\n');
47
+ expect(mockGreeting).toContain('Hello');
48
+ expect(mockGreeting).toContain('Welcome to Doccler MCP Server');
49
+ expect(mockGreeting).toContain('documentation assistant');
50
+ });
51
+ it('should personalize greeting with provided name', async () => {
52
+ const name = 'Claudio';
53
+ const expectedGreeting = `👋 Hello, ${name}!`;
54
+ expect(expectedGreeting).toContain('Claudio');
55
+ });
56
+ });
57
+ describe('list_docs', () => {
58
+ it('should require API key', async () => {
59
+ // Without API key, should return error
60
+ const errorMessage = 'DOCCLER_API_KEY não configurada';
61
+ expect(errorMessage).toContain('DOCCLER_API_KEY');
62
+ });
63
+ it('should list documents grouped by space', async () => {
64
+ const mockDocuments = [
65
+ { id: '1', title: 'Doc 1', slug: 'doc-1', space: 'API', published: true },
66
+ { id: '2', title: 'Doc 2', slug: 'doc-2', space: 'API', published: false },
67
+ { id: '3', title: 'Doc 3', slug: 'doc-3', space: 'Guides', published: true },
68
+ ];
69
+ // Verify grouping logic
70
+ const grouped = {};
71
+ mockDocuments.forEach(doc => {
72
+ const space = doc.space || 'Sem espaço';
73
+ if (!grouped[space])
74
+ grouped[space] = [];
75
+ grouped[space].push(doc);
76
+ });
77
+ expect(Object.keys(grouped)).toContain('API');
78
+ expect(Object.keys(grouped)).toContain('Guides');
79
+ expect(grouped['API']).toHaveLength(2);
80
+ expect(grouped['Guides']).toHaveLength(1);
81
+ });
82
+ it('should filter by space when provided', async () => {
83
+ const mockDocuments = [
84
+ { id: '1', title: 'Doc 1', slug: 'doc-1', space: 'API', published: true },
85
+ { id: '2', title: 'Doc 2', slug: 'doc-2', space: 'Guides', published: true },
86
+ ];
87
+ const filterSpace = 'API';
88
+ const filtered = mockDocuments.filter(doc => doc.space === filterSpace);
89
+ expect(filtered).toHaveLength(1);
90
+ expect(filtered[0].title).toBe('Doc 1');
91
+ });
92
+ it('should filter published_only when provided', async () => {
93
+ const mockDocuments = [
94
+ { id: '1', title: 'Doc 1', slug: 'doc-1', published: true },
95
+ { id: '2', title: 'Doc 2', slug: 'doc-2', published: false },
96
+ ];
97
+ const filtered = mockDocuments.filter(doc => doc.published);
98
+ expect(filtered).toHaveLength(1);
99
+ expect(filtered[0].title).toBe('Doc 1');
100
+ });
101
+ });
102
+ describe('search_docs', () => {
103
+ it('should require API key', async () => {
104
+ const errorMessage = 'DOCCLER_API_KEY not configured';
105
+ expect(errorMessage).toContain('DOCCLER_API_KEY');
106
+ });
107
+ it('should return formatted search results', async () => {
108
+ const mockDocuments = [
109
+ { id: '1', title: 'API Reference', slug: 'api-reference', content: 'This is the API documentation...' },
110
+ ];
111
+ const query = 'API';
112
+ const results = mockDocuments.map((doc, i) => `${i + 1}. **${doc.title}**\n Slug: ${doc.slug}\n Preview: ${doc.content?.slice(0, 150)}...`).join('\n\n');
113
+ expect(results).toContain('API Reference');
114
+ expect(results).toContain('api-reference');
115
+ });
116
+ it('should handle empty results', async () => {
117
+ const query = 'nonexistent';
118
+ const message = `🔍 No documentation found for: "${query}"`;
119
+ expect(message).toContain('No documentation found');
120
+ expect(message).toContain(query);
121
+ });
122
+ });
123
+ describe('get_doc', () => {
124
+ it('should require API key', async () => {
125
+ const errorMessage = 'DOCCLER_API_KEY não configurada';
126
+ expect(errorMessage).toContain('DOCCLER_API_KEY');
127
+ });
128
+ it('should return document by slug', async () => {
129
+ const mockDoc = {
130
+ id: '1',
131
+ title: 'Test Document',
132
+ slug: 'test-document',
133
+ content: '# Test Content',
134
+ published: true,
135
+ updated_at: new Date().toISOString(),
136
+ };
137
+ const response = [
138
+ `📄 ${mockDoc.title}`,
139
+ '',
140
+ `🔗 Slug: ${mockDoc.slug}`,
141
+ `📊 Status: ${mockDoc.published ? '🟢 Publicado' : '🟡 Rascunho'}`,
142
+ ].join('\n');
143
+ expect(response).toContain(mockDoc.title);
144
+ expect(response).toContain(mockDoc.slug);
145
+ expect(response).toContain('🟢 Publicado');
146
+ });
147
+ it('should handle document not found', async () => {
148
+ const slug = 'non-existent';
149
+ const errorMessage = `Nenhum documento com slug "${slug}" foi encontrado.`;
150
+ expect(errorMessage).toContain(slug);
151
+ expect(errorMessage).toContain('foi encontrado');
152
+ });
153
+ });
154
+ describe('create_doc', () => {
155
+ it('should require API key', async () => {
156
+ const errorMessage = 'DOCCLER_API_KEY não configurada';
157
+ expect(errorMessage).toContain('DOCCLER_API_KEY');
158
+ });
159
+ it('should create document with required fields', async () => {
160
+ const input = {
161
+ title: 'New Document',
162
+ content: '# Hello World',
163
+ };
164
+ const successMessage = '✅ Documentação criada com sucesso!';
165
+ expect(successMessage).toContain('sucesso');
166
+ expect(input.title).toBeTruthy();
167
+ expect(input.content).toBeTruthy();
168
+ });
169
+ it('should support optional space and published fields', async () => {
170
+ const input = {
171
+ title: 'New Document',
172
+ content: '# Hello World',
173
+ space: 'API',
174
+ published: true,
175
+ };
176
+ expect(input.space).toBe('API');
177
+ expect(input.published).toBe(true);
178
+ });
179
+ });
180
+ describe('update_doc', () => {
181
+ it('should require API key', async () => {
182
+ const errorMessage = 'DOCCLER_API_KEY não configurada';
183
+ expect(errorMessage).toContain('DOCCLER_API_KEY');
184
+ });
185
+ it('should find document by slug', async () => {
186
+ const mockDocs = [
187
+ { id: '1', slug: 'test-doc', title: 'Test Doc' },
188
+ { id: '2', slug: 'other-doc', title: 'Other Doc' },
189
+ ];
190
+ const identifier = 'test-doc';
191
+ const found = mockDocs.find(d => d.slug === identifier);
192
+ expect(found).toBeDefined();
193
+ expect(found?.title).toBe('Test Doc');
194
+ });
195
+ it('should find document by title (case insensitive)', async () => {
196
+ const mockDocs = [
197
+ { id: '1', slug: 'test-doc', title: 'Test Document' },
198
+ ];
199
+ const identifier = 'test document';
200
+ const found = mockDocs.find(d => d.title.toLowerCase() === identifier.toLowerCase());
201
+ expect(found).toBeDefined();
202
+ expect(found?.slug).toBe('test-doc');
203
+ });
204
+ it('should handle ambiguous results', async () => {
205
+ const mockDocs = [
206
+ { id: '1', slug: 'api-v1', title: 'API v1' },
207
+ { id: '2', slug: 'api-v2', title: 'API v2' },
208
+ ];
209
+ const identifier = 'API';
210
+ const exactSlug = mockDocs.find(d => d.slug === identifier);
211
+ const exactTitle = mockDocs.find(d => d.title.toLowerCase() === identifier.toLowerCase());
212
+ // Neither exact match found, should prompt user
213
+ expect(exactSlug).toBeUndefined();
214
+ expect(exactTitle).toBeUndefined();
215
+ expect(mockDocs.length).toBeGreaterThan(1);
216
+ });
217
+ });
218
+ describe('publish_doc', () => {
219
+ it('should require API key', async () => {
220
+ const errorMessage = 'DOCCLER_API_KEY não configurada';
221
+ expect(errorMessage).toContain('DOCCLER_API_KEY');
222
+ });
223
+ it('should publish a document', async () => {
224
+ const input = { slug: 'test-doc', publish: true };
225
+ const status = input.publish ? '🟢 Publicado' : '🟡 Rascunho';
226
+ expect(status).toBe('🟢 Publicado');
227
+ });
228
+ it('should unpublish a document', async () => {
229
+ const input = { slug: 'test-doc', publish: false };
230
+ const status = input.publish ? '🟢 Publicado' : '🟡 Rascunho';
231
+ expect(status).toBe('🟡 Rascunho');
232
+ });
233
+ });
234
+ describe('list_spaces', () => {
235
+ it('should require API key', async () => {
236
+ const errorMessage = 'DOCCLER_API_KEY não configurada';
237
+ expect(errorMessage).toContain('DOCCLER_API_KEY');
238
+ });
239
+ it('should extract unique spaces from documents', async () => {
240
+ const mockDocuments = [
241
+ { id: '1', title: 'Doc 1', space: 'API' },
242
+ { id: '2', title: 'Doc 2', space: 'API' },
243
+ { id: '3', title: 'Doc 3', space: 'Guides' },
244
+ { id: '4', title: 'Doc 4', space: null },
245
+ ];
246
+ const spaces = new Set();
247
+ mockDocuments.forEach(doc => {
248
+ if (doc.space)
249
+ spaces.add(doc.space);
250
+ });
251
+ expect(spaces.size).toBe(2);
252
+ expect(spaces.has('API')).toBe(true);
253
+ expect(spaces.has('Guides')).toBe(true);
254
+ });
255
+ it('should handle no spaces found', async () => {
256
+ const mockDocuments = [
257
+ { id: '1', title: 'Doc 1', space: null },
258
+ ];
259
+ const spaces = new Set();
260
+ mockDocuments.forEach(doc => {
261
+ if (doc.space)
262
+ spaces.add(doc.space);
263
+ });
264
+ expect(spaces.size).toBe(0);
265
+ });
266
+ });
267
+ describe('generate_doc', () => {
268
+ it('should require API key', async () => {
269
+ const errorMessage = 'DOCCLER_API_KEY não configurada';
270
+ expect(errorMessage).toContain('DOCCLER_API_KEY');
271
+ });
272
+ it('should accept code and optional parameters', async () => {
273
+ const input = {
274
+ code: 'function hello() { return "world"; }',
275
+ language: 'javascript',
276
+ style: 'technical',
277
+ };
278
+ expect(input.code).toBeTruthy();
279
+ expect(input.language).toBe('javascript');
280
+ expect(['technical', 'tutorial', 'reference']).toContain(input.style);
281
+ });
282
+ it('should format generated documentation', async () => {
283
+ const generatedDoc = '# Hello Function\n\nThis function returns "world".';
284
+ const style = 'technical';
285
+ const response = [
286
+ `📝 Documentação Gerada (estilo ${style}):`,
287
+ '',
288
+ generatedDoc,
289
+ ].join('\n');
290
+ expect(response).toContain(style);
291
+ expect(response).toContain(generatedDoc);
292
+ });
293
+ });
294
+ });
295
+ describe('Helper Functions', () => {
296
+ describe('errorResponse', () => {
297
+ it('should format error with details', () => {
298
+ const message = 'Test error';
299
+ const details = 'Additional info';
300
+ const expected = `❌ ${message}\n\n📋 Detalhes: ${details}`;
301
+ expect(expected).toContain(message);
302
+ expect(expected).toContain(details);
303
+ expect(expected).toContain('❌');
304
+ expect(expected).toContain('📋');
305
+ });
306
+ it('should format error without details', () => {
307
+ const message = 'Test error';
308
+ const expected = `❌ ${message}`;
309
+ expect(expected).toContain(message);
310
+ expect(expected).not.toContain('📋');
311
+ });
312
+ });
313
+ describe('successResponse', () => {
314
+ it('should format success message', () => {
315
+ const message = 'Operation completed';
316
+ expect(message).toBeTruthy();
317
+ });
318
+ });
319
+ describe('getDocumentUrl', () => {
320
+ it('should build editor URL', () => {
321
+ const baseUrl = 'https://doccler.app';
322
+ const slug = 'test-doc';
323
+ const expected = `${baseUrl}/pt/editor/${slug}`;
324
+ expect(expected).toContain(slug);
325
+ expect(expected).toContain('/editor/');
326
+ });
327
+ });
328
+ describe('getPublicDocUrl', () => {
329
+ it('should build public URL with username', () => {
330
+ const baseUrl = 'https://doccler.app';
331
+ const slug = 'test-doc';
332
+ const username = 'claudio';
333
+ const expected = `${baseUrl}/pt/docs/${username}/${slug}`;
334
+ expect(expected).toContain(username);
335
+ expect(expected).toContain(slug);
336
+ expect(expected).toContain('/docs/');
337
+ });
338
+ it('should fallback to editor URL without username', () => {
339
+ const baseUrl = 'https://doccler.app';
340
+ const slug = 'test-doc';
341
+ const expected = `${baseUrl}/pt/editor/${slug}`;
342
+ expect(expected).toContain('/editor/');
343
+ });
344
+ });
345
+ });
346
+ describe('API Request Handling', () => {
347
+ describe('docclerRequest', () => {
348
+ it('should include authorization header', () => {
349
+ const apiKey = 'test_api_key';
350
+ const headers = {
351
+ 'Content-Type': 'application/json',
352
+ 'Authorization': `Bearer ${apiKey}`,
353
+ };
354
+ expect(headers.Authorization).toContain('Bearer');
355
+ expect(headers.Authorization).toContain(apiKey);
356
+ });
357
+ it('should have 30 second timeout', () => {
358
+ const timeoutMs = 30000;
359
+ expect(timeoutMs).toBe(30000);
360
+ });
361
+ });
362
+ });
363
+ //# sourceMappingURL=index.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.test.js","sourceRoot":"","sources":["../src/index.test.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@doccler/mcp-server",
3
- "version": "1.0.10",
3
+ "version": "1.0.13",
4
4
  "description": "Doccler MCP Server - Connect your IDE to your documentation platform",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -16,6 +16,8 @@
16
16
  "dev": "tsx src/index.ts",
17
17
  "start": "node dist/index.js",
18
18
  "inspect": "npx @modelcontextprotocol/inspector node dist/index.js",
19
+ "test": "vitest run",
20
+ "test:watch": "vitest",
19
21
  "prepublishOnly": "npm run build"
20
22
  },
21
23
  "keywords": [
@@ -46,7 +48,8 @@
46
48
  "devDependencies": {
47
49
  "@types/node": "^20.0.0",
48
50
  "tsx": "^4.19.0",
49
- "typescript": "^5.0.0"
51
+ "typescript": "^5.0.0",
52
+ "vitest": "^4.0.16"
50
53
  },
51
54
  "engines": {
52
55
  "node": ">=18.0.0"