snboard-mcp 1.0.1 → 1.0.3
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 +7 -5
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -58,11 +58,12 @@ var kanbanApi = {
|
|
|
58
58
|
getBoard: (id, params) => {
|
|
59
59
|
const searchParams = new URLSearchParams();
|
|
60
60
|
if (params?.columnId) searchParams.set("columnId", params.columnId);
|
|
61
|
-
if (params?.includeCards
|
|
61
|
+
if (params?.includeCards) searchParams.set("includeCards", "true");
|
|
62
62
|
if (params?.includeTags) searchParams.set("includeTags", "true");
|
|
63
63
|
if (params?.includeComments) searchParams.set("includeComments", "true");
|
|
64
64
|
if (params?.cardLimit) searchParams.set("cardLimit", params.cardLimit.toString());
|
|
65
65
|
if (params?.compact) searchParams.set("compact", "true");
|
|
66
|
+
if (params?.priority) searchParams.set("priority", params.priority);
|
|
66
67
|
const query = searchParams.toString();
|
|
67
68
|
return api(`/api/boards/${id}${query ? `?${query}` : ""}`);
|
|
68
69
|
},
|
|
@@ -85,6 +86,7 @@ var kanbanApi = {
|
|
|
85
86
|
if (params.boardId) searchParams.set("boardId", params.boardId);
|
|
86
87
|
if (params.columnId) searchParams.set("columnId", params.columnId);
|
|
87
88
|
if (params.epicId) searchParams.set("epicId", params.epicId);
|
|
89
|
+
if (params.featureId) searchParams.set("featureId", params.featureId);
|
|
88
90
|
if (params.hasEpic !== void 0) searchParams.set("hasEpic", params.hasEpic.toString());
|
|
89
91
|
if (params.status) searchParams.set("status", params.status);
|
|
90
92
|
if (params.tagIds?.length) searchParams.set("tagIds", params.tagIds.join(","));
|
|
@@ -156,7 +158,7 @@ server.setRequestHandler(ListToolsRequestSchema, async () => ({
|
|
|
156
158
|
// BOARDS
|
|
157
159
|
{ name: "list_boards", description: "List boards for a project with optional filters to reduce token usage", inputSchema: { type: "object", properties: { projectId: { type: "string", description: "Project ID" }, compact: { type: "boolean" }, includeColumnStats: { type: "boolean" }, limit: { type: "number" } }, required: ["projectId"] } },
|
|
158
160
|
{ name: "create_board", description: "Create a new board in a project with default columns (To Do, In Progress, Done)", inputSchema: { type: "object", properties: { projectId: { type: "string", description: "Project ID" }, name: { type: "string", description: "Board name" } }, required: ["projectId", "name"] } },
|
|
159
|
-
{ name: "get_board", description: "Get
|
|
161
|
+
{ name: "get_board", description: "Get board with columns. Cards NOT included by default. Use includeCards:true + cardLimit + columnId to get specific cards.", inputSchema: { type: "object", properties: { boardId: { type: "string", description: "Board ID" }, columnId: { type: "string", description: "Get only this column" }, includeCards: { type: "boolean", description: "Include cards (default: false)" }, cardLimit: { type: "number", description: "Max cards per column (e.g. 5)" }, priority: { type: "string", enum: ["P1", "P2", "P3"], description: "Filter by priority" }, compact: { type: "boolean", description: "Minimal fields (id, title, priority)" }, includeTags: { type: "boolean", description: "Include tags" }, includeComments: { type: "boolean", description: "Include comments (max 5)" } }, required: ["boardId"] } },
|
|
160
162
|
{ name: "update_board", description: "Update a board (rename)", inputSchema: { type: "object", properties: { boardId: { type: "string", description: "Board ID" }, name: { type: "string", description: "New board name" } }, required: ["boardId", "name"] } },
|
|
161
163
|
{ name: "delete_board", description: "Delete a board and all its columns and cards", inputSchema: { type: "object", properties: { boardId: { type: "string", description: "Board ID" } }, required: ["boardId"] } },
|
|
162
164
|
// COLUMNS
|
|
@@ -164,13 +166,13 @@ server.setRequestHandler(ListToolsRequestSchema, async () => ({
|
|
|
164
166
|
{ name: "update_column", description: "Update a column (name, emoji)", inputSchema: { type: "object", properties: { columnId: { type: "string", description: "Column ID" }, name: { type: "string" }, emoji: { type: "string" } }, required: ["columnId"] } },
|
|
165
167
|
{ name: "delete_column", description: "Delete a column and all its cards", inputSchema: { type: "object", properties: { columnId: { type: "string", description: "Column ID" } }, required: ["columnId"] } },
|
|
166
168
|
// CARDS
|
|
167
|
-
{ name: "create_card", description:
|
|
168
|
-
{ name: "update_card", description: "Update an existing card", inputSchema: { type: "object", properties: { cardId: { type: "string", description: "Card ID" }, title: { type: "string" }, description: { type: "string" } }, required: ["cardId"] } },
|
|
169
|
+
{ name: "create_card", description: 'Create a new card in a column. Supports auto-assign to epic if title starts with [SLUG] or SLUG -. Use featureId for multi-project features (e.g., "AUTH", "PAYMENT").', inputSchema: { type: "object", properties: { columnId: { type: "string", description: "Column ID" }, title: { type: "string", description: "Card title" }, description: { type: "string" }, priority: { type: "string", enum: ["P1", "P2", "P3"] }, featureId: { type: "string", description: 'Shared feature ID for multi-project features (e.g., "AUTH", "PAYMENT")' }, dueDate: { type: "string" }, epicId: { type: "string" }, tagIds: { type: "array", items: { type: "string" } }, linkedCardIds: { type: "array", items: { type: "string" } }, linkLabel: { type: "string" } }, required: ["columnId", "title"] } },
|
|
170
|
+
{ name: "update_card", description: "Update an existing card (title, description, priority, featureId, dueDate)", inputSchema: { type: "object", properties: { cardId: { type: "string", description: "Card ID" }, title: { type: "string" }, description: { type: "string" }, priority: { type: "string", enum: ["P1", "P2", "P3"] }, featureId: { type: "string", description: 'Shared feature ID for multi-project features (e.g., "AUTH", "PAYMENT")' }, dueDate: { type: "string" } }, required: ["cardId"] } },
|
|
169
171
|
{ name: "delete_card", description: "Delete a card", inputSchema: { type: "object", properties: { cardId: { type: "string", description: "Card ID" } }, required: ["cardId"] } },
|
|
170
172
|
{ name: "move_card", description: "Move a card to a different column", inputSchema: { type: "object", properties: { cardId: { type: "string", description: "Card ID" }, targetColumnId: { type: "string", description: "Target column ID" } }, required: ["cardId", "targetColumnId"] } },
|
|
171
173
|
{ name: "add_comment", description: "Add a comment to a card", inputSchema: { type: "object", properties: { cardId: { type: "string", description: "Card ID" }, content: { type: "string", description: "Comment content" } }, required: ["cardId", "content"] } },
|
|
172
174
|
{ name: "get_branch_name", description: "Generate a GitHub branch name for a card", inputSchema: { type: "object", properties: { cardId: { type: "string", description: "Card ID" }, type: { type: "string", enum: ["feature", "fix", "chore", "refactor", "docs"], description: "Branch type" } }, required: ["cardId"] } },
|
|
173
|
-
{ name: "search_cards", description: "Search cards by title or description with filters to reduce token usage", inputSchema: { type: "object", properties: { query: { type: "string", description: "Search query" }, projectId: { type: "string" }, boardId: { type: "string" }, columnId: { type: "string" }, epicId: { type: "string" }, hasEpic: { type: "boolean" }, status: { type: "string", enum: ["todo", "in_progress", "done"] }, tagIds: { type: "array", items: { type: "string" } }, limit: { type: "number" }, compact: { type: "boolean" } }, required: ["query"] } },
|
|
175
|
+
{ name: "search_cards", description: "Search cards by title or description with filters to reduce token usage", inputSchema: { type: "object", properties: { query: { type: "string", description: "Search query" }, projectId: { type: "string" }, boardId: { type: "string" }, columnId: { type: "string" }, epicId: { type: "string" }, featureId: { type: "string", description: "Filter by featureId (multi-project feature)" }, hasEpic: { type: "boolean" }, status: { type: "string", enum: ["todo", "in_progress", "done"] }, tagIds: { type: "array", items: { type: "string" } }, limit: { type: "number" }, compact: { type: "boolean" } }, required: ["query"] } },
|
|
174
176
|
// TAGS
|
|
175
177
|
{ name: "list_tags", description: "List all available tags", inputSchema: { type: "object", properties: {} } },
|
|
176
178
|
{ name: "create_tag", description: "Create a new tag", inputSchema: { type: "object", properties: { name: { type: "string", description: "Tag name" }, color: { type: "string", description: "Tag color hex" } }, required: ["name", "color"] } },
|