minutes-mcp 0.5.2 → 0.7.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/dist/index.js +41 -1
- package/package.json +3 -3
package/dist/index.js
CHANGED
|
@@ -237,7 +237,7 @@ function validatePathInDirectories(path, roots, allowedExts) {
|
|
|
237
237
|
// ── MCP Server ──────────────────────────────────────────────
|
|
238
238
|
const server = new McpServer({
|
|
239
239
|
name: "minutes",
|
|
240
|
-
version: "0.
|
|
240
|
+
version: "0.7.0",
|
|
241
241
|
});
|
|
242
242
|
// Configurable directories — override via env vars in Claude Desktop extension settings
|
|
243
243
|
const MEETINGS_DIR = process.env.MEETINGS_DIR || join(homedir(), "meetings");
|
|
@@ -968,6 +968,46 @@ server.resource("meeting", new ResourceTemplate("minutes://meetings/{slug}", { l
|
|
|
968
968
|
}
|
|
969
969
|
return { contents: [{ uri: uri.href, mimeType: "text/plain", text: `Meeting not found: ${slug}` }] };
|
|
970
970
|
});
|
|
971
|
+
// ── Resource: recent_ideas (voice memos from last N days) ──
|
|
972
|
+
server.resource("recent-ideas", "minutes://ideas/recent", { description: "Recent voice memos and ideas captured from any device (last 14 days)" }, async (uri) => {
|
|
973
|
+
const meetings = await reader.listMeetings(MEETINGS_DIR, 200);
|
|
974
|
+
const cutoff = new Date();
|
|
975
|
+
cutoff.setDate(cutoff.getDate() - 14);
|
|
976
|
+
const memos = meetings.filter((m) => {
|
|
977
|
+
if (m.frontmatter.type !== "memo")
|
|
978
|
+
return false;
|
|
979
|
+
const date = new Date(m.frontmatter.date);
|
|
980
|
+
return date >= cutoff;
|
|
981
|
+
});
|
|
982
|
+
if (memos.length === 0) {
|
|
983
|
+
return {
|
|
984
|
+
contents: [{
|
|
985
|
+
uri: uri.href,
|
|
986
|
+
mimeType: "text/plain",
|
|
987
|
+
text: "No voice memos in the last 14 days.",
|
|
988
|
+
}],
|
|
989
|
+
};
|
|
990
|
+
}
|
|
991
|
+
const lines = memos
|
|
992
|
+
.sort((a, b) => new Date(b.frontmatter.date).getTime() - new Date(a.frontmatter.date).getTime())
|
|
993
|
+
.slice(0, 20)
|
|
994
|
+
.map((m) => {
|
|
995
|
+
const date = new Date(m.frontmatter.date).toLocaleDateString("en-US", {
|
|
996
|
+
month: "short",
|
|
997
|
+
day: "numeric",
|
|
998
|
+
});
|
|
999
|
+
const device = m.frontmatter.device ? ` (${m.frontmatter.device})` : "";
|
|
1000
|
+
return `- [${date}] ${m.frontmatter.title}${device} — ${m.frontmatter.duration}`;
|
|
1001
|
+
})
|
|
1002
|
+
.join("\n");
|
|
1003
|
+
return {
|
|
1004
|
+
contents: [{
|
|
1005
|
+
uri: uri.href,
|
|
1006
|
+
mimeType: "text/plain",
|
|
1007
|
+
text: `Recent voice memos (${memos.length} in last 14 days):\n\n${lines}`,
|
|
1008
|
+
}],
|
|
1009
|
+
};
|
|
1010
|
+
});
|
|
971
1011
|
// ── Tool: start_dictation ──────────────────────────────────
|
|
972
1012
|
server.tool("start_dictation", "Start dictation mode. Speak naturally — text goes to clipboard and daily note after each pause. Runs until stop_dictation is called or silence timeout.", {}, { title: "Start Dictation", readOnlyHint: false, destructiveHint: false, idempotentHint: false, openWorldHint: false }, async () => {
|
|
973
1013
|
if (!(await isCliAvailable())) {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "minutes-mcp",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.7.0",
|
|
4
4
|
"description": "MCP server for minutes — conversation memory for AI assistants. Works with Claude Desktop, Cursor, Windsurf, and any MCP client.",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"type": "module",
|
|
@@ -38,9 +38,9 @@
|
|
|
38
38
|
"dev": "tsx src/index.ts"
|
|
39
39
|
},
|
|
40
40
|
"dependencies": {
|
|
41
|
-
"@modelcontextprotocol/sdk": "^1.27.1",
|
|
42
41
|
"@modelcontextprotocol/ext-apps": "^1.2.2",
|
|
43
|
-
"
|
|
42
|
+
"@modelcontextprotocol/sdk": "^1.27.1",
|
|
43
|
+
"minutes-sdk": "^0.7.0",
|
|
44
44
|
"yaml": "^2.8.3"
|
|
45
45
|
},
|
|
46
46
|
"devDependencies": {
|