outline-mcp-server 4.11.0 → 4.12.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.
- package/README.md +2 -0
- package/build/e2e/archiveDocument.spec.d.ts +2 -0
- package/build/e2e/archiveDocument.spec.d.ts.map +1 -0
- package/build/e2e/archiveDocument.spec.js +8 -0
- package/build/e2e/archiveDocument.spec.js.map +1 -0
- package/build/e2e/askDocuments.spec.d.ts +2 -0
- package/build/e2e/askDocuments.spec.d.ts.map +1 -0
- package/build/e2e/askDocuments.spec.js +8 -0
- package/build/e2e/askDocuments.spec.js.map +1 -0
- package/build/e2e/createCollection.spec.d.ts +2 -0
- package/build/e2e/createCollection.spec.d.ts.map +1 -0
- package/build/e2e/createCollection.spec.js +8 -0
- package/build/e2e/createCollection.spec.js.map +1 -0
- package/build/e2e/createComment.spec.d.ts +2 -0
- package/build/e2e/createComment.spec.d.ts.map +1 -0
- package/build/e2e/createComment.spec.js +8 -0
- package/build/e2e/createComment.spec.js.map +1 -0
- package/build/e2e/createDocument.spec.d.ts +2 -0
- package/build/e2e/createDocument.spec.d.ts.map +1 -0
- package/build/e2e/createDocument.spec.js +8 -0
- package/build/e2e/createDocument.spec.js.map +1 -0
- package/build/e2e/createTemplateFromDocument.spec.d.ts +2 -0
- package/build/e2e/createTemplateFromDocument.spec.d.ts.map +1 -0
- package/build/e2e/createTemplateFromDocument.spec.js +8 -0
- package/build/e2e/createTemplateFromDocument.spec.js.map +1 -0
- package/build/e2e/deleteComment.spec.d.ts +2 -0
- package/build/e2e/deleteComment.spec.d.ts.map +1 -0
- package/build/e2e/deleteComment.spec.js +8 -0
- package/build/e2e/deleteComment.spec.js.map +1 -0
- package/build/e2e/deleteDocument.spec.d.ts +2 -0
- package/build/e2e/deleteDocument.spec.d.ts.map +1 -0
- package/build/e2e/deleteDocument.spec.js +8 -0
- package/build/e2e/deleteDocument.spec.js.map +1 -0
- package/build/e2e/getCollection.spec.d.ts +2 -0
- package/build/e2e/getCollection.spec.d.ts.map +1 -0
- package/build/e2e/getCollection.spec.js +8 -0
- package/build/e2e/getCollection.spec.js.map +1 -0
- package/build/e2e/getDocument.spec.d.ts +2 -0
- package/build/e2e/getDocument.spec.d.ts.map +1 -0
- package/build/e2e/getDocument.spec.js +8 -0
- package/build/e2e/getDocument.spec.js.map +1 -0
- package/build/e2e/listCollections.spec.d.ts +2 -0
- package/build/e2e/listCollections.spec.d.ts.map +1 -0
- package/build/e2e/listCollections.spec.js +8 -0
- package/build/e2e/listCollections.spec.js.map +1 -0
- package/build/e2e/listDocuments.spec.d.ts +2 -0
- package/build/e2e/listDocuments.spec.d.ts.map +1 -0
- package/build/e2e/listDocuments.spec.js +8 -0
- package/build/e2e/listDocuments.spec.js.map +1 -0
- package/build/e2e/moveDocument.spec.d.ts +2 -0
- package/build/e2e/moveDocument.spec.d.ts.map +1 -0
- package/build/e2e/moveDocument.spec.js +8 -0
- package/build/e2e/moveDocument.spec.js.map +1 -0
- package/build/e2e/searchDocuments.spec.d.ts +2 -0
- package/build/e2e/searchDocuments.spec.d.ts.map +1 -0
- package/build/e2e/searchDocuments.spec.js +8 -0
- package/build/e2e/searchDocuments.spec.js.map +1 -0
- package/build/e2e/setup.d.ts +11 -0
- package/build/e2e/setup.d.ts.map +1 -0
- package/build/e2e/setup.js +34 -0
- package/build/e2e/setup.js.map +1 -0
- package/build/e2e/updateCollection.spec.d.ts +2 -0
- package/build/e2e/updateCollection.spec.d.ts.map +1 -0
- package/build/e2e/updateCollection.spec.js +8 -0
- package/build/e2e/updateCollection.spec.js.map +1 -0
- package/build/e2e/updateComment.spec.d.ts +2 -0
- package/build/e2e/updateComment.spec.d.ts.map +1 -0
- package/build/e2e/updateComment.spec.js +8 -0
- package/build/e2e/updateComment.spec.js.map +1 -0
- package/build/e2e/updateDocument.spec.d.ts +2 -0
- package/build/e2e/updateDocument.spec.d.ts.map +1 -0
- package/build/e2e/updateDocument.spec.js +8 -0
- package/build/e2e/updateDocument.spec.js.map +1 -0
- package/build/e2e/util/smokeTest.d.ts +3 -0
- package/build/e2e/util/smokeTest.d.ts.map +1 -0
- package/build/e2e/util/smokeTest.js +89 -0
- package/build/e2e/util/smokeTest.js.map +1 -0
- package/build/index.js +1 -3
- package/build/index.js.map +1 -1
- package/build/tools/createTemplateFromDocument.d.ts +2 -0
- package/build/tools/createTemplateFromDocument.d.ts.map +1 -0
- package/build/tools/createTemplateFromDocument.js +32 -0
- package/build/tools/createTemplateFromDocument.js.map +1 -0
- package/build/tools/getDocument.js +1 -0
- package/build/tools/getDocument.js.map +1 -1
- package/build/types.d.ts +3 -0
- package/build/types.d.ts.map +1 -1
- package/build/utils/importTools.d.ts +2 -1
- package/build/utils/importTools.d.ts.map +1 -1
- package/build/utils/importTools.js +4 -1
- package/build/utils/importTools.js.map +1 -1
- package/package.json +7 -2
package/README.md
CHANGED
@@ -13,6 +13,7 @@ A Model Context Protocol (MCP) server that provides tools for interacting with [
|
|
13
13
|
- ✅ List documents
|
14
14
|
- ✅ Search documents
|
15
15
|
- ✅ Ask natural language questions about documents
|
16
|
+
- ✅ Create templates from existing documents
|
16
17
|
- ✅ Move documents to different collections or locations
|
17
18
|
- ✅ Archive documents
|
18
19
|
|
@@ -74,6 +75,7 @@ Example queries your AI assistant can now handle:
|
|
74
75
|
- "Create a new document in the 'Product' collection"
|
75
76
|
- "Find all documents related to a specific topic"
|
76
77
|
- "Ask a natural language question about your documents"
|
78
|
+
- "Create a template from an existing document"
|
77
79
|
- "Update the content of a document"
|
78
80
|
- "Add a comment to a document"
|
79
81
|
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"archiveDocument.spec.d.ts","sourceRoot":"","sources":["../../src/e2e/archiveDocument.spec.ts"],"names":[],"mappings":""}
|
@@ -0,0 +1,8 @@
|
|
1
|
+
import test from '@playwright/test';
|
2
|
+
import runSmokeTestForTool from './util/smokeTest';
|
3
|
+
test.describe('archive_document', () => {
|
4
|
+
test('passes a smoke test', async ({ page }) => {
|
5
|
+
await runSmokeTestForTool(page, 'archive_document');
|
6
|
+
});
|
7
|
+
});
|
8
|
+
//# sourceMappingURL=archiveDocument.spec.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"archiveDocument.spec.js","sourceRoot":"","sources":["../../src/e2e/archiveDocument.spec.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,kBAAkB,CAAC;AACpC,OAAO,mBAAmB,MAAM,kBAAkB,CAAC;AAEnD,IAAI,CAAC,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;IACrC,IAAI,CAAC,qBAAqB,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE;QAC7C,MAAM,mBAAmB,CAAC,IAAI,EAAE,kBAAkB,CAAC,CAAC;IACtD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"askDocuments.spec.d.ts","sourceRoot":"","sources":["../../src/e2e/askDocuments.spec.ts"],"names":[],"mappings":""}
|
@@ -0,0 +1,8 @@
|
|
1
|
+
import test from '@playwright/test';
|
2
|
+
import runSmokeTestForTool from './util/smokeTest';
|
3
|
+
test.describe('ask_documents', () => {
|
4
|
+
test('passes a smoke test', async ({ page }) => {
|
5
|
+
await runSmokeTestForTool(page, 'ask_documents');
|
6
|
+
});
|
7
|
+
});
|
8
|
+
//# sourceMappingURL=askDocuments.spec.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"askDocuments.spec.js","sourceRoot":"","sources":["../../src/e2e/askDocuments.spec.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,kBAAkB,CAAC;AACpC,OAAO,mBAAmB,MAAM,kBAAkB,CAAC;AAEnD,IAAI,CAAC,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;IAClC,IAAI,CAAC,qBAAqB,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE;QAC7C,MAAM,mBAAmB,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC;IACnD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"createCollection.spec.d.ts","sourceRoot":"","sources":["../../src/e2e/createCollection.spec.ts"],"names":[],"mappings":""}
|
@@ -0,0 +1,8 @@
|
|
1
|
+
import test from '@playwright/test';
|
2
|
+
import runSmokeTestForTool from './util/smokeTest';
|
3
|
+
test.describe('create_collection', () => {
|
4
|
+
test('passes a smoke test', async ({ page }) => {
|
5
|
+
await runSmokeTestForTool(page, 'create_collection');
|
6
|
+
});
|
7
|
+
});
|
8
|
+
//# sourceMappingURL=createCollection.spec.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"createCollection.spec.js","sourceRoot":"","sources":["../../src/e2e/createCollection.spec.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,kBAAkB,CAAC;AACpC,OAAO,mBAAmB,MAAM,kBAAkB,CAAC;AAEnD,IAAI,CAAC,QAAQ,CAAC,mBAAmB,EAAE,GAAG,EAAE;IACtC,IAAI,CAAC,qBAAqB,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE;QAC7C,MAAM,mBAAmB,CAAC,IAAI,EAAE,mBAAmB,CAAC,CAAC;IACvD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"createComment.spec.d.ts","sourceRoot":"","sources":["../../src/e2e/createComment.spec.ts"],"names":[],"mappings":""}
|
@@ -0,0 +1,8 @@
|
|
1
|
+
import test from '@playwright/test';
|
2
|
+
import runSmokeTestForTool from './util/smokeTest';
|
3
|
+
test.describe('create_comment', () => {
|
4
|
+
test('passes a smoke test', async ({ page }) => {
|
5
|
+
await runSmokeTestForTool(page, 'create_comment');
|
6
|
+
});
|
7
|
+
});
|
8
|
+
//# sourceMappingURL=createComment.spec.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"createComment.spec.js","sourceRoot":"","sources":["../../src/e2e/createComment.spec.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,kBAAkB,CAAC;AACpC,OAAO,mBAAmB,MAAM,kBAAkB,CAAC;AAEnD,IAAI,CAAC,QAAQ,CAAC,gBAAgB,EAAE,GAAG,EAAE;IACnC,IAAI,CAAC,qBAAqB,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE;QAC7C,MAAM,mBAAmB,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC;IACpD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"createDocument.spec.d.ts","sourceRoot":"","sources":["../../src/e2e/createDocument.spec.ts"],"names":[],"mappings":""}
|
@@ -0,0 +1,8 @@
|
|
1
|
+
import test from '@playwright/test';
|
2
|
+
import runSmokeTestForTool from './util/smokeTest';
|
3
|
+
test.describe('create_document', () => {
|
4
|
+
test('passes a smoke test', async ({ page }) => {
|
5
|
+
await runSmokeTestForTool(page, 'create_document');
|
6
|
+
});
|
7
|
+
});
|
8
|
+
//# sourceMappingURL=createDocument.spec.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"createDocument.spec.js","sourceRoot":"","sources":["../../src/e2e/createDocument.spec.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,kBAAkB,CAAC;AACpC,OAAO,mBAAmB,MAAM,kBAAkB,CAAC;AAEnD,IAAI,CAAC,QAAQ,CAAC,iBAAiB,EAAE,GAAG,EAAE;IACpC,IAAI,CAAC,qBAAqB,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE;QAC7C,MAAM,mBAAmB,CAAC,IAAI,EAAE,iBAAiB,CAAC,CAAC;IACrD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"createTemplateFromDocument.spec.d.ts","sourceRoot":"","sources":["../../src/e2e/createTemplateFromDocument.spec.ts"],"names":[],"mappings":""}
|
@@ -0,0 +1,8 @@
|
|
1
|
+
import test from '@playwright/test';
|
2
|
+
import runSmokeTestForTool from './util/smokeTest';
|
3
|
+
test.describe('create_template_from_document', () => {
|
4
|
+
test('passes a smoke test', async ({ page }) => {
|
5
|
+
await runSmokeTestForTool(page, 'create_template_from_document');
|
6
|
+
});
|
7
|
+
});
|
8
|
+
//# sourceMappingURL=createTemplateFromDocument.spec.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"createTemplateFromDocument.spec.js","sourceRoot":"","sources":["../../src/e2e/createTemplateFromDocument.spec.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,kBAAkB,CAAC;AACpC,OAAO,mBAAmB,MAAM,kBAAkB,CAAC;AAEnD,IAAI,CAAC,QAAQ,CAAC,+BAA+B,EAAE,GAAG,EAAE;IAClD,IAAI,CAAC,qBAAqB,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE;QAC7C,MAAM,mBAAmB,CAAC,IAAI,EAAE,+BAA+B,CAAC,CAAC;IACnE,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"deleteComment.spec.d.ts","sourceRoot":"","sources":["../../src/e2e/deleteComment.spec.ts"],"names":[],"mappings":""}
|
@@ -0,0 +1,8 @@
|
|
1
|
+
import test from '@playwright/test';
|
2
|
+
import runSmokeTestForTool from './util/smokeTest';
|
3
|
+
test.describe('delete_comment', () => {
|
4
|
+
test('passes a smoke test', async ({ page }) => {
|
5
|
+
await runSmokeTestForTool(page, 'delete_comment');
|
6
|
+
});
|
7
|
+
});
|
8
|
+
//# sourceMappingURL=deleteComment.spec.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"deleteComment.spec.js","sourceRoot":"","sources":["../../src/e2e/deleteComment.spec.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,kBAAkB,CAAC;AACpC,OAAO,mBAAmB,MAAM,kBAAkB,CAAC;AAEnD,IAAI,CAAC,QAAQ,CAAC,gBAAgB,EAAE,GAAG,EAAE;IACnC,IAAI,CAAC,qBAAqB,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE;QAC7C,MAAM,mBAAmB,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC;IACpD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"deleteDocument.spec.d.ts","sourceRoot":"","sources":["../../src/e2e/deleteDocument.spec.ts"],"names":[],"mappings":""}
|
@@ -0,0 +1,8 @@
|
|
1
|
+
import test from '@playwright/test';
|
2
|
+
import runSmokeTestForTool from './util/smokeTest';
|
3
|
+
test.describe('delete_document', () => {
|
4
|
+
test('passes a smoke test', async ({ page }) => {
|
5
|
+
await runSmokeTestForTool(page, 'delete_document');
|
6
|
+
});
|
7
|
+
});
|
8
|
+
//# sourceMappingURL=deleteDocument.spec.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"deleteDocument.spec.js","sourceRoot":"","sources":["../../src/e2e/deleteDocument.spec.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,kBAAkB,CAAC;AACpC,OAAO,mBAAmB,MAAM,kBAAkB,CAAC;AAEnD,IAAI,CAAC,QAAQ,CAAC,iBAAiB,EAAE,GAAG,EAAE;IACpC,IAAI,CAAC,qBAAqB,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE;QAC7C,MAAM,mBAAmB,CAAC,IAAI,EAAE,iBAAiB,CAAC,CAAC;IACrD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"getCollection.spec.d.ts","sourceRoot":"","sources":["../../src/e2e/getCollection.spec.ts"],"names":[],"mappings":""}
|
@@ -0,0 +1,8 @@
|
|
1
|
+
import test from '@playwright/test';
|
2
|
+
import runSmokeTestForTool from './util/smokeTest';
|
3
|
+
test.describe('get_collection', () => {
|
4
|
+
test('passes a smoke test', async ({ page }) => {
|
5
|
+
await runSmokeTestForTool(page, 'get_collection');
|
6
|
+
});
|
7
|
+
});
|
8
|
+
//# sourceMappingURL=getCollection.spec.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"getCollection.spec.js","sourceRoot":"","sources":["../../src/e2e/getCollection.spec.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,kBAAkB,CAAC;AACpC,OAAO,mBAAmB,MAAM,kBAAkB,CAAC;AAEnD,IAAI,CAAC,QAAQ,CAAC,gBAAgB,EAAE,GAAG,EAAE;IACnC,IAAI,CAAC,qBAAqB,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE;QAC7C,MAAM,mBAAmB,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC;IACpD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"getDocument.spec.d.ts","sourceRoot":"","sources":["../../src/e2e/getDocument.spec.ts"],"names":[],"mappings":""}
|
@@ -0,0 +1,8 @@
|
|
1
|
+
import test from '@playwright/test';
|
2
|
+
import runSmokeTestForTool from './util/smokeTest';
|
3
|
+
test.describe('get_document', () => {
|
4
|
+
test('passes a smoke test', async ({ page }) => {
|
5
|
+
await runSmokeTestForTool(page, 'get_document');
|
6
|
+
});
|
7
|
+
});
|
8
|
+
//# sourceMappingURL=getDocument.spec.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"getDocument.spec.js","sourceRoot":"","sources":["../../src/e2e/getDocument.spec.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,kBAAkB,CAAC;AACpC,OAAO,mBAAmB,MAAM,kBAAkB,CAAC;AAEnD,IAAI,CAAC,QAAQ,CAAC,cAAc,EAAE,GAAG,EAAE;IACjC,IAAI,CAAC,qBAAqB,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE;QAC7C,MAAM,mBAAmB,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;IAClD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"listCollections.spec.d.ts","sourceRoot":"","sources":["../../src/e2e/listCollections.spec.ts"],"names":[],"mappings":""}
|
@@ -0,0 +1,8 @@
|
|
1
|
+
import test from '@playwright/test';
|
2
|
+
import runSmokeTestForTool from './util/smokeTest';
|
3
|
+
test.describe('list_collections', () => {
|
4
|
+
test('passes a smoke test', async ({ page }) => {
|
5
|
+
await runSmokeTestForTool(page, 'list_collections');
|
6
|
+
});
|
7
|
+
});
|
8
|
+
//# sourceMappingURL=listCollections.spec.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"listCollections.spec.js","sourceRoot":"","sources":["../../src/e2e/listCollections.spec.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,kBAAkB,CAAC;AACpC,OAAO,mBAAmB,MAAM,kBAAkB,CAAC;AAEnD,IAAI,CAAC,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;IACrC,IAAI,CAAC,qBAAqB,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE;QAC7C,MAAM,mBAAmB,CAAC,IAAI,EAAE,kBAAkB,CAAC,CAAC;IACtD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"listDocuments.spec.d.ts","sourceRoot":"","sources":["../../src/e2e/listDocuments.spec.ts"],"names":[],"mappings":""}
|
@@ -0,0 +1,8 @@
|
|
1
|
+
import test from '@playwright/test';
|
2
|
+
import runSmokeTestForTool from './util/smokeTest';
|
3
|
+
test.describe('list_documents', () => {
|
4
|
+
test('passes a smoke test', async ({ page }) => {
|
5
|
+
await runSmokeTestForTool(page, 'list_documents');
|
6
|
+
});
|
7
|
+
});
|
8
|
+
//# sourceMappingURL=listDocuments.spec.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"listDocuments.spec.js","sourceRoot":"","sources":["../../src/e2e/listDocuments.spec.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,kBAAkB,CAAC;AACpC,OAAO,mBAAmB,MAAM,kBAAkB,CAAC;AAEnD,IAAI,CAAC,QAAQ,CAAC,gBAAgB,EAAE,GAAG,EAAE;IACnC,IAAI,CAAC,qBAAqB,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE;QAC7C,MAAM,mBAAmB,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC;IACpD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"moveDocument.spec.d.ts","sourceRoot":"","sources":["../../src/e2e/moveDocument.spec.ts"],"names":[],"mappings":""}
|
@@ -0,0 +1,8 @@
|
|
1
|
+
import test from '@playwright/test';
|
2
|
+
import runSmokeTestForTool from './util/smokeTest';
|
3
|
+
test.describe('move_document', () => {
|
4
|
+
test('passes a smoke test', async ({ page }) => {
|
5
|
+
await runSmokeTestForTool(page, 'move_document');
|
6
|
+
});
|
7
|
+
});
|
8
|
+
//# sourceMappingURL=moveDocument.spec.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"moveDocument.spec.js","sourceRoot":"","sources":["../../src/e2e/moveDocument.spec.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,kBAAkB,CAAC;AACpC,OAAO,mBAAmB,MAAM,kBAAkB,CAAC;AAEnD,IAAI,CAAC,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;IAClC,IAAI,CAAC,qBAAqB,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE;QAC7C,MAAM,mBAAmB,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC;IACnD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"searchDocuments.spec.d.ts","sourceRoot":"","sources":["../../src/e2e/searchDocuments.spec.ts"],"names":[],"mappings":""}
|
@@ -0,0 +1,8 @@
|
|
1
|
+
import test from '@playwright/test';
|
2
|
+
import runSmokeTestForTool from './util/smokeTest';
|
3
|
+
test.describe('search_documents', () => {
|
4
|
+
test('passes a smoke test', async ({ page }) => {
|
5
|
+
await runSmokeTestForTool(page, 'search_documents');
|
6
|
+
});
|
7
|
+
});
|
8
|
+
//# sourceMappingURL=searchDocuments.spec.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"searchDocuments.spec.js","sourceRoot":"","sources":["../../src/e2e/searchDocuments.spec.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,kBAAkB,CAAC;AACpC,OAAO,mBAAmB,MAAM,kBAAkB,CAAC;AAEnD,IAAI,CAAC,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;IACrC,IAAI,CAAC,qBAAqB,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE;QAC7C,MAAM,mBAAmB,CAAC,IAAI,EAAE,kBAAkB,CAAC,CAAC;IACtD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
@@ -0,0 +1,11 @@
|
|
1
|
+
import { type Page } from '@playwright/test';
|
2
|
+
import { ToolDefinition } from '../utils/listTools.js';
|
3
|
+
/**
|
4
|
+
* Helper function to mock API responses
|
5
|
+
*/
|
6
|
+
export declare function mockApiResponse(page: Page, url: string, response: any): Promise<void>;
|
7
|
+
/**
|
8
|
+
* Helper function to wait for API calls
|
9
|
+
*/
|
10
|
+
export declare function loadTool(page: Page, toolName: string): Promise<ToolDefinition<unknown>>;
|
11
|
+
//# sourceMappingURL=setup.d.ts.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../../src/e2e/setup.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,KAAK,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAEnD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAEvD;;GAEG;AACH,wBAAsB,eAAe,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,iBAQ3E;AAED;;GAEG;AACH,wBAAsB,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAiB7F"}
|
@@ -0,0 +1,34 @@
|
|
1
|
+
import { test } from '@playwright/test';
|
2
|
+
import { registerTools } from '../utils/importTools.js';
|
3
|
+
/**
|
4
|
+
* Helper function to mock API responses
|
5
|
+
*/
|
6
|
+
export async function mockApiResponse(page, url, response) {
|
7
|
+
await page.route(url, route => {
|
8
|
+
route.fulfill({
|
9
|
+
status: 200,
|
10
|
+
contentType: 'application/json',
|
11
|
+
body: JSON.stringify(response),
|
12
|
+
});
|
13
|
+
});
|
14
|
+
}
|
15
|
+
/**
|
16
|
+
* Helper function to wait for API calls
|
17
|
+
*/
|
18
|
+
export async function loadTool(page, toolName) {
|
19
|
+
return await test.step(`Loading tool: ${toolName}`, async () => {
|
20
|
+
const toolDefinitions = await registerTools();
|
21
|
+
const tool = toolDefinitions[toolName];
|
22
|
+
if (!tool) {
|
23
|
+
// TODO: Make this actually type-safe instead of a runtime error
|
24
|
+
throw new Error(`Tool not found for name: ${toolName}`);
|
25
|
+
}
|
26
|
+
await page.goto('/');
|
27
|
+
await page.getByRole('button', { name: 'Connect' }).click();
|
28
|
+
await page.getByRole('button', { name: 'List Tools' }).click();
|
29
|
+
await page.getByText(toolName).click();
|
30
|
+
await page.waitForTimeout(100);
|
31
|
+
return tool;
|
32
|
+
});
|
33
|
+
}
|
34
|
+
//# sourceMappingURL=setup.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"setup.js","sourceRoot":"","sources":["../../src/e2e/setup.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAa,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAGxD;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,IAAU,EAAE,GAAW,EAAE,QAAa;IAC1E,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE;QAC5B,KAAK,CAAC,OAAO,CAAC;YACZ,MAAM,EAAE,GAAG;YACX,WAAW,EAAE,kBAAkB;YAC/B,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC;SAC/B,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,IAAU,EAAE,QAAgB;IACzD,OAAO,MAAM,IAAI,CAAC,IAAI,CAAC,iBAAiB,QAAQ,EAAE,EAAE,KAAK,IAAI,EAAE;QAC7D,MAAM,eAAe,GAAG,MAAM,aAAa,EAAE,CAAC;QAC9C,MAAM,IAAI,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAC;QACvC,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,gEAAgE;YAChE,MAAM,IAAI,KAAK,CAAC,4BAA4B,QAAQ,EAAE,CAAC,CAAC;QAC1D,CAAC;QAED,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACrB,MAAM,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC;QAC5D,MAAM,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC;QAC/D,MAAM,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,KAAK,EAAE,CAAC;QACvC,MAAM,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;QAE/B,OAAO,IAAI,CAAC;IACd,CAAC,CAAC,CAAC;AACL,CAAC"}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"updateCollection.spec.d.ts","sourceRoot":"","sources":["../../src/e2e/updateCollection.spec.ts"],"names":[],"mappings":""}
|
@@ -0,0 +1,8 @@
|
|
1
|
+
import test from '@playwright/test';
|
2
|
+
import runSmokeTestForTool from './util/smokeTest';
|
3
|
+
test.describe('update_collection', () => {
|
4
|
+
test('passes a smoke test', async ({ page }) => {
|
5
|
+
await runSmokeTestForTool(page, 'update_collection');
|
6
|
+
});
|
7
|
+
});
|
8
|
+
//# sourceMappingURL=updateCollection.spec.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"updateCollection.spec.js","sourceRoot":"","sources":["../../src/e2e/updateCollection.spec.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,kBAAkB,CAAC;AACpC,OAAO,mBAAmB,MAAM,kBAAkB,CAAC;AAEnD,IAAI,CAAC,QAAQ,CAAC,mBAAmB,EAAE,GAAG,EAAE;IACtC,IAAI,CAAC,qBAAqB,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE;QAC7C,MAAM,mBAAmB,CAAC,IAAI,EAAE,mBAAmB,CAAC,CAAC;IACvD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"updateComment.spec.d.ts","sourceRoot":"","sources":["../../src/e2e/updateComment.spec.ts"],"names":[],"mappings":""}
|
@@ -0,0 +1,8 @@
|
|
1
|
+
import test from '@playwright/test';
|
2
|
+
import runSmokeTestForTool from './util/smokeTest';
|
3
|
+
test.describe('update_comment', () => {
|
4
|
+
test('passes a smoke test', async ({ page }) => {
|
5
|
+
await runSmokeTestForTool(page, 'update_comment');
|
6
|
+
});
|
7
|
+
});
|
8
|
+
//# sourceMappingURL=updateComment.spec.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"updateComment.spec.js","sourceRoot":"","sources":["../../src/e2e/updateComment.spec.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,kBAAkB,CAAC;AACpC,OAAO,mBAAmB,MAAM,kBAAkB,CAAC;AAEnD,IAAI,CAAC,QAAQ,CAAC,gBAAgB,EAAE,GAAG,EAAE;IACnC,IAAI,CAAC,qBAAqB,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE;QAC7C,MAAM,mBAAmB,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC;IACpD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"updateDocument.spec.d.ts","sourceRoot":"","sources":["../../src/e2e/updateDocument.spec.ts"],"names":[],"mappings":""}
|
@@ -0,0 +1,8 @@
|
|
1
|
+
import test from '@playwright/test';
|
2
|
+
import runSmokeTestForTool from './util/smokeTest';
|
3
|
+
test.describe('update_document', () => {
|
4
|
+
test('passes a smoke test', async ({ page }) => {
|
5
|
+
await runSmokeTestForTool(page, 'update_document');
|
6
|
+
});
|
7
|
+
});
|
8
|
+
//# sourceMappingURL=updateDocument.spec.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"updateDocument.spec.js","sourceRoot":"","sources":["../../src/e2e/updateDocument.spec.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,kBAAkB,CAAC;AACpC,OAAO,mBAAmB,MAAM,kBAAkB,CAAC;AAEnD,IAAI,CAAC,QAAQ,CAAC,iBAAiB,EAAE,GAAG,EAAE;IACpC,IAAI,CAAC,qBAAqB,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE;QAC7C,MAAM,mBAAmB,CAAC,IAAI,EAAE,iBAAiB,CAAC,CAAC;IACrD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"smokeTest.d.ts","sourceRoot":"","sources":["../../../src/e2e/util/smokeTest.ts"],"names":[],"mappings":"AACA,OAAa,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAG9C,wBAA8B,mBAAmB,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,iBAmF7E"}
|
@@ -0,0 +1,89 @@
|
|
1
|
+
import { faker } from '@faker-js/faker';
|
2
|
+
import test from '@playwright/test';
|
3
|
+
import { loadTool } from '../setup';
|
4
|
+
export default async function runSmokeTestForTool(page, toolName) {
|
5
|
+
const tool = await loadTool(page, toolName);
|
6
|
+
await test.step('Fill in required fields', async () => {
|
7
|
+
const requiredProperties = tool.inputSchema.required ?? [];
|
8
|
+
console.log('requiredProperties', requiredProperties);
|
9
|
+
for (let property of Object.entries(tool.inputSchema.properties ?? {}).filter(([name]) => requiredProperties.includes(name))) {
|
10
|
+
const [name, config] = property;
|
11
|
+
const input = page.getByPlaceholder(config.description);
|
12
|
+
switch (config.type) {
|
13
|
+
case 'string':
|
14
|
+
if (config.enum) {
|
15
|
+
// If it's an enum, select a random value from the enum array
|
16
|
+
await input.fill(faker.helpers.arrayElement(config.enum));
|
17
|
+
}
|
18
|
+
else if (name.toLowerCase().includes('id')) {
|
19
|
+
// Generate a realistic-looking ID
|
20
|
+
await input.fill(faker.string.alphanumeric(10));
|
21
|
+
}
|
22
|
+
else if (name.toLowerCase().includes('email')) {
|
23
|
+
// Generate email if the field name suggests it's an email
|
24
|
+
await input.fill(faker.internet.email());
|
25
|
+
}
|
26
|
+
else if (name.toLowerCase().includes('date') || name.toLowerCase().includes('time')) {
|
27
|
+
// Generate date string if the field name suggests it's a date
|
28
|
+
await input.fill(faker.date.recent().toISOString());
|
29
|
+
}
|
30
|
+
else if (name.toLowerCase().includes('color')) {
|
31
|
+
// Generate color hex code
|
32
|
+
await input.fill(faker.color.rgb({ format: 'hex' }));
|
33
|
+
}
|
34
|
+
else if (name.toLowerCase().includes('url') || name.toLowerCase().includes('link')) {
|
35
|
+
// Generate URL
|
36
|
+
await input.fill(faker.internet.url());
|
37
|
+
}
|
38
|
+
else {
|
39
|
+
// For general string fields
|
40
|
+
await input.fill(faker.lorem.sentence());
|
41
|
+
}
|
42
|
+
break;
|
43
|
+
case 'number':
|
44
|
+
await input.fill(faker.number.int({ min: 1, max: 100 }).toString());
|
45
|
+
break;
|
46
|
+
case 'boolean':
|
47
|
+
// For boolean inputs, let's use random true/false
|
48
|
+
await input.fill(faker.datatype.boolean().toString());
|
49
|
+
break;
|
50
|
+
case 'array':
|
51
|
+
// For array inputs, we'll generate a JSON string with a few items
|
52
|
+
const arrayItems = [];
|
53
|
+
// Look at array item type and generate appropriate fake data
|
54
|
+
if (config.items?.type === 'string') {
|
55
|
+
for (let i = 0; i < 3; i++) {
|
56
|
+
arrayItems.push(faker.lorem.word());
|
57
|
+
}
|
58
|
+
}
|
59
|
+
else if (config.items?.type === 'number') {
|
60
|
+
for (let i = 0; i < 3; i++) {
|
61
|
+
arrayItems.push(faker.number.int(100));
|
62
|
+
}
|
63
|
+
}
|
64
|
+
await input.fill(JSON.stringify(arrayItems));
|
65
|
+
break;
|
66
|
+
case 'object':
|
67
|
+
// For object inputs, generate a simple object with some properties
|
68
|
+
const fakeObject = {
|
69
|
+
prop1: faker.lorem.word(),
|
70
|
+
prop2: faker.number.int(100),
|
71
|
+
prop3: faker.datatype.boolean(),
|
72
|
+
};
|
73
|
+
await input.fill(JSON.stringify(fakeObject));
|
74
|
+
break;
|
75
|
+
default:
|
76
|
+
// For unhandled types, generate a basic string
|
77
|
+
await input.fill(faker.lorem.word());
|
78
|
+
break;
|
79
|
+
}
|
80
|
+
}
|
81
|
+
});
|
82
|
+
await test.step('Execute the tool', async () => {
|
83
|
+
await page.getByRole('button', { name: 'Run Tool' }).click();
|
84
|
+
await page.getByRole('heading', { name: 'Tool Result: Success' }).isVisible();
|
85
|
+
await page.getByRole('heading', { name: 'Error output from MCP server' }).isHidden();
|
86
|
+
await page.waitForTimeout(100);
|
87
|
+
});
|
88
|
+
}
|
89
|
+
//# sourceMappingURL=smokeTest.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"smokeTest.js","sourceRoot":"","sources":["../../../src/e2e/util/smokeTest.ts"],"names":[],"mappings":"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"}
|
package/build/index.js
CHANGED
@@ -3,12 +3,10 @@ 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 } from './utils/listTools.js';
|
7
6
|
import { registerTools } from './utils/importTools.js';
|
8
7
|
import { omit } from 'omit-ts';
|
9
8
|
// Dynamically import all tool files
|
10
|
-
await registerTools();
|
11
|
-
const toolDefinitions = getToolDefinitions();
|
9
|
+
const toolDefinitions = await registerTools();
|
12
10
|
console.log('\n', `loaded ${Object.keys(toolDefinitions).length} tools`, JSON.stringify(Object.keys(toolDefinitions)), '\n');
|
13
11
|
const server = new Server({
|
14
12
|
name: 'outline-mcp',
|
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,
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"createTemplateFromDocument.d.ts","sourceRoot":"","sources":["../../src/tools/createTemplateFromDocument.ts"],"names":[],"mappings":""}
|
@@ -0,0 +1,32 @@
|
|
1
|
+
import { ErrorCode, McpError } from '@modelcontextprotocol/sdk/types.js';
|
2
|
+
import { outlineClient } from '../client.js';
|
3
|
+
import { registerTool } from '../utils/listTools.js';
|
4
|
+
// Register this tool
|
5
|
+
registerTool({
|
6
|
+
name: 'create_template_from_document',
|
7
|
+
description: 'Create a template from an existing document. This method allows you to create a new template using an existing document as the basis.',
|
8
|
+
inputSchema: {
|
9
|
+
properties: {
|
10
|
+
id: {
|
11
|
+
type: 'string',
|
12
|
+
description: 'The ID of the document to use as a basis for the template',
|
13
|
+
},
|
14
|
+
},
|
15
|
+
required: ['id'],
|
16
|
+
type: 'object',
|
17
|
+
},
|
18
|
+
handler: async function handleCreateTemplateFromDocument(args) {
|
19
|
+
try {
|
20
|
+
const payload = {
|
21
|
+
id: args.id,
|
22
|
+
};
|
23
|
+
const response = await outlineClient.post('/documents.templatize', payload);
|
24
|
+
return response.data.data;
|
25
|
+
}
|
26
|
+
catch (error) {
|
27
|
+
console.error('Error creating template from document:', error.message);
|
28
|
+
throw new McpError(ErrorCode.InvalidRequest, error.message);
|
29
|
+
}
|
30
|
+
},
|
31
|
+
});
|
32
|
+
//# sourceMappingURL=createTemplateFromDocument.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"createTemplateFromDocument.js","sourceRoot":"","sources":["../../src/tools/createTemplateFromDocument.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,CAAiC;IAC3C,IAAI,EAAE,+BAA+B;IACrC,WAAW,EACT,uIAAuI;IACzI,WAAW,EAAE;QACX,UAAU,EAAE;YACV,EAAE,EAAE;gBACF,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,2DAA2D;aACzE;SACF;QACD,QAAQ,EAAE,CAAC,IAAI,CAAC;QAChB,IAAI,EAAE,QAAQ;KACf;IACD,OAAO,EAAE,KAAK,UAAU,gCAAgC,CAAC,IAAoC;QAC3F,IAAI,CAAC;YACH,MAAM,OAAO,GAAG;gBACd,EAAE,EAAE,IAAI,CAAC,EAAE;aACZ,CAAC;YAEF,MAAM,QAAQ,GAAG,MAAM,aAAa,CAAC,IAAI,CAAC,uBAAuB,EAAE,OAAO,CAAC,CAAC;YAC5E,OAAO,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;QAC5B,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,OAAO,CAAC,KAAK,CAAC,wCAAwC,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;YACvE,MAAM,IAAI,QAAQ,CAAC,SAAS,CAAC,cAAc,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;QAC9D,CAAC;IACH,CAAC;CACF,CAAC,CAAC"}
|
@@ -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,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"}
|
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,QAAQ,EAAE,CAAC,IAAI,CAAC;QAChB,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"}
|
package/build/types.d.ts
CHANGED
@@ -135,4 +135,7 @@ export type AskDocumentsArgs = {
|
|
135
135
|
statusFilter?: 'draft' | 'archived' | 'published';
|
136
136
|
dateFilter?: 'day' | 'week' | 'month' | 'year';
|
137
137
|
};
|
138
|
+
export type CreateTemplateFromDocumentArgs = {
|
139
|
+
id: string;
|
140
|
+
};
|
138
141
|
//# sourceMappingURL=types.d.ts.map
|
package/build/types.d.ts.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AACA,MAAM,MAAM,UAAU,GAAG;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,QAAQ,GAAG;IACrB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,GAAG,EAAE,MAAM,CAAC;CACb,CAAC;AAEF,MAAM,MAAM,IAAI,GAAG;IACjB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,IAAI,GAAG;IACjB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,OAAO,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAGF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC;IAC3B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,EAAE,EAAE,MAAM,CAAC;CACZ,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,EAAE,EAAE,MAAM,CAAC;CACZ,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,EAAE,EAAE,MAAM,CAAC;CACZ,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAC5B,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAC5B,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,EAAE,EAAE,MAAM,CAAC;CACZ,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,MAAM,CAAC,EAAE,KAAK,GAAG,SAAS,GAAG,QAAQ,GAAG,WAAW,CAAC;IACpD,IAAI,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,QAAQ,GAAG,OAAO,CAAC;CAChD,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,EAAE,EAAE,MAAM,CAAC;CACZ,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,OAAO,GAAG,UAAU,GAAG,WAAW,CAAC;IAClD,UAAU,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC;CAChD,CAAC;AAEF,MAAM,MAAM,8BAA8B,GAAG;IAC3C,EAAE,EAAE,MAAM,CAAC;CACZ,CAAC"}
|
@@ -1,5 +1,6 @@
|
|
1
|
+
import { type ToolDefinition } from './listTools';
|
1
2
|
/**
|
2
3
|
* Dynamically imports all tool files from the tools directory
|
3
4
|
*/
|
4
|
-
export declare function registerTools(): Promise<
|
5
|
+
export declare function registerTools(): Promise<Record<string, ToolDefinition<unknown>>>;
|
5
6
|
//# sourceMappingURL=importTools.d.ts.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"importTools.d.ts","sourceRoot":"","sources":["../../src/utils/importTools.ts"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"importTools.d.ts","sourceRoot":"","sources":["../../src/utils/importTools.ts"],"names":[],"mappings":"AAGA,OAAO,EAAsB,KAAK,cAAc,EAAE,MAAM,aAAa,CAAC;AAEtE;;GAEG;AACH,wBAAsB,aAAa,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,CActF"}
|
@@ -1,6 +1,7 @@
|
|
1
1
|
import fs from 'fs';
|
2
2
|
import path from 'path';
|
3
3
|
import { fileURLToPath } from 'url';
|
4
|
+
import { getToolDefinitions } from './listTools';
|
4
5
|
/**
|
5
6
|
* Dynamically imports all tool files from the tools directory
|
6
7
|
*/
|
@@ -10,9 +11,11 @@ export async function registerTools() {
|
|
10
11
|
const __dirname = path.dirname(__filename);
|
11
12
|
const toolsDir = path.join(__dirname, '..', 'tools');
|
12
13
|
// Import all tool files
|
13
|
-
const toolFiles = fs.readdirSync(toolsDir).filter(file => file.endsWith('.
|
14
|
+
const toolFiles = fs.readdirSync(toolsDir).filter(file => file.endsWith('.ts'));
|
14
15
|
for (const file of toolFiles) {
|
15
16
|
await import(`../tools/${file}`);
|
16
17
|
}
|
18
|
+
// return tool definitions
|
19
|
+
return getToolDefinitions();
|
17
20
|
}
|
18
21
|
//# sourceMappingURL=importTools.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"importTools.js","sourceRoot":"","sources":["../../src/utils/importTools.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;
|
1
|
+
{"version":3,"file":"importTools.js","sourceRoot":"","sources":["../../src/utils/importTools.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AACpC,OAAO,EAAE,kBAAkB,EAAuB,MAAM,aAAa,CAAC;AAEtE;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa;IACjC,yBAAyB;IACzB,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAClD,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IAC3C,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IAErD,wBAAwB;IACxB,MAAM,SAAS,GAAG,EAAE,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;IAChF,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE,CAAC;QAC7B,MAAM,MAAM,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC;IACnC,CAAC;IAED,0BAA0B;IAC1B,OAAO,kBAAkB,EAAE,CAAC;AAC9B,CAAC"}
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "outline-mcp-server",
|
3
|
-
"version": "4.
|
3
|
+
"version": "4.12.1",
|
4
4
|
"description": "An MCP server for interacting with Outline's API",
|
5
5
|
"type": "module",
|
6
6
|
"bin": {
|
@@ -27,7 +27,10 @@
|
|
27
27
|
"start:stdio": "npm run build && echo 'build done. running...\n' && node build/index.js",
|
28
28
|
"start": "npx -y supergateway --port 6060 --stdio \"npm run start:stdio\"",
|
29
29
|
"format": "prettier --write \"src/**/*.{ts,tsx,js,jsx,json}\"",
|
30
|
-
"semantic-release": "semantic-release"
|
30
|
+
"semantic-release": "semantic-release",
|
31
|
+
"test:e2e": "playwright test",
|
32
|
+
"test:e2e:ui": "playwright test --ui",
|
33
|
+
"test:e2e:debug": "playwright test --debug"
|
31
34
|
},
|
32
35
|
"dependencies": {
|
33
36
|
"@modelcontextprotocol/sdk": "0.6.0",
|
@@ -36,6 +39,8 @@
|
|
36
39
|
"omit-ts": "^2.0.1"
|
37
40
|
},
|
38
41
|
"devDependencies": {
|
42
|
+
"@faker-js/faker": "^9.6.0",
|
43
|
+
"@playwright/test": "^1.42.1",
|
39
44
|
"@semantic-release/changelog": "^6.0.3",
|
40
45
|
"@semantic-release/git": "^10.0.1",
|
41
46
|
"@types/node": "^20.11.24",
|