@jclvsh/xmark 0.4.0 → 0.5.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 CHANGED
@@ -32,18 +32,18 @@ export XMARK_API_URL=https://api.xmark.dev
32
32
 
33
33
  ## Tools exposed via MCP
34
34
 
35
- | Tool | What it does |
36
- |---|---|
37
- | `search_bookmarks` | Semantic search over the user's bookmarks. |
38
- | `chat` | Ask a natural-language question with citations. |
39
- | `sync_bookmarks` | Pull the latest bookmarks from X. |
40
- | `list_bookmarks` | Paginated bookmark list. |
41
- | `get_bookmark` | Fetch a single bookmark by ID. |
42
- | `delete_bookmark` | Remove a bookmark (local-only, or also on X with `unbookmark`). |
43
- | `list_conversations` | Past chat conversations. |
44
- | `get_conversation_messages` | A conversation's message history. |
45
- | `delete_conversation` | Permanently delete a conversation. |
46
- | `get_usage` | Plan + quota usage (chat this month, syncs today, bookmark count). |
35
+ | Tool | What it does |
36
+ | --------------------------- | ------------------------------------------------------------------ |
37
+ | `search_bookmarks` | Semantic search over the user's bookmarks. |
38
+ | `chat` | Ask a natural-language question with citations. |
39
+ | `sync_bookmarks` | Pull the latest bookmarks from X. |
40
+ | `list_bookmarks` | Paginated bookmark list. |
41
+ | `get_bookmark` | Fetch a single bookmark by ID. |
42
+ | `delete_bookmark` | Remove a bookmark (local-only, or also on X with `unbookmark`). |
43
+ | `list_conversations` | Past chat conversations. |
44
+ | `get_conversation_messages` | A conversation's message history. |
45
+ | `delete_conversation` | Permanently delete a conversation. |
46
+ | `get_usage` | Plan + quota usage (chat this month, syncs today, bookmark count). |
47
47
 
48
48
  ## CLI commands
49
49
 
@@ -73,7 +73,9 @@ export function registerBookmarkTools(server, client) {
73
73
  content: [
74
74
  {
75
75
  type: "text",
76
- text: unbookmark ? "Bookmark removed from xmark and X." : "Bookmark removed from xmark (local only).",
76
+ text: unbookmark
77
+ ? "Bookmark removed from xmark and X."
78
+ : "Bookmark removed from xmark (local only).",
77
79
  },
78
80
  ],
79
81
  };
@@ -3,11 +3,7 @@ import { formatMcpError } from "../cli-utils.js";
3
3
  export function registerChatTools(server, client) {
4
4
  server.tool("chat", "Ask a natural-language question about the user's X bookmarks. Returns an answer with citations back to the original tweets. Free tier includes 20 chat messages per month.", {
5
5
  question: z.string().min(1).describe("The question to ask"),
6
- conversationId: z
7
- .string()
8
- .uuid()
9
- .optional()
10
- .describe("Continue an existing conversation by ID"),
6
+ conversationId: z.string().uuid().optional().describe("Continue an existing conversation by ID"),
11
7
  maxCitations: z
12
8
  .number()
13
9
  .int()
@@ -11,4 +11,13 @@ export function registerUsageTools(server, client) {
11
11
  return formatMcpError(error);
12
12
  }
13
13
  });
14
+ server.tool("get_changelog", "machine-readable release history (public) - version, date, type, summary, migration notes on breaking entries. the X-Notice header's structured backstory.", {}, async () => {
15
+ try {
16
+ const result = await client.get("/changelog");
17
+ return { content: [{ type: "text", text: JSON.stringify(result, null, 2) }] };
18
+ }
19
+ catch (error) {
20
+ return formatMcpError(error);
21
+ }
22
+ });
14
23
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jclvsh/xmark",
3
- "version": "0.4.0",
3
+ "version": "0.5.0",
4
4
  "description": "MCP server and CLI for the xmark API — chat with your X bookmarks from inside Claude Code, Cursor, or any MCP client.",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",