fathom-mcp 0.4.11 → 0.4.12

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "fathom-mcp",
3
- "version": "0.4.11",
3
+ "version": "0.4.12",
4
4
  "description": "MCP server for Fathom — vault operations, search, rooms, and cross-workspace communication",
5
5
  "type": "module",
6
6
  "bin": {
package/src/cli.js CHANGED
@@ -129,7 +129,7 @@ function copyScripts(targetDir) {
129
129
  // --- Headless agent integration ----------------------------------------------
130
130
 
131
131
  const HEADLESS_CMDS = {
132
- "claude-code": (prompt) => ["claude", "-p", prompt],
132
+ "claude-code": (prompt) => ["claude", "-p", "--dangerously-skip-permissions", prompt],
133
133
  "codex": (prompt) => ["codex", "exec", prompt],
134
134
  "gemini": (prompt) => ["gemini", prompt],
135
135
  "opencode": (prompt) => ["opencode", "run", prompt],
@@ -679,12 +679,13 @@ async function runInit(flags = {}) {
679
679
  } else {
680
680
  if (cmdParts) {
681
681
  const [cmd, ...args] = cmdParts;
682
- const displayCmd = `${cmd} ${args[0]}${args.length > 1 ? " ..." : ""}`;
682
+ const flagArgs = args.slice(0, -1).join(" ");
683
+ const displayCmd = `${cmd} ${flagArgs} <prompt>`;
683
684
  const rl2 = readline.createInterface({ input: process.stdin, output: process.stdout });
684
685
  console.log("\n" + "─".repeat(60));
685
686
  const integrate = await askYesNo(
686
687
  rl2,
687
- `\n Auto-integrate instructions into your project?\n This will run: ${displayCmd}\n\n Proceed?`,
688
+ `\n Auto-integrate instructions into your project?\n This will run: ${displayCmd}\n\n ⚠ This uses --dangerously-skip-permissions so the agent can\n write to CLAUDE.md without prompting. If you prefer, decline\n and we'll print the instructions for you to add manually.\n\n Proceed?`,
688
689
  true,
689
690
  );
690
691
  rl2.close();
package/src/index.js CHANGED
@@ -209,8 +209,8 @@ const tools = [
209
209
  "Post a message to a shared room. Rooms are created implicitly on first post. " +
210
210
  "Use this for ambient, multilateral communication — unlike fathom_send (point-to-point DM), " +
211
211
  "room messages are visible to all participants. Responding is optional — use `<...>` for active silence. " +
212
- "Supports @workspace mentions (e.g. @fathom, @navier-stokes) — mentioned workspaces get the message " +
213
- "injected into their Claude session, same mechanism as fathom_send. Use @all to notify every workspace except sender.",
212
+ "Supports @workspace mentions (e.g. @fathom, @navier-stokes) — mentioned workspaces receive " +
213
+ "notifications in their mentions:{workspace} virtual room via fathom_room_list. Use @all to notify every workspace except sender.",
214
214
  inputSchema: {
215
215
  type: "object",
216
216
  properties: {
@@ -227,7 +227,9 @@ const tools = [
227
227
  "to the latest message. Default: 60 minutes before the latest message. Use start to look " +
228
228
  "further back. Example: minutes=15, start=120 returns 15 minutes of conversation starting " +
229
229
  "2 hours before the latest message. Response includes window metadata with has_older flag " +
230
- "for pseudo-pagination. Automatically marks the room as read for this workspace unless mark_read=false.",
230
+ "for pseudo-pagination. For virtual rooms (dm:*, mentions:*), messages are consumed on read " +
231
+ "deleted after being returned. Use mark_read=false to peek without consuming. " +
232
+ "For regular rooms, automatically marks as read unless mark_read=false.",
231
233
  inputSchema: {
232
234
  type: "object",
233
235
  properties: {
@@ -244,7 +246,8 @@ const tools = [
244
246
  description:
245
247
  "List all rooms with activity summary — message count, last activity time, last sender, " +
246
248
  "description, and per-room unread_count for this workspace. Use to discover active rooms " +
247
- "and see which have new messages.",
249
+ "and see which have new messages. Virtual rooms (dm:{workspace}, mentions:{workspace}) " +
250
+ "appear only for the owning workspace and disappear when empty.",
248
251
  inputSchema: {
249
252
  type: "object",
250
253
  properties: {},
@@ -279,9 +282,10 @@ const tools = [
279
282
  {
280
283
  name: "fathom_send",
281
284
  description:
282
- "Send a message to another workspace's agent instance — for cross-workspace coordination, " +
283
- "sharing findings, or requesting action. Use fathom_workspaces first to discover valid " +
284
- "targets. The target agent sees: 'Message from workspace ({from}): {message}'",
285
+ "Send a message to another workspace's agent instance — stored in their dm:{workspace} " +
286
+ "virtual room. Use fathom_workspaces first to discover valid targets. Recipients see DMs " +
287
+ "via fathom_room_list and consume them with fathom_room_read. " +
288
+ "Message format: 'Message from workspace ({from}): {message}'",
285
289
  inputSchema: {
286
290
  type: "object",
287
291
  properties: {