@flowboardlabs/mcp-server 0.3.0 → 0.4.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
@@ -21,7 +21,8 @@ Add the following to your MCP server configuration:
21
21
  "command": "npx",
22
22
  "args": ["-y", "@flowboardlabs/mcp-server"],
23
23
  "env": {
24
- "FLOWBOARD_API_KEY": "your-api-key-here"
24
+ "FLOWBOARD_API_KEY": "your-api-key-here",
25
+ "FLOWBOARD_USER_EMAIL": "you@example.com"
25
26
  }
26
27
  }
27
28
  }
@@ -37,7 +38,8 @@ Add the following to your MCP server configuration:
37
38
  "command": "cmd",
38
39
  "args": ["/c", "npx", "-y", "@flowboardlabs/mcp-server"],
39
40
  "env": {
40
- "FLOWBOARD_API_KEY": "your-api-key-here"
41
+ "FLOWBOARD_API_KEY": "your-api-key-here",
42
+ "FLOWBOARD_USER_EMAIL": "you@example.com"
41
43
  }
42
44
  }
43
45
  }
@@ -58,14 +60,15 @@ Add the following to your MCP server configuration:
58
60
  |----------|----------|-------------|
59
61
  | `FLOWBOARD_API_KEY` | Yes | Your FlowBoard API key |
60
62
  | `FLOWBOARD_API_URL` | No | Custom API URL (for self-hosted instances) |
63
+ | `FLOWBOARD_USER_EMAIL` | No | Your email address in the workspace. Enables user-aware features: `mine` filter in search, and proper comment attribution |
61
64
 
62
65
  ## Available Tools
63
66
 
64
67
  | Tool | Description |
65
68
  |------|-------------|
66
69
  | `list_projects` | List all projects in your workspace |
67
- | `search_tasks` | Search and filter tasks by board, status, project, assignee, type, or tags |
68
- | `get_task` | Get a single task with its comments |
70
+ | `search_tasks` | Search and filter tasks by board, status, project, assignee, type, tags. Use `mine: true` to list your own tasks |
71
+ | `get_task` | Get a single task by ID or task number, including its comments |
69
72
  | `create_task` | Create a new idea or bug |
70
73
  | `update_task` | Change status, add comment, link a PR, assign someone |
71
74
  | `delete_task` | Soft-delete (trash) a task |
@@ -76,15 +79,27 @@ Add the following to your MCP server configuration:
76
79
  | `get_comments` | Get comments for a task |
77
80
  | `add_comment` | Add a comment to a task |
78
81
 
82
+ ### Task identification
83
+
84
+ All task-related tools accept either a `taskId` (Firestore document ID) or a `taskNumber` (the human-readable integer, e.g. `42`). Task numbers are easier to work with — agents can extract them from git branch names like `feature/42-fix-login`.
85
+
86
+ ### User identity
87
+
88
+ When `FLOWBOARD_USER_EMAIL` is set, the MCP server sends an `X-User-Email` header with every request. This enables:
89
+
90
+ - **`mine` filter** — `search_tasks` with `mine: true` returns only tasks assigned to you
91
+ - **Comment attribution** — comments added via `add_comment` or `update_task` are attributed to your user account instead of the generic "api" author
92
+
79
93
  ## Example Prompts
80
94
 
81
95
  Once configured, just ask naturally:
82
96
 
97
+ - "Show me my in-progress tasks"
83
98
  - "Show me all open bugs in the backend project"
84
99
  - "Create a bug: login page returns 500 when email contains a plus sign"
85
- - "Move task abc123 to in_progress and assign it to me"
100
+ - "Move task 42 to in_progress and assign it to me"
86
101
  - "What are the latest releases?"
87
- - "Add a comment to task xyz: Fixed in PR #42"
102
+ - "Add a comment to task 15: Fixed in PR #42"
88
103
 
89
104
  ## Requirements
90
105
 
