@openephemeris/mcp-server 3.13.6 → 3.13.7
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 +11 -33
- package/dist/prompts.d.ts +26 -0
- package/dist/prompts.js +942 -0
- package/dist/tools/apps/bi-wheel-app.js +0 -8
- package/dist/tools/apps/bodygraph-app.js +0 -8
- package/dist/tools/apps/chart-wheel-app.js +4 -9
- package/dist/tools/specialized/acg.js +2 -0
- package/dist/tools/specialized/bazi.js +1 -0
- package/dist/tools/specialized/bi_wheel.js +1 -0
- package/dist/tools/specialized/chart_wheel.js +1 -0
- package/dist/tools/specialized/comparative.js +4 -0
- package/dist/tools/specialized/eclipse.js +1 -0
- package/dist/tools/specialized/electional.js +4 -0
- package/dist/tools/specialized/ephemeris_core.js +2 -0
- package/dist/tools/specialized/ephemeris_extended.js +8 -0
- package/dist/tools/specialized/hd_bodygraph.js +1 -0
- package/dist/tools/specialized/hd_cycles.js +2 -0
- package/dist/tools/specialized/hd_group.js +2 -0
- package/dist/tools/specialized/human_design.js +1 -0
- package/dist/tools/specialized/moon.js +2 -0
- package/dist/tools/specialized/natal.js +1 -0
- package/dist/tools/specialized/progressed.js +1 -0
- package/dist/tools/specialized/relocation.js +1 -0
- package/dist/tools/specialized/returns.js +3 -0
- package/dist/tools/specialized/synastry.js +1 -0
- package/dist/tools/specialized/transits.js +1 -0
- package/dist/tools/specialized/vedic.js +1 -0
- package/dist/tools/specialized/venus_star_points.js +6 -0
- package/package.json +1 -1
|
@@ -304,14 +304,6 @@ registerTool({
|
|
|
304
304
|
content: [
|
|
305
305
|
{ type: "text", text: summary },
|
|
306
306
|
{ type: "text", text: JSON.stringify({ ...payload, server_version: SERVER_VERSION }) },
|
|
307
|
-
{
|
|
308
|
-
type: "resource",
|
|
309
|
-
resource: {
|
|
310
|
-
uri: BI_WHEEL_RESOURCE_URI,
|
|
311
|
-
mimeType: BI_WHEEL_MIME_TYPE,
|
|
312
|
-
text: getBiWheelBundle(),
|
|
313
|
-
},
|
|
314
|
-
},
|
|
315
307
|
],
|
|
316
308
|
_meta: {
|
|
317
309
|
ui: { resourceUri: BI_WHEEL_RESOURCE_URI },
|
|
@@ -286,14 +286,6 @@ registerTool({
|
|
|
286
286
|
content: [
|
|
287
287
|
{ type: "text", text: summary },
|
|
288
288
|
{ type: "text", text: JSON.stringify({ ...modelPayload, server_version: SERVER_VERSION }) },
|
|
289
|
-
{
|
|
290
|
-
type: "resource",
|
|
291
|
-
resource: {
|
|
292
|
-
uri: BODYGRAPH_RESOURCE_URI,
|
|
293
|
-
mimeType: BODYGRAPH_MIME_TYPE,
|
|
294
|
-
text: getBodygraphBundle(),
|
|
295
|
-
},
|
|
296
|
-
},
|
|
297
289
|
],
|
|
298
290
|
_meta: {
|
|
299
291
|
ui: { resourceUri: BODYGRAPH_RESOURCE_URI },
|
|
@@ -182,14 +182,6 @@ registerTool({
|
|
|
182
182
|
content: [
|
|
183
183
|
{ type: "text", text: summary },
|
|
184
184
|
{ type: "text", text: JSON.stringify({ ...modelPayload, server_version: SERVER_VERSION }) },
|
|
185
|
-
{
|
|
186
|
-
type: "resource",
|
|
187
|
-
resource: {
|
|
188
|
-
uri: CHART_WHEEL_RESOURCE_URI,
|
|
189
|
-
mimeType: CHART_WHEEL_MIME_TYPE,
|
|
190
|
-
text: getChartWheelBundle(),
|
|
191
|
-
},
|
|
192
|
-
},
|
|
193
185
|
],
|
|
194
186
|
_meta: {
|
|
195
187
|
ui: { resourceUri: CHART_WHEEL_RESOURCE_URI },
|
|
@@ -453,7 +445,10 @@ function buildModelPayload(chartData, birthParams, houseSystem, svgBase) {
|
|
|
453
445
|
// ── 2. Compute aspects from longitude data (API doesn't return them) ──────
|
|
454
446
|
const aspects = computeAspects(planetsArray);
|
|
455
447
|
return {
|
|
456
|
-
|
|
448
|
+
ascendant: chartData.ascendant,
|
|
449
|
+
midheaven: chartData.midheaven,
|
|
450
|
+
chart_ruler: chartData.chart_ruler,
|
|
451
|
+
houses: chartData.houses,
|
|
457
452
|
// Typed array replaces the keyed object — the renderer can now iterate it
|
|
458
453
|
planets: planetsArray,
|
|
459
454
|
// Structured aspect array — powers highlighting and info panel
|
|
@@ -54,6 +54,7 @@ registerTool({
|
|
|
54
54
|
required: ["birth_datetime", "birth_latitude", "birth_longitude"],
|
|
55
55
|
additionalProperties: false,
|
|
56
56
|
},
|
|
57
|
+
annotations: { readOnlyHint: true, destructiveHint: false, idempotentHint: true },
|
|
57
58
|
handler: async (args) => {
|
|
58
59
|
validateRequired(args, ["birth_datetime", "birth_latitude", "birth_longitude"]);
|
|
59
60
|
const body = {
|
|
@@ -146,6 +147,7 @@ registerTool({
|
|
|
146
147
|
required: ["birth_datetime", "birth_latitude", "birth_longitude", "query_latitude", "query_longitude"],
|
|
147
148
|
additionalProperties: false,
|
|
148
149
|
},
|
|
150
|
+
annotations: { readOnlyHint: true, destructiveHint: false, idempotentHint: true },
|
|
149
151
|
handler: async (args) => {
|
|
150
152
|
validateRequired(args, ["birth_datetime", "birth_latitude", "birth_longitude", "query_latitude", "query_longitude"]);
|
|
151
153
|
const body = {
|
|
@@ -38,6 +38,7 @@ registerTool({
|
|
|
38
38
|
required: ["datetime_a", "latitude_a", "longitude_a", "datetime_b", "latitude_b", "longitude_b"],
|
|
39
39
|
additionalProperties: false,
|
|
40
40
|
},
|
|
41
|
+
annotations: { readOnlyHint: true, destructiveHint: false, idempotentHint: true },
|
|
41
42
|
handler: async (args) => {
|
|
42
43
|
validateRequired(args, ["datetime_a", "latitude_a", "longitude_a", "datetime_b", "latitude_b", "longitude_b"]);
|
|
43
44
|
const body = {
|
|
@@ -46,6 +46,7 @@ registerTool({
|
|
|
46
46
|
required: ["datetime", "latitude", "longitude"],
|
|
47
47
|
additionalProperties: false,
|
|
48
48
|
},
|
|
49
|
+
annotations: { readOnlyHint: true, destructiveHint: false, idempotentHint: true },
|
|
49
50
|
handler: async (args) => {
|
|
50
51
|
validateRequired(args, ["datetime", "latitude", "longitude"]);
|
|
51
52
|
const body = {
|
|
@@ -42,6 +42,7 @@ registerTool({
|
|
|
42
42
|
],
|
|
43
43
|
additionalProperties: false,
|
|
44
44
|
},
|
|
45
|
+
annotations: { readOnlyHint: true, destructiveHint: false, idempotentHint: true },
|
|
45
46
|
handler: async (args) => {
|
|
46
47
|
validateRequired(args, [
|
|
47
48
|
"person_a_datetime", "person_a_latitude", "person_a_longitude",
|
|
@@ -86,6 +87,7 @@ registerTool({
|
|
|
86
87
|
],
|
|
87
88
|
additionalProperties: false,
|
|
88
89
|
},
|
|
90
|
+
annotations: { readOnlyHint: true, destructiveHint: false, idempotentHint: true },
|
|
89
91
|
handler: async (args) => {
|
|
90
92
|
validateRequired(args, [
|
|
91
93
|
"person_a_datetime", "person_a_latitude", "person_a_longitude",
|
|
@@ -130,6 +132,7 @@ registerTool({
|
|
|
130
132
|
],
|
|
131
133
|
additionalProperties: false,
|
|
132
134
|
},
|
|
135
|
+
annotations: { readOnlyHint: true, destructiveHint: false, idempotentHint: true },
|
|
133
136
|
handler: async (args) => {
|
|
134
137
|
validateRequired(args, [
|
|
135
138
|
"person_a_datetime", "person_a_latitude", "person_a_longitude",
|
|
@@ -171,6 +174,7 @@ registerTool({
|
|
|
171
174
|
required: ["natal_datetime", "natal_latitude", "natal_longitude"],
|
|
172
175
|
additionalProperties: false,
|
|
173
176
|
},
|
|
177
|
+
annotations: { readOnlyHint: true, destructiveHint: false, idempotentHint: true },
|
|
174
178
|
handler: async (args) => {
|
|
175
179
|
validateRequired(args, ["natal_datetime", "natal_latitude", "natal_longitude"]);
|
|
176
180
|
// Backend expects: { subject: {...}, transit_datetime?: {...} }
|
|
@@ -40,6 +40,7 @@ registerTool({
|
|
|
40
40
|
required: ["eclipse_type"],
|
|
41
41
|
additionalProperties: false,
|
|
42
42
|
},
|
|
43
|
+
annotations: { readOnlyHint: true, destructiveHint: false, idempotentHint: true },
|
|
43
44
|
handler: async (args) => {
|
|
44
45
|
validateRequired(args, ["eclipse_type"]);
|
|
45
46
|
validateCoordinates(args, "latitude", "longitude");
|
|
@@ -56,6 +56,7 @@ registerTool({
|
|
|
56
56
|
required: ["start_date", "end_date", "latitude", "longitude"],
|
|
57
57
|
additionalProperties: false,
|
|
58
58
|
},
|
|
59
|
+
annotations: { readOnlyHint: true, destructiveHint: false, idempotentHint: true },
|
|
59
60
|
handler: async (args) => {
|
|
60
61
|
validateRequired(args, ["start_date", "end_date", "latitude", "longitude"]);
|
|
61
62
|
const query = {
|
|
@@ -105,6 +106,7 @@ registerTool({
|
|
|
105
106
|
required: [],
|
|
106
107
|
additionalProperties: false,
|
|
107
108
|
},
|
|
109
|
+
annotations: { readOnlyHint: true, destructiveHint: false, idempotentHint: true },
|
|
108
110
|
handler: async (args) => {
|
|
109
111
|
const query = {};
|
|
110
112
|
if (args.date)
|
|
@@ -155,6 +157,7 @@ registerTool({
|
|
|
155
157
|
required: [],
|
|
156
158
|
additionalProperties: false,
|
|
157
159
|
},
|
|
160
|
+
annotations: { readOnlyHint: true, destructiveHint: false, idempotentHint: true },
|
|
158
161
|
handler: async (args) => {
|
|
159
162
|
const query = {};
|
|
160
163
|
// Map human-readable planet names to IDs if needed
|
|
@@ -213,6 +216,7 @@ registerTool({
|
|
|
213
216
|
required: [],
|
|
214
217
|
additionalProperties: false,
|
|
215
218
|
},
|
|
219
|
+
annotations: { readOnlyHint: true, destructiveHint: false, idempotentHint: true },
|
|
216
220
|
handler: async (args) => {
|
|
217
221
|
const query = {};
|
|
218
222
|
if (args.date)
|
|
@@ -34,6 +34,7 @@ registerTool({
|
|
|
34
34
|
required: ["planet_id", "datetime"],
|
|
35
35
|
additionalProperties: false,
|
|
36
36
|
},
|
|
37
|
+
annotations: { readOnlyHint: true, destructiveHint: false, idempotentHint: true },
|
|
37
38
|
handler: async (args) => {
|
|
38
39
|
validateRequired(args, ["planet_id", "datetime"]);
|
|
39
40
|
const body = {
|
|
@@ -80,6 +81,7 @@ registerTool({
|
|
|
80
81
|
required: ["datetime", "latitude", "longitude"],
|
|
81
82
|
additionalProperties: false,
|
|
82
83
|
},
|
|
84
|
+
annotations: { readOnlyHint: true, destructiveHint: false, idempotentHint: true },
|
|
83
85
|
handler: async (args) => {
|
|
84
86
|
validateRequired(args, ["datetime", "latitude", "longitude"]);
|
|
85
87
|
const body = {
|
|
@@ -42,6 +42,7 @@ registerTool({
|
|
|
42
42
|
required: ["subjects"],
|
|
43
43
|
additionalProperties: false,
|
|
44
44
|
},
|
|
45
|
+
annotations: { readOnlyHint: true, destructiveHint: false, idempotentHint: true },
|
|
45
46
|
handler: async (args) => {
|
|
46
47
|
validateRequired(args, ["subjects"]);
|
|
47
48
|
const items = args.subjects.map((s) => ({
|
|
@@ -64,6 +65,7 @@ registerTool({
|
|
|
64
65
|
required: ["datetime"],
|
|
65
66
|
additionalProperties: false,
|
|
66
67
|
},
|
|
68
|
+
annotations: { readOnlyHint: true, destructiveHint: false, idempotentHint: true },
|
|
67
69
|
handler: async (args) => {
|
|
68
70
|
validateRequired(args, ["datetime"]);
|
|
69
71
|
return await getActiveClient().post("/ephemeris/dignities", {
|
|
@@ -90,6 +92,7 @@ registerTool({
|
|
|
90
92
|
required: ["datetime"],
|
|
91
93
|
additionalProperties: false,
|
|
92
94
|
},
|
|
95
|
+
annotations: { readOnlyHint: true, destructiveHint: false, idempotentHint: true },
|
|
93
96
|
handler: async (args) => {
|
|
94
97
|
validateRequired(args, ["datetime"]);
|
|
95
98
|
const client = getActiveClient();
|
|
@@ -138,6 +141,7 @@ registerTool({
|
|
|
138
141
|
required: ["datetime", "latitude", "longitude"],
|
|
139
142
|
additionalProperties: false,
|
|
140
143
|
},
|
|
144
|
+
annotations: { readOnlyHint: true, destructiveHint: false, idempotentHint: true },
|
|
141
145
|
handler: async (args) => {
|
|
142
146
|
validateRequired(args, ["datetime", "latitude", "longitude"]);
|
|
143
147
|
return await getActiveClient().post("/ephemeris/midpoints", {
|
|
@@ -167,6 +171,7 @@ registerTool({
|
|
|
167
171
|
required: ["datetime"],
|
|
168
172
|
additionalProperties: false,
|
|
169
173
|
},
|
|
174
|
+
annotations: { readOnlyHint: true, destructiveHint: false, idempotentHint: true },
|
|
170
175
|
handler: async (args) => {
|
|
171
176
|
validateRequired(args, ["datetime"]);
|
|
172
177
|
const body = {
|
|
@@ -226,6 +231,7 @@ registerTool({
|
|
|
226
231
|
required: ["datetime", "latitude", "longitude"],
|
|
227
232
|
additionalProperties: false,
|
|
228
233
|
},
|
|
234
|
+
annotations: { readOnlyHint: true, destructiveHint: false, idempotentHint: true },
|
|
229
235
|
handler: async (args) => {
|
|
230
236
|
validateRequired(args, ["datetime", "latitude", "longitude"]);
|
|
231
237
|
return await getActiveClient().post("/ephemeris/hermetic-lots", {
|
|
@@ -251,6 +257,7 @@ registerTool({
|
|
|
251
257
|
required: ["datetime", "latitude", "longitude"],
|
|
252
258
|
additionalProperties: false,
|
|
253
259
|
},
|
|
260
|
+
annotations: { readOnlyHint: true, destructiveHint: false, idempotentHint: true },
|
|
254
261
|
handler: async (args) => {
|
|
255
262
|
validateRequired(args, ["datetime", "latitude", "longitude"]);
|
|
256
263
|
return await getActiveClient().post("/ephemeris/angles-points", {
|
|
@@ -278,6 +285,7 @@ registerTool({
|
|
|
278
285
|
required: ["longitude_1", "longitude_2"],
|
|
279
286
|
additionalProperties: false,
|
|
280
287
|
},
|
|
288
|
+
annotations: { readOnlyHint: true, destructiveHint: false, idempotentHint: true },
|
|
281
289
|
handler: async (args) => {
|
|
282
290
|
validateRequired(args, ["longitude_1", "longitude_2"]);
|
|
283
291
|
// Backend field names are longitude1 / longitude2 (no underscore)
|
|
@@ -49,6 +49,7 @@ registerTool({
|
|
|
49
49
|
required: ["planet", "datetime", "return_year"],
|
|
50
50
|
additionalProperties: false,
|
|
51
51
|
},
|
|
52
|
+
annotations: { readOnlyHint: true, destructiveHint: false, idempotentHint: true },
|
|
52
53
|
handler: async (args) => {
|
|
53
54
|
validateRequired(args, ["planet", "datetime", "return_year"]);
|
|
54
55
|
return await getActiveClient().request("POST", "/human-design/cycles/return", {
|
|
@@ -99,6 +100,7 @@ registerTool({
|
|
|
99
100
|
required: ["planet", "datetime", "target_year"],
|
|
100
101
|
additionalProperties: false,
|
|
101
102
|
},
|
|
103
|
+
annotations: { readOnlyHint: true, destructiveHint: false, idempotentHint: true },
|
|
102
104
|
handler: async (args) => {
|
|
103
105
|
validateRequired(args, ["planet", "datetime", "target_year"]);
|
|
104
106
|
return await getActiveClient().request("POST", "/human-design/cycles/opposition", {
|
|
@@ -28,6 +28,7 @@ registerTool({
|
|
|
28
28
|
required: ["person_a_datetime", "person_b_datetime"],
|
|
29
29
|
additionalProperties: false,
|
|
30
30
|
},
|
|
31
|
+
annotations: { readOnlyHint: true, destructiveHint: false, idempotentHint: true },
|
|
31
32
|
handler: async (args) => {
|
|
32
33
|
validateRequired(args, ["person_a_datetime", "person_b_datetime"]);
|
|
33
34
|
const body = {
|
|
@@ -87,6 +88,7 @@ registerTool({
|
|
|
87
88
|
required: ["group_name", "members"],
|
|
88
89
|
additionalProperties: false,
|
|
89
90
|
},
|
|
91
|
+
annotations: { readOnlyHint: true, destructiveHint: false, idempotentHint: true },
|
|
90
92
|
handler: async (args) => {
|
|
91
93
|
validateRequired(args, ["group_name", "members"]);
|
|
92
94
|
const members = args.members.map((m) => ({
|
|
@@ -33,6 +33,7 @@ registerTool({
|
|
|
33
33
|
required: [],
|
|
34
34
|
additionalProperties: false,
|
|
35
35
|
},
|
|
36
|
+
annotations: { readOnlyHint: true, destructiveHint: false, idempotentHint: true },
|
|
36
37
|
handler: async (args) => {
|
|
37
38
|
validateCoordinates(args, "latitude", "longitude");
|
|
38
39
|
const params = {};
|
|
@@ -90,6 +91,7 @@ registerTool({
|
|
|
90
91
|
required: ["phase"],
|
|
91
92
|
additionalProperties: false,
|
|
92
93
|
},
|
|
94
|
+
annotations: { readOnlyHint: true, destructiveHint: false, idempotentHint: true },
|
|
93
95
|
handler: async (args) => {
|
|
94
96
|
// Map our clean enum to display names the calendar API returns
|
|
95
97
|
const phaseNameMap = {
|
|
@@ -73,6 +73,7 @@ registerTool({
|
|
|
73
73
|
required: ["datetime", "latitude", "longitude"],
|
|
74
74
|
additionalProperties: false,
|
|
75
75
|
},
|
|
76
|
+
annotations: { readOnlyHint: true, destructiveHint: false, idempotentHint: true },
|
|
76
77
|
handler: async (args) => {
|
|
77
78
|
validateRequired(args, ["datetime", "latitude", "longitude"]);
|
|
78
79
|
const body = {
|
|
@@ -56,6 +56,7 @@ registerTool({
|
|
|
56
56
|
required: ["birth_datetime", "birth_latitude", "birth_longitude", "target_datetime"],
|
|
57
57
|
additionalProperties: false,
|
|
58
58
|
},
|
|
59
|
+
annotations: { readOnlyHint: true, destructiveHint: false, idempotentHint: true },
|
|
59
60
|
handler: async (args) => {
|
|
60
61
|
validateRequired(args, ["birth_datetime", "birth_latitude", "birth_longitude", "target_datetime"]);
|
|
61
62
|
const body = {
|
|
@@ -46,6 +46,7 @@ registerTool({
|
|
|
46
46
|
required: ["natal_datetime", "natal_latitude", "natal_longitude", "relocation_latitude", "relocation_longitude"],
|
|
47
47
|
additionalProperties: false,
|
|
48
48
|
},
|
|
49
|
+
annotations: { readOnlyHint: true, destructiveHint: false, idempotentHint: true },
|
|
49
50
|
handler: async (args) => {
|
|
50
51
|
validateRequired(args, ["natal_datetime", "natal_latitude", "natal_longitude", "relocation_latitude", "relocation_longitude"]);
|
|
51
52
|
const body = {
|
|
@@ -59,6 +59,7 @@ registerTool({
|
|
|
59
59
|
required: ["birth_datetime"],
|
|
60
60
|
additionalProperties: false,
|
|
61
61
|
},
|
|
62
|
+
annotations: { readOnlyHint: true, destructiveHint: false, idempotentHint: true },
|
|
62
63
|
handler: async (args) => {
|
|
63
64
|
validateRequired(args, ["birth_datetime"]);
|
|
64
65
|
// Default target to current year if not provided
|
|
@@ -126,6 +127,7 @@ registerTool({
|
|
|
126
127
|
required: ["birth_datetime"],
|
|
127
128
|
additionalProperties: false,
|
|
128
129
|
},
|
|
130
|
+
annotations: { readOnlyHint: true, destructiveHint: false, idempotentHint: true },
|
|
129
131
|
handler: async (args) => {
|
|
130
132
|
validateRequired(args, ["birth_datetime"]);
|
|
131
133
|
const targetDt = args.target_datetime ?? new Date().toISOString();
|
|
@@ -180,6 +182,7 @@ registerTool({
|
|
|
180
182
|
required: ["body", "birth_datetime", "target_datetime"],
|
|
181
183
|
additionalProperties: false,
|
|
182
184
|
},
|
|
185
|
+
annotations: { readOnlyHint: true, destructiveHint: false, idempotentHint: true },
|
|
183
186
|
handler: async (args) => {
|
|
184
187
|
validateRequired(args, ["body", "birth_datetime", "target_datetime"]);
|
|
185
188
|
const requestBody = {
|
|
@@ -50,6 +50,7 @@ registerTool({
|
|
|
50
50
|
],
|
|
51
51
|
additionalProperties: false,
|
|
52
52
|
},
|
|
53
|
+
annotations: { readOnlyHint: true, destructiveHint: false, idempotentHint: true },
|
|
53
54
|
handler: async (args) => {
|
|
54
55
|
validateRequired(args, [
|
|
55
56
|
"person_a_datetime", "person_a_latitude", "person_a_longitude",
|
|
@@ -66,6 +66,7 @@ registerTool({
|
|
|
66
66
|
required: ["natal_datetime", "natal_latitude", "natal_longitude", "start_date", "end_date"],
|
|
67
67
|
additionalProperties: false,
|
|
68
68
|
},
|
|
69
|
+
annotations: { readOnlyHint: true, destructiveHint: false, idempotentHint: true },
|
|
69
70
|
handler: async (args) => {
|
|
70
71
|
validateRequired(args, ["natal_datetime", "natal_latitude", "natal_longitude", "start_date", "end_date"]);
|
|
71
72
|
// ── Step 1: Compute natal chart to extract real planetary longitudes ──
|
|
@@ -33,6 +33,7 @@ registerTool({
|
|
|
33
33
|
required: ["datetime", "latitude", "longitude"],
|
|
34
34
|
additionalProperties: false,
|
|
35
35
|
},
|
|
36
|
+
annotations: { readOnlyHint: true, destructiveHint: false, idempotentHint: true },
|
|
36
37
|
handler: async (args) => {
|
|
37
38
|
validateRequired(args, ["datetime", "latitude", "longitude"]);
|
|
38
39
|
validateCoordinates(args, "latitude", "longitude");
|
|
@@ -29,6 +29,7 @@ registerTool({
|
|
|
29
29
|
required: ["datetime", "latitude", "longitude"],
|
|
30
30
|
additionalProperties: false,
|
|
31
31
|
},
|
|
32
|
+
annotations: { readOnlyHint: true, destructiveHint: false, idempotentHint: true },
|
|
32
33
|
handler: async (args) => {
|
|
33
34
|
validateRequired(args, ["datetime", "latitude", "longitude"]);
|
|
34
35
|
const query = {};
|
|
@@ -58,6 +59,7 @@ registerTool({
|
|
|
58
59
|
required: ["start_date", "end_date"],
|
|
59
60
|
additionalProperties: false,
|
|
60
61
|
},
|
|
62
|
+
annotations: { readOnlyHint: true, destructiveHint: false, idempotentHint: true },
|
|
61
63
|
handler: async (args) => {
|
|
62
64
|
validateRequired(args, ["start_date", "end_date"]);
|
|
63
65
|
const query = {};
|
|
@@ -87,6 +89,7 @@ registerTool({
|
|
|
87
89
|
required: ["date"],
|
|
88
90
|
additionalProperties: false,
|
|
89
91
|
},
|
|
92
|
+
annotations: { readOnlyHint: true, destructiveHint: false, idempotentHint: true },
|
|
90
93
|
handler: async (args) => {
|
|
91
94
|
validateRequired(args, ["date"]);
|
|
92
95
|
const query = {};
|
|
@@ -117,6 +120,7 @@ registerTool({
|
|
|
117
120
|
required: [],
|
|
118
121
|
additionalProperties: false,
|
|
119
122
|
},
|
|
123
|
+
annotations: { readOnlyHint: true, destructiveHint: false, idempotentHint: true },
|
|
120
124
|
handler: async (args) => {
|
|
121
125
|
const query = {};
|
|
122
126
|
if (args.format)
|
|
@@ -143,6 +147,7 @@ registerTool({
|
|
|
143
147
|
required: ["start_date", "end_date"],
|
|
144
148
|
additionalProperties: false,
|
|
145
149
|
},
|
|
150
|
+
annotations: { readOnlyHint: true, destructiveHint: false, idempotentHint: true },
|
|
146
151
|
handler: async (args) => {
|
|
147
152
|
validateRequired(args, ["start_date", "end_date"]);
|
|
148
153
|
const query = {};
|
|
@@ -172,6 +177,7 @@ registerTool({
|
|
|
172
177
|
required: ["start_date"],
|
|
173
178
|
additionalProperties: false,
|
|
174
179
|
},
|
|
180
|
+
annotations: { readOnlyHint: true, destructiveHint: false, idempotentHint: true },
|
|
175
181
|
handler: async (args) => {
|
|
176
182
|
validateRequired(args, ["start_date"]);
|
|
177
183
|
const query = {};
|