mcp-grampsweb 1.0.2 → 1.2.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.
Files changed (55) hide show
  1. package/dist/client.d.ts.map +1 -1
  2. package/dist/client.js +4 -0
  3. package/dist/client.js.map +1 -1
  4. package/dist/constants.d.ts +7 -0
  5. package/dist/constants.d.ts.map +1 -1
  6. package/dist/constants.js +8 -0
  7. package/dist/constants.js.map +1 -1
  8. package/dist/index.js +28 -1
  9. package/dist/index.js.map +1 -1
  10. package/dist/prompts/index.d.ts +26 -0
  11. package/dist/prompts/index.d.ts.map +1 -0
  12. package/dist/prompts/index.js +310 -0
  13. package/dist/prompts/index.js.map +1 -0
  14. package/dist/schemas/common.d.ts +67 -4
  15. package/dist/schemas/common.d.ts.map +1 -1
  16. package/dist/schemas/common.js +13 -2
  17. package/dist/schemas/common.js.map +1 -1
  18. package/dist/schemas/entities.d.ts +154 -36
  19. package/dist/schemas/entities.d.ts.map +1 -1
  20. package/dist/tools/analysis.d.ts.map +1 -1
  21. package/dist/tools/analysis.js +134 -56
  22. package/dist/tools/analysis.js.map +1 -1
  23. package/dist/tools/convenience.d.ts +59 -0
  24. package/dist/tools/convenience.d.ts.map +1 -0
  25. package/dist/tools/convenience.js +131 -0
  26. package/dist/tools/convenience.js.map +1 -0
  27. package/dist/tools/create.d.ts +35 -0
  28. package/dist/tools/create.d.ts.map +1 -1
  29. package/dist/tools/create.js +216 -44
  30. package/dist/tools/create.js.map +1 -1
  31. package/dist/tools/index.d.ts +253 -1
  32. package/dist/tools/index.d.ts.map +1 -1
  33. package/dist/tools/index.js +7 -1
  34. package/dist/tools/index.js.map +1 -1
  35. package/dist/tools/list.d.ts +88 -0
  36. package/dist/tools/list.d.ts.map +1 -0
  37. package/dist/tools/list.js +222 -0
  38. package/dist/tools/list.js.map +1 -0
  39. package/dist/tools/search.d.ts.map +1 -1
  40. package/dist/tools/search.js +67 -24
  41. package/dist/tools/search.js.map +1 -1
  42. package/dist/tools/update.d.ts +662 -0
  43. package/dist/tools/update.d.ts.map +1 -0
  44. package/dist/tools/update.js +383 -0
  45. package/dist/tools/update.js.map +1 -0
  46. package/dist/types.d.ts +11 -0
  47. package/dist/types.d.ts.map +1 -1
  48. package/dist/utils/formatting.d.ts.map +1 -1
  49. package/dist/utils/formatting.js +23 -2
  50. package/dist/utils/formatting.js.map +1 -1
  51. package/dist/utils/response.d.ts +34 -0
  52. package/dist/utils/response.d.ts.map +1 -0
  53. package/dist/utils/response.js +71 -0
  54. package/dist/utils/response.js.map +1 -0
  55. package/package.json +1 -1
