@artyfacts/mcp-server 1.0.3 → 1.0.5
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/chunk-MO7NJ56L.js +579 -0
- package/dist/chunk-NUVCJMET.js +600 -0
- package/dist/index.cjs +51 -7
- package/dist/index.js +1 -1
- package/dist/server.cjs +51 -7
- package/dist/server.js +1 -1
- package/package.json +1 -1
- package/src/server.ts +54 -9
package/dist/server.cjs
CHANGED
|
@@ -236,6 +236,23 @@ var ARTYFACTS_TOOLS = [
|
|
|
236
236
|
required: ["task_id", "reason"]
|
|
237
237
|
}
|
|
238
238
|
},
|
|
239
|
+
{
|
|
240
|
+
name: "create_task",
|
|
241
|
+
description: "Create a new task under a goal. Use this to create actionable tasks \u2014 NOT create_artifact or create_section.",
|
|
242
|
+
inputSchema: {
|
|
243
|
+
type: "object",
|
|
244
|
+
properties: {
|
|
245
|
+
goal_id: { type: "string", description: "The goal UUID this task belongs to (required)" },
|
|
246
|
+
title: { type: "string", description: "Task title" },
|
|
247
|
+
description: { type: "string", description: "Task description / what needs to be done" },
|
|
248
|
+
priority: { type: "string", description: "Priority: low, medium, high, urgent" },
|
|
249
|
+
assigned_to: { type: "string", description: "Agent UUID to assign the task to" },
|
|
250
|
+
depends_on: { type: "array", items: { type: "string" }, description: "List of task UUIDs this task depends on" },
|
|
251
|
+
estimated_minutes: { type: "number", description: "Estimated time in minutes" }
|
|
252
|
+
},
|
|
253
|
+
required: ["goal_id", "title"]
|
|
254
|
+
}
|
|
255
|
+
},
|
|
239
256
|
// Agent tools
|
|
240
257
|
{
|
|
241
258
|
name: "list_agents",
|
|
@@ -261,18 +278,27 @@ var ARTYFACTS_TOOLS = [
|
|
|
261
278
|
},
|
|
262
279
|
{
|
|
263
280
|
name: "create_agent",
|
|
264
|
-
description: "Register a new agent",
|
|
281
|
+
description: "Register a new AI agent with role, capabilities, and permissions",
|
|
265
282
|
inputSchema: {
|
|
266
283
|
type: "object",
|
|
267
284
|
properties: {
|
|
268
285
|
agentId: { type: "string", description: 'Unique agent ID (e.g., "engineering-agent", "qa-agent")' },
|
|
269
286
|
name: { type: "string", description: "Agent display name" },
|
|
270
|
-
|
|
271
|
-
description: { type: "string", description: "What this agent does" },
|
|
272
|
-
capabilities: { type: "array", items: { type: "string" }, description:
|
|
273
|
-
|
|
287
|
+
role: { type: "string", description: "Role: pm, engineering, qa, research, content, design" },
|
|
288
|
+
description: { type: "string", description: "What this agent does - detailed description" },
|
|
289
|
+
capabilities: { type: "array", items: { type: "string" }, description: 'List of capabilities (e.g., ["code-review", "testing", "debugging"])' },
|
|
290
|
+
permissions: {
|
|
291
|
+
type: "object",
|
|
292
|
+
description: "Permission settings",
|
|
293
|
+
properties: {
|
|
294
|
+
write: { type: "boolean", description: "Can create/edit artifacts" },
|
|
295
|
+
delete: { type: "boolean", description: "Can delete artifacts" },
|
|
296
|
+
delegate_tasks: { type: "boolean", description: "Can assign tasks to other agents" }
|
|
297
|
+
}
|
|
298
|
+
},
|
|
299
|
+
systemPrompt: { type: "string", description: "System prompt for the agent" }
|
|
274
300
|
},
|
|
275
|
-
required: ["agentId", "name", "
|
|
301
|
+
required: ["agentId", "name", "role", "description"]
|
|
276
302
|
}
|
|
277
303
|
},
|
|
278
304
|
{
|
|
@@ -468,6 +494,10 @@ var toolHandlers = {
|
|
|
468
494
|
const { task_id, ...body } = args;
|
|
469
495
|
return client.post(`/tasks/${task_id}/block`, body);
|
|
470
496
|
},
|
|
497
|
+
create_task: (client, args) => {
|
|
498
|
+
const { goal_id, title, description, priority, assigned_to, depends_on, estimated_minutes } = args;
|
|
499
|
+
return client.post("/tasks", { goal_id, title, description, priority, assigned_to, depends_on, estimated_minutes });
|
|
500
|
+
},
|
|
471
501
|
// Agents
|
|
472
502
|
list_agents: (client, args) => {
|
|
473
503
|
const params = new URLSearchParams();
|
|
@@ -475,7 +505,21 @@ var toolHandlers = {
|
|
|
475
505
|
return client.get(`/agents?${params}`);
|
|
476
506
|
},
|
|
477
507
|
get_agent: (client, args) => client.get(`/agents/${args.agent_id}`),
|
|
478
|
-
create_agent: (client, args) =>
|
|
508
|
+
create_agent: (client, args) => {
|
|
509
|
+
const body = {
|
|
510
|
+
agentId: args.agentId,
|
|
511
|
+
name: args.name,
|
|
512
|
+
role: args.role,
|
|
513
|
+
description: args.description,
|
|
514
|
+
permissions: args.permissions || { write: true, delete: false, delegate_tasks: false },
|
|
515
|
+
metadata: {
|
|
516
|
+
capabilities: args.capabilities || [],
|
|
517
|
+
systemPrompt: args.systemPrompt,
|
|
518
|
+
createdVia: "mcp"
|
|
519
|
+
}
|
|
520
|
+
};
|
|
521
|
+
return client.post("/agents", body);
|
|
522
|
+
},
|
|
479
523
|
update_agent: (client, args) => {
|
|
480
524
|
const { agent_id, ...body } = args;
|
|
481
525
|
return client.patch(`/agents/${agent_id}`, body);
|
package/dist/server.js
CHANGED
package/package.json
CHANGED
package/src/server.ts
CHANGED
|
@@ -244,7 +244,24 @@ const ARTYFACTS_TOOLS: Tool[] = [
|
|
|
244
244
|
required: ['task_id', 'reason'],
|
|
245
245
|
},
|
|
246
246
|
},
|
|
247
|
-
|
|
247
|
+
{
|
|
248
|
+
name: 'create_task',
|
|
249
|
+
description: 'Create a new task under a goal. Use this to create actionable tasks — NOT create_artifact or create_section.',
|
|
250
|
+
inputSchema: {
|
|
251
|
+
type: 'object',
|
|
252
|
+
properties: {
|
|
253
|
+
goal_id: { type: 'string', description: 'The goal UUID this task belongs to (required)' },
|
|
254
|
+
title: { type: 'string', description: 'Task title' },
|
|
255
|
+
description: { type: 'string', description: 'Task description / what needs to be done' },
|
|
256
|
+
priority: { type: 'string', description: 'Priority: low, medium, high, urgent' },
|
|
257
|
+
assigned_to: { type: 'string', description: 'Agent UUID to assign the task to' },
|
|
258
|
+
depends_on: { type: 'array', items: { type: 'string' }, description: 'List of task UUIDs this task depends on' },
|
|
259
|
+
estimated_minutes: { type: 'number', description: 'Estimated time in minutes' },
|
|
260
|
+
},
|
|
261
|
+
required: ['goal_id', 'title'],
|
|
262
|
+
},
|
|
263
|
+
},
|
|
264
|
+
|
|
248
265
|
// Agent tools
|
|
249
266
|
{
|
|
250
267
|
name: 'list_agents',
|
|
@@ -270,18 +287,27 @@ const ARTYFACTS_TOOLS: Tool[] = [
|
|
|
270
287
|
},
|
|
271
288
|
{
|
|
272
289
|
name: 'create_agent',
|
|
273
|
-
description: 'Register a new agent',
|
|
290
|
+
description: 'Register a new AI agent with role, capabilities, and permissions',
|
|
274
291
|
inputSchema: {
|
|
275
292
|
type: 'object',
|
|
276
293
|
properties: {
|
|
277
294
|
agentId: { type: 'string', description: 'Unique agent ID (e.g., "engineering-agent", "qa-agent")' },
|
|
278
295
|
name: { type: 'string', description: 'Agent display name' },
|
|
279
|
-
|
|
280
|
-
description: { type: 'string', description: 'What this agent does' },
|
|
281
|
-
capabilities: { type: 'array', items: { type: 'string' }, description: '
|
|
282
|
-
|
|
296
|
+
role: { type: 'string', description: 'Role: pm, engineering, qa, research, content, design' },
|
|
297
|
+
description: { type: 'string', description: 'What this agent does - detailed description' },
|
|
298
|
+
capabilities: { type: 'array', items: { type: 'string' }, description: 'List of capabilities (e.g., ["code-review", "testing", "debugging"])' },
|
|
299
|
+
permissions: {
|
|
300
|
+
type: 'object',
|
|
301
|
+
description: 'Permission settings',
|
|
302
|
+
properties: {
|
|
303
|
+
write: { type: 'boolean', description: 'Can create/edit artifacts' },
|
|
304
|
+
delete: { type: 'boolean', description: 'Can delete artifacts' },
|
|
305
|
+
delegate_tasks: { type: 'boolean', description: 'Can assign tasks to other agents' },
|
|
306
|
+
}
|
|
307
|
+
},
|
|
308
|
+
systemPrompt: { type: 'string', description: 'System prompt for the agent' },
|
|
283
309
|
},
|
|
284
|
-
required: ['agentId', 'name', '
|
|
310
|
+
required: ['agentId', 'name', 'role', 'description'],
|
|
285
311
|
},
|
|
286
312
|
},
|
|
287
313
|
{
|
|
@@ -495,7 +521,11 @@ const toolHandlers: Record<string, ToolHandler> = {
|
|
|
495
521
|
const { task_id, ...body } = args;
|
|
496
522
|
return client.post(`/tasks/${task_id}/block`, body);
|
|
497
523
|
},
|
|
498
|
-
|
|
524
|
+
create_task: (client, args) => {
|
|
525
|
+
const { goal_id, title, description, priority, assigned_to, depends_on, estimated_minutes } = args;
|
|
526
|
+
return client.post('/tasks', { goal_id, title, description, priority, assigned_to, depends_on, estimated_minutes });
|
|
527
|
+
},
|
|
528
|
+
|
|
499
529
|
// Agents
|
|
500
530
|
list_agents: (client, args) => {
|
|
501
531
|
const params = new URLSearchParams();
|
|
@@ -503,7 +533,22 @@ const toolHandlers: Record<string, ToolHandler> = {
|
|
|
503
533
|
return client.get(`/agents?${params}`);
|
|
504
534
|
},
|
|
505
535
|
get_agent: (client, args) => client.get(`/agents/${args.agent_id}`),
|
|
506
|
-
create_agent: (client, args) =>
|
|
536
|
+
create_agent: (client, args) => {
|
|
537
|
+
// Map MCP fields to API fields
|
|
538
|
+
const body = {
|
|
539
|
+
agentId: args.agentId,
|
|
540
|
+
name: args.name,
|
|
541
|
+
role: args.role,
|
|
542
|
+
description: args.description,
|
|
543
|
+
permissions: args.permissions || { write: true, delete: false, delegate_tasks: false },
|
|
544
|
+
metadata: {
|
|
545
|
+
capabilities: args.capabilities || [],
|
|
546
|
+
systemPrompt: args.systemPrompt,
|
|
547
|
+
createdVia: 'mcp',
|
|
548
|
+
},
|
|
549
|
+
};
|
|
550
|
+
return client.post('/agents', body);
|
|
551
|
+
},
|
|
507
552
|
update_agent: (client, args) => {
|
|
508
553
|
const { agent_id, ...body } = args;
|
|
509
554
|
return client.patch(`/agents/${agent_id}`, body);
|