@openephemeris/mcp-server 3.13.1 → 3.13.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.
package/dist/server-sse.js
CHANGED
|
@@ -187,7 +187,15 @@ function createMcpServer() {
|
|
|
187
187
|
"and more — powered by JPL DE440 ephemerides for sub-arcsecond accuracy.",
|
|
188
188
|
},
|
|
189
189
|
}, {
|
|
190
|
-
capabilities: {
|
|
190
|
+
capabilities: {
|
|
191
|
+
tools: {},
|
|
192
|
+
prompts: {},
|
|
193
|
+
resources: {},
|
|
194
|
+
experimental: {
|
|
195
|
+
// Declare MCP Apps extension (spec: io.modelcontextprotocol/ui, 2026-01-26)
|
|
196
|
+
"io.modelcontextprotocol/ui": {},
|
|
197
|
+
},
|
|
198
|
+
},
|
|
191
199
|
instructions: "Open Ephemeris is a precision astronomical computation engine. " +
|
|
192
200
|
"Use format='llm' on any tool for compact, token-efficient output. " +
|
|
193
201
|
"All computations use JPL DE440 ephemerides for sub-arcsecond accuracy. " +
|
|
@@ -200,6 +208,10 @@ function createMcpServer() {
|
|
|
200
208
|
description: tool.description,
|
|
201
209
|
inputSchema: tool.inputSchema,
|
|
202
210
|
annotations: buildAnnotations(tool),
|
|
211
|
+
// Expose MCP Apps UI linkage so Claude Desktop can prefetch the resource
|
|
212
|
+
...(tool._meta?.ui?.resourceUri
|
|
213
|
+
? { _meta: { ui: { resourceUri: tool._meta.ui.resourceUri, visibility: tool._meta.ui.visibility ?? ["model", "app"] } } }
|
|
214
|
+
: {}),
|
|
203
215
|
})),
|
|
204
216
|
}));
|
|
205
217
|
// --- Prompt handlers ---
|
|
@@ -254,6 +254,12 @@ registerTool({
|
|
|
254
254
|
idempotentHint: true,
|
|
255
255
|
openWorldHint: false,
|
|
256
256
|
},
|
|
257
|
+
_meta: {
|
|
258
|
+
ui: {
|
|
259
|
+
resourceUri: BI_WHEEL_RESOURCE_URI,
|
|
260
|
+
visibility: ["model", "app"],
|
|
261
|
+
},
|
|
262
|
+
},
|
|
257
263
|
handler: async (args) => {
|
|
258
264
|
const client = getActiveClient();
|
|
259
265
|
const mode = args.mode ?? "synastry";
|
|
@@ -303,7 +309,6 @@ registerTool({
|
|
|
303
309
|
resource: {
|
|
304
310
|
uri: BI_WHEEL_RESOURCE_URI,
|
|
305
311
|
mimeType: BI_WHEEL_MIME_TYPE,
|
|
306
|
-
text: getBiWheelBundle(),
|
|
307
312
|
},
|
|
308
313
|
},
|
|
309
314
|
],
|
|
@@ -243,6 +243,12 @@ registerTool({
|
|
|
243
243
|
idempotentHint: true,
|
|
244
244
|
openWorldHint: false,
|
|
245
245
|
},
|
|
246
|
+
_meta: {
|
|
247
|
+
ui: {
|
|
248
|
+
resourceUri: BODYGRAPH_RESOURCE_URI,
|
|
249
|
+
visibility: ["model", "app"],
|
|
250
|
+
},
|
|
251
|
+
},
|
|
246
252
|
handler: async (args) => {
|
|
247
253
|
const client = getActiveClient();
|
|
248
254
|
const datetime = ensureTimezone(String(args.datetime));
|
|
@@ -274,7 +280,6 @@ registerTool({
|
|
|
274
280
|
resource: {
|
|
275
281
|
uri: BODYGRAPH_RESOURCE_URI,
|
|
276
282
|
mimeType: BODYGRAPH_MIME_TYPE,
|
|
277
|
-
text: getBodygraphBundle(),
|
|
278
283
|
},
|
|
279
284
|
},
|
|
280
285
|
],
|
|
@@ -149,6 +149,12 @@ registerTool({
|
|
|
149
149
|
idempotentHint: true,
|
|
150
150
|
openWorldHint: false,
|
|
151
151
|
},
|
|
152
|
+
_meta: {
|
|
153
|
+
ui: {
|
|
154
|
+
resourceUri: CHART_WHEEL_RESOURCE_URI,
|
|
155
|
+
visibility: ["model", "app"],
|
|
156
|
+
},
|
|
157
|
+
},
|
|
152
158
|
handler: async (args) => {
|
|
153
159
|
const client = getActiveClient();
|
|
154
160
|
const houseSystem = args.house_system ?? "placidus";
|
|
@@ -181,7 +187,6 @@ registerTool({
|
|
|
181
187
|
resource: {
|
|
182
188
|
uri: CHART_WHEEL_RESOURCE_URI,
|
|
183
189
|
mimeType: CHART_WHEEL_MIME_TYPE,
|
|
184
|
-
text: getChartWheelBundle(),
|
|
185
190
|
},
|
|
186
191
|
},
|
|
187
192
|
],
|