@qikdev/mcp 6.6.28 → 6.6.30
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/build/src/tools/glossary.d.ts +43 -2
- package/build/src/tools/glossary.d.ts.map +1 -1
- package/build/src/tools/glossary.js +148 -8
- package/build/src/tools/glossary.js.map +1 -1
- package/build/src/tools/index.d.ts.map +1 -1
- package/build/src/tools/index.js +3 -1
- package/build/src/tools/index.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,4 +1,23 @@
|
|
|
1
1
|
import { Tool } from "@modelcontextprotocol/sdk/types.js";
|
|
2
|
+
export interface ContentTypeIndex {
|
|
3
|
+
title: string;
|
|
4
|
+
plural: string;
|
|
5
|
+
key: string;
|
|
6
|
+
definesType?: string;
|
|
7
|
+
urls: {
|
|
8
|
+
documentation: {
|
|
9
|
+
method: string;
|
|
10
|
+
description: string;
|
|
11
|
+
url: string;
|
|
12
|
+
};
|
|
13
|
+
create: {
|
|
14
|
+
method: string;
|
|
15
|
+
description: string;
|
|
16
|
+
url: string;
|
|
17
|
+
};
|
|
18
|
+
[key: string]: any;
|
|
19
|
+
};
|
|
20
|
+
}
|
|
2
21
|
export interface ContentTypeDefinition {
|
|
3
22
|
key: string;
|
|
4
23
|
title: string;
|
|
@@ -7,11 +26,33 @@ export interface ContentTypeDefinition {
|
|
|
7
26
|
permissions?: string[];
|
|
8
27
|
[key: string]: any;
|
|
9
28
|
}
|
|
10
|
-
export declare const
|
|
11
|
-
export declare
|
|
29
|
+
export declare const glossaryIndexTool: Tool;
|
|
30
|
+
export declare const glossaryDetailTool: Tool;
|
|
31
|
+
export declare function handleGetGlossaryIndex(): Promise<{
|
|
32
|
+
content: Array<{
|
|
33
|
+
type: string;
|
|
34
|
+
text: string;
|
|
35
|
+
}>;
|
|
36
|
+
}>;
|
|
37
|
+
export declare function handleGetContentTypeDetails(contentTypeKey: string): Promise<{
|
|
12
38
|
content: Array<{
|
|
13
39
|
type: string;
|
|
14
40
|
text: string;
|
|
15
41
|
}>;
|
|
16
42
|
}>;
|
|
43
|
+
export declare const glossaryTool: import("zod").objectOutputType<{
|
|
44
|
+
name: import("zod").ZodString;
|
|
45
|
+
description: import("zod").ZodOptional<import("zod").ZodString>;
|
|
46
|
+
inputSchema: import("zod").ZodObject<{
|
|
47
|
+
type: import("zod").ZodLiteral<"object">;
|
|
48
|
+
properties: import("zod").ZodOptional<import("zod").ZodObject<{}, "passthrough", import("zod").ZodTypeAny, import("zod").objectOutputType<{}, import("zod").ZodTypeAny, "passthrough">, import("zod").objectInputType<{}, import("zod").ZodTypeAny, "passthrough">>>;
|
|
49
|
+
}, "passthrough", import("zod").ZodTypeAny, import("zod").objectOutputType<{
|
|
50
|
+
type: import("zod").ZodLiteral<"object">;
|
|
51
|
+
properties: import("zod").ZodOptional<import("zod").ZodObject<{}, "passthrough", import("zod").ZodTypeAny, import("zod").objectOutputType<{}, import("zod").ZodTypeAny, "passthrough">, import("zod").objectInputType<{}, import("zod").ZodTypeAny, "passthrough">>>;
|
|
52
|
+
}, import("zod").ZodTypeAny, "passthrough">, import("zod").objectInputType<{
|
|
53
|
+
type: import("zod").ZodLiteral<"object">;
|
|
54
|
+
properties: import("zod").ZodOptional<import("zod").ZodObject<{}, "passthrough", import("zod").ZodTypeAny, import("zod").objectOutputType<{}, import("zod").ZodTypeAny, "passthrough">, import("zod").objectInputType<{}, import("zod").ZodTypeAny, "passthrough">>>;
|
|
55
|
+
}, import("zod").ZodTypeAny, "passthrough">>;
|
|
56
|
+
}, import("zod").ZodTypeAny, "passthrough">;
|
|
57
|
+
export declare const handleGetGlossary: typeof handleGetGlossaryIndex;
|
|
17
58
|
//# sourceMappingURL=glossary.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"glossary.d.ts","sourceRoot":"","sources":["../../../src/tools/glossary.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAM1D,MAAM,WAAW,qBAAqB;IACpC,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,GAAG,EAAE,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB;
|
|
1
|
+
{"version":3,"file":"glossary.d.ts","sourceRoot":"","sources":["../../../src/tools/glossary.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAM1D,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE;QACJ,aAAa,EAAE;YACb,MAAM,EAAE,MAAM,CAAC;YACf,WAAW,EAAE,MAAM,CAAC;YACpB,GAAG,EAAE,MAAM,CAAC;SACb,CAAC;QACF,MAAM,EAAE;YACN,MAAM,EAAE,MAAM,CAAC;YACf,WAAW,EAAE,MAAM,CAAC;YACpB,GAAG,EAAE,MAAM,CAAC;SACb,CAAC;QACF,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;KACpB,CAAC;CACH;AAED,MAAM,WAAW,qBAAqB;IACpC,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,GAAG,EAAE,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB;AAGD,eAAO,MAAM,iBAAiB,EAAE,IAO/B,CAAC;AAGF,eAAO,MAAM,kBAAkB,EAAE,IAahC,CAAC;AAEF,wBAAsB,sBAAsB,IAAI,OAAO,CAAC;IAAE,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAAE,CAAC,CAyC1G;AAED,wBAAsB,2BAA2B,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC;IAAE,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAAE,CAAC,CAmErI;AAqED,eAAO,MAAM,YAAY;;;;;;;;;;;;;2CAAoB,CAAC;AAC9C,eAAO,MAAM,iBAAiB,+BAAyB,CAAC"}
|
|
@@ -1,21 +1,36 @@
|
|
|
1
1
|
import { ConfigManager } from "../config.js";
|
|
2
|
-
|
|
2
|
+
// Tool for getting the lightweight index of all content types
|
|
3
|
+
export const glossaryIndexTool = {
|
|
3
4
|
name: "get_glossary",
|
|
4
|
-
description: "📚 Get all available content types
|
|
5
|
+
description: "📚 Get a lightweight index of all available content types",
|
|
5
6
|
inputSchema: {
|
|
6
7
|
type: "object",
|
|
7
8
|
properties: {},
|
|
8
9
|
},
|
|
9
10
|
};
|
|
10
|
-
|
|
11
|
+
// Tool for getting detailed information about a specific content type
|
|
12
|
+
export const glossaryDetailTool = {
|
|
13
|
+
name: "get_content_type_details",
|
|
14
|
+
description: "🔍 Get detailed information about a specific content type including all field definitions and examples",
|
|
15
|
+
inputSchema: {
|
|
16
|
+
type: "object",
|
|
17
|
+
properties: {
|
|
18
|
+
contentTypeKey: {
|
|
19
|
+
type: "string",
|
|
20
|
+
description: "The key of the content type to get details for (e.g., 'incidentReportComment', 'article')"
|
|
21
|
+
}
|
|
22
|
+
},
|
|
23
|
+
required: ["contentTypeKey"]
|
|
24
|
+
},
|
|
25
|
+
};
|
|
26
|
+
export async function handleGetGlossaryIndex() {
|
|
11
27
|
try {
|
|
12
28
|
const configManager = new ConfigManager();
|
|
13
29
|
const config = await configManager.loadConfig();
|
|
14
30
|
if (!config) {
|
|
15
31
|
throw new Error('Qik MCP server not configured. Run setup first.');
|
|
16
32
|
}
|
|
17
|
-
//
|
|
18
|
-
// For now, we'll use a basic fetch approach until we understand the SDK structure
|
|
33
|
+
// Fetch the new lightweight index from the API
|
|
19
34
|
const response = await fetch(`${config.apiUrl || 'https://api.qik.dev'}/glossary/ai`, {
|
|
20
35
|
headers: {
|
|
21
36
|
'Authorization': `Bearer ${config.accessToken}`,
|
|
@@ -25,11 +40,13 @@ export async function handleGetGlossary() {
|
|
|
25
40
|
if (!response.ok) {
|
|
26
41
|
throw new Error(`HTTP ${response.status}: ${response.statusText}`);
|
|
27
42
|
}
|
|
28
|
-
const
|
|
43
|
+
const indexData = await response.json();
|
|
44
|
+
// Create a formatted index display
|
|
45
|
+
const index = createContentTypeIndex(indexData);
|
|
29
46
|
return {
|
|
30
47
|
content: [{
|
|
31
48
|
type: "text",
|
|
32
|
-
text:
|
|
49
|
+
text: index
|
|
33
50
|
}]
|
|
34
51
|
};
|
|
35
52
|
}
|
|
@@ -37,9 +54,132 @@ export async function handleGetGlossary() {
|
|
|
37
54
|
return {
|
|
38
55
|
content: [{
|
|
39
56
|
type: "text",
|
|
40
|
-
text: `Failed to fetch glossary: ${error.message}`
|
|
57
|
+
text: `Failed to fetch glossary index: ${error.message}`
|
|
41
58
|
}]
|
|
42
59
|
};
|
|
43
60
|
}
|
|
44
61
|
}
|
|
62
|
+
export async function handleGetContentTypeDetails(contentTypeKey) {
|
|
63
|
+
try {
|
|
64
|
+
const configManager = new ConfigManager();
|
|
65
|
+
const config = await configManager.loadConfig();
|
|
66
|
+
if (!config) {
|
|
67
|
+
throw new Error('Qik MCP server not configured. Run setup first.');
|
|
68
|
+
}
|
|
69
|
+
// First, get the index to find the content type and its documentation URL
|
|
70
|
+
const indexResponse = await fetch(`${config.apiUrl || 'https://api.qik.dev'}/glossary/ai`, {
|
|
71
|
+
headers: {
|
|
72
|
+
'Authorization': `Bearer ${config.accessToken}`,
|
|
73
|
+
'Content-Type': 'application/json',
|
|
74
|
+
},
|
|
75
|
+
});
|
|
76
|
+
if (!indexResponse.ok) {
|
|
77
|
+
throw new Error(`HTTP ${indexResponse.status}: ${indexResponse.statusText}`);
|
|
78
|
+
}
|
|
79
|
+
const indexData = await indexResponse.json();
|
|
80
|
+
// Find the specific content type
|
|
81
|
+
const contentTypeInfo = indexData.find(ct => ct.key === contentTypeKey);
|
|
82
|
+
if (!contentTypeInfo) {
|
|
83
|
+
return {
|
|
84
|
+
content: [{
|
|
85
|
+
type: "text",
|
|
86
|
+
text: `❌ Content type '${contentTypeKey}' not found. Use get_glossary to see available content types.`
|
|
87
|
+
}]
|
|
88
|
+
};
|
|
89
|
+
}
|
|
90
|
+
// Now fetch the detailed documentation from the specific endpoint (URL is already absolute)
|
|
91
|
+
const detailResponse = await fetch(contentTypeInfo.urls.documentation.url, {
|
|
92
|
+
headers: {
|
|
93
|
+
'Authorization': `Bearer ${config.accessToken}`,
|
|
94
|
+
'Content-Type': 'application/json',
|
|
95
|
+
},
|
|
96
|
+
});
|
|
97
|
+
if (!detailResponse.ok) {
|
|
98
|
+
throw new Error(`HTTP ${detailResponse.status}: ${detailResponse.statusText}`);
|
|
99
|
+
}
|
|
100
|
+
const detailData = await detailResponse.json();
|
|
101
|
+
// Create detailed view for this specific content type
|
|
102
|
+
const details = createContentTypeDetails(detailData, contentTypeInfo);
|
|
103
|
+
return {
|
|
104
|
+
content: [{
|
|
105
|
+
type: "text",
|
|
106
|
+
text: details
|
|
107
|
+
}]
|
|
108
|
+
};
|
|
109
|
+
}
|
|
110
|
+
catch (error) {
|
|
111
|
+
return {
|
|
112
|
+
content: [{
|
|
113
|
+
type: "text",
|
|
114
|
+
text: `Failed to fetch content type details: ${error.message}`
|
|
115
|
+
}]
|
|
116
|
+
};
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
function createContentTypeIndex(indexData) {
|
|
120
|
+
return `# Qik Content Types Index
|
|
121
|
+
|
|
122
|
+
## Summary
|
|
123
|
+
- **Total Content Types**: ${indexData.length}
|
|
124
|
+
|
|
125
|
+
## Available Content Types
|
|
126
|
+
|
|
127
|
+
${indexData.map(ct => `### ${ct.title} (${ct.plural})
|
|
128
|
+
- **Key**: \`${ct.key}\`
|
|
129
|
+
- **Type**: ${ct.definesType ? `Extends ${ct.definesType}` : 'Base type'}
|
|
130
|
+
- **Create Endpoint**: \`${ct.urls.create.url}\`
|
|
131
|
+
- **Get Details**: Use \`get_content_type_details\` with key \`${ct.key}\`
|
|
132
|
+
`).join('\n')}
|
|
133
|
+
|
|
134
|
+
---
|
|
135
|
+
💡 **Next Steps:**
|
|
136
|
+
- Use \`get_content_type_details\` with any content type key to see full field definitions and examples
|
|
137
|
+
- Use \`create_content\` with any content type key to create new content`;
|
|
138
|
+
}
|
|
139
|
+
function createContentTypeDetails(contentType, indexInfo) {
|
|
140
|
+
const requiredFields = contentType.fields?.filter(field => field.required) || [];
|
|
141
|
+
const optionalFields = contentType.fields?.filter(field => !field.required) || [];
|
|
142
|
+
return `# ${indexInfo.title} (${contentType.key})
|
|
143
|
+
|
|
144
|
+
## Description
|
|
145
|
+
${contentType.description || 'No description available'}
|
|
146
|
+
|
|
147
|
+
## Type Information
|
|
148
|
+
- **Key**: \`${contentType.key}\`
|
|
149
|
+
- **Plural**: ${indexInfo.plural}
|
|
150
|
+
- **Base Type**: ${indexInfo.definesType || 'Base content type'}
|
|
151
|
+
- **Create Endpoint**: \`${indexInfo.urls.create.url}\`
|
|
152
|
+
|
|
153
|
+
## Field Summary
|
|
154
|
+
- **Total Fields**: ${contentType.fields?.length || 0}
|
|
155
|
+
- **Required Fields**: ${requiredFields.length}
|
|
156
|
+
- **Optional Fields**: ${optionalFields.length}
|
|
157
|
+
|
|
158
|
+
## Required Fields
|
|
159
|
+
${requiredFields.length > 0 ? requiredFields.map(field => `### ${field.title || field.key}
|
|
160
|
+
- **Key**: \`${field.key}\`
|
|
161
|
+
- **Type**: ${field.type || 'Unknown'}
|
|
162
|
+
- **Description**: ${field.description || 'No description'}
|
|
163
|
+
${field.validation ? `- **Validation**: ${JSON.stringify(field.validation)}` : ''}
|
|
164
|
+
${field.example ? `- **Example**: ${typeof field.example === 'string' ? field.example : JSON.stringify(field.example)}` : ''}
|
|
165
|
+
`).join('\n') : 'None'}
|
|
166
|
+
|
|
167
|
+
## Optional Fields
|
|
168
|
+
${optionalFields.length > 0 ? optionalFields.map(field => `### ${field.title || field.key}
|
|
169
|
+
- **Key**: \`${field.key}\`
|
|
170
|
+
- **Type**: ${field.type || 'Unknown'}
|
|
171
|
+
- **Description**: ${field.description || 'No description'}
|
|
172
|
+
${field.validation ? `- **Validation**: ${JSON.stringify(field.validation)}` : ''}
|
|
173
|
+
${field.example ? `- **Example**: ${typeof field.example === 'string' ? field.example : JSON.stringify(field.example)}` : ''}
|
|
174
|
+
`).join('\n') : 'None'}
|
|
175
|
+
|
|
176
|
+
${contentType.permissions ? `## Permissions
|
|
177
|
+
${contentType.permissions.map(perm => `- ${perm}`).join('\n')}` : ''}
|
|
178
|
+
|
|
179
|
+
---
|
|
180
|
+
💡 **Create Content**: Use \`create_content\` with key \`${contentType.key}\` to create new content of this type.`;
|
|
181
|
+
}
|
|
182
|
+
// Legacy export for backward compatibility
|
|
183
|
+
export const glossaryTool = glossaryIndexTool;
|
|
184
|
+
export const handleGetGlossary = handleGetGlossaryIndex;
|
|
45
185
|
//# sourceMappingURL=glossary.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"glossary.js","sourceRoot":"","sources":["../../../src/tools/glossary.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"glossary.js","sourceRoot":"","sources":["../../../src/tools/glossary.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/tools/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAM1D,eAAO,MAAM,KAAK,EAAE,IAAI,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/tools/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAM1D,eAAO,MAAM,KAAK,EAAE,IAAI,EAKvB,CAAC;AAGF,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAKjD,CAAC;AAGF,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS,CAEjE;AAGD,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEpD"}
|
package/build/src/tools/index.js
CHANGED
|
@@ -1,15 +1,17 @@
|
|
|
1
|
-
import { glossaryTool, handleGetGlossary } from "./glossary.js";
|
|
1
|
+
import { glossaryTool, glossaryDetailTool, handleGetGlossary, handleGetContentTypeDetails } from "./glossary.js";
|
|
2
2
|
import { createContentTool, handleCreateContent } from "./create.js";
|
|
3
3
|
import { getUserSessionTool, handleGetUserSession } from "./user.js";
|
|
4
4
|
// Registry of all available tools
|
|
5
5
|
export const tools = [
|
|
6
6
|
glossaryTool,
|
|
7
|
+
glossaryDetailTool,
|
|
7
8
|
createContentTool,
|
|
8
9
|
getUserSessionTool,
|
|
9
10
|
];
|
|
10
11
|
// Registry of all tool handlers
|
|
11
12
|
export const toolHandlers = {
|
|
12
13
|
"get_glossary": handleGetGlossary,
|
|
14
|
+
"get_content_type_details": handleGetContentTypeDetails,
|
|
13
15
|
"create_content": handleCreateContent,
|
|
14
16
|
"get_user_session": handleGetUserSession,
|
|
15
17
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/tools/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/tools/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,2BAA2B,EAAE,MAAM,eAAe,CAAC;AACjH,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AACrE,OAAO,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AAErE,kCAAkC;AAClC,MAAM,CAAC,MAAM,KAAK,GAAW;IAC3B,YAAY;IACZ,kBAAkB;IAClB,iBAAiB;IACjB,kBAAkB;CACnB,CAAC;AAEF,gCAAgC;AAChC,MAAM,CAAC,MAAM,YAAY,GAA6B;IACpD,cAAc,EAAE,iBAAiB;IACjC,0BAA0B,EAAE,2BAA2B;IACvD,gBAAgB,EAAE,mBAAmB;IACrC,kBAAkB,EAAE,oBAAoB;CACzC,CAAC;AAEF,gDAAgD;AAChD,MAAM,UAAU,cAAc,CAAC,IAAY;IACzC,OAAO,YAAY,CAAC,IAAI,CAAC,CAAC;AAC5B,CAAC;AAED,4CAA4C;AAC5C,MAAM,UAAU,cAAc,CAAC,IAAY;IACzC,OAAO,IAAI,IAAI,YAAY,CAAC;AAC9B,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@qikdev/mcp",
|
|
3
|
-
"version": "6.6.
|
|
3
|
+
"version": "6.6.30",
|
|
4
4
|
"description": "A plug-and-play Model Context Protocol server for the Qik platform - enabling AI assistants to interact with Qik's content management system, user management, forms, files, and more.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"mcp",
|