@artyfacts/mcp-server 1.1.4 → 1.2.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/server.cjs CHANGED
@@ -98,6 +98,7 @@ var ARTYFACTS_TOOLS = [
98
98
  title: { type: "string", description: "Artifact title" },
99
99
  type: { type: "string", description: "Artifact type: goal, spec, research, report, experiment, decision, doc" },
100
100
  content: { type: "string", description: "Markdown content" },
101
+ goal_id: { type: "string", description: "The goal UUID this artifact belongs to \u2014 always pass this when working on a task" },
101
102
  parent_id: { type: "string", description: "Parent artifact ID for nested artifacts" },
102
103
  tags: { type: "array", items: { type: "string" }, description: "Tags for categorization" }
103
104
  },
@@ -251,6 +252,19 @@ var ARTYFACTS_TOOLS = [
251
252
  required: ["task_id", "reason"]
252
253
  }
253
254
  },
255
+ {
256
+ name: "report_progress",
257
+ description: 'Report what you are currently doing on a task. Call this at meaningful milestones so your work is visible in the platform (e.g., "Analyzed 12 PRs, now writing the summary section", "Completed API design, starting implementation"). This is how your progress appears to humans watching the work.',
258
+ inputSchema: {
259
+ type: "object",
260
+ properties: {
261
+ task_id: { type: "string", description: "Task ID" },
262
+ message: { type: "string", description: "What you are doing right now \u2014 be specific and human-readable" },
263
+ metadata: { type: "object", description: "Optional extra context (step number, percentage, etc.)" }
264
+ },
265
+ required: ["task_id", "message"]
266
+ }
267
+ },
254
268
  {
255
269
  name: "create_task",
256
270
  description: "Create a new task under a goal. Use this to create actionable tasks \u2014 NOT create_artifact or create_section.",
@@ -475,6 +489,7 @@ var toolHandlers = {
475
489
  title: args.title,
476
490
  type: args.type || "document/sectioned",
477
491
  artifact_type: args.artifact_type || args.type || "doc",
492
+ goal_id: args.goal_id,
478
493
  parent_id: args.parent_id,
479
494
  tags: args.tags
480
495
  },
@@ -522,6 +537,14 @@ var toolHandlers = {
522
537
  const { task_id, ...body } = args;
523
538
  return client.post(`/tasks/${task_id}/block`, body);
524
539
  },
540
+ report_progress: (client, args) => {
541
+ const { task_id, message, metadata } = args;
542
+ return client.post(`/tasks/${task_id}/activity`, {
543
+ type: "progress",
544
+ content: message,
545
+ metadata: metadata ?? {}
546
+ });
547
+ },
525
548
  create_task: (client, args) => {
526
549
  const { goal_id, title, description, priority, assigned_to, depends_on, estimated_minutes } = args;
527
550
  return client.post("/tasks", { goal_id, title, description, priority, assigned_to, depends_on, estimated_minutes });
package/dist/server.js CHANGED
@@ -2,7 +2,7 @@ import {
2
2
  ArtyfactsMcpServer,
3
3
  createMcpServer,
4
4
  startServer
5
- } from "./chunk-GOOQPNGV.js";
5
+ } from "./chunk-MQM6RARV.js";
6
6
  export {
7
7
  ArtyfactsMcpServer,
8
8
  createMcpServer,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@artyfacts/mcp-server",
3
- "version": "1.1.4",
3
+ "version": "1.2.0",
4
4
  "description": "MCP server exposing Artyfacts tools for Claude Code",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
package/src/server.ts CHANGED
@@ -106,6 +106,7 @@ const ARTYFACTS_TOOLS: Tool[] = [
106
106
  title: { type: 'string', description: 'Artifact title' },
107
107
  type: { type: 'string', description: 'Artifact type: goal, spec, research, report, experiment, decision, doc' },
108
108
  content: { type: 'string', description: 'Markdown content' },
109
+ goal_id: { type: 'string', description: 'The goal UUID this artifact belongs to — always pass this when working on a task' },
109
110
  parent_id: { type: 'string', description: 'Parent artifact ID for nested artifacts' },
110
111
  tags: { type: 'array', items: { type: 'string' }, description: 'Tags for categorization' },
111
112
  },
@@ -261,6 +262,19 @@ const ARTYFACTS_TOOLS: Tool[] = [
261
262
  required: ['task_id', 'reason'],
262
263
  },
263
264
  },
265
+ {
266
+ name: 'report_progress',
267
+ description: 'Report what you are currently doing on a task. Call this at meaningful milestones so your work is visible in the platform (e.g., "Analyzed 12 PRs, now writing the summary section", "Completed API design, starting implementation"). This is how your progress appears to humans watching the work.',
268
+ inputSchema: {
269
+ type: 'object',
270
+ properties: {
271
+ task_id: { type: 'string', description: 'Task ID' },
272
+ message: { type: 'string', description: 'What you are doing right now — be specific and human-readable' },
273
+ metadata: { type: 'object', description: 'Optional extra context (step number, percentage, etc.)' },
274
+ },
275
+ required: ['task_id', 'message'],
276
+ },
277
+ },
264
278
  {
265
279
  name: 'create_task',
266
280
  description: 'Create a new task under a goal. Use this to create actionable tasks — NOT create_artifact or create_section.',
@@ -500,6 +514,7 @@ const toolHandlers: Record<string, ToolHandler> = {
500
514
  title: args.title,
501
515
  type: args.type || 'document/sectioned',
502
516
  artifact_type: args.artifact_type || args.type || 'doc',
517
+ goal_id: args.goal_id,
503
518
  parent_id: args.parent_id,
504
519
  tags: args.tags,
505
520
  },
@@ -550,6 +565,14 @@ const toolHandlers: Record<string, ToolHandler> = {
550
565
  const { task_id, ...body } = args;
551
566
  return client.post(`/tasks/${task_id}/block`, body);
552
567
  },
568
+ report_progress: (client, args) => {
569
+ const { task_id, message, metadata } = args;
570
+ return client.post(`/tasks/${task_id}/activity`, {
571
+ type: 'progress',
572
+ content: message,
573
+ metadata: metadata ?? {},
574
+ });
575
+ },
553
576
  create_task: (client, args) => {
554
577
  const { goal_id, title, description, priority, assigned_to, depends_on, estimated_minutes } = args;
555
578
  return client.post('/tasks', { goal_id, title, description, priority, assigned_to, depends_on, estimated_minutes });