outline-mcp-server 4.9.0 → 4.10.0
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/README.md +2 -4
- package/build/index.js +15 -21
- package/build/index.js.map +1 -1
- package/build/tools/archiveDocument.js +14 -14
- package/build/tools/archiveDocument.js.map +1 -1
- package/build/tools/createCollection.js +23 -22
- package/build/tools/createCollection.js.map +1 -1
- package/build/tools/createComment.js +21 -20
- package/build/tools/createComment.js.map +1 -1
- package/build/tools/createDocument.js +22 -21
- package/build/tools/createDocument.js.map +1 -1
- package/build/tools/deleteComment.js +13 -13
- package/build/tools/deleteComment.js.map +1 -1
- package/build/tools/deleteDocument.js +13 -12
- package/build/tools/deleteDocument.js.map +1 -1
- package/build/tools/getCollection.js +10 -9
- package/build/tools/getCollection.js.map +1 -1
- package/build/tools/getDocument.js +10 -9
- package/build/tools/getDocument.js.map +1 -1
- package/build/tools/listCollections.js +13 -12
- package/build/tools/listCollections.js.map +1 -1
- package/build/tools/listDocuments.js +41 -31
- package/build/tools/listDocuments.js.map +1 -1
- package/build/tools/listUsers.js +42 -41
- package/build/tools/listUsers.js.map +1 -1
- package/build/tools/moveDocument.js +21 -20
- package/build/tools/moveDocument.js.map +1 -1
- package/build/tools/searchDocuments.js +22 -14
- package/build/tools/searchDocuments.js.map +1 -1
- package/build/tools/updateCollection.js +27 -26
- package/build/tools/updateCollection.js.map +1 -1
- package/build/tools/updateComment.js +18 -17
- package/build/tools/updateComment.js.map +1 -1
- package/build/tools/updateDocument.js +23 -22
- package/build/tools/updateDocument.js.map +1 -1
- package/build/utils/importTools.d.ts +1 -1
- package/build/utils/importTools.d.ts.map +1 -1
- package/build/utils/importTools.js +2 -2
- package/build/utils/importTools.js.map +1 -1
- package/build/utils/listTools.d.ts +5 -5
- package/build/utils/listTools.d.ts.map +1 -1
- package/build/utils/listTools.js +4 -14
- package/build/utils/listTools.js.map +1 -1
- package/package.json +4 -4
package/README.md
CHANGED
@@ -94,11 +94,9 @@ OUTLINE_BASE_URL=https://your-outline-instance.com/api # Optional, defaults to
|
|
94
94
|
```
|
95
95
|
|
96
96
|
```bash
|
97
|
-
#
|
98
|
-
npm run
|
97
|
+
# Builds/watches the project alongside running @modelcontextprotocol/inspector
|
98
|
+
npm run dev
|
99
99
|
|
100
|
-
# Run the project as an stdio process
|
101
|
-
npm run start:stdio
|
102
100
|
```
|
103
101
|
|
104
102
|
## Contributing
|
package/build/index.js
CHANGED
@@ -3,47 +3,41 @@ import { Server } from '@modelcontextprotocol/sdk/server/index.js';
|
|
3
3
|
import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
|
4
4
|
import { CallToolRequestSchema, ErrorCode, ListToolsRequestSchema, McpError, } from '@modelcontextprotocol/sdk/types.js';
|
5
5
|
// Import tool definitions utility
|
6
|
-
import { getToolDefinitions
|
6
|
+
import { getToolDefinitions } from './utils/listTools.js';
|
7
7
|
import { registerTools } from './utils/importTools.js';
|
8
8
|
// Dynamically import all tool files
|
9
|
-
registerTools();
|
10
|
-
|
11
|
-
|
12
|
-
getToolDefinitions().forEach(tool => {
|
13
|
-
toolsCapabilities[tool.name] = true;
|
14
|
-
});
|
15
|
-
// Get the tool handlers
|
16
|
-
const toolHandlers = getToolHandlers();
|
9
|
+
await registerTools();
|
10
|
+
const toolDefinitions = getToolDefinitions();
|
11
|
+
console.log('\n', `loaded ${Object.keys(toolDefinitions).length} tools`, JSON.stringify(Object.keys(toolDefinitions)), '\n');
|
17
12
|
const server = new Server({
|
18
13
|
name: 'outline-mcp',
|
19
14
|
version: '1.0.0',
|
20
15
|
}, {
|
21
16
|
capabilities: {
|
22
|
-
tools:
|
17
|
+
tools: Object.entries(toolDefinitions).reduce((acc, [name, definition]) => {
|
18
|
+
acc[name] = true;
|
19
|
+
return acc;
|
20
|
+
}, {}),
|
23
21
|
},
|
24
22
|
});
|
25
23
|
// Register request handlers
|
26
24
|
server.setRequestHandler(ListToolsRequestSchema, async () => ({
|
27
|
-
tools:
|
25
|
+
tools: Object.keys(toolDefinitions),
|
28
26
|
}));
|
29
27
|
server.setRequestHandler(CallToolRequestSchema, async (request) => {
|
30
28
|
const { params } = request;
|
31
|
-
const
|
29
|
+
const toolName = params.name;
|
32
30
|
const parameters = params.arguments || {};
|
31
|
+
const toolDefinition = toolDefinitions[toolName];
|
33
32
|
try {
|
34
|
-
// Check if the tool is supported
|
35
|
-
if (!
|
36
|
-
return { error: { code: ErrorCode.InvalidRequest, message: `Tool ${tool} not supported` } };
|
37
|
-
}
|
38
|
-
// Get the handler for this tool
|
39
|
-
const handler = toolHandlers[tool];
|
40
|
-
if (!handler) {
|
33
|
+
// Check if the tool is supported
|
34
|
+
if (!toolDefinition) {
|
41
35
|
return {
|
42
|
-
error: { code: ErrorCode.InvalidRequest, message: `
|
36
|
+
error: { code: ErrorCode.InvalidRequest, message: `Tool ${toolName} not supported` },
|
43
37
|
};
|
44
38
|
}
|
45
39
|
// Call the handler with the provided parameters
|
46
|
-
const result = await handler(parameters);
|
40
|
+
const result = await toolDefinition.handler(parameters);
|
47
41
|
return {
|
48
42
|
content: [{ type: 'text', text: JSON.stringify(result, null, 2) }],
|
49
43
|
};
|
package/build/index.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EACL,qBAAqB,EACrB,SAAS,EACT,sBAAsB,EACtB,QAAQ,GACT,MAAM,oCAAoC,CAAC;AAE5C,kCAAkC;AAClC,OAAO,EAAE,kBAAkB,EAAE,
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
@@ -4,28 +4,28 @@ import { registerTool } from '../utils/listTools.js';
|
|
4
4
|
// Register this tool
|
5
5
|
registerTool({
|
6
6
|
name: 'archive_document',
|
7
|
-
description: 'Archive a document
|
7
|
+
description: 'Archive a document',
|
8
8
|
inputSchema: {
|
9
9
|
properties: {
|
10
10
|
id: {
|
11
11
|
type: 'string',
|
12
|
-
description: '
|
12
|
+
description: 'ID of the document to archive',
|
13
13
|
},
|
14
14
|
},
|
15
15
|
required: ['id'],
|
16
16
|
type: 'object',
|
17
17
|
},
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
}
|
18
|
+
handler: async function handleArchiveDocument(args) {
|
19
|
+
try {
|
20
|
+
const response = await outlineClient.post('/documents.archive', {
|
21
|
+
id: args.id,
|
22
|
+
});
|
23
|
+
return response.data.data;
|
24
|
+
}
|
25
|
+
catch (error) {
|
26
|
+
console.error('Error archiving document:', error.message);
|
27
|
+
throw new McpError(ErrorCode.InvalidRequest, error.message);
|
28
|
+
}
|
29
|
+
},
|
30
30
|
});
|
31
31
|
//# sourceMappingURL=archiveDocument.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"archiveDocument.js","sourceRoot":"","sources":["../../src/tools/archiveDocument.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAE7C,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAErD,qBAAqB;AACrB,YAAY,
|
1
|
+
{"version":3,"file":"archiveDocument.js","sourceRoot":"","sources":["../../src/tools/archiveDocument.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAE7C,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAErD,qBAAqB;AACrB,YAAY,CAAsB;IAChC,IAAI,EAAE,kBAAkB;IACxB,WAAW,EAAE,oBAAoB;IACjC,WAAW,EAAE;QACX,UAAU,EAAE;YACV,EAAE,EAAE;gBACF,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,+BAA+B;aAC7C;SACF;QACD,QAAQ,EAAE,CAAC,IAAI,CAAC;QAChB,IAAI,EAAE,QAAQ;KACf;IACD,OAAO,EAAE,KAAK,UAAU,qBAAqB,CAAC,IAAyB;QACrE,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,aAAa,CAAC,IAAI,CAAC,oBAAoB,EAAE;gBAC9D,EAAE,EAAE,IAAI,CAAC,EAAE;aACZ,CAAC,CAAC;YACH,OAAO,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;QAC5B,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,OAAO,CAAC,KAAK,CAAC,2BAA2B,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;YAC1D,MAAM,IAAI,QAAQ,CAAC,SAAS,CAAC,cAAc,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;QAC9D,CAAC;IACH,CAAC;CACF,CAAC,CAAC"}
|
@@ -31,29 +31,30 @@ registerTool({
|
|
31
31
|
required: ['name'],
|
32
32
|
type: 'object',
|
33
33
|
},
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
34
|
+
handler: async function handleCreateCollection(args) {
|
35
|
+
try {
|
36
|
+
const payload = {
|
37
|
+
name: args.name,
|
38
|
+
};
|
39
|
+
if (args.description !== undefined) {
|
40
|
+
payload.description = args.description;
|
41
|
+
}
|
42
|
+
if (args.permission !== undefined) {
|
43
|
+
payload.permission = args.permission;
|
44
|
+
}
|
45
|
+
if (args.color !== undefined) {
|
46
|
+
payload.color = args.color;
|
47
|
+
}
|
48
|
+
if (args.private !== undefined) {
|
49
|
+
payload.private = args.private;
|
50
|
+
}
|
51
|
+
const response = await outlineClient.post('/collections.create', payload);
|
52
|
+
return response.data.data;
|
41
53
|
}
|
42
|
-
|
43
|
-
|
54
|
+
catch (error) {
|
55
|
+
console.error('Error creating collection:', error.message);
|
56
|
+
throw new McpError(ErrorCode.InvalidRequest, error.message);
|
44
57
|
}
|
45
|
-
|
46
|
-
payload.color = args.color;
|
47
|
-
}
|
48
|
-
if (args.private !== undefined) {
|
49
|
-
payload.private = args.private;
|
50
|
-
}
|
51
|
-
const response = await outlineClient.post('/collections.create', payload);
|
52
|
-
return response.data.data;
|
53
|
-
}
|
54
|
-
catch (error) {
|
55
|
-
console.error('Error creating collection:', error.message);
|
56
|
-
throw new McpError(ErrorCode.InvalidRequest, error.message);
|
57
|
-
}
|
58
|
+
},
|
58
59
|
});
|
59
60
|
//# sourceMappingURL=createCollection.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"createCollection.js","sourceRoot":"","sources":["../../src/tools/createCollection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAE7C,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAErD,qBAAqB;AACrB,YAAY,
|
1
|
+
{"version":3,"file":"createCollection.js","sourceRoot":"","sources":["../../src/tools/createCollection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAE7C,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAErD,qBAAqB;AACrB,YAAY,CAAuB;IACjC,IAAI,EAAE,mBAAmB;IACzB,WAAW,EAAE,yBAAyB;IACtC,WAAW,EAAE;QACX,UAAU,EAAE;YACV,IAAI,EAAE;gBACJ,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,yBAAyB;aACvC;YACD,WAAW,EAAE;gBACX,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,8CAA8C;aAC5D;YACD,UAAU,EAAE;gBACV,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,wDAAwD;aACtE;YACD,KAAK,EAAE;gBACL,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,mCAAmC;aACjD;YACD,OAAO,EAAE;gBACP,IAAI,EAAE,SAAS;gBACf,WAAW,EAAE,oCAAoC;aAClD;SACF;QACD,QAAQ,EAAE,CAAC,MAAM,CAAC;QAClB,IAAI,EAAE,QAAQ;KACf;IACD,OAAO,EAAE,KAAK,UAAU,sBAAsB,CAAC,IAA0B;QACvE,IAAI,CAAC;YACH,MAAM,OAAO,GAAwB;gBACnC,IAAI,EAAE,IAAI,CAAC,IAAI;aAChB,CAAC;YAEF,IAAI,IAAI,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;gBACnC,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;YACzC,CAAC;YAED,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;gBAClC,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;YACvC,CAAC;YAED,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;gBAC7B,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;YAC7B,CAAC;YAED,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;gBAC/B,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;YACjC,CAAC;YAED,MAAM,QAAQ,GAAG,MAAM,aAAa,CAAC,IAAI,CAAC,qBAAqB,EAAE,OAAO,CAAC,CAAC;YAC1E,OAAO,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;QAC5B,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,OAAO,CAAC,KAAK,CAAC,4BAA4B,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;YAC3D,MAAM,IAAI,QAAQ,CAAC,SAAS,CAAC,cAAc,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;QAC9D,CAAC;IACH,CAAC;CACF,CAAC,CAAC"}
|
@@ -13,38 +13,39 @@ registerTool({
|
|
13
13
|
},
|
14
14
|
text: {
|
15
15
|
type: 'string',
|
16
|
-
description: '
|
16
|
+
description: 'Content of the comment in markdown format',
|
17
17
|
},
|
18
18
|
parentCommentId: {
|
19
19
|
type: 'string',
|
20
|
-
description: 'ID of the parent comment (if replying to
|
20
|
+
description: 'ID of the parent comment (if replying to a comment)',
|
21
21
|
},
|
22
22
|
data: {
|
23
23
|
type: 'object',
|
24
|
-
description: '
|
24
|
+
description: 'Additional data for the comment (optional)',
|
25
25
|
},
|
26
26
|
},
|
27
27
|
required: ['documentId', 'text'],
|
28
28
|
type: 'object',
|
29
29
|
},
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
30
|
+
handler: async function handleCreateComment(args) {
|
31
|
+
try {
|
32
|
+
const payload = {
|
33
|
+
documentId: args.documentId,
|
34
|
+
text: args.text,
|
35
|
+
};
|
36
|
+
if (args.parentCommentId) {
|
37
|
+
payload.parentCommentId = args.parentCommentId;
|
38
|
+
}
|
39
|
+
if (args.data) {
|
40
|
+
payload.data = args.data;
|
41
|
+
}
|
42
|
+
const response = await outlineClient.post('/comments.create', payload);
|
43
|
+
return response.data.data;
|
38
44
|
}
|
39
|
-
|
40
|
-
|
45
|
+
catch (error) {
|
46
|
+
console.error('Error creating comment:', error.message);
|
47
|
+
throw new McpError(ErrorCode.InvalidRequest, error.message);
|
41
48
|
}
|
42
|
-
|
43
|
-
return response.data.data;
|
44
|
-
}
|
45
|
-
catch (error) {
|
46
|
-
console.error('Error creating comment:', error.message);
|
47
|
-
throw new McpError(ErrorCode.InvalidRequest, error.message);
|
48
|
-
}
|
49
|
+
},
|
49
50
|
});
|
50
51
|
//# sourceMappingURL=createComment.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"createComment.js","sourceRoot":"","sources":["../../src/tools/createComment.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAE7C,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAErD,qBAAqB;AACrB,YAAY,
|
1
|
+
{"version":3,"file":"createComment.js","sourceRoot":"","sources":["../../src/tools/createComment.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAE7C,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAErD,qBAAqB;AACrB,YAAY,CAAoB;IAC9B,IAAI,EAAE,gBAAgB;IACtB,WAAW,EAAE,oCAAoC;IACjD,WAAW,EAAE;QACX,UAAU,EAAE;YACV,UAAU,EAAE;gBACV,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,kCAAkC;aAChD;YACD,IAAI,EAAE;gBACJ,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,2CAA2C;aACzD;YACD,eAAe,EAAE;gBACf,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,qDAAqD;aACnE;YACD,IAAI,EAAE;gBACJ,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,4CAA4C;aAC1D;SACF;QACD,QAAQ,EAAE,CAAC,YAAY,EAAE,MAAM,CAAC;QAChC,IAAI,EAAE,QAAQ;KACf;IACD,OAAO,EAAE,KAAK,UAAU,mBAAmB,CAAC,IAAuB;QACjE,IAAI,CAAC;YACH,MAAM,OAAO,GAAwB;gBACnC,UAAU,EAAE,IAAI,CAAC,UAAU;gBAC3B,IAAI,EAAE,IAAI,CAAC,IAAI;aAChB,CAAC;YAEF,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;gBACzB,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC;YACjD,CAAC;YAED,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;gBACd,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;YAC3B,CAAC;YAED,MAAM,QAAQ,GAAG,MAAM,aAAa,CAAC,IAAI,CAAC,kBAAkB,EAAE,OAAO,CAAC,CAAC;YACvE,OAAO,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;QAC5B,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,OAAO,CAAC,KAAK,CAAC,yBAAyB,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;YACxD,MAAM,IAAI,QAAQ,CAAC,SAAS,CAAC,cAAc,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;QAC9D,CAAC;IACH,CAAC;CACF,CAAC,CAAC"}
|
@@ -36,28 +36,29 @@ registerTool({
|
|
36
36
|
required: ['title', 'text', 'collectionId'],
|
37
37
|
type: 'object',
|
38
38
|
},
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
39
|
+
handler: async function handleCreateDocument(args) {
|
40
|
+
try {
|
41
|
+
const payload = {
|
42
|
+
title: args.title,
|
43
|
+
text: args.text,
|
44
|
+
collectionId: args.collectionId,
|
45
|
+
};
|
46
|
+
if (args.parentDocumentId) {
|
47
|
+
payload.parentDocumentId = args.parentDocumentId;
|
48
|
+
}
|
49
|
+
if (args.publish !== undefined) {
|
50
|
+
payload.publish = args.publish ?? true;
|
51
|
+
}
|
52
|
+
if (args.template !== undefined) {
|
53
|
+
payload.template = args.template;
|
54
|
+
}
|
55
|
+
const response = await outlineClient.post('/documents', payload);
|
56
|
+
return response.data.data;
|
48
57
|
}
|
49
|
-
|
50
|
-
|
58
|
+
catch (error) {
|
59
|
+
console.error('Error creating document:', error.message);
|
60
|
+
throw new McpError(ErrorCode.InvalidRequest, error.message);
|
51
61
|
}
|
52
|
-
|
53
|
-
payload.template = args.template;
|
54
|
-
}
|
55
|
-
const response = await outlineClient.post('/documents', payload);
|
56
|
-
return response.data.data;
|
57
|
-
}
|
58
|
-
catch (error) {
|
59
|
-
console.error('Error creating document:', error.message);
|
60
|
-
throw new McpError(ErrorCode.InvalidRequest, error.message);
|
61
|
-
}
|
62
|
+
},
|
62
63
|
});
|
63
64
|
//# sourceMappingURL=createDocument.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"createDocument.js","sourceRoot":"","sources":["../../src/tools/createDocument.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAE7C,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAErD,qBAAqB;AACrB,YAAY,
|
1
|
+
{"version":3,"file":"createDocument.js","sourceRoot":"","sources":["../../src/tools/createDocument.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAE7C,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAErD,qBAAqB;AACrB,YAAY,CAAqB;IAC/B,IAAI,EAAE,iBAAiB;IACvB,WAAW,EAAE,uBAAuB;IACpC,WAAW,EAAE;QACX,UAAU,EAAE;YACV,KAAK,EAAE;gBACL,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,uBAAuB;aACrC;YACD,IAAI,EAAE;gBACJ,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,4CAA4C;aAC1D;YACD,YAAY,EAAE;gBACZ,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,6CAA6C;aAC3D;YACD,gBAAgB,EAAE;gBAChB,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,2DAA2D;aACzE;YACD,OAAO,EAAE;gBACP,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,IAAI;gBACb,WAAW,EAAE,6CAA6C;aAC3D;YACD,QAAQ,EAAE;gBACR,IAAI,EAAE,SAAS;gBACf,WAAW,EAAE,qCAAqC;aACnD;SACF;QACD,QAAQ,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,cAAc,CAAC;QAC3C,IAAI,EAAE,QAAQ;KACf;IACD,OAAO,EAAE,KAAK,UAAU,oBAAoB,CAAC,IAAwB;QACnE,IAAI,CAAC;YACH,MAAM,OAAO,GAAwB;gBACnC,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,YAAY,EAAE,IAAI,CAAC,YAAY;aAChC,CAAC;YAEF,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBAC1B,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,CAAC;YACnD,CAAC;YAED,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;gBAC/B,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC;YACzC,CAAC;YAED,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;gBAChC,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;YACnC,CAAC;YAED,MAAM,QAAQ,GAAG,MAAM,aAAa,CAAC,IAAI,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;YACjE,OAAO,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;QAC5B,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,OAAO,CAAC,KAAK,CAAC,0BAA0B,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;YACzD,MAAM,IAAI,QAAQ,CAAC,SAAS,CAAC,cAAc,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;QAC9D,CAAC;IACH,CAAC;CACF,CAAC,CAAC"}
|
@@ -4,7 +4,7 @@ import { registerTool } from '../utils/listTools.js';
|
|
4
4
|
// Register this tool
|
5
5
|
registerTool({
|
6
6
|
name: 'delete_comment',
|
7
|
-
description: 'Delete
|
7
|
+
description: 'Delete a comment from a document',
|
8
8
|
inputSchema: {
|
9
9
|
properties: {
|
10
10
|
id: {
|
@@ -15,17 +15,17 @@ registerTool({
|
|
15
15
|
required: ['id'],
|
16
16
|
type: 'object',
|
17
17
|
},
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
}
|
18
|
+
handler: async function handleDeleteComment(args) {
|
19
|
+
try {
|
20
|
+
const response = await outlineClient.post('/comments.delete', {
|
21
|
+
id: args.id,
|
22
|
+
});
|
23
|
+
return response.data.success;
|
24
|
+
}
|
25
|
+
catch (error) {
|
26
|
+
console.error('Error deleting comment:', error.message);
|
27
|
+
throw new McpError(ErrorCode.InvalidRequest, error.message);
|
28
|
+
}
|
29
|
+
},
|
30
30
|
});
|
31
31
|
//# sourceMappingURL=deleteComment.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"deleteComment.js","sourceRoot":"","sources":["../../src/tools/deleteComment.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAE7C,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAErD,qBAAqB;AACrB,YAAY,
|
1
|
+
{"version":3,"file":"deleteComment.js","sourceRoot":"","sources":["../../src/tools/deleteComment.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAE7C,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAErD,qBAAqB;AACrB,YAAY,CAAoB;IAC9B,IAAI,EAAE,gBAAgB;IACtB,WAAW,EAAE,kCAAkC;IAC/C,WAAW,EAAE;QACX,UAAU,EAAE;YACV,EAAE,EAAE;gBACF,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,6BAA6B;aAC3C;SACF;QACD,QAAQ,EAAE,CAAC,IAAI,CAAC;QAChB,IAAI,EAAE,QAAQ;KACf;IACD,OAAO,EAAE,KAAK,UAAU,mBAAmB,CAAC,IAAuB;QACjE,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,aAAa,CAAC,IAAI,CAAC,kBAAkB,EAAE;gBAC5D,EAAE,EAAE,IAAI,CAAC,EAAE;aACZ,CAAC,CAAC;YACH,OAAO,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC;QAC/B,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,OAAO,CAAC,KAAK,CAAC,yBAAyB,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;YACxD,MAAM,IAAI,QAAQ,CAAC,SAAS,CAAC,cAAc,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;QAC9D,CAAC;IACH,CAAC;CACF,CAAC,CAAC"}
|
@@ -12,19 +12,20 @@ registerTool({
|
|
12
12
|
description: 'ID of the document to delete',
|
13
13
|
},
|
14
14
|
},
|
15
|
-
required: ['
|
15
|
+
required: ['id'],
|
16
16
|
type: 'object',
|
17
17
|
},
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
18
|
+
handler: async function handleDeleteDocument(args) {
|
19
|
+
try {
|
20
|
+
const response = await outlineClient.post('/documents.delete', {
|
21
|
+
id: args.id,
|
22
|
+
});
|
23
|
+
return response.data.success;
|
24
|
+
}
|
25
|
+
catch (error) {
|
26
|
+
console.error('Error deleting document:', error.message);
|
27
|
+
throw new McpError(ErrorCode.InvalidRequest, error.message);
|
28
|
+
}
|
29
|
+
},
|
29
30
|
});
|
30
31
|
//# sourceMappingURL=deleteDocument.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"deleteDocument.js","sourceRoot":"","sources":["../../src/tools/deleteDocument.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAE7C,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAErD,qBAAqB;AACrB,YAAY,
|
1
|
+
{"version":3,"file":"deleteDocument.js","sourceRoot":"","sources":["../../src/tools/deleteDocument.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAE7C,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAErD,qBAAqB;AACrB,YAAY,CAAqB;IAC/B,IAAI,EAAE,iBAAiB;IACvB,WAAW,EAAE,mBAAmB;IAChC,WAAW,EAAE;QACX,UAAU,EAAE;YACV,EAAE,EAAE;gBACF,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,8BAA8B;aAC5C;SACF;QACD,QAAQ,EAAE,CAAC,IAAI,CAAC;QAChB,IAAI,EAAE,QAAQ;KACf;IACD,OAAO,EAAE,KAAK,UAAU,oBAAoB,CAAC,IAAwB;QACnE,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,aAAa,CAAC,IAAI,CAAC,mBAAmB,EAAE;gBAC7D,EAAE,EAAE,IAAI,CAAC,EAAE;aACZ,CAAC,CAAC;YACH,OAAO,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC;QAC/B,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,OAAO,CAAC,KAAK,CAAC,0BAA0B,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;YACzD,MAAM,IAAI,QAAQ,CAAC,SAAS,CAAC,cAAc,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;QAC9D,CAAC;IACH,CAAC;CACF,CAAC,CAAC"}
|
@@ -15,14 +15,15 @@ registerTool({
|
|
15
15
|
required: ['id'],
|
16
16
|
type: 'object',
|
17
17
|
},
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
18
|
+
handler: async function handleGetCollection(args) {
|
19
|
+
try {
|
20
|
+
const response = await outlineClient.post(`/collections.info`, { id: args.id });
|
21
|
+
return response.data.data;
|
22
|
+
}
|
23
|
+
catch (error) {
|
24
|
+
console.error('Error getting collection:', error.message);
|
25
|
+
throw new McpError(ErrorCode.InvalidRequest, error.message);
|
26
|
+
}
|
27
|
+
},
|
27
28
|
});
|
28
29
|
//# sourceMappingURL=getCollection.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"getCollection.js","sourceRoot":"","sources":["../../src/tools/getCollection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAE7C,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAErD,qBAAqB;AACrB,YAAY,
|
1
|
+
{"version":3,"file":"getCollection.js","sourceRoot":"","sources":["../../src/tools/getCollection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAE7C,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAErD,qBAAqB;AACrB,YAAY,CAAoB;IAC9B,IAAI,EAAE,gBAAgB;IACtB,WAAW,EAAE,yCAAyC;IACtD,WAAW,EAAE;QACX,UAAU,EAAE;YACV,EAAE,EAAE;gBACF,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,kCAAkC;aAChD;SACF;QACD,QAAQ,EAAE,CAAC,IAAI,CAAC;QAChB,IAAI,EAAE,QAAQ;KACf;IACD,OAAO,EAAE,KAAK,UAAU,mBAAmB,CAAC,IAAuB;QACjE,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,aAAa,CAAC,IAAI,CAAC,mBAAmB,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;YAChF,OAAO,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;QAC5B,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,OAAO,CAAC,KAAK,CAAC,2BAA2B,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;YAC1D,MAAM,IAAI,QAAQ,CAAC,SAAS,CAAC,cAAc,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;QAC9D,CAAC;IACH,CAAC;CACF,CAAC,CAAC"}
|
@@ -14,14 +14,15 @@ registerTool({
|
|
14
14
|
},
|
15
15
|
type: 'object',
|
16
16
|
},
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
17
|
+
handler: async function handleGetDocument(args) {
|
18
|
+
try {
|
19
|
+
const response = await outlineClient.post('/documents.info', { id: args.id });
|
20
|
+
return response.data.data;
|
21
|
+
}
|
22
|
+
catch (error) {
|
23
|
+
console.error('Error getting document:', error.message);
|
24
|
+
throw new McpError(ErrorCode.InvalidRequest, error.message);
|
25
|
+
}
|
26
|
+
},
|
26
27
|
});
|
27
28
|
//# sourceMappingURL=getDocument.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"getDocument.js","sourceRoot":"","sources":["../../src/tools/getDocument.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAE7C,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAErD,qBAAqB;AACrB,YAAY,
|
1
|
+
{"version":3,"file":"getDocument.js","sourceRoot":"","sources":["../../src/tools/getDocument.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAE7C,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAErD,qBAAqB;AACrB,YAAY,CAAkB;IAC5B,IAAI,EAAE,cAAc;IACpB,WAAW,EAAE,8EAA8E;IAC3F,WAAW,EAAE;QACX,UAAU,EAAE;YACV,EAAE,EAAE;gBACF,IAAI,EAAE,QAAQ;gBACd,WAAW,EACT,gFAAgF;aACnF;SACF;QACD,IAAI,EAAE,QAAQ;KACf;IACD,OAAO,EAAE,KAAK,UAAU,iBAAiB,CAAC,IAAqB;QAC7D,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,aAAa,CAAC,IAAI,CAAC,iBAAiB,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;YAC9E,OAAO,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;QAC5B,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,OAAO,CAAC,KAAK,CAAC,yBAAyB,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;YACxD,MAAM,IAAI,QAAQ,CAAC,SAAS,CAAC,cAAc,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;QAC9D,CAAC;IACH,CAAC;CACF,CAAC,CAAC"}
|
@@ -14,18 +14,19 @@ registerTool({
|
|
14
14
|
},
|
15
15
|
type: 'object',
|
16
16
|
},
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
17
|
+
handler: async function handleListCollections(args) {
|
18
|
+
try {
|
19
|
+
const payload = {};
|
20
|
+
if (args.limit) {
|
21
|
+
payload.limit = args.limit;
|
22
|
+
}
|
23
|
+
const response = await outlineClient.post('/collections.list', payload);
|
24
|
+
return response.data.data;
|
22
25
|
}
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
throw new McpError(ErrorCode.InvalidRequest, error.message);
|
29
|
-
}
|
26
|
+
catch (error) {
|
27
|
+
console.error('Error listing collections:', error.message);
|
28
|
+
throw new McpError(ErrorCode.InvalidRequest, error.message);
|
29
|
+
}
|
30
|
+
},
|
30
31
|
});
|
31
32
|
//# sourceMappingURL=listCollections.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"listCollections.js","sourceRoot":"","sources":["../../src/tools/listCollections.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAE7C,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAErD,qBAAqB;AACrB,YAAY,
|
1
|
+
{"version":3,"file":"listCollections.js","sourceRoot":"","sources":["../../src/tools/listCollections.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAE7C,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAErD,qBAAqB;AACrB,YAAY,CAAsB;IAChC,IAAI,EAAE,kBAAkB;IACxB,WAAW,EAAE,+CAA+C;IAC5D,WAAW,EAAE;QACX,UAAU,EAAE;YACV,KAAK,EAAE;gBACL,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,oDAAoD;aAClE;SACF;QACD,IAAI,EAAE,QAAQ;KACf;IACD,OAAO,EAAE,KAAK,UAAU,qBAAqB,CAAC,IAAyB;QACrE,IAAI,CAAC;YACH,MAAM,OAAO,GAAwB,EAAE,CAAC;YAExC,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;YAC7B,CAAC;YAED,MAAM,QAAQ,GAAG,MAAM,aAAa,CAAC,IAAI,CAAC,mBAAmB,EAAE,OAAO,CAAC,CAAC;YACxE,OAAO,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;QAC5B,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,OAAO,CAAC,KAAK,CAAC,4BAA4B,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;YAC3D,MAAM,IAAI,QAAQ,CAAC,SAAS,CAAC,cAAc,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;QAC9D,CAAC;IACH,CAAC;CACF,CAAC,CAAC"}
|