@contextium/mcp-server 0.3.0 → 0.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AAQnE,wBAAgB,YAAY;;;;;;;;;;;;;;;;;;6CAsI3B"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AAQnE,wBAAgB,YAAY;;;;;;;;;;;;;;;;;;6CAkJ3B"}
package/dist/server.js CHANGED
@@ -42,6 +42,10 @@ export function createServer() {
42
42
  tools.listTagsTool,
43
43
  tools.listWorkflowsTool,
44
44
  tools.getFileTool,
45
+ tools.getAgentTool,
46
+ tools.getSkillTool,
47
+ tools.getWorkflowTool,
48
+ tools.getContextLibraryTool,
45
49
  tools.searchDocumentationTool,
46
50
  tools.searchByTagsTool,
47
51
  tools.loadWorkflowTool,
@@ -89,6 +93,14 @@ export function createServer() {
89
93
  return await tools.listWorkflows(auth, args || {});
90
94
  case 'get_file':
91
95
  return await tools.getFile(auth, args);
96
+ case 'get_agent':
97
+ return await tools.getAgent(auth, args);
98
+ case 'get_skill':
99
+ return await tools.getSkill(auth, args);
100
+ case 'get_workflow':
101
+ return await tools.getWorkflow(auth, args);
102
+ case 'get_context_library':
103
+ return await tools.getContextLibrary(auth, args);
92
104
  case 'search_documentation':
93
105
  return await tools.searchDocumentation(auth, args);
94
106
  case 'search_by_tags':
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AACnE,OAAO,EACL,qBAAqB,EACrB,sBAAsB,GACvB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,KAAK,KAAK,MAAM,kBAAkB,CAAC;AAE1C,MAAM,UAAU,YAAY;IAC1B,MAAM,MAAM,GAAG,IAAI,MAAM,CACvB;QACE,IAAI,EAAE,uBAAuB;QAC7B,OAAO,EAAE,OAAO;KACjB,EACD;QACE,YAAY,EAAE;YACZ,KAAK,EAAE,EAAE;SACV;KACF,CACF,CAAC;IAEF,2CAA2C;IAC3C,CAAC,KAAK,IAAI,EAAE;QACV,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,cAAc,EAAE,CAAC;YACpC,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,OAAO,CAAC,KAAK,CAAC,qDAAqD,CAAC,CAAC;gBACrE,OAAO,CAAC,KAAK,CAAC,wDAAwD,CAAC,CAAC;YAC1E,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,KAAK,CAAC,gDAAgD,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;gBAC7E,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;oBACrB,OAAO,CAAC,KAAK,CAAC,6CAA6C,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;gBACjF,CAAC;YACH,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,8CAA8C,EAAE,KAAK,CAAC,CAAC;QACvE,CAAC;IACH,CAAC,CAAC,EAAE,CAAC;IAEL,8BAA8B;IAC9B,MAAM,CAAC,iBAAiB,CAAC,sBAAsB,EAAE,KAAK,IAAI,EAAE;QAC1D,OAAO;YACL,KAAK,EAAE;gBACL,KAAK,CAAC,kBAAkB;gBACxB,KAAK,CAAC,wBAAwB;gBAC9B,KAAK,CAAC,cAAc;gBACpB,KAAK,CAAC,cAAc;gBACpB,KAAK,CAAC,aAAa;gBACnB,KAAK,CAAC,YAAY;gBAClB,KAAK,CAAC,iBAAiB;gBACvB,KAAK,CAAC,WAAW;gBACjB,KAAK,CAAC,uBAAuB;gBAC7B,KAAK,CAAC,gBAAgB;gBACtB,KAAK,CAAC,gBAAgB;gBACtB,KAAK,CAAC,mBAAmB;gBACzB,KAAK,CAAC,8BAA8B;gBACpC,KAAK,CAAC,wBAAwB;gBAC9B,KAAK,CAAC,eAAe;gBACrB,KAAK,CAAC,eAAe;gBACrB,KAAK,CAAC,cAAc;gBACpB,KAAK,CAAC,cAAc;gBACpB,KAAK,CAAC,cAAc;aACrB;SACF,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,8BAA8B;IAC9B,MAAM,CAAC,iBAAiB,CAAC,qBAAqB,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;QAChE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;QAEjD,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,cAAc,EAAE,CAAC;YAEpC,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,OAAO;oBACL,OAAO,EAAE;wBACP;4BACE,IAAI,EAAE,MAAM;4BACZ,IAAI,EAAE,iFAAiF;yBACxF;qBACF;oBACD,OAAO,EAAE,IAAI;iBACd,CAAC;YACJ,CAAC;YAED,QAAQ,IAAI,EAAE,CAAC;gBACb,KAAK,iBAAiB;oBACpB,OAAO,MAAM,KAAK,CAAC,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;gBAChD,KAAK,wBAAwB;oBAC3B,OAAO,MAAM,KAAK,CAAC,oBAAoB,CAAC,IAAI,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC;gBAC5D,KAAK,aAAa;oBAChB,OAAO,MAAM,KAAK,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC;gBAClD,KAAK,aAAa;oBAChB,OAAO,MAAM,KAAK,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC;gBAClD,KAAK,YAAY;oBACf,OAAO,MAAM,KAAK,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;gBAC3C,KAAK,WAAW;oBACd,OAAO,MAAM,KAAK,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;gBAC1C,KAAK,gBAAgB;oBACnB,OAAO,MAAM,KAAK,CAAC,aAAa,CAAC,IAAI,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC;gBACrD,KAAK,UAAU;oBACb,OAAO,MAAM,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;gBACzC,KAAK,sBAAsB;oBACzB,OAAO,MAAM,KAAK,CAAC,mBAAmB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;gBACrD,KAAK,gBAAgB;oBACnB,OAAO,MAAM,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;gBAC9C,KAAK,eAAe;oBAClB,OAAO,MAAM,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;gBAC9C,KAAK,mBAAmB;oBACtB,OAAO,MAAM,KAAK,CAAC,eAAe,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;gBACjD,KAAK,+BAA+B;oBAClC,OAAO,MAAM,KAAK,CAAC,0BAA0B,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;gBAC5D,KAAK,aAAa;oBAChB,OAAO,MAAM,KAAK,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;gBAC5C,KAAK,aAAa;oBAChB,OAAO,MAAM,KAAK,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;gBAC5C,KAAK,aAAa;oBAChB,OAAO,MAAM,KAAK,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;gBAC5C,KAAK,wBAAwB;oBAC3B,OAAO,MAAM,KAAK,CAAC,oBAAoB,CAAC,IAAI,EAAE,IAAW,CAAC,CAAC;gBAC7D,KAAK,cAAc;oBACjB,OAAO,MAAM,KAAK,CAAC,WAAW,CAAC,IAAI,EAAE,IAAW,CAAC,CAAC;gBACpD,KAAK,cAAc;oBACjB,OAAO,MAAM,KAAK,CAAC,WAAW,CAAC,IAAI,EAAE,IAAW,CAAC,CAAC;gBACpD;oBACE,MAAM,IAAI,KAAK,CAAC,iBAAiB,IAAI,EAAE,CAAC,CAAC;YAC7C,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,+CAA+C,IAAI,GAAG,EAAE,KAAK,CAAC,CAAC;YAC7E,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,UAAU,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;qBACzE;iBACF;gBACD,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC;AAChB,CAAC"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import type { Tool } from '@modelcontextprotocol/sdk/types.js';
2
+ import type { AuthContext } from '../types.js';
3
+ export declare const getAgentTool: Tool;
4
+ export declare function getAgent(_auth: AuthContext, args: any): Promise<{
5
+ content: {
6
+ type: string;
7
+ text: string;
8
+ }[];
9
+ }>;
10
+ //# sourceMappingURL=get-agent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-agent.d.ts","sourceRoot":"","sources":["../../src/tools/get-agent.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAC/D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAI/C,eAAO,MAAM,YAAY,EAAE,IAkB1B,CAAC;AAEF,wBAAsB,QAAQ,CAAC,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,GAAG;;;;;GAiE3D"}
@@ -0,0 +1,71 @@
1
+ import { ContextiumApiClient } from '../api-client.js';
2
+ import { getCurrentProfile } from '../cli/credentials.js';
3
+ export const getAgentTool = {
4
+ name: 'get_agent',
5
+ description: 'Get detailed information about a specific agent including system prompt, persona, configuration, and associated files. Returns complete agent context for use in LLM workflows.',
6
+ inputSchema: {
7
+ type: 'object',
8
+ properties: {
9
+ agentId: {
10
+ type: 'string',
11
+ description: 'Agent ID to retrieve',
12
+ },
13
+ workspaceId: {
14
+ type: 'string',
15
+ description: 'Optional: workspace ID (uses default if not specified)',
16
+ },
17
+ },
18
+ required: ['agentId'],
19
+ },
20
+ };
21
+ export async function getAgent(_auth, args) {
22
+ const { agentId, workspaceId } = args || {};
23
+ if (!agentId) {
24
+ throw new Error('agentId is required');
25
+ }
26
+ const profile = getCurrentProfile();
27
+ if (!profile || !profile.accessToken) {
28
+ throw new Error('Not authenticated');
29
+ }
30
+ const client = new ContextiumApiClient(profile.apiUrl || 'https://api.contextium.io/api/v1', profile.accessToken);
31
+ // Determine workspace ID
32
+ let targetWorkspaceId = workspaceId;
33
+ if (!targetWorkspaceId) {
34
+ const workspacesResponse = await client.get('/workspaces');
35
+ const workspaces = workspacesResponse.data || [];
36
+ if (workspaces.length === 0) {
37
+ throw new Error('No workspaces found');
38
+ }
39
+ targetWorkspaceId = workspaces[0].id;
40
+ }
41
+ // Get agent details
42
+ const response = await client.get(`/workspaces/${targetWorkspaceId}/agents/${agentId}`);
43
+ const agent = response.data;
44
+ // Format the agent data
45
+ const formattedAgent = {
46
+ id: agent.id,
47
+ name: agent.name,
48
+ description: agent.description || null,
49
+ systemPrompt: agent.systemPrompt || null,
50
+ persona: agent.persona || null,
51
+ configuration: {
52
+ model: agent.model || null,
53
+ temperature: agent.temperature || null,
54
+ maxTokens: agent.maxTokens || null,
55
+ },
56
+ skills: agent.skills || [],
57
+ fileCount: agent.fileCount || 0,
58
+ workspaceId: agent.workspaceId,
59
+ createdAt: agent.createdAt,
60
+ updatedAt: agent.updatedAt,
61
+ };
62
+ return {
63
+ content: [
64
+ {
65
+ type: 'text',
66
+ text: JSON.stringify(formattedAgent, null, 2),
67
+ },
68
+ ],
69
+ };
70
+ }
71
+ //# sourceMappingURL=get-agent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-agent.js","sourceRoot":"","sources":["../../src/tools/get-agent.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ import type { Tool } from '@modelcontextprotocol/sdk/types.js';
2
+ import type { AuthContext } from '../types.js';
3
+ export declare const getContextLibraryTool: Tool;
4
+ export declare function getContextLibrary(auth: AuthContext, args: any): Promise<{
5
+ content: {
6
+ type: string;
7
+ text: string;
8
+ }[];
9
+ isError: boolean;
10
+ } | {
11
+ content: {
12
+ type: string;
13
+ text: string;
14
+ }[];
15
+ isError?: never;
16
+ }>;
17
+ //# sourceMappingURL=get-context-library.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-context-library.d.ts","sourceRoot":"","sources":["../../src/tools/get-context-library.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAC/D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAG/C,eAAO,MAAM,qBAAqB,EAAE,IAkBnC,CAAC;AAEF,wBAAsB,iBAAiB,CAAC,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,GAAG;;;;;;;;;;;;GAsGnE"}
@@ -0,0 +1,113 @@
1
+ import { getApiClient } from '../api-client.js';
2
+ export const getContextLibraryTool = {
3
+ name: 'get_context_library',
4
+ description: 'Get detailed information about a specific context library (project) including metadata, file structure, and statistics. Context libraries are collections of documentation and knowledge files.',
5
+ inputSchema: {
6
+ type: 'object',
7
+ properties: {
8
+ libraryId: {
9
+ type: 'string',
10
+ description: 'Context library ID (project ID) to retrieve',
11
+ },
12
+ workspaceId: {
13
+ type: 'string',
14
+ description: 'Optional: workspace ID (uses default if not specified)',
15
+ },
16
+ },
17
+ required: ['libraryId'],
18
+ },
19
+ };
20
+ export async function getContextLibrary(auth, args) {
21
+ const { libraryId, workspaceId } = args || {};
22
+ if (!libraryId) {
23
+ return {
24
+ content: [
25
+ {
26
+ type: 'text',
27
+ text: 'libraryId is required',
28
+ },
29
+ ],
30
+ isError: true,
31
+ };
32
+ }
33
+ const apiClient = getApiClient();
34
+ const targetWorkspaceId = workspaceId || auth.workspaceId;
35
+ try {
36
+ // Get library details (context libraries are regular projects or system projects with systemType='contextLibraries')
37
+ const library = await apiClient.getProject(targetWorkspaceId, libraryId);
38
+ // Get files associated with the library
39
+ const files = await apiClient.getFiles(libraryId);
40
+ // Group files by folder
41
+ const filesByFolder = {
42
+ root: [],
43
+ };
44
+ files.forEach((file) => {
45
+ const folder = file.folderId || 'root';
46
+ if (!filesByFolder[folder]) {
47
+ filesByFolder[folder] = [];
48
+ }
49
+ filesByFolder[folder].push(file);
50
+ });
51
+ // Format the library data
52
+ const formattedLibrary = {
53
+ id: library.id,
54
+ name: library.name,
55
+ slug: library.slug,
56
+ description: library.description || null,
57
+ isSystem: library.isSystem || false,
58
+ systemType: library.systemType || null,
59
+ fileCount: library.fileCount || files.length,
60
+ files: files.map((f) => ({
61
+ id: f.id,
62
+ title: f.title,
63
+ path: f.path,
64
+ folderId: f.folderId,
65
+ size: f.size,
66
+ status: f.status,
67
+ updatedAt: f.updatedAt,
68
+ })),
69
+ filesByFolder,
70
+ workspaceId: library.workspaceId,
71
+ createdAt: library.createdAt,
72
+ updatedAt: library.updatedAt,
73
+ };
74
+ let output = `📚 Context Library: ${library.name}\n\n`;
75
+ output += `ID: ${library.id}\n`;
76
+ output += `Slug: ${library.slug}\n`;
77
+ if (library.description) {
78
+ output += `Description: ${library.description}\n`;
79
+ }
80
+ output += `Type: ${library.isSystem ? `System (${library.systemType})` : 'Regular project'}\n`;
81
+ output += `\nFiles (${files.length}):\n`;
82
+ // Show files grouped by folder
83
+ Object.entries(filesByFolder).forEach(([folderId, folderFiles]) => {
84
+ const folderName = folderId === 'root' ? 'Root' : folderId;
85
+ output += `\n ${folderName}:\n`;
86
+ folderFiles.forEach((file) => {
87
+ output += ` - ${file.title} (${file.path})\n`;
88
+ });
89
+ });
90
+ output += `\n💡 Use list_files or get_project_structure for detailed file hierarchy.\n`;
91
+ output += `\nFull Details:\n${JSON.stringify(formattedLibrary, null, 2)}`;
92
+ return {
93
+ content: [
94
+ {
95
+ type: 'text',
96
+ text: output,
97
+ },
98
+ ],
99
+ };
100
+ }
101
+ catch (error) {
102
+ return {
103
+ content: [
104
+ {
105
+ type: 'text',
106
+ text: `Error getting context library: ${error instanceof Error ? error.message : 'Unknown error'}`,
107
+ },
108
+ ],
109
+ isError: true,
110
+ };
111
+ }
112
+ }
113
+ //# sourceMappingURL=get-context-library.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-context-library.js","sourceRoot":"","sources":["../../src/tools/get-context-library.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ import type { Tool } from '@modelcontextprotocol/sdk/types.js';
2
+ import type { AuthContext } from '../types.js';
3
+ export declare const getSkillTool: Tool;
4
+ export declare function getSkill(auth: AuthContext, args: any): Promise<{
5
+ content: {
6
+ type: string;
7
+ text: string;
8
+ }[];
9
+ isError: boolean;
10
+ } | {
11
+ content: {
12
+ type: string;
13
+ text: string;
14
+ }[];
15
+ isError?: never;
16
+ }>;
17
+ //# sourceMappingURL=get-skill.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-skill.d.ts","sourceRoot":"","sources":["../../src/tools/get-skill.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAC/D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAG/C,eAAO,MAAM,YAAY,EAAE,IAkB1B,CAAC;AAEF,wBAAsB,QAAQ,CAAC,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,GAAG;;;;;;;;;;;;GA2F1D"}
@@ -0,0 +1,104 @@
1
+ import { getApiClient } from '../api-client.js';
2
+ export const getSkillTool = {
3
+ name: 'get_skill',
4
+ description: 'Get detailed information about a specific skill including code, configuration, and associated files. Returns complete skill context including full implementation code.',
5
+ inputSchema: {
6
+ type: 'object',
7
+ properties: {
8
+ skillId: {
9
+ type: 'string',
10
+ description: 'Skill ID (project ID) to retrieve',
11
+ },
12
+ workspaceId: {
13
+ type: 'string',
14
+ description: 'Optional: workspace ID (uses default if not specified)',
15
+ },
16
+ },
17
+ required: ['skillId'],
18
+ },
19
+ };
20
+ export async function getSkill(auth, args) {
21
+ const { skillId, workspaceId } = args || {};
22
+ if (!skillId) {
23
+ return {
24
+ content: [
25
+ {
26
+ type: 'text',
27
+ text: 'skillId is required',
28
+ },
29
+ ],
30
+ isError: true,
31
+ };
32
+ }
33
+ const apiClient = getApiClient();
34
+ const targetWorkspaceId = workspaceId || auth.workspaceId;
35
+ try {
36
+ // Get skill details (skills are projects with systemType='skills')
37
+ const skill = await apiClient.getProject(targetWorkspaceId, skillId);
38
+ // Verify it's actually a skill
39
+ if (!skill.isSystem || skill.systemType !== 'skills') {
40
+ return {
41
+ content: [
42
+ {
43
+ type: 'text',
44
+ text: `Project ${skillId} is not a skill. It's a ${skill.isSystem ? skill.systemType : 'regular project'}.`,
45
+ },
46
+ ],
47
+ isError: true,
48
+ };
49
+ }
50
+ // Get files associated with the skill
51
+ const files = await apiClient.getFiles(skillId);
52
+ // Format the skill data
53
+ const formattedSkill = {
54
+ id: skill.id,
55
+ name: skill.name,
56
+ slug: skill.slug,
57
+ description: skill.description || null,
58
+ fileCount: skill.fileCount || files.length,
59
+ files: files.map((f) => ({
60
+ id: f.id,
61
+ title: f.title,
62
+ path: f.path,
63
+ size: f.size,
64
+ status: f.status,
65
+ updatedAt: f.updatedAt,
66
+ })),
67
+ workspaceId: skill.workspaceId,
68
+ createdAt: skill.createdAt,
69
+ updatedAt: skill.updatedAt,
70
+ };
71
+ let output = `📦 Skill: ${skill.name}\n\n`;
72
+ output += `ID: ${skill.id}\n`;
73
+ output += `Slug: ${skill.slug}\n`;
74
+ if (skill.description) {
75
+ output += `Description: ${skill.description}\n`;
76
+ }
77
+ output += `\nFiles (${files.length}):\n`;
78
+ files.forEach((file, index) => {
79
+ output += `${index + 1}. ${file.title} (${file.path})\n`;
80
+ });
81
+ output += `\n💡 Use get_file with a file ID to view the skill code.\n`;
82
+ output += `\nFull Details:\n${JSON.stringify(formattedSkill, null, 2)}`;
83
+ return {
84
+ content: [
85
+ {
86
+ type: 'text',
87
+ text: output,
88
+ },
89
+ ],
90
+ };
91
+ }
92
+ catch (error) {
93
+ return {
94
+ content: [
95
+ {
96
+ type: 'text',
97
+ text: `Error getting skill: ${error instanceof Error ? error.message : 'Unknown error'}`,
98
+ },
99
+ ],
100
+ isError: true,
101
+ };
102
+ }
103
+ }
104
+ //# sourceMappingURL=get-skill.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-skill.js","sourceRoot":"","sources":["../../src/tools/get-skill.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import type { Tool } from '@modelcontextprotocol/sdk/types.js';
2
+ import type { AuthContext } from '../types.js';
3
+ export declare const getWorkflowTool: Tool;
4
+ export declare function getWorkflow(_auth: AuthContext, args: any): Promise<{
5
+ content: {
6
+ type: string;
7
+ text: string;
8
+ }[];
9
+ }>;
10
+ //# sourceMappingURL=get-workflow.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-workflow.d.ts","sourceRoot":"","sources":["../../src/tools/get-workflow.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAC/D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAI/C,eAAO,MAAM,eAAe,EAAE,IAkB7B,CAAC;AAEF,wBAAsB,WAAW,CAAC,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,GAAG;;;;;GAuF9D"}
@@ -0,0 +1,93 @@
1
+ import { ContextiumApiClient } from '../api-client.js';
2
+ import { getCurrentProfile } from '../cli/credentials.js';
3
+ export const getWorkflowTool = {
4
+ name: 'get_workflow',
5
+ description: 'Get detailed information about a specific workflow including name, description, associated agents, tags, and metadata. Use load_workflow to get the complete workflow context with all resources (agents, skills, files).',
6
+ inputSchema: {
7
+ type: 'object',
8
+ properties: {
9
+ workflowId: {
10
+ type: 'string',
11
+ description: 'Workflow ID to retrieve',
12
+ },
13
+ workspaceId: {
14
+ type: 'string',
15
+ description: 'Optional: workspace ID (uses default if not specified)',
16
+ },
17
+ },
18
+ required: ['workflowId'],
19
+ },
20
+ };
21
+ export async function getWorkflow(_auth, args) {
22
+ const { workflowId, workspaceId } = args || {};
23
+ if (!workflowId) {
24
+ throw new Error('workflowId is required');
25
+ }
26
+ const profile = getCurrentProfile();
27
+ if (!profile || !profile.accessToken) {
28
+ throw new Error('Not authenticated');
29
+ }
30
+ const client = new ContextiumApiClient(profile.apiUrl || 'https://api.contextium.io/api/v1', profile.accessToken);
31
+ // Determine workspace ID
32
+ let targetWorkspaceId = workspaceId;
33
+ if (!targetWorkspaceId) {
34
+ const workspacesResponse = await client.get('/workspaces');
35
+ const workspaces = workspacesResponse.data || [];
36
+ if (workspaces.length === 0) {
37
+ throw new Error('No workspaces found');
38
+ }
39
+ targetWorkspaceId = workspaces[0].id;
40
+ }
41
+ // Get workflow details
42
+ const response = await client.get(`/workspaces/${targetWorkspaceId}/workflows/${workflowId}`);
43
+ const workflow = response.data;
44
+ // Format the workflow data
45
+ const formattedWorkflow = {
46
+ id: workflow.id,
47
+ name: workflow.name,
48
+ description: workflow.description || null,
49
+ agentIds: workflow.agentIds || [],
50
+ projectId: workflow.projectId || null,
51
+ tags: workflow.tags || [],
52
+ workspaceId: workflow.workspaceId,
53
+ createdAt: workflow.createdAt,
54
+ updatedAt: workflow.updatedAt,
55
+ };
56
+ let output = `🔄 Workflow: ${workflow.name}\n\n`;
57
+ output += `ID: ${workflow.id}\n`;
58
+ if (workflow.description) {
59
+ output += `Description: ${workflow.description}\n`;
60
+ }
61
+ output += `\nAgents (${workflow.agentIds?.length || 0}):\n`;
62
+ if (workflow.agentIds && workflow.agentIds.length > 0) {
63
+ workflow.agentIds.forEach((agentId, index) => {
64
+ output += `${index + 1}. ${agentId}\n`;
65
+ });
66
+ }
67
+ else {
68
+ output += ` No agents assigned\n`;
69
+ }
70
+ output += `\nTags (${workflow.tags?.length || 0}):\n`;
71
+ if (workflow.tags && workflow.tags.length > 0) {
72
+ workflow.tags.forEach((tag, index) => {
73
+ output += `${index + 1}. ${tag.value}`;
74
+ if (tag.color)
75
+ output += ` (${tag.color})`;
76
+ output += '\n';
77
+ });
78
+ }
79
+ else {
80
+ output += ` No tags assigned\n`;
81
+ }
82
+ output += `\n💡 Use load_workflow to get all resources (agents, skills, files) for this workflow.\n`;
83
+ output += `\nFull Details:\n${JSON.stringify(formattedWorkflow, null, 2)}`;
84
+ return {
85
+ content: [
86
+ {
87
+ type: 'text',
88
+ text: output,
89
+ },
90
+ ],
91
+ };
92
+ }
93
+ //# sourceMappingURL=get-workflow.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-workflow.js","sourceRoot":"","sources":["../../src/tools/get-workflow.ts"],"names":[],"mappings":"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"}
@@ -17,4 +17,8 @@ export * from './search-by-tags.js';
17
17
  export * from './list-tags.js';
18
18
  export * from './list-workflows.js';
19
19
  export * from './load-workflow.js';
20
+ export * from './get-agent.js';
21
+ export * from './get-skill.js';
22
+ export * from './get-workflow.js';
23
+ export * from './get-context-library.js';
20
24
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA,cAAc,2BAA2B,CAAC;AAC1C,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,wBAAwB,CAAC;AACvC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA,cAAc,2BAA2B,CAAC;AAC1C,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,wBAAwB,CAAC;AACvC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,0BAA0B,CAAC"}
@@ -17,4 +17,8 @@ export * from './search-by-tags.js';
17
17
  export * from './list-tags.js';
18
18
  export * from './list-workflows.js';
19
19
  export * from './load-workflow.js';
20
+ export * from './get-agent.js';
21
+ export * from './get-skill.js';
22
+ export * from './get-workflow.js';
23
+ export * from './get-context-library.js';
20
24
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA,cAAc,2BAA2B,CAAC;AAC1C,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,wBAAwB,CAAC;AACvC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA,cAAc,2BAA2B,CAAC;AAC1C,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,wBAAwB,CAAC;AACvC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,0BAA0B,CAAC"}
@@ -13,6 +13,11 @@ export declare const loadWorkflowTool: {
13
13
  type: string;
14
14
  description: string;
15
15
  };
16
+ includeFileContent: {
17
+ type: string;
18
+ description: string;
19
+ default: boolean;
20
+ };
16
21
  };
17
22
  required: string[];
18
23
  };