@@ -0,0 +1,71 @@
1
+ /**
2
+ * Structured response formatting for LLM consumption
3
+ */
4
+ /**
5
+ * Format a tool response with consistent structure for LLM parsing.
6
+ *
7
+ * Output format:
8
+ * **Status:** success|empty|error
9
+ * **Summary:** Brief description of what happened
10
+ *
11
+ * **Data:**
12
+ * ```json
13
+ * { ... structured data ... }
14
+ * ```
15
+ *
16
+ * **Details:**
17
+ * Additional context or next steps
18
+ */
19
+ export function formatToolResponse(opts) {
20
+ const lines = [
21
+ `**Status:** ${opts.status}`,
22
+ `**Summary:** ${opts.summary}`,
23
+ ];
24
+ if (opts.data && Object.keys(opts.data).length > 0) {
25
+ lines.push("", "**Data:**", "```json", JSON.stringify(opts.data, null, 2), "```");
26
+ }
27
+ if (opts.details) {
28
+ lines.push("", "**Details:**", opts.details);
29
+ }
30
+ return lines.join("\n");
31
+ }
32
+ /**
33
+ * Format a list of entities for LLM consumption
34
+ */
35
+ export function formatEntityList(entityType, entities, totalCount) {
36
+ if (entities.length === 0) {
37
+ return formatToolResponse({
38
+ status: "empty",
39
+ summary: `No ${entityType} found`,
40
+ details: "Try broadening your search query or checking for typos.",
41
+ });
42
+ }
43
+ const data = {
44
+ count: entities.length,
45
+ results: entities,
46
+ };
47
+ if (totalCount !== undefined && totalCount > entities.length) {
48
+ data.total_count = totalCount;
49
+ data.has_more = true;
50
+ }
51
+ return formatToolResponse({
52
+ status: "success",
53
+ summary: `Found ${entities.length} ${entityType}${entities.length !== 1 ? "s" : ""}`,
54
+ data,
55
+ details: totalCount && totalCount > entities.length
56
+ ? `Showing ${entities.length} of ${totalCount} results. Use page/pagesize params for more.`
57
+ : undefined,
58
+ });
59
+ }
60
+ /**
61
+ * Format a created entity response with actionable next steps
62
+ */
63
+ export function formatCreatedEntity(entityType, displayName, entityData, nextSteps) {
64
+ return formatToolResponse({
65
+ status: "success",
66
+ summary: `Created ${entityType}: ${displayName}`,
67
+ data: entityData,
68
+ details: nextSteps,
69
+ });
70
+ }
71
+ //# sourceMappingURL=response.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"response.js","sourceRoot":"","sources":["../../src/utils/response.ts"],"names":[],"mappings":"AAAA;;GAEG;AASH;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,kBAAkB,CAAC,IAAyB;IAC1D,MAAM,KAAK,GAAG;QACZ,eAAe,IAAI,CAAC,MAAM,EAAE;QAC5B,gBAAgB,IAAI,CAAC,OAAO,EAAE;KAC/B,CAAC;IAEF,IAAI,IAAI,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACnD,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,WAAW,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;IACpF,CAAC;IAED,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;QACjB,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,cAAc,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IAC/C,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAC9B,UAAkB,EAClB,QAAwC,EACxC,UAAmB;IAEnB,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,kBAAkB,CAAC;YACxB,MAAM,EAAE,OAAO;YACf,OAAO,EAAE,MAAM,UAAU,QAAQ;YACjC,OAAO,EAAE,yDAAyD;SACnE,CAAC,CAAC;IACL,CAAC;IAED,MAAM,IAAI,GAA4B;QACpC,KAAK,EAAE,QAAQ,CAAC,MAAM;QACtB,OAAO,EAAE,QAAQ;KAClB,CAAC;IAEF,IAAI,UAAU,KAAK,SAAS,IAAI,UAAU,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC;QAC7D,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC;QAC9B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;IACvB,CAAC;IAED,OAAO,kBAAkB,CAAC;QACxB,MAAM,EAAE,SAAS;QACjB,OAAO,EAAE,SAAS,QAAQ,CAAC,MAAM,IAAI,UAAU,GAAG,QAAQ,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QACpF,IAAI;QACJ,OAAO,EAAE,UAAU,IAAI,UAAU,GAAG,QAAQ,CAAC,MAAM;YACjD,CAAC,CAAC,WAAW,QAAQ,CAAC,MAAM,OAAO,UAAU,8CAA8C;YAC3F,CAAC,CAAC,SAAS;KACd,CAAC,CAAC;AACL,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,mBAAmB,CACjC,UAAkB,EAClB,WAAmB,EACnB,UAAmC,EACnC,SAAkB;IAElB,OAAO,kBAAkB,CAAC;QACxB,MAAM,EAAE,SAAS;QACjB,OAAO,EAAE,WAAW,UAAU,KAAK,WAAW,EAAE;QAChD,IAAI,EAAE,UAAU;QAChB,OAAO,EAAE,SAAS;KACnB,CAAC,CAAC;AACL,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "mcp-grampsweb",
3
- "version": "1.0.2",
3
+ "version": "1.2.0",
4
4
  "description": "MCP server for Gramps Web genealogy API",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",