package/dist/client.d.ts CHANGED
@@ -4,7 +4,8 @@
4
4
  export declare class FlowBoardClient {
5
5
  private apiKey;
6
6
  private baseUrl;
7
- constructor(apiKey: string, baseUrl?: string);
7
+ private userEmail?;
8
+ constructor(apiKey: string, baseUrl?: string, userEmail?: string);
8
9
  private request;
9
10
  listProjects(): Promise<{
10
11
  projects: Project[];
@@ -13,7 +14,7 @@ export declare class FlowBoardClient {
13
14
  tasks: Task[];
14
15
  filters: Record<string, unknown>;
15
16
  }>;
16
- getTask(taskId: string): Promise<{
17
+ getTask(taskId?: string, taskNumber?: number): Promise<{
17
18
  task: Task;
18
19
  comments: Comment[];
19
20
  }>;
@@ -22,21 +23,21 @@ export declare class FlowBoardClient {
22
23
  taskNumber: string;
23
24
  message: string;
24
25
  }>;
25
- updateTask(taskId: string, data: UpdateTaskInput): Promise<{
26
+ updateTask(data: UpdateTaskInput, taskId?: string, taskNumber?: number): Promise<{
26
27
  success: boolean;
27
28
  taskId: string;
28
29
  message: string;
29
30
  }>;
30
- deleteTask(taskId: string): Promise<{
31
+ deleteTask(taskId?: string, taskNumber?: number): Promise<{
31
32
  success: boolean;
32
33
  taskId: string;
33
34
  message: string;
34
35
  }>;
35
- getComments(taskId: string, limit?: number): Promise<{
36
+ getComments(limit?: number, taskId?: string, taskNumber?: number): Promise<{
36
37
  comments: Comment[];
37
38
  taskId: string;
38
39
  }>;
39
- addComment(taskId: string, text: string): Promise<{
40
+ addComment(text: string, taskId?: string, taskNumber?: number): Promise<{
40
41
  commentId: string;
41
42
  taskId: string;
42
43
  message: string;
@@ -48,7 +49,7 @@ export declare class FlowBoardClient {
48
49
  release: Release;
49
50
  tasks: Task[];
50
51
  }>;
51
- voteIdea(taskId: string): Promise<{
52
+ voteIdea(taskId?: string, taskNumber?: number): Promise<{
52
53
  success: boolean;
53
54
  taskId: string;
54
55
  voted: boolean;
@@ -109,6 +110,7 @@ export interface TaskFilters {
109
110
  type?: string;
110
111
  tags?: string[];
111
112
  limit?: number;
113
+ mine?: boolean;
112
114
  }
113
115
  export interface CreateTaskInput {
114
116
  title: string;
package/dist/client.js CHANGED
@@ -8,9 +8,11 @@ const DEFAULT_API_URL = 'https://europe-west3-flowwboard.cloudfunctions.net';
8
8
  class FlowBoardClient {
9
9
  apiKey;
10
10
  baseUrl;
11
- constructor(apiKey, baseUrl) {
11
+ userEmail;
12
+ constructor(apiKey, baseUrl, userEmail) {
12
13
  this.apiKey = apiKey;
13
14
  this.baseUrl = (baseUrl || DEFAULT_API_URL).replace(/\/+$/, '');
15
+ this.userEmail = userEmail;
14
16
  }
15
17
  async request(path, options = {}) {
16
18
  const { method = 'GET', body, query } = options;
@@ -23,6 +25,9 @@ class FlowBoardClient {
23
25
  Authorization: `Bearer ${this.apiKey}`,
24
26
  'Content-Type': 'application/json',
25
27
  };
28
+ if (this.userEmail) {
29
+ headers['X-User-Email'] = this.userEmail;
30
+ }
26
31
  const res = await fetch(url, {
27
32
  method,
28
33
  headers,
@@ -60,29 +65,55 @@ class FlowBoardClient {
60
65
  query.tags = filters.tags.join(',');
61
66
  if (filters.limit)
62
67
  query.limit = String(filters.limit);
68
+ if (filters.mine)
69
+ query.mine = 'true';
63
70
  return this.request('getTasks', { query });
64
71
  }
65
- async getTask(taskId) {
66
- return this.request('getTask', { query: { taskId } });
72
+ async getTask(taskId, taskNumber) {
73
+ const query = {};
74
+ if (taskId)
75
+ query.taskId = taskId;
76
+ if (taskNumber !== undefined)
77
+ query.taskNumber = String(taskNumber);
78
+ return this.request('getTask', { query });
67
79
  }
68
80
  async createTask(data) {
69
81
  return this.request('submitTask', { method: 'POST', body: data });
70
82
  }
71
- async updateTask(taskId, data) {
72
- return this.request('updateTask', { method: 'PATCH', body: data, query: { taskId } });
83
+ async updateTask(data, taskId, taskNumber) {
84
+ const query = {};
85
+ if (taskId)
86
+ query.taskId = taskId;
87
+ if (taskNumber !== undefined)
88
+ query.taskNumber = String(taskNumber);
89
+ return this.request('updateTask', { method: 'PATCH', body: data, query });
73
90
  }
74
- async deleteTask(taskId) {
75
- return this.request('deleteTask', { method: 'DELETE', query: { taskId } });
91
+ async deleteTask(taskId, taskNumber) {
92
+ const query = {};
93
+ if (taskId)
94
+ query.taskId = taskId;
95
+ if (taskNumber !== undefined)
96
+ query.taskNumber = String(taskNumber);
97
+ return this.request('deleteTask', { method: 'DELETE', query });
76
98
  }
77
99
  // ---- Comments ----
78
- async getComments(taskId, limit) {
79
- const query = { taskId };
100
+ async getComments(limit, taskId, taskNumber) {
101
+ const query = {};
102
+ if (taskId)
103
+ query.taskId = taskId;
104
+ if (taskNumber !== undefined)
105
+ query.taskNumber = String(taskNumber);
80
106
  if (limit)
81
107
  query.limit = String(limit);
82
108
  return this.request('getComments', { query });
83
109
  }
84
- async addComment(taskId, text) {
85
- return this.request('addComment', { method: 'POST', body: { text }, query: { taskId } });
110
+ async addComment(text, taskId, taskNumber) {
111
+ const query = {};
112
+ if (taskId)
113
+ query.taskId = taskId;
114
+ if (taskNumber !== undefined)
115
+ query.taskNumber = String(taskNumber);
116
+ return this.request('addComment', { method: 'POST', body: { text }, query });
86
117
  }
87
118
  // ---- Releases ----
88
119
  async listReleases(limit) {
@@ -95,8 +126,13 @@ class FlowBoardClient {
95
126
  return this.request('getRelease', { query: { releaseId } });
96
127
  }
97
128
  // ---- Ideas ----
98
- async voteIdea(taskId) {
99
- return this.request('voteIdea', { method: 'POST', query: { taskId } });
129
+ async voteIdea(taskId, taskNumber) {
130
+ const query = {};
131
+ if (taskId)
132
+ query.taskId = taskId;
133
+ if (taskNumber !== undefined)
134
+ query.taskNumber = String(taskNumber);
135
+ return this.request('voteIdea', { method: 'POST', query });
100
136
  }
101
137
  }
102
138
  exports.FlowBoardClient = FlowBoardClient;
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -7,15 +7,16 @@ const client_js_1 = require("./client.js");
7
7
  const tools_js_1 = require("./tools.js");
8
8
  const API_KEY = process.env.FLOWBOARD_API_KEY;
9
9
  const API_URL = process.env.FLOWBOARD_API_URL;
10
+ const USER_EMAIL = process.env.FLOWBOARD_USER_EMAIL;
10
11
  if (!API_KEY) {
11
12
  console.error('Error: FLOWBOARD_API_KEY environment variable is required.');
12
13
  console.error('Generate one at: FlowBoard → Settings → Integrations → API Keys');
13
14
  process.exit(1);
14
15
  }
15
- const client = new client_js_1.FlowBoardClient(API_KEY, API_URL);
16
+ const client = new client_js_1.FlowBoardClient(API_KEY, API_URL, USER_EMAIL);
16
17
  const server = new mcp_js_1.McpServer({
17
18
  name: 'flowboard',
18
- version: '0.2.0',
19
+ version: '0.4.0',
19
20
  });
20
21
  // ---- Register tools ----
21
22
  for (const def of tools_js_1.TOOL_DEFINITIONS) {
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAEA,oEAAsF;AACtF,wEAAiF;AACjF,2CAA8C;AAC9C,yCAA2D;AAE3D,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC;AAC9C,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC;AAC9C,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC;AAEpD,IAAI,CAAC,OAAO,EAAE,CAAC;IACb,OAAO,CAAC,KAAK,CAAC,4DAA4D,CAAC,CAAC;IAC5E,OAAO,CAAC,KAAK,CAAC,iEAAiE,CAAC,CAAC;IACjF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AAED,MAAM,MAAM,GAAG,IAAI,2BAAe,CAAC,OAAO,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;AAEjE,MAAM,MAAM,GAAG,IAAI,kBAAS,CAAC;IAC3B,IAAI,EAAE,WAAW;IACjB,OAAO,EAAE,OAAO;CACjB,CAAC,CAAC;AAEH,2BAA2B;AAE3B,KAAK,MAAM,GAAG,IAAI,2BAAgB,EAAE,CAAC;IACnC,MAAM,CAAC,IAAI,CACT,GAAG,CAAC,IAAI,EACR,GAAG,CAAC,WAAW,EACf,GAAG,CAAC,MAAM,EACV,KAAK,EAAE,IAA6B,EAAE,EAAE;QACtC,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,IAAA,sBAAW,EAAC,MAAM,EAAE,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YACzD,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;aAC5E,CAAC;QACJ,CAAC;QAAC,OAAO,GAAY,EAAE,CAAC;YACtB,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACjE,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,UAAU,OAAO,EAAE,EAAE,CAAC;gBAC/D,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;IACH,CAAC,CACF,CAAC;AACJ,CAAC;AAED,+BAA+B;AAE/B,oCAAoC;AACpC,MAAM,CAAC,QAAQ,CACb,UAAU,EACV,sBAAsB,EACtB,EAAE,WAAW,EAAE,uCAAuC,EAAE,EACxD,KAAK,IAAI,EAAE;IACT,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,YAAY,EAAE,CAAC;IAC3C,OAAO;QACL,QAAQ,EAAE;YACR;gBACE,GAAG,EAAE,sBAAsB;gBAC3B,QAAQ,EAAE,kBAAkB;gBAC5B,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;aAC/C;SACF;KACF,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,0CAA0C;AAC1C,MAAM,CAAC,QAAQ,CACb,MAAM,EACN,IAAI,yBAAgB,CAAC,4BAA4B,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,EACvE,EAAE,WAAW,EAAE,2CAA2C,EAAE,EAC5D,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE;IACpB,MAAM,MAAM,GAAG,MAAM,CAAC,MAAgB,CAAC;IACvC,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAC5C,OAAO;QACL,QAAQ,EAAE;YACR;gBACE,GAAG,EAAE,GAAG,CAAC,IAAI;gBACb,QAAQ,EAAE,kBAAkB;gBAC5B,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;aACtC;SACF;KACF,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,yBAAyB;AAEzB,KAAK,UAAU,IAAI;IACjB,MAAM,SAAS,GAAG,IAAI,+BAAoB,EAAE,CAAC;IAC7C,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;AAClC,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;IACnB,OAAO,CAAC,KAAK,CAAC,cAAc,EAAE,GAAG,CAAC,CAAC;IACnC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
package/dist/tools.js CHANGED
@@ -23,13 +23,15 @@ exports.TOOL_DEFINITIONS = [
23
23
  type: zod_1.z.string().describe('Filter by type: idea, bug, task').optional(),
24
24
  tags: zod_1.z.string().describe('Comma-separated list of tags to filter by').optional(),
25
25
  limit: zod_1.z.number().describe('Max results (default 100, max 500)').optional(),
26
+ mine: zod_1.z.boolean().describe('If true, filter tasks assigned to the current user (requires FLOWBOARD_USER_EMAIL)').optional(),
26
27
  },
27
28
  },
28
29
  {
29
30
  name: 'get_task',
30
- description: 'Get a single task by ID, including its comments.',
31
+ description: 'Get a single task by ID or task number, including its comments. Provide either taskId or taskNumber.',
31
32
  schema: {
32
- taskId: zod_1.z.string().describe('The task ID'),
33
+ taskId: zod_1.z.string().describe('The task ID (Firestore document ID)').optional(),
34
+ taskNumber: zod_1.z.number().describe('The task number (e.g. 42). More practical than taskId — can be extracted from branch names like "feature/42-fix-login"').optional(),
33
35
  },
34
36
  },
35
37
  {
@@ -45,9 +47,10 @@ exports.TOOL_DEFINITIONS = [
45
47
  },
46
48
  {
47
49
  name: 'update_task',
48
- description: 'Update a task — change status, add a comment, link a PR/MR, assign someone, or set a branch name.',
50
+ description: 'Update a task — change status, add a comment, link a PR/MR, assign someone, or set a branch name. Provide either taskId or taskNumber.',
49
51
  schema: {
50
- taskId: zod_1.z.string().describe('The task ID to update'),
52
+ taskId: zod_1.z.string().describe('The task ID to update').optional(),
53
+ taskNumber: zod_1.z.number().describe('The task number (alternative to taskId)').optional(),
51
54
  status: zod_1.z.string().describe('New status: open, in_progress, blocked, ready, done, paused').optional(),
52
55
  comment: zod_1.z.string().describe('Comment to add (1-5000 characters)').optional(),
53
56
  assignee: zod_1.z.string().describe('Assignee email or ID').optional(),
@@ -59,9 +62,10 @@ exports.TOOL_DEFINITIONS = [
59
62
  },
60
63
  {
61
64
  name: 'delete_task',
62
- description: 'Soft-delete (trash) a task.',
65
+ description: 'Soft-delete (trash) a task. Provide either taskId or taskNumber.',
63
66
  schema: {
64
- taskId: zod_1.z.string().describe('The task ID to delete'),
67
+ taskId: zod_1.z.string().describe('The task ID to delete').optional(),
68
+ taskNumber: zod_1.z.number().describe('The task number (alternative to taskId)').optional(),
65
69
  },
66
70
  },
67
71
  // ---- Ideas ----
@@ -75,9 +79,10 @@ exports.TOOL_DEFINITIONS = [
75
79
  },
76
80
  {
77
81
  name: 'vote_idea',
78
- description: 'Toggle a vote on an idea. Voting again removes the vote.',
82
+ description: 'Toggle a vote on an idea. Voting again removes the vote. Provide either taskId or taskNumber.',
79
83
  schema: {
80
- taskId: zod_1.z.string().describe('The idea task ID to vote on'),
84
+ taskId: zod_1.z.string().describe('The idea task ID to vote on').optional(),
85
+ taskNumber: zod_1.z.number().describe('The task number (alternative to taskId)').optional(),
81
86
  },
82
87
  },
83
88
  // ---- Releases ----
@@ -98,17 +103,19 @@ exports.TOOL_DEFINITIONS = [
98
103
  // ---- Comments ----
99
104
  {
100
105
  name: 'get_comments',
101
- description: 'Get comments for a task.',
106
+ description: 'Get comments for a task. Provide either taskId or taskNumber.',
102
107
  schema: {
103
- taskId: zod_1.z.string().describe('The task ID'),
108
+ taskId: zod_1.z.string().describe('The task ID').optional(),
109
+ taskNumber: zod_1.z.number().describe('The task number (alternative to taskId)').optional(),
104
110
  limit: zod_1.z.number().describe('Max comments (default 50, max 100)').optional(),
105
111
  },
106
112
  },
107
113
  {
108
114
  name: 'add_comment',
109
- description: 'Add a comment to a task.',
115
+ description: 'Add a comment to a task. Provide either taskId or taskNumber.',
110
116
  schema: {
111
- taskId: zod_1.z.string().describe('The task ID'),
117
+ taskId: zod_1.z.string().describe('The task ID').optional(),
118
+ taskNumber: zod_1.z.number().describe('The task number (alternative to taskId)').optional(),
112
119
  text: zod_1.z.string().describe('Comment text (1-5000 characters)'),
113
120
  },
114
121
  },
@@ -140,10 +147,12 @@ async function executeTool(client, toolName, args) {
140
147
  filters.tags = args.tags.split(',').map(s => s.trim());
141
148
  if (args.limit)
142
149
  filters.limit = args.limit;
150
+ if (args.mine)
151
+ filters.mine = true;
143
152
  return client.searchTasks(filters);
144
153
  }
145
154
  case 'get_task':
146
- return client.getTask(args.taskId);
155
+ return client.getTask(args.taskId, args.taskNumber);
147
156
  case 'create_task': {
148
157
  const tags = args.tags ? args.tags.split(',').map(s => s.trim()) : undefined;
149
158
  return client.createTask({
@@ -171,10 +180,10 @@ async function executeTool(client, toolName, args) {
171
180
  title: args.externalReferenceTitle || undefined,
172
181
  };
173
182
  }
174
- return client.updateTask(args.taskId, update);
183
+ return client.updateTask(update, args.taskId, args.taskNumber);
175
184
  }
176
185
  case 'delete_task':
177
- return client.deleteTask(args.taskId);
186
+ return client.deleteTask(args.taskId, args.taskNumber);
178
187
  // Ideas
179
188
  case 'list_ideas':
180
189
  return client.searchTasks({
@@ -183,7 +192,7 @@ async function executeTool(client, toolName, args) {
183
192
  limit: args.limit,
184
193
  });
185
194
  case 'vote_idea':
186
- return client.voteIdea(args.taskId);
195
+ return client.voteIdea(args.taskId, args.taskNumber);
187
196
  // Releases
188
197
  case 'list_releases':
189
198
  return client.listReleases(args.limit);
@@ -191,9 +200,9 @@ async function executeTool(client, toolName, args) {
191
200
  return client.getRelease(args.releaseId);
192
201
  // Comments
193
202
  case 'get_comments':
194
- return client.getComments(args.taskId, args.limit);
203
+ return client.getComments(args.limit, args.taskId, args.taskNumber);
195
204
  case 'add_comment':
196
- return client.addComment(args.taskId, args.text);
205
+ return client.addComment(args.text, args.taskId, args.taskNumber);
197
206
  default:
198
207
  throw new Error(`Unknown tool: ${toolName}`);
199
208
  }
package/dist/tools.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"tools.js","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tools.js","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":";;;AA2IA,kCAsFC;AAjOD,6BAAwB;AAcX,QAAA,gBAAgB,GAAc;IACzC,qBAAqB;IACrB;QACE,IAAI,EAAE,eAAe;QACrB,WAAW,EAAE,+CAA+C;QAC5D,MAAM,EAAE,EAAE;KACX;IAED,kBAAkB;IAClB;QACE,IAAI,EAAE,cAAc;QACpB,WAAW,EAAE,oHAAoH;QACjI,MAAM,EAAE;YACN,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,8CAA8C,CAAC,CAAC,QAAQ,EAAE;YACrF,MAAM,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,mEAAmE,CAAC,CAAC,QAAQ,EAAE;YAC3G,QAAQ,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,kCAAkC,CAAC,CAAC,QAAQ,EAAE;YAC5E,SAAS,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,sBAAsB,CAAC,CAAC,QAAQ,EAAE;YACjE,QAAQ,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,gCAAgC,CAAC,CAAC,QAAQ,EAAE;YAC1E,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,iCAAiC,CAAC,CAAC,QAAQ,EAAE;YACvE,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,2CAA2C,CAAC,CAAC,QAAQ,EAAE;YACjF,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,oCAAoC,CAAC,CAAC,QAAQ,EAAE;YAC3E,IAAI,EAAE,OAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,oFAAoF,CAAC,CAAC,QAAQ,EAAE;SAC5H;KACF;IACD;QACE,IAAI,EAAE,UAAU;QAChB,WAAW,EAAE,sGAAsG;QACnH,MAAM,EAAE;YACN,MAAM,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,qCAAqC,CAAC,CAAC,QAAQ,EAAE;YAC7E,UAAU,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,wHAAwH,CAAC,CAAC,QAAQ,EAAE;SACrK;KACF;IACD;QACE,IAAI,EAAE,aAAa;QACnB,WAAW,EAAE,0LAA0L;QACvM,MAAM,EAAE;YACN,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,+BAA+B,CAAC;YAC3D,WAAW,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,sCAAsC,CAAC;YACxE,IAAI,EAAE,OAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC;YAC7F,SAAS,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,+HAA+H,CAAC,CAAC,QAAQ,EAAE;YAC1K,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,kDAAkD,CAAC,CAAC,QAAQ,EAAE;SACzF;KACF;IACD;QACE,IAAI,EAAE,aAAa;QACnB,WAAW,EAAE,wIAAwI;QACrJ,MAAM,EAAE;YACN,MAAM,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,uBAAuB,CAAC,CAAC,QAAQ,EAAE;YAC/D,UAAU,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,yCAAyC,CAAC,CAAC,QAAQ,EAAE;YACrF,MAAM,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,6DAA6D,CAAC,CAAC,QAAQ,EAAE;YACrG,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,oCAAoC,CAAC,CAAC,QAAQ,EAAE;YAC7E,QAAQ,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,sBAAsB,CAAC,CAAC,QAAQ,EAAE;YAChE,UAAU,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,iCAAiC,CAAC,CAAC,QAAQ,EAAE;YAC7E,qBAAqB,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,kDAAkD,CAAC,CAAC,QAAQ,EAAE;YACzG,oBAAoB,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC,QAAQ,EAAE;YACxE,sBAAsB,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC,QAAQ,EAAE;SAC7E;KACF;IACD;QACE,IAAI,EAAE,aAAa;QACnB,WAAW,EAAE,kEAAkE;QAC/E,MAAM,EAAE;YACN,MAAM,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,uBAAuB,CAAC,CAAC,QAAQ,EAAE;YAC/D,UAAU,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,yCAAyC,CAAC,CAAC,QAAQ,EAAE;SACtF;KACF;IAED,kBAAkB;IAClB;QACE,IAAI,EAAE,YAAY;QAClB,WAAW,EAAE,qFAAqF;QAClG,MAAM,EAAE;YACN,MAAM,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC,QAAQ,EAAE;YAC1D,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,2BAA2B,CAAC,CAAC,QAAQ,EAAE;SACnE;KACF;IACD;QACE,IAAI,EAAE,WAAW;QACjB,WAAW,EAAE,+FAA+F;QAC5G,MAAM,EAAE;YACN,MAAM,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,6BAA6B,CAAC,CAAC,QAAQ,EAAE;YACrE,UAAU,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,yCAAyC,CAAC,CAAC,QAAQ,EAAE;SACtF;KACF;IAED,qBAAqB;IACrB;QACE,IAAI,EAAE,eAAe;QACrB,WAAW,EAAE,iCAAiC;QAC9C,MAAM,EAAE;YACN,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,mCAAmC,CAAC,CAAC,QAAQ,EAAE;SAC3E;KACF;IACD;QACE,IAAI,EAAE,aAAa;QACnB,WAAW,EAAE,iDAAiD;QAC9D,MAAM,EAAE;YACN,SAAS,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,gBAAgB,CAAC;SACjD;KACF;IAED,qBAAqB;IACrB;QACE,IAAI,EAAE,cAAc;QACpB,WAAW,EAAE,+DAA+D;QAC5E,MAAM,EAAE;YACN,MAAM,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,QAAQ,EAAE;YACrD,UAAU,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,yCAAyC,CAAC,CAAC,QAAQ,EAAE;YACrF,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,oCAAoC,CAAC,CAAC,QAAQ,EAAE;SAC5E;KACF;IACD;QACE,IAAI,EAAE,aAAa;QACnB,WAAW,EAAE,+DAA+D;QAC5E,MAAM,EAAE;YACN,MAAM,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,QAAQ,EAAE;YACrD,UAAU,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,yCAAyC,CAAC,CAAC,QAAQ,EAAE;YACrF,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,kCAAkC,CAAC;SAC9D;KACF;CACF,CAAC;AAEF;;GAEG;AACI,KAAK,UAAU,WAAW,CAC/B,MAAuB,EACvB,QAAgB,EAChB,IAA6B;IAE7B,QAAQ,QAAQ,EAAE,CAAC;QACjB,WAAW;QACX,KAAK,eAAe;YAClB,OAAO,MAAM,CAAC,YAAY,EAAE,CAAC;QAE/B,QAAQ;QACR,KAAK,cAAc,CAAC,CAAC,CAAC;YACpB,MAAM,OAAO,GAA4B,EAAE,CAAC;YAC5C,IAAI,IAAI,CAAC,KAAK;gBAAE,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;YAC3C,IAAI,IAAI,CAAC,MAAM;gBAAE,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;YAC9C,IAAI,IAAI,CAAC,QAAQ;gBAAE,OAAO,CAAC,QAAQ,GAAI,IAAI,CAAC,QAAmB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;YAC9F,IAAI,IAAI,CAAC,SAAS;gBAAE,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;YACvD,IAAI,IAAI,CAAC,QAAQ;gBAAE,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;YACpD,IAAI,IAAI,CAAC,IAAI;gBAAE,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;YACxC,IAAI,IAAI,CAAC,IAAI;gBAAE,OAAO,CAAC,IAAI,GAAI,IAAI,CAAC,IAAe,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;YAClF,IAAI,IAAI,CAAC,KAAK;gBAAE,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;YAC3C,IAAI,IAAI,CAAC,IAAI;gBAAE,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;YACnC,OAAO,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QACrC,CAAC;QAED,KAAK,UAAU;YACb,OAAO,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,MAA4B,EAAE,IAAI,CAAC,UAAgC,CAAC,CAAC;QAElG,KAAK,aAAa,CAAC,CAAC,CAAC;YACnB,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAE,IAAI,CAAC,IAAe,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YACzF,OAAO,MAAM,CAAC,UAAU,CAAC;gBACvB,KAAK,EAAE,IAAI,CAAC,KAAe;gBAC3B,WAAW,EAAE,IAAI,CAAC,WAAqB;gBACvC,IAAI,EAAE,IAAI,CAAC,IAA+B;gBAC1C,SAAS,EAAE,IAAI,CAAC,SAA+B;gBAC/C,IAAI;aACL,CAAC,CAAC;QACL,CAAC;QAED,KAAK,aAAa,CAAC,CAAC,CAAC;YACnB,MAAM,MAAM,GAA4B,EAAE,CAAC;YAC3C,IAAI,IAAI,CAAC,MAAM;gBAAE,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;YAC7C,IAAI,IAAI,CAAC,OAAO;gBAAE,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;YAChD,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS;gBAAE,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;YACjE,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS;gBAAE,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;YACvE,IAAI,IAAI,CAAC,qBAAqB,IAAI,IAAI,CAAC,oBAAoB,EAAE,CAAC;gBAC5D,MAAM,CAAC,iBAAiB,GAAG;oBACzB,IAAI,EAAE,IAAI,CAAC,qBAAqB;oBAChC,GAAG,EAAE,IAAI,CAAC,oBAAoB;oBAC9B,KAAK,EAAE,IAAI,CAAC,sBAAsB,IAAI,SAAS;iBAChD,CAAC;YACJ,CAAC;YACD,OAAO,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC,MAA4B,EAAE,IAAI,CAAC,UAAgC,CAAC,CAAC;QAC7G,CAAC;QAED,KAAK,aAAa;YAChB,OAAO,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,MAA4B,EAAE,IAAI,CAAC,UAAgC,CAAC,CAAC;QAErG,QAAQ;QACR,KAAK,YAAY;YACf,OAAO,MAAM,CAAC,WAAW,CAAC;gBACxB,KAAK,EAAE,OAAO;gBACd,MAAM,EAAE,IAAI,CAAC,MAA4B;gBACzC,KAAK,EAAE,IAAI,CAAC,KAA2B;aACxC,CAAC,CAAC;QAEL,KAAK,WAAW;YACd,OAAO,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,MAA4B,EAAE,IAAI,CAAC,UAAgC,CAAC,CAAC;QAEnG,WAAW;QACX,KAAK,eAAe;YAClB,OAAO,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,KAA2B,CAAC,CAAC;QAE/D,KAAK,aAAa;YAChB,OAAO,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,SAAmB,CAAC,CAAC;QAErD,WAAW;QACX,KAAK,cAAc;YACjB,OAAO,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,KAA2B,EAAE,IAAI,CAAC,MAA4B,EAAE,IAAI,CAAC,UAAgC,CAAC,CAAC;QAExI,KAAK,aAAa;YAChB,OAAO,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,IAAc,EAAE,IAAI,CAAC,MAA4B,EAAE,IAAI,CAAC,UAAgC,CAAC,CAAC;QAE1H;YACE,MAAM,IAAI,KAAK,CAAC,iBAAiB,QAAQ,EAAE,CAAC,CAAC;IACjD,CAAC;AACH,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@flowboardlabs/mcp-server",
3
- "version": "0.3.0",
3
+ "version": "0.4.0",
4
4
  "description": "FlowBoard MCP Server — lets AI tools manage projects, tasks, ideas, and releases",
5
5
  "main": "dist/index.js",
6
6
  "bin": {