@flowboardlabs/mcp-server 0.2.1 → 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,11 +110,13 @@ 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;
115
117
  description: string;
116
- type: 'idea' | 'bug';
118
+ type: 'idea' | 'bug' | 'feature' | 'improvement' | 'fix' | 'chore';
119
+ projectId?: string;
117
120
  tags?: string[];
118
121
  metadata?: Record<string, unknown>;
119
122
  }
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,30 +23,34 @@ 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
  {
36
38
  name: 'create_task',
37
- description: 'Create a new task (idea or bug) in FlowBoard.',
39
+ description: 'Create a new task in FlowBoard. Ideas go to the ideas board, bugs to the bugs board, and flow types (feature, improvement, fix, chore) require a projectId targeting a specific project.',
38
40
  schema: {
39
41
  title: zod_1.z.string().describe('Task title (3-200 characters)'),
40
42
  description: zod_1.z.string().describe('Task description (0-5000 characters)'),
41
- type: zod_1.z.enum(['idea', 'bug']).describe('Task type: idea or bug'),
43
+ type: zod_1.z.enum(['idea', 'bug', 'feature', 'improvement', 'fix', 'chore']).describe('Task type'),
44
+ projectId: zod_1.z.string().describe('Target project ID (required for feature/improvement/fix/chore, optional for idea/bug). Use list_projects to find project IDs.').optional(),
42
45
  tags: zod_1.z.string().describe('Comma-separated tags (max 10, each max 50 chars)').optional(),
43
46
  },
44
47
  },
45
48
  {
46
49
  name: 'update_task',
47
- 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.',
48
51
  schema: {
49
- 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(),
50
54
  status: zod_1.z.string().describe('New status: open, in_progress, blocked, ready, done, paused').optional(),
51
55
  comment: zod_1.z.string().describe('Comment to add (1-5000 characters)').optional(),
52
56
  assignee: zod_1.z.string().describe('Assignee email or ID').optional(),
@@ -58,9 +62,10 @@ exports.TOOL_DEFINITIONS = [
58
62
  },
59
63
  {
60
64
  name: 'delete_task',
61
- description: 'Soft-delete (trash) a task.',
65
+ description: 'Soft-delete (trash) a task. Provide either taskId or taskNumber.',
62
66
  schema: {
63
- 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(),
64
69
  },
65
70
  },
66
71
  // ---- Ideas ----
@@ -74,9 +79,10 @@ exports.TOOL_DEFINITIONS = [
74
79
  },
75
80
  {
76
81
  name: 'vote_idea',
77
- 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.',
78
83
  schema: {
79
- 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(),
80
86
  },
81
87
  },
82
88
  // ---- Releases ----
@@ -97,17 +103,19 @@ exports.TOOL_DEFINITIONS = [
97
103
  // ---- Comments ----
98
104
  {
99
105
  name: 'get_comments',
100
- description: 'Get comments for a task.',
106
+ description: 'Get comments for a task. Provide either taskId or taskNumber.',
101
107
  schema: {
102
- 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(),
103
110
  limit: zod_1.z.number().describe('Max comments (default 50, max 100)').optional(),
104
111
  },
105
112
  },
106
113
  {
107
114
  name: 'add_comment',
108
- description: 'Add a comment to a task.',
115
+ description: 'Add a comment to a task. Provide either taskId or taskNumber.',
109
116
  schema: {
110
- 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(),
111
119
  text: zod_1.z.string().describe('Comment text (1-5000 characters)'),
112
120
  },
113
121
  },
@@ -139,16 +147,19 @@ async function executeTool(client, toolName, args) {
139
147
  filters.tags = args.tags.split(',').map(s => s.trim());
140
148
  if (args.limit)
141
149
  filters.limit = args.limit;
150
+ if (args.mine)
151
+ filters.mine = true;
142
152
  return client.searchTasks(filters);
143
153
  }
144
154
  case 'get_task':
145
- return client.getTask(args.taskId);
155
+ return client.getTask(args.taskId, args.taskNumber);
146
156
  case 'create_task': {
147
157
  const tags = args.tags ? args.tags.split(',').map(s => s.trim()) : undefined;
148
158
  return client.createTask({
149
159
  title: args.title,
150
160
  description: args.description,
151
161
  type: args.type,
162
+ projectId: args.projectId,
152
163
  tags,
153
164
  });
154
165
  }
@@ -169,10 +180,10 @@ async function executeTool(client, toolName, args) {
169
180
  title: args.externalReferenceTitle || undefined,
170
181
  };
171
182
  }
172
- return client.updateTask(args.taskId, update);
183
+ return client.updateTask(update, args.taskId, args.taskNumber);
173
184
  }
174
185
  case 'delete_task':
175
- return client.deleteTask(args.taskId);
186
+ return client.deleteTask(args.taskId, args.taskNumber);
176
187
  // Ideas
177
188
  case 'list_ideas':
178
189
  return client.searchTasks({
@@ -181,7 +192,7 @@ async function executeTool(client, toolName, args) {
181
192
  limit: args.limit,
182
193
  });
183
194
  case 'vote_idea':
184
- return client.voteIdea(args.taskId);
195
+ return client.voteIdea(args.taskId, args.taskNumber);
185
196
  // Releases
186
197
  case 'list_releases':
187
198
  return client.listReleases(args.limit);
@@ -189,9 +200,9 @@ async function executeTool(client, toolName, args) {
189
200
  return client.getRelease(args.releaseId);
190
201
  // Comments
191
202
  case 'get_comments':
192
- return client.getComments(args.taskId, args.limit);
203
+ return client.getComments(args.limit, args.taskId, args.taskNumber);
193
204
  case 'add_comment':
194
- return client.addComment(args.taskId, args.text);
205
+ return client.addComment(args.text, args.taskId, args.taskNumber);
195
206
  default:
196
207
  throw new Error(`Unknown tool: ${toolName}`);
197
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":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@flowboardlabs/mcp-server",
3
- "version": "0.2.1",
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": {