@limeadelabs/launchpad-mcp 1.2.1 → 1.2.2

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.
Files changed (2) hide show
  1. package/dist/index.js +10 -5
  2. package/package.json +8 -2
package/dist/index.js CHANGED
@@ -394,14 +394,16 @@ import { z as z7 } from "zod";
394
394
  function registerPageTools(server2, client2) {
395
395
  server2.tool(
396
396
  "lp_list_pages",
397
- "List spec/doc pages for a project",
397
+ "List spec/doc pages for a project (titles and IDs only \u2014 use lp_get_page to fetch full content)",
398
398
  {
399
399
  project_id: z7.coerce.number().describe("Project ID")
400
400
  },
401
401
  async (params) => {
402
402
  try {
403
403
  const result = await client2.listPages(params.project_id);
404
- return { content: [{ type: "text", text: JSON.stringify(result, null, 2) }] };
404
+ const pages = result.pages ?? result;
405
+ const summary = Array.isArray(pages) ? pages.map(({ id, title, author, created_at, updated_at }) => ({ id, title, author, created_at, updated_at })) : pages;
406
+ return { content: [{ type: "text", text: JSON.stringify(summary, null, 2) }] };
405
407
  } catch (error) {
406
408
  return handleError(error, client2.timeoutMs);
407
409
  }
@@ -409,14 +411,17 @@ function registerPageTools(server2, client2) {
409
411
  );
410
412
  server2.tool(
411
413
  "lp_get_page",
412
- "Get a page's full content",
414
+ "Get a page's full content by project_id and page_id (also accepts id as alias for page_id)",
413
415
  {
414
416
  project_id: z7.coerce.number().describe("Project ID"),
415
- page_id: z7.coerce.number().describe("Page ID")
417
+ page_id: z7.coerce.number().optional().describe("Page ID"),
418
+ id: z7.coerce.number().optional().describe("Page ID (alias for page_id)")
416
419
  },
417
420
  async (params) => {
418
421
  try {
419
- const result = await client2.getPage(params.project_id, params.page_id);
422
+ const pageId = params.page_id ?? params.id;
423
+ if (!pageId) throw new Error("page_id or id is required");
424
+ const result = await client2.getPage(params.project_id, pageId);
420
425
  return { content: [{ type: "text", text: JSON.stringify(result, null, 2) }] };
421
426
  } catch (error) {
422
427
  return handleError(error, client2.timeoutMs);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@limeadelabs/launchpad-mcp",
3
- "version": "1.2.1",
3
+ "version": "1.2.2",
4
4
  "description": "LaunchPad MCP server for Claude Code — AI-native project management integration",
5
5
  "type": "module",
6
6
  "exports": {
@@ -29,7 +29,13 @@
29
29
  "engines": {
30
30
  "node": ">=18.0.0"
31
31
  },
32
- "keywords": ["mcp", "launchpad", "claude", "project-management", "ai-agents"],
32
+ "keywords": [
33
+ "mcp",
34
+ "launchpad",
35
+ "claude",
36
+ "project-management",
37
+ "ai-agents"
38
+ ],
33
39
  "license": "MIT",
34
40
  "publishConfig": {
35
41
  "access": "public"