@chriscurrycc/memos-mcp 0.2.0 → 1.0.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 +29 -0
- package/dist/prompts/index.d.ts.map +1 -1
- package/dist/prompts/index.js +105 -27
- package/dist/prompts/index.js.map +1 -1
- package/dist/resources/index.d.ts.map +1 -1
- package/dist/resources/index.js +4 -5
- package/dist/resources/index.js.map +1 -1
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +10 -2
- package/dist/server.js.map +1 -1
- package/dist/tools/memos.d.ts.map +1 -1
- package/dist/tools/memos.js +50 -107
- package/dist/tools/memos.js.map +1 -1
- package/dist/tools/relations.d.ts.map +1 -1
- package/dist/tools/relations.js +116 -31
- package/dist/tools/relations.js.map +1 -1
- package/dist/tools/resources.d.ts.map +1 -1
- package/dist/tools/resources.js +78 -17
- package/dist/tools/resources.js.map +1 -1
- package/dist/tools/review.d.ts.map +1 -1
- package/dist/tools/review.js +81 -52
- package/dist/tools/review.js.map +1 -1
- package/dist/tools/tags.d.ts.map +1 -1
- package/dist/tools/tags.js +32 -30
- package/dist/tools/tags.js.map +1 -1
- package/dist/tools/utils.d.ts +4 -0
- package/dist/tools/utils.d.ts.map +1 -0
- package/dist/tools/utils.js +34 -0
- package/dist/tools/utils.js.map +1 -0
- package/dist/types.d.ts +6 -2
- package/dist/types.d.ts.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -102,11 +102,40 @@ claude mcp add --scope user memos -e MEMOS_URL=https://your-memos-instance.com -
|
|
|
102
102
|
| `update_tag` | Update a tag's pinned status or emoji |
|
|
103
103
|
| `rename_tag` | Rename a tag across all memos |
|
|
104
104
|
|
|
105
|
+
### Resources
|
|
106
|
+
|
|
107
|
+
| Tool | Description |
|
|
108
|
+
|------|-------------|
|
|
109
|
+
| `list_resources` | List all resources (attachments) |
|
|
110
|
+
| `upload_resource` | Upload a file (base64 encoded), with optional memo linking |
|
|
111
|
+
| `delete_resource` | Delete a resource |
|
|
112
|
+
|
|
113
|
+
### Relations
|
|
114
|
+
|
|
115
|
+
| Tool | Description |
|
|
116
|
+
|------|-------------|
|
|
117
|
+
| `list_memo_relations` | List memo relations with recursive graph traversal (depth 1-5) |
|
|
118
|
+
| `set_memo_relations` | Add or remove REFERENCE relations between memos |
|
|
119
|
+
|
|
120
|
+
### Review
|
|
121
|
+
|
|
122
|
+
| Tool | Description |
|
|
123
|
+
|------|-------------|
|
|
124
|
+
| `get_review_memos` | Get today's spaced-repetition review batch |
|
|
125
|
+
| `complete_review` | Mark the current review batch as completed |
|
|
126
|
+
| `get_on_this_day_memos` | Get memos created on this day in previous years, grouped by year |
|
|
127
|
+
| `update_review_setting` | Update review preferences (batch size, tag filters) |
|
|
128
|
+
|
|
105
129
|
## Prompts
|
|
106
130
|
|
|
107
131
|
| Prompt | Description |
|
|
108
132
|
|--------|-------------|
|
|
109
133
|
| `capture` | Quick-save a thought as a memo |
|
|
134
|
+
| `review` | Start a guided spaced-repetition review session |
|
|
135
|
+
| `on_this_day` | See memos from this day in previous years |
|
|
136
|
+
| `digest` | Summarize memo activity for a time period (today/week/month) |
|
|
137
|
+
| `tag_overview` | Review your tag system and organization |
|
|
138
|
+
| `relation_graph` | Explore the relation graph starting from a memo |
|
|
110
139
|
|
|
111
140
|
## Resources
|
|
112
141
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/prompts/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAGpE,eAAO,MAAM,eAAe,GAAI,QAAQ,SAAS,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/prompts/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAGpE,eAAO,MAAM,eAAe,GAAI,QAAQ,SAAS,SA2KhD,CAAC"}
|
package/dist/prompts/index.js
CHANGED
|
@@ -1,9 +1,12 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
2
|
export const registerPrompts = (server) => {
|
|
3
|
-
server.
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
3
|
+
server.registerPrompt("capture", {
|
|
4
|
+
description: "Quick-save a thought as a memo",
|
|
5
|
+
argsSchema: {
|
|
6
|
+
content: z.string().describe("The thought or note to capture"),
|
|
7
|
+
tags: z.string().optional().describe("Comma-separated tags to add, e.g. 'idea,project'"),
|
|
8
|
+
visibility: z.enum(["PRIVATE", "PROTECTED", "PUBLIC"]).default("PRIVATE").describe("Memo visibility"),
|
|
9
|
+
},
|
|
7
10
|
}, ({ content, tags, visibility }) => {
|
|
8
11
|
let memoContent = content;
|
|
9
12
|
if (tags) {
|
|
@@ -25,43 +28,118 @@ export const registerPrompts = (server) => {
|
|
|
25
28
|
],
|
|
26
29
|
};
|
|
27
30
|
});
|
|
28
|
-
server.
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
31
|
+
server.registerPrompt("review", {
|
|
32
|
+
description: "Start a spaced-repetition review session (间隔回顾)",
|
|
33
|
+
}, () => ({
|
|
34
|
+
messages: [
|
|
35
|
+
{
|
|
36
|
+
role: "user",
|
|
37
|
+
content: {
|
|
38
|
+
type: "text",
|
|
39
|
+
text: `Start a memo review session:
|
|
40
|
+
1. Call get_review_memos to get today's review batch
|
|
41
|
+
2. If completed=true, let me know today's review is done and ask if I want to load a new batch (refresh=true)
|
|
42
|
+
3. Otherwise, use get_memo to fetch full content for each memo and present them one by one
|
|
43
|
+
4. After presenting all memos, call complete_review with the memo IDs to mark the batch as completed
|
|
44
|
+
5. Congratulate me on completing the review`,
|
|
41
45
|
},
|
|
42
|
-
|
|
46
|
+
},
|
|
47
|
+
],
|
|
48
|
+
}));
|
|
49
|
+
server.registerPrompt("on_this_day", {
|
|
50
|
+
description: "See memos from this day in previous years (历史上的今天)",
|
|
51
|
+
}, () => ({
|
|
52
|
+
messages: [
|
|
53
|
+
{
|
|
54
|
+
role: "user",
|
|
55
|
+
content: {
|
|
56
|
+
type: "text",
|
|
57
|
+
text: `Show me my "On This Day" memories:
|
|
58
|
+
1. Call get_on_this_day_memos to get memos from this day in previous years
|
|
59
|
+
2. Present them grouped by year, starting from the most recent
|
|
60
|
+
3. For each memo, use get_memo to show the full content
|
|
61
|
+
4. Add a brief reflection on how my thoughts or interests have evolved over the years`,
|
|
62
|
+
},
|
|
63
|
+
},
|
|
64
|
+
],
|
|
65
|
+
}));
|
|
66
|
+
server.registerPrompt("digest", {
|
|
67
|
+
description: "Summarize memo activity for a time period",
|
|
68
|
+
argsSchema: {
|
|
69
|
+
period: z.enum(["today", "week", "month"]).default("week").describe("Time period to summarize"),
|
|
70
|
+
},
|
|
71
|
+
}, ({ period }) => {
|
|
72
|
+
const periodMap = {
|
|
73
|
+
today: { days: 1, label: "today" },
|
|
74
|
+
week: { days: 7, label: "the past week" },
|
|
75
|
+
month: { days: 30, label: "the past month" },
|
|
43
76
|
};
|
|
44
|
-
|
|
45
|
-
server.prompt("daily_digest", "Summarize recent memo activity", {}, () => {
|
|
77
|
+
const { days, label } = periodMap[period];
|
|
46
78
|
return {
|
|
47
79
|
messages: [
|
|
48
80
|
{
|
|
49
81
|
role: "user",
|
|
50
82
|
content: {
|
|
51
83
|
type: "text",
|
|
52
|
-
text: `Create a
|
|
53
|
-
1. Call list_memos with pageSize=
|
|
54
|
-
2. Call list_tags to see
|
|
84
|
+
text: `Create a digest of my memo activity for ${label}:
|
|
85
|
+
1. Call list_memos with startDate set to ${days} days ago, pageSize=100 to get recent memos
|
|
86
|
+
2. Call list_tags to see tag usage patterns
|
|
55
87
|
3. Summarize:
|
|
56
|
-
-
|
|
57
|
-
- Key themes and topics based on tags
|
|
88
|
+
- Total number of memos created/updated in this period
|
|
89
|
+
- Key themes and topics based on tags and content
|
|
58
90
|
- Any pinned memos that might need attention
|
|
59
|
-
- Any memos with incomplete tasks (
|
|
60
|
-
|
|
91
|
+
- Any memos with incomplete tasks (call list_memos with hasIncompleteTasks=true)
|
|
92
|
+
- Trends or patterns you notice
|
|
93
|
+
4. Present as a concise briefing`,
|
|
61
94
|
},
|
|
62
95
|
},
|
|
63
96
|
],
|
|
64
97
|
};
|
|
65
98
|
});
|
|
99
|
+
server.registerPrompt("tag_overview", {
|
|
100
|
+
description: "Review your tag system and organization",
|
|
101
|
+
}, () => ({
|
|
102
|
+
messages: [
|
|
103
|
+
{
|
|
104
|
+
role: "user",
|
|
105
|
+
content: {
|
|
106
|
+
type: "text",
|
|
107
|
+
text: `Give me an overview of my tag system:
|
|
108
|
+
1. Call list_tags to get all top-level tags with counts
|
|
109
|
+
2. For tags with children (hasChildren=true), call list_tags with parent param to show the hierarchy
|
|
110
|
+
3. Call list_tags with pinnedOnly=true to highlight my pinned tags
|
|
111
|
+
4. Analyze and present:
|
|
112
|
+
- Tag hierarchy structure
|
|
113
|
+
- Most used vs rarely used tags
|
|
114
|
+
- Pinned tags and their usage
|
|
115
|
+
- Suggestions for cleanup (similar tags that could be merged, unused tags, etc.)`,
|
|
116
|
+
},
|
|
117
|
+
},
|
|
118
|
+
],
|
|
119
|
+
}));
|
|
120
|
+
server.registerPrompt("relation_graph", {
|
|
121
|
+
description: "Explore the relation graph starting from a memo (关系图谱)",
|
|
122
|
+
argsSchema: {
|
|
123
|
+
memo: z.string().describe("Memo ID or UID to start from"),
|
|
124
|
+
},
|
|
125
|
+
}, ({ memo }) => ({
|
|
126
|
+
messages: [
|
|
127
|
+
{
|
|
128
|
+
role: "user",
|
|
129
|
+
content: {
|
|
130
|
+
type: "text",
|
|
131
|
+
text: `Explore the relation graph starting from memo ${memo}:
|
|
132
|
+
1. Call get_memo to show the starting memo's content
|
|
133
|
+
2. Call list_memo_relations with id="${memo}" and depth=5 to get the full relation graph
|
|
134
|
+
3. For each connected memo, call get_memo to understand its content
|
|
135
|
+
4. Present:
|
|
136
|
+
- A text-based visualization of the graph structure (which memos reference which)
|
|
137
|
+
- Brief summary of each connected memo
|
|
138
|
+
- The themes and topics that connect these memos
|
|
139
|
+
- Any interesting patterns or clusters in the graph`,
|
|
140
|
+
},
|
|
141
|
+
},
|
|
142
|
+
],
|
|
143
|
+
}));
|
|
66
144
|
};
|
|
67
145
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/prompts/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,MAAiB,EAAE,EAAE;IACnD,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/prompts/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/resources/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAG3C,eAAO,MAAM,iBAAiB,GAAI,QAAQ,SAAS,EAAE,QAAQ,WAAW,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/resources/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAG3C,eAAO,MAAM,iBAAiB,GAAI,QAAQ,SAAS,EAAE,QAAQ,WAAW,SAsCvE,CAAC"}
|
package/dist/resources/index.js
CHANGED
|
@@ -1,18 +1,17 @@
|
|
|
1
1
|
export const registerResources = (server, client) => {
|
|
2
|
-
server.
|
|
2
|
+
server.registerResource("memo", "memo://memos/{uid}", { description: "A memo by its UID", mimeType: "text/markdown" }, async (uri) => {
|
|
3
3
|
const uid = uri.pathname.split("/").pop();
|
|
4
4
|
if (!uid) {
|
|
5
5
|
throw new Error("Invalid memo URI: missing UID");
|
|
6
6
|
}
|
|
7
7
|
const memo = await client.get(`/api/v1/memos:by-uid/${uid}`);
|
|
8
|
-
|
|
8
|
+
const id = memo.name?.match(/^memos\/(\d+)$/)?.[1];
|
|
9
9
|
const frontmatter = [
|
|
10
10
|
"---",
|
|
11
|
+
id ? `id: ${id}` : null,
|
|
11
12
|
`uid: ${memo.uid}`,
|
|
12
|
-
`name: ${memo.name}`,
|
|
13
|
-
`creator: ${memo.creator}`,
|
|
14
13
|
`visibility: ${memo.visibility}`,
|
|
15
|
-
`pinned:
|
|
14
|
+
memo.pinned ? `pinned: true` : null,
|
|
16
15
|
`created: ${memo.createTime}`,
|
|
17
16
|
`updated: ${memo.updateTime}`,
|
|
18
17
|
memo.tags?.length ? `tags: [${memo.tags.join(", ")}]` : null,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/resources/index.ts"],"names":[],"mappings":"AAIA,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,MAAiB,EAAE,MAAmB,EAAE,EAAE;IAC1E,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/resources/index.ts"],"names":[],"mappings":"AAIA,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,MAAiB,EAAE,MAAmB,EAAE,EAAE;IAC1E,MAAM,CAAC,gBAAgB,CACrB,MAAM,EACN,oBAAoB,EACpB,EAAE,WAAW,EAAE,mBAAmB,EAAE,QAAQ,EAAE,eAAe,EAAE,EAC/D,KAAK,EAAE,GAAG,EAAE,EAAE;QACZ,MAAM,GAAG,GAAG,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;QAC1C,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;QACnD,CAAC;QACD,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,GAAG,CAAO,wBAAwB,GAAG,EAAE,CAAC,CAAC;QAEnE,MAAM,EAAE,GAAG,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QACnD,MAAM,WAAW,GAAG;YAClB,KAAK;YACL,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI;YACvB,QAAQ,IAAI,CAAC,GAAG,EAAE;YAClB,eAAe,IAAI,CAAC,UAAU,EAAE;YAChC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI;YACnC,YAAY,IAAI,CAAC,UAAU,EAAE;YAC7B,YAAY,IAAI,CAAC,UAAU,EAAE;YAC7B,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI;YAC5D,KAAK;SACN;aACE,MAAM,CAAC,OAAO,CAAC;aACf,IAAI,CAAC,IAAI,CAAC,CAAC;QAEd,OAAO;YACL,QAAQ,EAAE;gBACR;oBACE,GAAG,EAAE,GAAG,CAAC,IAAI;oBACb,QAAQ,EAAE,eAAe;oBACzB,IAAI,EAAE,GAAG,WAAW,OAAO,IAAI,CAAC,OAAO,EAAE;iBAC1C;aACF;SACF,CAAC;IACJ,CAAC,CACF,CAAC;AACJ,CAAC,CAAC"}
|
package/dist/server.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAapE,eAAO,MAAM,YAAY,iBAqCxB,CAAC"}
|
package/dist/server.js
CHANGED
|
@@ -2,6 +2,10 @@ import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
|
2
2
|
import { MemosClient } from "./client.js";
|
|
3
3
|
import { registerMemoTools } from "./tools/memos.js";
|
|
4
4
|
import { registerTagTools } from "./tools/tags.js";
|
|
5
|
+
import { registerResourceTools } from "./tools/resources.js";
|
|
6
|
+
import { registerRelationTools } from "./tools/relations.js";
|
|
7
|
+
import { registerReviewTools } from "./tools/review.js";
|
|
8
|
+
import { registerPrompts } from "./prompts/index.js";
|
|
5
9
|
import { registerResources } from "./resources/index.js";
|
|
6
10
|
const VALID_VISIBILITIES = ["PRIVATE", "PROTECTED", "PUBLIC"];
|
|
7
11
|
export const createServer = () => {
|
|
@@ -22,11 +26,15 @@ export const createServer = () => {
|
|
|
22
26
|
const client = new MemosClient(memosUrl, memosToken);
|
|
23
27
|
const server = new McpServer({
|
|
24
28
|
name: "memos-mcp",
|
|
25
|
-
version: "0.
|
|
29
|
+
version: "1.0.0",
|
|
26
30
|
});
|
|
27
31
|
registerMemoTools(server, client, { defaultVisibility });
|
|
28
32
|
registerTagTools(server, client);
|
|
29
|
-
|
|
33
|
+
registerResourceTools(server, client);
|
|
34
|
+
registerRelationTools(server, client);
|
|
35
|
+
registerReviewTools(server, client);
|
|
36
|
+
registerPrompts(server);
|
|
37
|
+
// Register MCP resources
|
|
30
38
|
registerResources(server, client);
|
|
31
39
|
return server;
|
|
32
40
|
};
|
package/dist/server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAEzD,MAAM,kBAAkB,GAAG,CAAC,SAAS,EAAE,WAAW,EAAE,QAAQ,CAAU,CAAC;AAGvE,MAAM,CAAC,MAAM,YAAY,GAAG,GAAG,EAAE;IAC/B,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC;IACvC,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC;IAE3C,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO,CAAC,KAAK,CAAC,mDAAmD,CAAC,CAAC;QACnE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IACD,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,OAAO,CAAC,KAAK,CAAC,qDAAqD,CAAC,CAAC;QACrE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,CAAC,wBAAwB,EAAE,WAAW,EAAE,CAAC;IAC1E,MAAM,iBAAiB,GACrB,aAAa,IAAI,kBAAkB,CAAC,QAAQ,CAAC,aAA2B,CAAC;QACvE,CAAC,CAAE,aAA4B;QAC/B,CAAC,CAAC,SAAS,CAAC;IAEhB,MAAM,MAAM,GAAG,IAAI,WAAW,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;IAErD,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC;QAC3B,IAAI,EAAE,WAAW;QACjB,OAAO,EAAE,OAAO;KACjB,CAAC,CAAC;IAEH,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,iBAAiB,EAAE,CAAC,CAAC;IACzD,gBAAgB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAEzD,MAAM,kBAAkB,GAAG,CAAC,SAAS,EAAE,WAAW,EAAE,QAAQ,CAAU,CAAC;AAGvE,MAAM,CAAC,MAAM,YAAY,GAAG,GAAG,EAAE;IAC/B,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC;IACvC,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC;IAE3C,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO,CAAC,KAAK,CAAC,mDAAmD,CAAC,CAAC;QACnE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IACD,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,OAAO,CAAC,KAAK,CAAC,qDAAqD,CAAC,CAAC;QACrE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,CAAC,wBAAwB,EAAE,WAAW,EAAE,CAAC;IAC1E,MAAM,iBAAiB,GACrB,aAAa,IAAI,kBAAkB,CAAC,QAAQ,CAAC,aAA2B,CAAC;QACvE,CAAC,CAAE,aAA4B;QAC/B,CAAC,CAAC,SAAS,CAAC;IAEhB,MAAM,MAAM,GAAG,IAAI,WAAW,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;IAErD,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC;QAC3B,IAAI,EAAE,WAAW;QACjB,OAAO,EAAE,OAAO;KACjB,CAAC,CAAC;IAEH,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,iBAAiB,EAAE,CAAC,CAAC;IACzD,gBAAgB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,qBAAqB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtC,qBAAqB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtC,mBAAmB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACpC,eAAe,CAAC,MAAM,CAAC,CAAC;IAExB,yBAAyB;IACzB,iBAAiB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAElC,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"memos.d.ts","sourceRoot":"","sources":["../../src/tools/memos.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEpE,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"memos.d.ts","sourceRoot":"","sources":["../../src/tools/memos.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEpE,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAI3C,KAAK,UAAU,GAAG,SAAS,GAAG,WAAW,GAAG,QAAQ,CAAC;AAsFrD,UAAU,gBAAgB;IACxB,iBAAiB,EAAE,UAAU,CAAC;CAC/B;AAED,eAAO,MAAM,iBAAiB,GAC5B,QAAQ,SAAS,EACjB,QAAQ,WAAW,EACnB,SAAS,gBAAgB,SA+J1B,CAAC"}
|
package/dist/tools/memos.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
|
+
import { summarizeMemo } from "./utils.js";
|
|
2
3
|
function parseToUnixTimestamp(isoString, paramName) {
|
|
3
4
|
const date = new Date(isoString);
|
|
4
5
|
if (isNaN(date.getTime())) {
|
|
@@ -54,46 +55,11 @@ async function resolveToNumericId(client, id) {
|
|
|
54
55
|
throw new Error(`Unexpected memo name format: ${memo.name}`);
|
|
55
56
|
return parseInt(match[1], 10);
|
|
56
57
|
}
|
|
57
|
-
const SNIPPET_MAX_LENGTH = 200;
|
|
58
|
-
function compactProperty(property) {
|
|
59
|
-
if (!property)
|
|
60
|
-
return undefined;
|
|
61
|
-
const truthy = {};
|
|
62
|
-
for (const [k, v] of Object.entries(property)) {
|
|
63
|
-
if (v)
|
|
64
|
-
truthy[k] = v;
|
|
65
|
-
}
|
|
66
|
-
return Object.keys(truthy).length > 0 ? truthy : undefined;
|
|
67
|
-
}
|
|
68
|
-
function summarizeMemo(memo) {
|
|
69
|
-
const content = memo.content || "";
|
|
70
|
-
const snippet = content.length > SNIPPET_MAX_LENGTH
|
|
71
|
-
? content.slice(0, SNIPPET_MAX_LENGTH) + "..."
|
|
72
|
-
: content;
|
|
73
|
-
const name = memo.name;
|
|
74
|
-
const id = name?.match(/^memos\/(\d+)$/)?.[1];
|
|
75
|
-
const summary = {
|
|
76
|
-
id: id ? Number(id) : undefined,
|
|
77
|
-
uid: memo.uid,
|
|
78
|
-
displayTime: memo.displayTime,
|
|
79
|
-
snippet,
|
|
80
|
-
tags: memo.tags,
|
|
81
|
-
visibility: memo.visibility,
|
|
82
|
-
};
|
|
83
|
-
if (memo.pinned)
|
|
84
|
-
summary.pinned = true;
|
|
85
|
-
const property = compactProperty(memo.property);
|
|
86
|
-
if (property)
|
|
87
|
-
summary.property = property;
|
|
88
|
-
return summary;
|
|
89
|
-
}
|
|
90
58
|
function cleanMemo(memo) {
|
|
91
59
|
const { name, nodes, snippet, creator, ...rest } = memo;
|
|
92
|
-
// Add clean numeric id
|
|
93
60
|
const id = name?.match(/^memos\/(\d+)$/)?.[1];
|
|
94
61
|
if (id)
|
|
95
62
|
rest.id = Number(id);
|
|
96
|
-
// Remove empty arrays
|
|
97
63
|
for (const key of ["resources", "relations", "reactions"]) {
|
|
98
64
|
if (Array.isArray(rest[key]) && rest[key].length === 0) {
|
|
99
65
|
delete rest[key];
|
|
@@ -103,43 +69,25 @@ function cleanMemo(memo) {
|
|
|
103
69
|
}
|
|
104
70
|
export const registerMemoTools = (server, client, options) => {
|
|
105
71
|
const visibilityEnum = z.enum(["PRIVATE", "PROTECTED", "PUBLIC"]);
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
.array(visibilityEnum)
|
|
112
|
-
.optional()
|
|
113
|
-
.describe("Filter by
|
|
114
|
-
|
|
115
|
-
.
|
|
116
|
-
.optional()
|
|
117
|
-
.describe("Filter
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
.
|
|
121
|
-
.
|
|
122
|
-
.describe("
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
.optional()
|
|
126
|
-
.describe("Return memos before this date (ISO 8601, e.g. \"2025-03-01\")"),
|
|
127
|
-
hasLink: z.boolean().optional().describe("Filter to memos containing links"),
|
|
128
|
-
hasTaskList: z.boolean().optional().describe("Filter to memos containing task lists"),
|
|
129
|
-
hasCode: z.boolean().optional().describe("Filter to memos containing code blocks"),
|
|
130
|
-
hasIncompleteTasks: z
|
|
131
|
-
.boolean()
|
|
132
|
-
.optional()
|
|
133
|
-
.describe("Filter to memos with incomplete tasks"),
|
|
134
|
-
random: z.boolean().optional().describe("Return results in random order"),
|
|
135
|
-
pageSize: z
|
|
136
|
-
.number()
|
|
137
|
-
.int()
|
|
138
|
-
.min(1)
|
|
139
|
-
.max(100)
|
|
140
|
-
.default(20)
|
|
141
|
-
.describe("Number of memos per page"),
|
|
142
|
-
pageToken: z.string().optional().describe("Token for fetching the next page"),
|
|
72
|
+
server.registerTool("list_memos", {
|
|
73
|
+
description: "Search and list memos. All filters are optional and combined with AND logic.",
|
|
74
|
+
inputSchema: {
|
|
75
|
+
query: z.string().optional().describe("Keyword search in memo content"),
|
|
76
|
+
tags: z.array(z.string()).optional().describe("Filter by tags, e.g. [\"project\", \"todo\"]"),
|
|
77
|
+
visibility: z.array(visibilityEnum).optional().describe("Filter by visibility levels"),
|
|
78
|
+
state: z.enum(["NORMAL", "ARCHIVED"]).optional().describe("Filter by memo state"),
|
|
79
|
+
pinned: z.boolean().optional().describe("Filter by pinned status"),
|
|
80
|
+
startDate: z.string().optional().describe("Return memos after this date (ISO 8601, e.g. \"2025-01-01\")"),
|
|
81
|
+
endDate: z.string().optional().describe("Return memos before this date (ISO 8601, e.g. \"2025-03-01\")"),
|
|
82
|
+
hasLink: z.boolean().optional().describe("Filter to memos containing links"),
|
|
83
|
+
hasTaskList: z.boolean().optional().describe("Filter to memos containing task lists"),
|
|
84
|
+
hasCode: z.boolean().optional().describe("Filter to memos containing code blocks"),
|
|
85
|
+
hasIncompleteTasks: z.boolean().optional().describe("Filter to memos with incomplete tasks"),
|
|
86
|
+
random: z.boolean().optional().describe("Return results in random order"),
|
|
87
|
+
pageSize: z.number().int().min(1).max(100).default(20).describe("Number of memos per page"),
|
|
88
|
+
pageToken: z.string().optional().describe("Token for fetching the next page"),
|
|
89
|
+
},
|
|
90
|
+
annotations: { readOnlyHint: true, openWorldHint: false },
|
|
143
91
|
}, async (args) => {
|
|
144
92
|
const currentUser = await client.getCurrentUser();
|
|
145
93
|
const filter = buildCelFilter({ creator: currentUser, ...args });
|
|
@@ -156,12 +104,12 @@ export const registerMemoTools = (server, client, options) => {
|
|
|
156
104
|
output.nextPageToken = result.nextPageToken;
|
|
157
105
|
return { content: [{ type: "text", text: JSON.stringify(output, null, 2) }] };
|
|
158
106
|
});
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
.string()
|
|
163
|
-
|
|
164
|
-
|
|
107
|
+
server.registerTool("get_memo", {
|
|
108
|
+
description: "Get a single memo by its numeric ID or UID string (the ID from the memo URL).",
|
|
109
|
+
inputSchema: {
|
|
110
|
+
id: z.string().min(1).describe("Memo identifier. Numeric ID (e.g. \"42\") or UID string (e.g. \"AjF4AQJayxvDj2mrWzFWuP\")"),
|
|
111
|
+
},
|
|
112
|
+
annotations: { readOnlyHint: true, openWorldHint: false },
|
|
165
113
|
}, async ({ id }) => {
|
|
166
114
|
const path = /^\d+$/.test(id)
|
|
167
115
|
? `/api/v1/memos/${id}`
|
|
@@ -170,12 +118,13 @@ export const registerMemoTools = (server, client, options) => {
|
|
|
170
118
|
const cleaned = cleanMemo(memo);
|
|
171
119
|
return { content: [{ type: "text", text: JSON.stringify(cleaned, null, 2) }] };
|
|
172
120
|
});
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
.optional()
|
|
178
|
-
|
|
121
|
+
server.registerTool("create_memo", {
|
|
122
|
+
description: "Create a new memo with markdown content.",
|
|
123
|
+
inputSchema: {
|
|
124
|
+
content: z.string().min(1).describe("Memo content in markdown. Tags can be included with #tagname syntax"),
|
|
125
|
+
visibility: visibilityEnum.optional().describe("Memo visibility. Omit to use the configured default"),
|
|
126
|
+
},
|
|
127
|
+
annotations: { destructiveHint: false, openWorldHint: false },
|
|
179
128
|
}, async ({ content, visibility }) => {
|
|
180
129
|
const memo = await client.post("/api/v1/memos", {
|
|
181
130
|
content,
|
|
@@ -185,23 +134,17 @@ export const registerMemoTools = (server, client, options) => {
|
|
|
185
134
|
const result = { id: id ? Number(id) : undefined, uid: memo.uid, visibility: memo.visibility };
|
|
186
135
|
return { content: [{ type: "text", text: JSON.stringify(result) }] };
|
|
187
136
|
});
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
.string()
|
|
192
|
-
.
|
|
193
|
-
.describe("
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
.optional()
|
|
200
|
-
.describe("Set to ARCHIVED to archive, NORMAL to restore"),
|
|
201
|
-
preserveUpdateTime: z
|
|
202
|
-
.boolean()
|
|
203
|
-
.optional()
|
|
204
|
-
.describe("When true, the memo's update time will not change. Use for formatting or style-only edits"),
|
|
137
|
+
server.registerTool("update_memo", {
|
|
138
|
+
description: "Update an existing memo. Only the fields you provide will be modified.",
|
|
139
|
+
inputSchema: {
|
|
140
|
+
id: z.string().min(1).describe("Memo identifier. Numeric ID or UID string"),
|
|
141
|
+
content: z.string().optional().describe("New memo content in markdown"),
|
|
142
|
+
visibility: visibilityEnum.optional().describe("New visibility level"),
|
|
143
|
+
pinned: z.boolean().optional().describe("Pin or unpin the memo"),
|
|
144
|
+
state: z.enum(["NORMAL", "ARCHIVED"]).optional().describe("Set to ARCHIVED to archive, NORMAL to restore"),
|
|
145
|
+
preserveUpdateTime: z.boolean().optional().describe("When true, the memo's update time will not change. Use for formatting or style-only edits"),
|
|
146
|
+
},
|
|
147
|
+
annotations: { destructiveHint: false, idempotentHint: true, openWorldHint: false },
|
|
205
148
|
}, async ({ id, content, visibility, pinned, state, preserveUpdateTime }) => {
|
|
206
149
|
const numericId = await resolveToNumericId(client, id);
|
|
207
150
|
const body = {};
|
|
@@ -240,12 +183,12 @@ export const registerMemoTools = (server, client, options) => {
|
|
|
240
183
|
await client.patch(`/api/v1/memos/${numericId}`, body, params);
|
|
241
184
|
return { content: [{ type: "text", text: `Memo ${id} updated.` }] };
|
|
242
185
|
});
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
.string()
|
|
247
|
-
|
|
248
|
-
|
|
186
|
+
server.registerTool("delete_memo", {
|
|
187
|
+
description: "Permanently delete a memo. This action cannot be undone.",
|
|
188
|
+
inputSchema: {
|
|
189
|
+
id: z.string().min(1).describe("Memo identifier. Numeric ID or UID string"),
|
|
190
|
+
},
|
|
191
|
+
annotations: { destructiveHint: true, idempotentHint: true, openWorldHint: false },
|
|
249
192
|
}, async ({ id }) => {
|
|
250
193
|
const numericId = await resolveToNumericId(client, id);
|
|
251
194
|
await client.delete(`/api/v1/memos/${numericId}`);
|
package/dist/tools/memos.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"memos.js","sourceRoot":"","sources":["../../src/tools/memos.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"memos.js","sourceRoot":"","sources":["../../src/tools/memos.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"relations.d.ts","sourceRoot":"","sources":["../../src/tools/relations.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEpE,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"relations.d.ts","sourceRoot":"","sources":["../../src/tools/relations.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEpE,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAiE3C,eAAO,MAAM,qBAAqB,GAAI,QAAQ,SAAS,EAAE,QAAQ,WAAW,SAiG3E,CAAC"}
|