@@ -1 +1 @@
1
- {"version":3,"file":"load-workflow.d.ts","sourceRoot":"","sources":["../../src/tools/load-workflow.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAI/C,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;CAkB5B,CAAC;AAEF,wBAAsB,YAAY,CAAC,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,GAAG;;;;;GAgF/D"}
1
+ {"version":3,"file":"load-workflow.d.ts","sourceRoot":"","sources":["../../src/tools/load-workflow.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAI/C,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;CAuB5B,CAAC;AAEF,wBAAsB,YAAY,CAAC,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,GAAG;;;;;GAyK/D"}
@@ -2,7 +2,7 @@ import { ContextiumApiClient } from '../api-client.js';
2
2
  import { getCurrentProfile } from '../cli/credentials.js';
3
3
  export const loadWorkflowTool = {
4
4
  name: 'load_workflow',
5
- description: 'Load all files associated with a workflow. Returns all files that have ALL of the workflow\'s tags (AND logic), grouped by context library. Use this to quickly load everything you need for a specific task or context.',
5
+ description: 'Load all resources associated with a workflow including agents, skills, files, and context libraries. Returns the complete workflow context with all agents (full configuration and system prompts), skills (full code), files (from tags and assigned projects), and metadata. This provides everything needed to execute or understand the workflow in an LLM.',
6
6
  inputSchema: {
7
7
  type: 'object',
8
8
  properties: {
@@ -14,12 +14,17 @@ export const loadWorkflowTool = {
14
14
  type: 'string',
15
15
  description: 'Optional: workspace ID (uses default if not specified)',
16
16
  },
17
+ includeFileContent: {
18
+ type: 'boolean',
19
+ description: 'Optional: include full file content (default: false, only returns file metadata)',
20
+ default: false,
21
+ },
17
22
  },
18
23
  required: ['workflowId'],
19
24
  },
20
25
  };
21
26
  export async function loadWorkflow(_auth, args) {
22
- const { workflowId, workspaceId } = args || {};
27
+ const { workflowId, workspaceId, includeFileContent = false } = args || {};
23
28
  if (!workflowId) {
24
29
  throw new Error('workflowId is required');
25
30
  }
@@ -42,44 +47,130 @@ export async function loadWorkflow(_auth, args) {
42
47
  // Load workflow and its resources
43
48
  const response = await client.get(`/workspaces/${targetWorkspaceId}/workflows/${workflowId}/load`);
44
49
  const result = response.data;
45
- const { workflow, files, tagDetails } = result;
50
+ const { workflow, files, agents, skills, contextLibraries, tagDetails } = result;
46
51
  // Format tag details
47
- const formattedTags = tagDetails.map((t) => ({
52
+ const formattedTags = (tagDetails || []).map((t) => ({
48
53
  id: t.id,
49
54
  value: t.value,
50
55
  color: t.color,
51
56
  }));
52
- // Group files by context library
57
+ // Format agents
58
+ const formattedAgents = (agents || []).map((agent) => ({
59
+ id: agent.id,
60
+ name: agent.name,
61
+ description: agent.description,
62
+ fileCount: agent.fileCount,
63
+ }));
64
+ // Format skills
65
+ const formattedSkills = (skills || []).map((skill) => ({
66
+ id: skill.id,
67
+ name: skill.name,
68
+ description: skill.description,
69
+ fileCount: skill.fileCount,
70
+ }));
71
+ // Format context libraries
72
+ const formattedLibraries = (contextLibraries || []).map((lib) => ({
73
+ id: lib.id,
74
+ name: lib.name,
75
+ description: lib.description,
76
+ fileCount: lib.fileCount,
77
+ }));
78
+ // Group files by project type
53
79
  const filesByProject = {};
80
+ const filesByType = {
81
+ agents: [],
82
+ skills: [],
83
+ contextLibraries: [],
84
+ other: [],
85
+ };
54
86
  files.forEach((file) => {
55
87
  const projectId = file.projectId || 'unknown';
56
88
  if (!filesByProject[projectId]) {
57
89
  filesByProject[projectId] = [];
58
90
  }
59
- filesByProject[projectId].push({
91
+ const fileData = {
60
92
  id: file.id,
61
93
  title: file.title,
62
94
  path: file.path,
95
+ projectId: file.projectId,
63
96
  size: file.size,
64
97
  status: file.status,
65
98
  updatedAt: file.updatedAt,
66
- });
99
+ };
100
+ filesByProject[projectId].push(fileData);
101
+ // Categorize by type
102
+ const isAgent = agents.some((a) => a.id === projectId);
103
+ const isSkill = skills.some((s) => s.id === projectId);
104
+ const isLibrary = contextLibraries.some((l) => l.id === projectId);
105
+ if (isAgent) {
106
+ filesByType.agents.push(fileData);
107
+ }
108
+ else if (isSkill) {
109
+ filesByType.skills.push(fileData);
110
+ }
111
+ else if (isLibrary) {
112
+ filesByType.contextLibraries.push(fileData);
113
+ }
114
+ else {
115
+ filesByType.other.push(fileData);
116
+ }
67
117
  });
118
+ // Optionally load full file content
119
+ let filesWithContent = [];
120
+ if (includeFileContent && files.length > 0) {
121
+ // Note: This could be slow for large workflows
122
+ // Consider adding pagination or limits
123
+ for (const file of files) {
124
+ try {
125
+ const fileResponse = await client.get(`/files/${file.id}`);
126
+ filesWithContent.push({
127
+ id: file.id,
128
+ title: file.title,
129
+ path: file.path,
130
+ content: fileResponse.data.content,
131
+ projectId: file.projectId,
132
+ });
133
+ }
134
+ catch (error) {
135
+ // Skip files that can't be loaded
136
+ console.error(`Failed to load file ${file.id}:`, error);
137
+ }
138
+ }
139
+ }
140
+ const summary = {
141
+ message: `Loaded workflow "${workflow.name}"`,
142
+ resources: {
143
+ agents: formattedAgents.length,
144
+ skills: formattedSkills.length,
145
+ contextLibraries: formattedLibraries.length,
146
+ files: files.length,
147
+ tags: formattedTags.length,
148
+ },
149
+ workflow: {
150
+ id: workflow.id,
151
+ name: workflow.name,
152
+ description: workflow.description || null,
153
+ agentIds: workflow.agentIds || [],
154
+ projectId: workflow.projectId,
155
+ tags: formattedTags,
156
+ createdAt: workflow.createdAt,
157
+ updatedAt: workflow.updatedAt,
158
+ },
159
+ agents: formattedAgents,
160
+ skills: formattedSkills,
161
+ contextLibraries: formattedLibraries,
162
+ files: filesByType,
163
+ filesByProject,
164
+ };
165
+ // Add file content if requested
166
+ if (includeFileContent) {
167
+ summary.filesWithContent = filesWithContent;
168
+ }
68
169
  return {
69
170
  content: [
70
171
  {
71
172
  type: 'text',
72
- text: JSON.stringify({
73
- message: `Loaded workflow "${workflow.name}" with ${files.length} file(s)`,
74
- workflow: {
75
- id: workflow.id,
76
- name: workflow.name,
77
- description: workflow.description || null,
78
- tags: formattedTags,
79
- },
80
- fileCount: files.length,
81
- filesByProject,
82
- }, null, 2),
173
+ text: JSON.stringify(summary, null, 2),
83
174
  },
84
175
  ],
85
176
  };
@@ -1 +1 @@
1
- {"version":3,"file":"load-workflow.js","sourceRoot":"","sources":["../../src/tools/load-workflow.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"load-workflow.js","sourceRoot":"","sources":["../../src/tools/load-workflow.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@contextium/mcp-server",
3
- "version": "0.3.0",
3
+ "version": "0.3.1",
4
4
  "description": "Central file system for team SOPs, coding standards, and AI constraints. AI follows your guidelines automatically.",
5
5
  "keywords": [
6
6
  "mcp",