@glie/mcp-polaris 0.5.0 → 0.6.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 +63 -20
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -220,17 +220,28 @@ var TOOLS = [
|
|
|
220
220
|
},
|
|
221
221
|
{
|
|
222
222
|
name: "polaris.task.create",
|
|
223
|
-
description: "Create a task within a milestone.",
|
|
224
|
-
inputSchema: objSchema({
|
|
223
|
+
description: "Create a task within a milestone. For a marketing CREATIVE (a task in an mkt campaign): channel + format + scheduled_date (the publish day / calendar slot) + platform (if this creative is individually paid).",
|
|
224
|
+
inputSchema: objSchema({
|
|
225
|
+
milestone_id: intSchema(),
|
|
226
|
+
name: strSchema(),
|
|
227
|
+
description_md: strSchema(),
|
|
228
|
+
status: strSchema("draft|backlog|dev|test|approval|release (default draft)"),
|
|
229
|
+
channel: strSchema("mkt: Instagram, TikTok, LinkedIn, \u2026"),
|
|
230
|
+
format: strSchema("mkt: post, reel, story, artigo, \u2026"),
|
|
231
|
+
scheduled_date: strSchema("mkt: publish day (ISO date) \u2014 the calendar slot"),
|
|
232
|
+
platform: strSchema("mkt: ad platform if this creative is individually paid"),
|
|
233
|
+
asset_url: strSchema("mkt: URL of the produced creative asset (image/video) for the reviewer")
|
|
234
|
+
}, ["milestone_id", "name"]),
|
|
225
235
|
call: async (args) => (await apiCall("POST", "/api/tasks", args)).body
|
|
226
236
|
},
|
|
227
237
|
{
|
|
228
238
|
name: "polaris.task.update",
|
|
229
|
-
description: "Correct or refine a task's spec \u2014 PATCH its description_md (and optionally name).
|
|
239
|
+
description: "Correct or refine a task's spec \u2014 PATCH its description_md (and optionally name). For a marketing creative, set asset_url to the produced asset (image/video) so the reviewer can download and review it. It is NOT a log of what was done (leave that as a comment). Needs a token.",
|
|
230
240
|
inputSchema: objSchema({
|
|
231
241
|
id: intSchema(),
|
|
232
242
|
name: strSchema(),
|
|
233
|
-
description_md: strSchema("full markdown brief; replaces the current description")
|
|
243
|
+
description_md: strSchema("full markdown brief; replaces the current description"),
|
|
244
|
+
asset_url: strSchema("mkt: URL of the produced creative asset (image/video) for the reviewer")
|
|
234
245
|
}, ["id"]),
|
|
235
246
|
call: async (args) => {
|
|
236
247
|
const body = {};
|
|
@@ -238,6 +249,8 @@ var TOOLS = [
|
|
|
238
249
|
body.name = args.name;
|
|
239
250
|
if (typeof args.description_md === "string")
|
|
240
251
|
body.description_md = args.description_md;
|
|
252
|
+
if (typeof args.asset_url === "string")
|
|
253
|
+
body.asset_url = args.asset_url;
|
|
241
254
|
return (await apiCall("PATCH", `/api/tasks/${args.id}`, body)).body;
|
|
242
255
|
}
|
|
243
256
|
},
|
|
@@ -339,12 +352,12 @@ var TOOLS = [
|
|
|
339
352
|
},
|
|
340
353
|
{
|
|
341
354
|
name: "polaris.ticket.update",
|
|
342
|
-
description: "Update a ticket's type, its human assignee, and/or its guidance (the
|
|
355
|
+
description: "Update a ticket's type, its human assignee, and/or its guidance (the helpdesker's orientation on what to do/say next).",
|
|
343
356
|
inputSchema: objSchema({
|
|
344
357
|
id: intSchema(),
|
|
345
358
|
type: strSchema("bug|question|suggestion|feedback"),
|
|
346
359
|
assignee_human_id: intSchema(),
|
|
347
|
-
guidance: strSchema("The
|
|
360
|
+
guidance: strSchema("The helpdesker's guidance on what to do/say next \u2014 orientation (e.g. create an issue, inform, reassure), researched from the customer's history + related issues. Shown to the human as advice; NOT inserted into the reply box.")
|
|
348
361
|
}, ["id"]),
|
|
349
362
|
call: async (args) => (await apiCall("PATCH", `/api/tickets/${args.id}`, {
|
|
350
363
|
type: args.type,
|
|
@@ -377,20 +390,23 @@ var TOOLS = [
|
|
|
377
390
|
},
|
|
378
391
|
{
|
|
379
392
|
name: "polaris.issue.open",
|
|
380
|
-
description: "Open a STANDALONE issue (no ticket needed) \u2014 e.g. an internal dev files a bug. Scope with project_key.",
|
|
381
|
-
inputSchema: objSchema({ project_key: strSchema(), title: strSchema() }, [
|
|
382
|
-
"project_key",
|
|
383
|
-
"title"
|
|
384
|
-
]),
|
|
393
|
+
description: "Open a STANDALONE issue (no ticket needed) \u2014 e.g. an internal dev files a bug. Scope with project_key. owner_human_id = the human accountable (defaults to you).",
|
|
394
|
+
inputSchema: objSchema({ project_key: strSchema(), title: strSchema(), owner_human_id: intSchema() }, ["project_key", "title"]),
|
|
385
395
|
call: async (args) => (await apiCall("POST", "/api/issues", args)).body
|
|
386
396
|
},
|
|
387
397
|
{
|
|
388
398
|
name: "polaris.issue.update",
|
|
389
|
-
description: "Update an issue \u2014 set its title
|
|
390
|
-
inputSchema: objSchema({
|
|
399
|
+
description: "Update an issue \u2014 set its title, assign it to an agent (assignee_agent_id, e.g. hand it to a planner), and/or set its owner (owner_human_id, the accountable human).",
|
|
400
|
+
inputSchema: objSchema({
|
|
401
|
+
id: intSchema(),
|
|
402
|
+
title: strSchema(),
|
|
403
|
+
assignee_agent_id: intSchema(),
|
|
404
|
+
owner_human_id: intSchema()
|
|
405
|
+
}, ["id"]),
|
|
391
406
|
call: async (args) => (await apiCall("PATCH", `/api/issues/${args.id}`, {
|
|
392
407
|
title: args.title,
|
|
393
|
-
assignee_agent_id: args.assignee_agent_id
|
|
408
|
+
assignee_agent_id: args.assignee_agent_id,
|
|
409
|
+
owner_human_id: args.owner_human_id
|
|
394
410
|
})).body
|
|
395
411
|
},
|
|
396
412
|
{
|
|
@@ -535,10 +551,10 @@ var TOOLS = [
|
|
|
535
551
|
},
|
|
536
552
|
{
|
|
537
553
|
name: "polaris.agent.create",
|
|
538
|
-
description: "Create an agent/employee (human-only). function: developer|tester|planner|
|
|
554
|
+
description: "Create an agent/employee (human-only). function: developer|tester|planner|helpdesker; product = project key; team = dev|mkt; domain optional (roadmap|helpdesk|both).",
|
|
539
555
|
inputSchema: objSchema({
|
|
540
556
|
agent_id_slug: strSchema("stable slug, e.g. developer-polaris-01"),
|
|
541
|
-
function: strSchema("developer|tester|planner|
|
|
557
|
+
function: strSchema("developer|tester|planner|helpdesker"),
|
|
542
558
|
product: strSchema("project key"),
|
|
543
559
|
name: strSchema("friendly display name"),
|
|
544
560
|
team: strSchema("dev|mkt"),
|
|
@@ -595,14 +611,41 @@ var TOOLS = [
|
|
|
595
611
|
},
|
|
596
612
|
{
|
|
597
613
|
name: "polaris.milestone.create",
|
|
598
|
-
description: "Create a milestone. team
|
|
614
|
+
description: "Create a milestone. team=dev|mkt; end_date = deadline (ISO date, required). For a marketing CAMPAIGN (team=mkt) these extra fields carry the plan: market (BR/US/EU), cadence (per-channel rules Discovery expands into dated creatives), max_creatives (cap on that expansion), and paid + platforms + budget for a paid campaign.",
|
|
599
615
|
inputSchema: objSchema({
|
|
600
616
|
project_key: strSchema(),
|
|
601
617
|
name: strSchema(),
|
|
602
618
|
team: strSchema("dev|mkt"),
|
|
603
619
|
end_date: strSchema("ISO date, e.g. 2026-06-30"),
|
|
620
|
+
start_date: strSchema("ISO date (optional)"),
|
|
604
621
|
framework_key: strSchema(),
|
|
605
|
-
description_md: strSchema()
|
|
622
|
+
description_md: strSchema(),
|
|
623
|
+
market: {
|
|
624
|
+
type: "array",
|
|
625
|
+
items: { type: "string" },
|
|
626
|
+
description: "mkt: target markets \u2014 any of BR, US, EU"
|
|
627
|
+
},
|
|
628
|
+
cadence: {
|
|
629
|
+
type: "array",
|
|
630
|
+
description: "mkt: per-channel cadence rules Discovery expands into dated creatives",
|
|
631
|
+
items: {
|
|
632
|
+
type: "object",
|
|
633
|
+
properties: {
|
|
634
|
+
channel: { type: "string", description: "Instagram, TikTok, LinkedIn, \u2026" },
|
|
635
|
+
format: { type: "string", description: "post, reel, story, artigo, \u2026" },
|
|
636
|
+
n: { type: "integer", description: "count per period" },
|
|
637
|
+
per: { type: "string", description: "day | week" }
|
|
638
|
+
}
|
|
639
|
+
}
|
|
640
|
+
},
|
|
641
|
+
max_creatives: intSchema("mkt: cap on how many creatives Discovery/cadence may generate"),
|
|
642
|
+
paid: { type: "boolean", description: "mkt: is the whole campaign paid?" },
|
|
643
|
+
platforms: {
|
|
644
|
+
type: "array",
|
|
645
|
+
items: { type: "string" },
|
|
646
|
+
description: "mkt paid: any of Meta, Google, Reddit, LinkedIn, TikTok, YouTube"
|
|
647
|
+
},
|
|
648
|
+
budget: { type: "number", description: "mkt: campaign ad-spend budget (\u20AC)" }
|
|
606
649
|
}, ["project_key", "name", "team", "end_date"]),
|
|
607
650
|
call: async (args) => (await apiCall("POST", "/api/milestones", args)).body
|
|
608
651
|
},
|
|
@@ -677,7 +720,7 @@ var TOOLS = [
|
|
|
677
720
|
},
|
|
678
721
|
{
|
|
679
722
|
name: "polaris.team.create",
|
|
680
|
-
description: 'Create a team (human-only). requires = capability keys (e.g. ["repo"]); functions = agent functions it runs (developer|tester|planner|
|
|
723
|
+
description: 'Create a team (human-only). requires = capability keys (e.g. ["repo"]); functions = agent functions it runs (developer|tester|planner|helpdesker).',
|
|
681
724
|
inputSchema: objSchema({
|
|
682
725
|
key: strSchema("team key, e.g. dev"),
|
|
683
726
|
name: strSchema(),
|
|
@@ -689,7 +732,7 @@ var TOOLS = [
|
|
|
689
732
|
functions: {
|
|
690
733
|
type: "array",
|
|
691
734
|
items: { type: "string" },
|
|
692
|
-
description: "developer|tester|planner|
|
|
735
|
+
description: "developer|tester|planner|helpdesker"
|
|
693
736
|
},
|
|
694
737
|
framework_key: strSchema()
|
|
695
738
|
}, ["key", "name"]),
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@glie/mcp-polaris",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.6.0",
|
|
4
4
|
"description": "Model Context Protocol (stdio) server exposing Polaris — glie's ops platform — as native tools in Claude Code and any MCP client.",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"author": "glie <carlos@glie.ai>",
|