mcp-grampsweb 1.0.2 → 1.1.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/dist/constants.d.ts +7 -0
- package/dist/constants.d.ts.map +1 -1
- package/dist/constants.js +8 -0
- package/dist/constants.js.map +1 -1
- package/dist/index.js +28 -1
- package/dist/index.js.map +1 -1
- package/dist/prompts/index.d.ts +26 -0
- package/dist/prompts/index.d.ts.map +1 -0
- package/dist/prompts/index.js +310 -0
- package/dist/prompts/index.js.map +1 -0
- package/dist/schemas/entities.d.ts +20 -20
- package/dist/tools/analysis.d.ts.map +1 -1
- package/dist/tools/analysis.js +134 -56
- package/dist/tools/analysis.js.map +1 -1
- package/dist/tools/create.d.ts.map +1 -1
- package/dist/tools/create.js +126 -27
- package/dist/tools/create.js.map +1 -1
- package/dist/tools/search.d.ts.map +1 -1
- package/dist/tools/search.js +67 -24
- package/dist/tools/search.js.map +1 -1
- package/dist/utils/response.d.ts +34 -0
- package/dist/utils/response.d.ts.map +1 -0
- package/dist/utils/response.js +71 -0
- package/dist/utils/response.js.map +1 -0
- package/package.json +1 -1
package/dist/tools/analysis.js
CHANGED
|
@@ -3,8 +3,9 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import { z } from "zod";
|
|
5
5
|
import { grampsClient } from "../client.js";
|
|
6
|
-
import { API_ENDPOINTS } from "../constants.js";
|
|
6
|
+
import { API_ENDPOINTS, MESSAGES } from "../constants.js";
|
|
7
7
|
import { formatPersonName } from "../utils/formatting.js";
|
|
8
|
+
import { formatToolResponse } from "../utils/response.js";
|
|
8
9
|
// Schema for ancestor/descendant queries
|
|
9
10
|
const lineageSchema = z.object({
|
|
10
11
|
handle: z.string().describe("Person handle to start from"),
|
|
@@ -77,20 +78,32 @@ export async function grampsTreeStats() {
|
|
|
77
78
|
}
|
|
78
79
|
}
|
|
79
80
|
}
|
|
80
|
-
const
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
`
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
81
|
+
const totalRecords = Object.values(stats).reduce((a, b) => a + b, 0);
|
|
82
|
+
if (totalRecords === 0) {
|
|
83
|
+
return formatToolResponse({
|
|
84
|
+
status: "empty",
|
|
85
|
+
summary: MESSAGES.EMPTY_TREE,
|
|
86
|
+
details: "Use gramps_create_person to add your first family member.",
|
|
87
|
+
});
|
|
88
|
+
}
|
|
89
|
+
return formatToolResponse({
|
|
90
|
+
status: "success",
|
|
91
|
+
summary: `Family tree contains ${totalRecords.toLocaleString()} total records`,
|
|
92
|
+
data: {
|
|
93
|
+
people: stats.people,
|
|
94
|
+
families: stats.families,
|
|
95
|
+
events: stats.events,
|
|
96
|
+
places: stats.places,
|
|
97
|
+
sources: stats.sources,
|
|
98
|
+
citations: stats.citations,
|
|
99
|
+
repositories: stats.repositories,
|
|
100
|
+
media: stats.media,
|
|
101
|
+
notes: stats.notes,
|
|
102
|
+
},
|
|
103
|
+
details: stats.people > 0
|
|
104
|
+
? "Use gramps_search or gramps_find to explore specific records."
|
|
105
|
+
: undefined,
|
|
106
|
+
});
|
|
94
107
|
}
|
|
95
108
|
/**
|
|
96
109
|
* Get ancestors of a person
|
|
@@ -149,9 +162,12 @@ export async function grampsGetAncestors(params) {
|
|
|
149
162
|
}
|
|
150
163
|
// Format output
|
|
151
164
|
if (ancestors.length === 0) {
|
|
152
|
-
return
|
|
165
|
+
return formatToolResponse({
|
|
166
|
+
status: "empty",
|
|
167
|
+
summary: "No ancestors found for this person",
|
|
168
|
+
details: "The person may not have parent family links. Check the person's parent_family_list.",
|
|
169
|
+
});
|
|
153
170
|
}
|
|
154
|
-
const lines = [`Found ${ancestors.length} ancestor(s) up to ${generations} generation(s):`, ""];
|
|
155
171
|
// Group by generation
|
|
156
172
|
const byGen = new Map();
|
|
157
173
|
for (const a of ancestors) {
|
|
@@ -160,17 +176,28 @@ export async function grampsGetAncestors(params) {
|
|
|
160
176
|
}
|
|
161
177
|
byGen.get(a.generation).push(a);
|
|
162
178
|
}
|
|
179
|
+
const generationsData = {};
|
|
163
180
|
for (let g = 0; g <= generations; g++) {
|
|
164
181
|
const genAncestors = byGen.get(g);
|
|
165
182
|
if (genAncestors && genAncestors.length > 0) {
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
183
|
+
generationsData[`generation_${g}`] = genAncestors.map((a) => ({
|
|
184
|
+
relationship: a.relationship,
|
|
185
|
+
name: formatPersonName(a.person.primary_name),
|
|
186
|
+
gramps_id: a.person.gramps_id,
|
|
187
|
+
handle: a.person.handle,
|
|
188
|
+
}));
|
|
171
189
|
}
|
|
172
190
|
}
|
|
173
|
-
return
|
|
191
|
+
return formatToolResponse({
|
|
192
|
+
status: "success",
|
|
193
|
+
summary: `Found ${ancestors.length} ancestor(s) across ${generations} generation(s)`,
|
|
194
|
+
data: {
|
|
195
|
+
total_count: ancestors.length,
|
|
196
|
+
generations_retrieved: generations,
|
|
197
|
+
ancestors: generationsData,
|
|
198
|
+
},
|
|
199
|
+
details: "Use handles with gramps_get to retrieve full details of any ancestor.",
|
|
200
|
+
});
|
|
174
201
|
}
|
|
175
202
|
/**
|
|
176
203
|
* Get descendants of a person
|
|
@@ -225,12 +252,12 @@ export async function grampsGetDescendants(params) {
|
|
|
225
252
|
}
|
|
226
253
|
// Format output
|
|
227
254
|
if (descendants.length === 0) {
|
|
228
|
-
return
|
|
255
|
+
return formatToolResponse({
|
|
256
|
+
status: "empty",
|
|
257
|
+
summary: "No descendants found for this person",
|
|
258
|
+
details: "The person may not have family links. Check the person's family_list.",
|
|
259
|
+
});
|
|
229
260
|
}
|
|
230
|
-
const lines = [
|
|
231
|
-
`Found ${descendants.length} descendant(s) up to ${generations} generation(s):`,
|
|
232
|
-
"",
|
|
233
|
-
];
|
|
234
261
|
// Group by generation
|
|
235
262
|
const byGen = new Map();
|
|
236
263
|
for (const d of descendants) {
|
|
@@ -239,17 +266,28 @@ export async function grampsGetDescendants(params) {
|
|
|
239
266
|
}
|
|
240
267
|
byGen.get(d.generation).push(d);
|
|
241
268
|
}
|
|
269
|
+
const generationsData = {};
|
|
242
270
|
for (let g = 0; g <= generations; g++) {
|
|
243
271
|
const genDescendants = byGen.get(g);
|
|
244
272
|
if (genDescendants && genDescendants.length > 0) {
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
273
|
+
generationsData[`generation_${g}`] = genDescendants.map((d) => ({
|
|
274
|
+
relationship: d.relationship,
|
|
275
|
+
name: formatPersonName(d.person.primary_name),
|
|
276
|
+
gramps_id: d.person.gramps_id,
|
|
277
|
+
handle: d.person.handle,
|
|
278
|
+
}));
|
|
250
279
|
}
|
|
251
280
|
}
|
|
252
|
-
return
|
|
281
|
+
return formatToolResponse({
|
|
282
|
+
status: "success",
|
|
283
|
+
summary: `Found ${descendants.length} descendant(s) across ${generations} generation(s)`,
|
|
284
|
+
data: {
|
|
285
|
+
total_count: descendants.length,
|
|
286
|
+
generations_retrieved: generations,
|
|
287
|
+
descendants: generationsData,
|
|
288
|
+
},
|
|
289
|
+
details: "Use handles with gramps_get to retrieve full details of any descendant.",
|
|
290
|
+
});
|
|
253
291
|
}
|
|
254
292
|
/**
|
|
255
293
|
* Get recent changes
|
|
@@ -262,15 +300,31 @@ export async function grampsRecentChanges(params) {
|
|
|
262
300
|
pagesize,
|
|
263
301
|
});
|
|
264
302
|
if (!response || response.length === 0) {
|
|
265
|
-
return
|
|
303
|
+
return formatToolResponse({
|
|
304
|
+
status: "empty",
|
|
305
|
+
summary: "No recent changes found",
|
|
306
|
+
details: "The tree may be new or have no activity tracking.",
|
|
307
|
+
});
|
|
266
308
|
}
|
|
267
|
-
const
|
|
268
|
-
for (const change of response) {
|
|
309
|
+
const changes = response.map((change) => {
|
|
269
310
|
const date = new Date(change.change * 1000);
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
311
|
+
return {
|
|
312
|
+
timestamp: date.toISOString(),
|
|
313
|
+
type: change.object_type,
|
|
314
|
+
gramps_id: change.gramps_id,
|
|
315
|
+
handle: change.handle,
|
|
316
|
+
};
|
|
317
|
+
});
|
|
318
|
+
return formatToolResponse({
|
|
319
|
+
status: "success",
|
|
320
|
+
summary: `Found ${changes.length} recent change(s)`,
|
|
321
|
+
data: {
|
|
322
|
+
page,
|
|
323
|
+
count: changes.length,
|
|
324
|
+
changes,
|
|
325
|
+
},
|
|
326
|
+
details: "Use handles with gramps_get to see full details of changed records.",
|
|
327
|
+
});
|
|
274
328
|
}
|
|
275
329
|
catch {
|
|
276
330
|
// Fallback: try fetching from each entity type and sorting by change time
|
|
@@ -297,23 +351,41 @@ export async function grampsRecentChanges(params) {
|
|
|
297
351
|
allEntities.sort((a, b) => b.change - a.change);
|
|
298
352
|
const topEntities = allEntities.slice(0, pagesize);
|
|
299
353
|
if (topEntities.length === 0) {
|
|
300
|
-
return
|
|
354
|
+
return formatToolResponse({
|
|
355
|
+
status: "empty",
|
|
356
|
+
summary: "No recent changes found",
|
|
357
|
+
details: "The tree may be new or have no activity tracking.",
|
|
358
|
+
});
|
|
301
359
|
}
|
|
302
|
-
const
|
|
303
|
-
for (const item of topEntities) {
|
|
360
|
+
const changes = topEntities.map((item) => {
|
|
304
361
|
const date = new Date(item.change * 1000);
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
362
|
+
return {
|
|
363
|
+
timestamp: date.toISOString(),
|
|
364
|
+
type: item.type,
|
|
365
|
+
gramps_id: item.entity.gramps_id,
|
|
366
|
+
handle: item.entity.handle,
|
|
367
|
+
};
|
|
368
|
+
});
|
|
369
|
+
return formatToolResponse({
|
|
370
|
+
status: "success",
|
|
371
|
+
summary: `Found ${changes.length} recent change(s)`,
|
|
372
|
+
data: {
|
|
373
|
+
page,
|
|
374
|
+
count: changes.length,
|
|
375
|
+
changes,
|
|
376
|
+
},
|
|
377
|
+
details: "Use handles with gramps_get to see full details of changed records.",
|
|
378
|
+
});
|
|
309
379
|
}
|
|
310
380
|
}
|
|
311
381
|
// Tool definitions for MCP
|
|
312
382
|
export const analysisTools = {
|
|
313
383
|
gramps_tree_stats: {
|
|
314
384
|
name: "gramps_tree_stats",
|
|
315
|
-
description: "Get
|
|
316
|
-
"
|
|
385
|
+
description: "Get database overview with record counts by type. " +
|
|
386
|
+
"USE FOR: Understanding tree size, checking if data exists. " +
|
|
387
|
+
"RETURNS: Counts of people, families, events, places, sources, etc. " +
|
|
388
|
+
"START HERE: Good first call to understand the tree before searching.",
|
|
317
389
|
inputSchema: {
|
|
318
390
|
type: "object",
|
|
319
391
|
properties: {},
|
|
@@ -323,8 +395,10 @@ export const analysisTools = {
|
|
|
323
395
|
},
|
|
324
396
|
gramps_get_ancestors: {
|
|
325
397
|
name: "gramps_get_ancestors",
|
|
326
|
-
description: "
|
|
327
|
-
"
|
|
398
|
+
description: "Traverse ancestry tree upward from a person. " +
|
|
399
|
+
"REQUIRED: handle of starting person (from search results). " +
|
|
400
|
+
"OPTIONAL: generations (1-10, default 3). " +
|
|
401
|
+
"RETURNS: Parents, grandparents, great-grandparents with handles.",
|
|
328
402
|
inputSchema: {
|
|
329
403
|
type: "object",
|
|
330
404
|
properties: {
|
|
@@ -344,8 +418,10 @@ export const analysisTools = {
|
|
|
344
418
|
},
|
|
345
419
|
gramps_get_descendants: {
|
|
346
420
|
name: "gramps_get_descendants",
|
|
347
|
-
description: "
|
|
348
|
-
"
|
|
421
|
+
description: "Traverse descendant tree downward from a person. " +
|
|
422
|
+
"REQUIRED: handle of starting person (from search results). " +
|
|
423
|
+
"OPTIONAL: generations (1-10, default 3). " +
|
|
424
|
+
"RETURNS: Children, grandchildren, great-grandchildren with handles.",
|
|
349
425
|
inputSchema: {
|
|
350
426
|
type: "object",
|
|
351
427
|
properties: {
|
|
@@ -365,8 +441,10 @@ export const analysisTools = {
|
|
|
365
441
|
},
|
|
366
442
|
gramps_recent_changes: {
|
|
367
443
|
name: "gramps_recent_changes",
|
|
368
|
-
description: "
|
|
369
|
-
"
|
|
444
|
+
description: "List recently added or modified records. " +
|
|
445
|
+
"USE FOR: Seeing latest tree activity, finding newly added records. " +
|
|
446
|
+
"OPTIONAL: page, pagesize for pagination. " +
|
|
447
|
+
"RETURNS: Timestamped list of changes with handles.",
|
|
370
448
|
inputSchema: {
|
|
371
449
|
type: "object",
|
|
372
450
|
properties: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"analysis.js","sourceRoot":"","sources":["../../src/tools/analysis.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"analysis.js","sourceRoot":"","sources":["../../src/tools/analysis.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../src/tools/create.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,EAClB,oBAAoB,EACpB,gBAAgB,EAChB,iBAAiB,EACjB,sBAAsB,EACvB,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../src/tools/create.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,EAClB,oBAAoB,EACpB,gBAAgB,EAChB,iBAAiB,EACjB,sBAAsB,EACvB,MAAM,wBAAwB,CAAC;AAkBhC;;GAEG;AACH,wBAAsB,kBAAkB,CACtC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,GACzC,OAAO,CAAC,MAAM,CAAC,CAyDjB;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CACtC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,GACzC,OAAO,CAAC,MAAM,CAAC,CAqDjB;AAED;;GAEG;AACH,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,GACxC,OAAO,CAAC,MAAM,CAAC,CAuCjB;AAED;;GAEG;AACH,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,GACxC,OAAO,CAAC,MAAM,CAAC,CA4CjB;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CACtC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,GACzC,OAAO,CAAC,MAAM,CAAC,CAqCjB;AAED;;GAEG;AACH,wBAAsB,oBAAoB,CACxC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,GAC3C,OAAO,CAAC,MAAM,CAAC,CAyCjB;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,GACvC,OAAO,CAAC,MAAM,CAAC,CA+BjB;AAED;;GAEG;AACH,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,GACxC,OAAO,CAAC,MAAM,CAAC,CAuCjB;AAED;;GAEG;AACH,wBAAsB,sBAAsB,CAC1C,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,GAC7C,OAAO,CAAC,MAAM,CAAC,CAkCjB;AAGD,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2UvB,CAAC"}
|
package/dist/tools/create.js
CHANGED
|
@@ -4,6 +4,8 @@
|
|
|
4
4
|
import { grampsClient } from "../client.js";
|
|
5
5
|
import { API_ENDPOINTS } from "../constants.js";
|
|
6
6
|
import { createPersonSchema, createFamilySchema, createEventSchema, createPlaceSchema, createSourceSchema, createCitationSchema, createNoteSchema, createMediaSchema, createRepositorySchema, } from "../schemas/entities.js";
|
|
7
|
+
import { formatCreatedEntity } from "../utils/response.js";
|
|
8
|
+
import { formatPersonName } from "../utils/formatting.js";
|
|
7
9
|
// Gender string to number mapping
|
|
8
10
|
function mapGender(gender) {
|
|
9
11
|
if (!gender)
|
|
@@ -51,7 +53,19 @@ export async function grampsCreatePerson(params) {
|
|
|
51
53
|
private: validated.private,
|
|
52
54
|
};
|
|
53
55
|
const response = await grampsClient.post(API_ENDPOINTS.PEOPLE, person);
|
|
54
|
-
|
|
56
|
+
const genderMap = {
|
|
57
|
+
0: "female",
|
|
58
|
+
1: "male",
|
|
59
|
+
2: "unknown",
|
|
60
|
+
};
|
|
61
|
+
const mappedGender = mapGender(validated.gender);
|
|
62
|
+
const genderStr = mappedGender !== undefined ? genderMap[mappedGender] : "unknown";
|
|
63
|
+
return formatCreatedEntity("person", formatPersonName(validated.primary_name), {
|
|
64
|
+
handle: response.handle,
|
|
65
|
+
gramps_id: response.gramps_id,
|
|
66
|
+
name: formatPersonName(validated.primary_name),
|
|
67
|
+
gender: genderStr,
|
|
68
|
+
}, `Use handle "${response.handle}" to link this person to families or events with gramps_create_family.`);
|
|
55
69
|
}
|
|
56
70
|
/**
|
|
57
71
|
* Create a family
|
|
@@ -83,7 +97,23 @@ export async function grampsCreateFamily(params) {
|
|
|
83
97
|
private: validated.private,
|
|
84
98
|
};
|
|
85
99
|
const response = await grampsClient.post(API_ENDPOINTS.FAMILIES, family);
|
|
86
|
-
|
|
100
|
+
const members = [];
|
|
101
|
+
if (validated.father_handle)
|
|
102
|
+
members.push("father");
|
|
103
|
+
if (validated.mother_handle)
|
|
104
|
+
members.push("mother");
|
|
105
|
+
if (validated.child_ref_list?.length)
|
|
106
|
+
members.push(`${validated.child_ref_list.length} child(ren)`);
|
|
107
|
+
return formatCreatedEntity("family", response.gramps_id, {
|
|
108
|
+
handle: response.handle,
|
|
109
|
+
gramps_id: response.gramps_id,
|
|
110
|
+
father_handle: validated.father_handle || null,
|
|
111
|
+
mother_handle: validated.mother_handle || null,
|
|
112
|
+
children_count: validated.child_ref_list?.length || 0,
|
|
113
|
+
type: validated.type || "Unknown",
|
|
114
|
+
}, members.length > 0
|
|
115
|
+
? `Family links ${members.join(", ")}. Add marriage/events with gramps_create_event.`
|
|
116
|
+
: "Add family members by updating with person handles.");
|
|
87
117
|
}
|
|
88
118
|
/**
|
|
89
119
|
* Create an event
|
|
@@ -108,7 +138,14 @@ export async function grampsCreateEvent(params) {
|
|
|
108
138
|
private: validated.private,
|
|
109
139
|
};
|
|
110
140
|
const response = await grampsClient.post(API_ENDPOINTS.EVENTS, event);
|
|
111
|
-
return
|
|
141
|
+
return formatCreatedEntity("event", `${validated.type} (${response.gramps_id})`, {
|
|
142
|
+
handle: response.handle,
|
|
143
|
+
gramps_id: response.gramps_id,
|
|
144
|
+
type: validated.type,
|
|
145
|
+
date: validated.date || null,
|
|
146
|
+
place_handle: validated.place || null,
|
|
147
|
+
description: validated.description || null,
|
|
148
|
+
}, `Link this event to a person or family using event_ref_list with handle "${response.handle}".`);
|
|
112
149
|
}
|
|
113
150
|
/**
|
|
114
151
|
* Create a place
|
|
@@ -137,7 +174,14 @@ export async function grampsCreatePlace(params) {
|
|
|
137
174
|
private: validated.private,
|
|
138
175
|
};
|
|
139
176
|
const response = await grampsClient.post(API_ENDPOINTS.PLACES, place);
|
|
140
|
-
|
|
177
|
+
const placeName = validated.name?.value || validated.title || response.gramps_id;
|
|
178
|
+
return formatCreatedEntity("place", placeName, {
|
|
179
|
+
handle: response.handle,
|
|
180
|
+
gramps_id: response.gramps_id,
|
|
181
|
+
name: placeName,
|
|
182
|
+
type: validated.place_type || null,
|
|
183
|
+
coordinates: validated.lat && validated.long ? { lat: validated.lat, long: validated.long } : null,
|
|
184
|
+
}, `Use handle "${response.handle}" when creating events to link them to this place.`);
|
|
141
185
|
}
|
|
142
186
|
/**
|
|
143
187
|
* Create a source
|
|
@@ -161,7 +205,13 @@ export async function grampsCreateSource(params) {
|
|
|
161
205
|
private: validated.private,
|
|
162
206
|
};
|
|
163
207
|
const response = await grampsClient.post(API_ENDPOINTS.SOURCES, source);
|
|
164
|
-
return
|
|
208
|
+
return formatCreatedEntity("source", validated.title, {
|
|
209
|
+
handle: response.handle,
|
|
210
|
+
gramps_id: response.gramps_id,
|
|
211
|
+
title: validated.title,
|
|
212
|
+
author: validated.author || null,
|
|
213
|
+
publication: validated.pubinfo || null,
|
|
214
|
+
}, `Create citations referencing this source with gramps_create_citation using source_handle "${response.handle}".`);
|
|
165
215
|
}
|
|
166
216
|
/**
|
|
167
217
|
* Create a citation
|
|
@@ -181,7 +231,20 @@ export async function grampsCreateCitation(params) {
|
|
|
181
231
|
private: validated.private,
|
|
182
232
|
};
|
|
183
233
|
const response = await grampsClient.post(API_ENDPOINTS.CITATIONS, citation);
|
|
184
|
-
|
|
234
|
+
const confidenceMap = {
|
|
235
|
+
0: "Very Low",
|
|
236
|
+
1: "Low",
|
|
237
|
+
2: "Normal",
|
|
238
|
+
3: "High",
|
|
239
|
+
4: "Very High",
|
|
240
|
+
};
|
|
241
|
+
return formatCreatedEntity("citation", response.gramps_id, {
|
|
242
|
+
handle: response.handle,
|
|
243
|
+
gramps_id: response.gramps_id,
|
|
244
|
+
source_handle: validated.source_handle,
|
|
245
|
+
page: validated.page || null,
|
|
246
|
+
confidence: validated.confidence !== undefined ? confidenceMap[validated.confidence] || "Normal" : "Normal",
|
|
247
|
+
}, `Add this citation to entities using citation_list with handle "${response.handle}".`);
|
|
185
248
|
}
|
|
186
249
|
/**
|
|
187
250
|
* Create a note
|
|
@@ -198,7 +261,13 @@ export async function grampsCreateNote(params) {
|
|
|
198
261
|
private: validated.private,
|
|
199
262
|
};
|
|
200
263
|
const response = await grampsClient.post(API_ENDPOINTS.NOTES, note);
|
|
201
|
-
|
|
264
|
+
const preview = validated.text.length > 50 ? validated.text.substring(0, 50) + "..." : validated.text;
|
|
265
|
+
return formatCreatedEntity("note", response.gramps_id, {
|
|
266
|
+
handle: response.handle,
|
|
267
|
+
gramps_id: response.gramps_id,
|
|
268
|
+
type: validated.type || "General",
|
|
269
|
+
preview,
|
|
270
|
+
}, `Attach this note to entities using note_list with handle "${response.handle}".`);
|
|
202
271
|
}
|
|
203
272
|
/**
|
|
204
273
|
* Create a media object
|
|
@@ -222,7 +291,14 @@ export async function grampsCreateMedia(params) {
|
|
|
222
291
|
private: validated.private,
|
|
223
292
|
};
|
|
224
293
|
const response = await grampsClient.post(API_ENDPOINTS.MEDIA, media);
|
|
225
|
-
|
|
294
|
+
const displayName = validated.desc || validated.path;
|
|
295
|
+
return formatCreatedEntity("media", displayName, {
|
|
296
|
+
handle: response.handle,
|
|
297
|
+
gramps_id: response.gramps_id,
|
|
298
|
+
path: validated.path,
|
|
299
|
+
mime_type: validated.mime || null,
|
|
300
|
+
description: validated.desc || null,
|
|
301
|
+
}, `Link this media to entities using media_list with handle "${response.handle}".`);
|
|
226
302
|
}
|
|
227
303
|
/**
|
|
228
304
|
* Create a repository
|
|
@@ -244,14 +320,21 @@ export async function grampsCreateRepository(params) {
|
|
|
244
320
|
private: validated.private,
|
|
245
321
|
};
|
|
246
322
|
const response = await grampsClient.post(API_ENDPOINTS.REPOSITORIES, repository);
|
|
247
|
-
return
|
|
323
|
+
return formatCreatedEntity("repository", validated.name, {
|
|
324
|
+
handle: response.handle,
|
|
325
|
+
gramps_id: response.gramps_id,
|
|
326
|
+
name: validated.name,
|
|
327
|
+
type: validated.type || null,
|
|
328
|
+
}, `Link sources to this repository using reporef_list with handle "${response.handle}".`);
|
|
248
329
|
}
|
|
249
330
|
// Tool definitions for MCP
|
|
250
331
|
export const createTools = {
|
|
251
332
|
gramps_create_person: {
|
|
252
333
|
name: "gramps_create_person",
|
|
253
|
-
description: "Create a new person record
|
|
254
|
-
"
|
|
334
|
+
description: "Create a new person record. " +
|
|
335
|
+
"REQUIRED: primary_name with first_name or surname. " +
|
|
336
|
+
"RETURNS: handle (for linking) and gramps_id (display ID). " +
|
|
337
|
+
"NEXT STEP: Use handle with gramps_create_family to add relationships.",
|
|
255
338
|
inputSchema: {
|
|
256
339
|
type: "object",
|
|
257
340
|
properties: {
|
|
@@ -285,8 +368,10 @@ export const createTools = {
|
|
|
285
368
|
},
|
|
286
369
|
gramps_create_family: {
|
|
287
370
|
name: "gramps_create_family",
|
|
288
|
-
description: "Create a
|
|
289
|
-
"
|
|
371
|
+
description: "Create a family linking parents and children. " +
|
|
372
|
+
"USE FOR: Connecting existing people into family relationships. " +
|
|
373
|
+
"REQUIRED: At least one of father_handle, mother_handle, or child_ref_list. " +
|
|
374
|
+
"NEXT STEP: Add marriage event with gramps_create_event.",
|
|
290
375
|
inputSchema: {
|
|
291
376
|
type: "object",
|
|
292
377
|
properties: {
|
|
@@ -326,8 +411,10 @@ export const createTools = {
|
|
|
326
411
|
},
|
|
327
412
|
gramps_create_event: {
|
|
328
413
|
name: "gramps_create_event",
|
|
329
|
-
description: "Create a
|
|
330
|
-
"
|
|
414
|
+
description: "Create a life event (Birth, Death, Marriage, Burial, Baptism, etc.). " +
|
|
415
|
+
"REQUIRED: type (event type string). " +
|
|
416
|
+
"OPTIONAL: date, place handle, description. " +
|
|
417
|
+
"NEXT STEP: Link to person/family via their event_ref_list.",
|
|
331
418
|
inputSchema: {
|
|
332
419
|
type: "object",
|
|
333
420
|
properties: {
|
|
@@ -366,8 +453,10 @@ export const createTools = {
|
|
|
366
453
|
},
|
|
367
454
|
gramps_create_place: {
|
|
368
455
|
name: "gramps_create_place",
|
|
369
|
-
description: "Create a
|
|
370
|
-
"
|
|
456
|
+
description: "Create a location (city, country, address, cemetery, etc.). " +
|
|
457
|
+
"OPTIONAL: title, name, coordinates (lat/long), place_type. " +
|
|
458
|
+
"USE FOR: Linking to events via place handle. " +
|
|
459
|
+
"RETURNS: handle to use when creating events.",
|
|
371
460
|
inputSchema: {
|
|
372
461
|
type: "object",
|
|
373
462
|
properties: {
|
|
@@ -405,8 +494,10 @@ export const createTools = {
|
|
|
405
494
|
},
|
|
406
495
|
gramps_create_source: {
|
|
407
496
|
name: "gramps_create_source",
|
|
408
|
-
description: "Create a
|
|
409
|
-
"
|
|
497
|
+
description: "Create a source documenting where information comes from (books, websites, records). " +
|
|
498
|
+
"REQUIRED: title. " +
|
|
499
|
+
"OPTIONAL: author, pubinfo, abbrev. " +
|
|
500
|
+
"NEXT STEP: Create citations referencing this source.",
|
|
410
501
|
inputSchema: {
|
|
411
502
|
type: "object",
|
|
412
503
|
properties: {
|
|
@@ -437,8 +528,10 @@ export const createTools = {
|
|
|
437
528
|
},
|
|
438
529
|
gramps_create_citation: {
|
|
439
530
|
name: "gramps_create_citation",
|
|
440
|
-
description: "Create a
|
|
441
|
-
"
|
|
531
|
+
description: "Create a citation pointing to a specific location within a source. " +
|
|
532
|
+
"REQUIRED: source_handle (from gramps_create_source). " +
|
|
533
|
+
"OPTIONAL: page, confidence level. " +
|
|
534
|
+
"USE FOR: Attaching proof to facts via entity citation_list.",
|
|
442
535
|
inputSchema: {
|
|
443
536
|
type: "object",
|
|
444
537
|
properties: {
|
|
@@ -465,8 +558,10 @@ export const createTools = {
|
|
|
465
558
|
},
|
|
466
559
|
gramps_create_note: {
|
|
467
560
|
name: "gramps_create_note",
|
|
468
|
-
description: "Create a
|
|
469
|
-
"
|
|
561
|
+
description: "Create a text note that can be attached to any entity. " +
|
|
562
|
+
"REQUIRED: text content. " +
|
|
563
|
+
"OPTIONAL: type (General, Research, Transcript), format. " +
|
|
564
|
+
"USE FOR: Adding research notes, transcripts, or comments to records.",
|
|
470
565
|
inputSchema: {
|
|
471
566
|
type: "object",
|
|
472
567
|
properties: {
|
|
@@ -493,8 +588,10 @@ export const createTools = {
|
|
|
493
588
|
},
|
|
494
589
|
gramps_create_media: {
|
|
495
590
|
name: "gramps_create_media",
|
|
496
|
-
description: "Create a
|
|
497
|
-
"
|
|
591
|
+
description: "Create a media object reference (photo, document, audio, video). " +
|
|
592
|
+
"REQUIRED: path (file path or URL). " +
|
|
593
|
+
"OPTIONAL: mime type, description. " +
|
|
594
|
+
"USE FOR: Attaching images/documents to people, events, etc.",
|
|
498
595
|
inputSchema: {
|
|
499
596
|
type: "object",
|
|
500
597
|
properties: {
|
|
@@ -521,8 +618,10 @@ export const createTools = {
|
|
|
521
618
|
},
|
|
522
619
|
gramps_create_repository: {
|
|
523
620
|
name: "gramps_create_repository",
|
|
524
|
-
description: "Create a
|
|
525
|
-
"
|
|
621
|
+
description: "Create a repository where sources are stored (library, archive, website). " +
|
|
622
|
+
"REQUIRED: name. " +
|
|
623
|
+
"OPTIONAL: type (Library, Archive, Website). " +
|
|
624
|
+
"USE FOR: Organizing sources by their holding institution.",
|
|
526
625
|
inputSchema: {
|
|
527
626
|
type: "object",
|
|
528
627
|
properties: {
|