@hormonaly/mcp-server 1.0.1
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/client.d.ts +21 -0
- package/dist/client.d.ts.map +1 -0
- package/dist/client.js +58 -0
- package/dist/client.js.map +1 -0
- package/dist/index.d.ts +13 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +114 -0
- package/dist/index.js.map +1 -0
- package/dist/tools.d.ts +460 -0
- package/dist/tools.d.ts.map +1 -0
- package/dist/tools.js +766 -0
- package/dist/tools.js.map +1 -0
- package/hormonaly-mcp-config.json +13 -0
- package/package.json +60 -0
package/dist/tools.d.ts
ADDED
|
@@ -0,0 +1,460 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* All MCP tool definitions and handlers for the Hormonaly platform.
|
|
3
|
+
*/
|
|
4
|
+
import { HoromnalyClient } from "./client.js";
|
|
5
|
+
export declare const TOOL_DEFINITIONS: readonly [{
|
|
6
|
+
readonly name: "helix_query";
|
|
7
|
+
readonly description: "Query the Helix AI engine with a clinical question about peptides, hormones, longevity, or aesthetics. Returns an evidence-based answer with GRADE rating, confidence score, citations, and related protocols. Requires a Helix API key.";
|
|
8
|
+
readonly inputSchema: {
|
|
9
|
+
readonly type: "object";
|
|
10
|
+
readonly properties: {
|
|
11
|
+
readonly question: {
|
|
12
|
+
readonly type: "string";
|
|
13
|
+
readonly description: "The clinical question to answer (e.g. 'What is the optimal BPC-157 dose for gut repair?')";
|
|
14
|
+
readonly maxLength: 10000;
|
|
15
|
+
};
|
|
16
|
+
readonly language: {
|
|
17
|
+
readonly type: "string";
|
|
18
|
+
readonly enum: readonly ["en", "ar"];
|
|
19
|
+
readonly default: "en";
|
|
20
|
+
readonly description: "Response language";
|
|
21
|
+
};
|
|
22
|
+
readonly detail_level: {
|
|
23
|
+
readonly type: "string";
|
|
24
|
+
readonly enum: readonly ["clinical", "summary"];
|
|
25
|
+
readonly default: "clinical";
|
|
26
|
+
readonly description: "Level of detail: 'clinical' for full analysis, 'summary' for a concise overview";
|
|
27
|
+
};
|
|
28
|
+
readonly include_citations: {
|
|
29
|
+
readonly type: "boolean";
|
|
30
|
+
readonly default: true;
|
|
31
|
+
readonly description: "Include PubMed citation list in the response";
|
|
32
|
+
};
|
|
33
|
+
readonly include_three_lens: {
|
|
34
|
+
readonly type: "boolean";
|
|
35
|
+
readonly default: false;
|
|
36
|
+
readonly description: "Include Three-Lens analysis (longevity / health-disease / performance scoring)";
|
|
37
|
+
};
|
|
38
|
+
readonly api_key: {
|
|
39
|
+
readonly type: "string";
|
|
40
|
+
readonly description: "Helix API key (overrides HORMONALY_API_KEY env var)";
|
|
41
|
+
};
|
|
42
|
+
};
|
|
43
|
+
readonly required: readonly ["question"];
|
|
44
|
+
};
|
|
45
|
+
}, {
|
|
46
|
+
readonly name: "helix_compare";
|
|
47
|
+
readonly description: "Compare 2–3 compounds head-to-head using the Helix AI engine. Returns a structured comparison with key differences, best-for use cases, and a recommendation. Requires Professional or Enterprise tier Helix API key — Starter keys are blocked with 403 tier_insufficient.";
|
|
48
|
+
readonly inputSchema: {
|
|
49
|
+
readonly type: "object";
|
|
50
|
+
readonly properties: {
|
|
51
|
+
readonly compounds: {
|
|
52
|
+
readonly type: "array";
|
|
53
|
+
readonly items: {
|
|
54
|
+
readonly type: "string";
|
|
55
|
+
};
|
|
56
|
+
readonly minItems: 2;
|
|
57
|
+
readonly maxItems: 3;
|
|
58
|
+
readonly description: "List of 2 or 3 compound names to compare (e.g. ['semaglutide', 'tirzepatide'])";
|
|
59
|
+
};
|
|
60
|
+
readonly indication: {
|
|
61
|
+
readonly type: "string";
|
|
62
|
+
readonly default: "General comparison";
|
|
63
|
+
readonly description: "Clinical indication or context for the comparison";
|
|
64
|
+
};
|
|
65
|
+
readonly language: {
|
|
66
|
+
readonly type: "string";
|
|
67
|
+
readonly enum: readonly ["en", "ar"];
|
|
68
|
+
readonly default: "en";
|
|
69
|
+
};
|
|
70
|
+
readonly api_key: {
|
|
71
|
+
readonly type: "string";
|
|
72
|
+
readonly description: "Helix API key (overrides HORMONALY_API_KEY env var)";
|
|
73
|
+
};
|
|
74
|
+
};
|
|
75
|
+
readonly required: readonly ["compounds"];
|
|
76
|
+
};
|
|
77
|
+
}, {
|
|
78
|
+
readonly name: "helix_protocol";
|
|
79
|
+
readonly description: "Retrieve all protocols for a specific compound from the Helix API. Returns titles, evidence grades, FDA status, and summaries. Requires a Helix API key.";
|
|
80
|
+
readonly inputSchema: {
|
|
81
|
+
readonly type: "object";
|
|
82
|
+
readonly properties: {
|
|
83
|
+
readonly compound: {
|
|
84
|
+
readonly type: "string";
|
|
85
|
+
readonly description: "Compound name (e.g. 'semaglutide', 'BPC-157', 'testosterone')";
|
|
86
|
+
readonly maxLength: 200;
|
|
87
|
+
};
|
|
88
|
+
readonly language: {
|
|
89
|
+
readonly type: "string";
|
|
90
|
+
readonly enum: readonly ["en", "ar"];
|
|
91
|
+
readonly default: "en";
|
|
92
|
+
};
|
|
93
|
+
readonly api_key: {
|
|
94
|
+
readonly type: "string";
|
|
95
|
+
readonly description: "Helix API key (overrides HORMONALY_API_KEY env var)";
|
|
96
|
+
};
|
|
97
|
+
};
|
|
98
|
+
readonly required: readonly ["compound"];
|
|
99
|
+
};
|
|
100
|
+
}, {
|
|
101
|
+
readonly name: "helix_dossier_start";
|
|
102
|
+
readonly description: "Start generating a full evidence dossier for a compound (async job). Returns a job_id to poll with helix_dossier_status. Requires Professional or Enterprise tier — Starter keys are blocked with 403 tier_insufficient.";
|
|
103
|
+
readonly inputSchema: {
|
|
104
|
+
readonly type: "object";
|
|
105
|
+
readonly properties: {
|
|
106
|
+
readonly compound: {
|
|
107
|
+
readonly type: "string";
|
|
108
|
+
readonly description: "Compound name";
|
|
109
|
+
readonly maxLength: 500;
|
|
110
|
+
};
|
|
111
|
+
readonly language: {
|
|
112
|
+
readonly type: "string";
|
|
113
|
+
readonly enum: readonly ["en", "ar"];
|
|
114
|
+
readonly default: "en";
|
|
115
|
+
};
|
|
116
|
+
readonly api_key: {
|
|
117
|
+
readonly type: "string";
|
|
118
|
+
readonly description: "Helix API key (overrides HORMONALY_API_KEY env var)";
|
|
119
|
+
};
|
|
120
|
+
};
|
|
121
|
+
readonly required: readonly ["compound"];
|
|
122
|
+
};
|
|
123
|
+
}, {
|
|
124
|
+
readonly name: "helix_dossier_status";
|
|
125
|
+
readonly description: "Check the status of a dossier generation job started with helix_dossier_start. Returns status (processing/completed/failed) and the dossier data when complete.";
|
|
126
|
+
readonly inputSchema: {
|
|
127
|
+
readonly type: "object";
|
|
128
|
+
readonly properties: {
|
|
129
|
+
readonly job_id: {
|
|
130
|
+
readonly type: "string";
|
|
131
|
+
readonly description: "Job ID returned by helix_dossier_start";
|
|
132
|
+
};
|
|
133
|
+
readonly api_key: {
|
|
134
|
+
readonly type: "string";
|
|
135
|
+
readonly description: "Helix API key (overrides HORMONALY_API_KEY env var)";
|
|
136
|
+
};
|
|
137
|
+
};
|
|
138
|
+
readonly required: readonly ["job_id"];
|
|
139
|
+
};
|
|
140
|
+
}, {
|
|
141
|
+
readonly name: "run_clinical_workflow";
|
|
142
|
+
readonly description: "Run a full multi-agent clinical reasoning workflow on a complex question. This triggers the supervisor/worker pattern: the supervisor decomposes the question, spawns specialized sub-agents (evidence, safety, dosing, regulatory), then synthesizes all findings. Best for complex queries involving multiple compounds, stacking protocols, or high-stakes clinical decisions. Returns the synthesized answer plus sub-agent contributions and orchestration steps.";
|
|
143
|
+
readonly inputSchema: {
|
|
144
|
+
readonly type: "object";
|
|
145
|
+
readonly properties: {
|
|
146
|
+
readonly question: {
|
|
147
|
+
readonly type: "string";
|
|
148
|
+
readonly description: "The complex clinical question (e.g. 'What is the optimal BPC-157 + TB-500 stack for accelerated tendon repair in athletes, accounting for safety and interactions?')";
|
|
149
|
+
readonly maxLength: 10000;
|
|
150
|
+
};
|
|
151
|
+
readonly patient_context: {
|
|
152
|
+
readonly type: "string";
|
|
153
|
+
readonly description: "Optional patient context (age, sex, conditions, medications) to personalize the workflow";
|
|
154
|
+
};
|
|
155
|
+
readonly language: {
|
|
156
|
+
readonly type: "string";
|
|
157
|
+
readonly enum: readonly ["en", "ar"];
|
|
158
|
+
readonly default: "en";
|
|
159
|
+
};
|
|
160
|
+
readonly api_key: {
|
|
161
|
+
readonly type: "string";
|
|
162
|
+
readonly description: "Helix API key (overrides HORMONALY_API_KEY env var)";
|
|
163
|
+
};
|
|
164
|
+
};
|
|
165
|
+
readonly required: readonly ["question"];
|
|
166
|
+
};
|
|
167
|
+
}, {
|
|
168
|
+
readonly name: "helix_deep_analysis";
|
|
169
|
+
readonly description: "Run an extended deep analysis on a clinical topic using the highest-capability model with full RAG pipeline, three-lens scoring, and citation verification. Returns a comprehensive clinical synthesis with evidence grade, confidence score, PMID citations, and three-lens analysis (longevity / health-disease / performance). Use this for research synthesis, systematic review preparation, or comprehensive protocol evaluation. Requires Enterprise Helix API key.";
|
|
170
|
+
readonly inputSchema: {
|
|
171
|
+
readonly type: "object";
|
|
172
|
+
readonly properties: {
|
|
173
|
+
readonly topic: {
|
|
174
|
+
readonly type: "string";
|
|
175
|
+
readonly description: "Clinical topic or question for deep analysis (e.g. 'Comprehensive analysis of semaglutide for longevity and metabolic optimization')";
|
|
176
|
+
readonly maxLength: 10000;
|
|
177
|
+
};
|
|
178
|
+
readonly language: {
|
|
179
|
+
readonly type: "string";
|
|
180
|
+
readonly enum: readonly ["en", "ar"];
|
|
181
|
+
readonly default: "en";
|
|
182
|
+
};
|
|
183
|
+
readonly api_key: {
|
|
184
|
+
readonly type: "string";
|
|
185
|
+
readonly description: "Helix API key (overrides HORMONALY_API_KEY env var)";
|
|
186
|
+
};
|
|
187
|
+
};
|
|
188
|
+
readonly required: readonly ["topic"];
|
|
189
|
+
};
|
|
190
|
+
}, {
|
|
191
|
+
readonly name: "monitor_protocol_updates";
|
|
192
|
+
readonly description: "Check if any of the user's saved protocols have new evidence updates or recommendations available. Returns a list of protocols with their last-updated date, current evidence grade, and whether a review is recommended. Requires user session token.";
|
|
193
|
+
readonly inputSchema: {
|
|
194
|
+
readonly type: "object";
|
|
195
|
+
readonly properties: {
|
|
196
|
+
readonly session_token: {
|
|
197
|
+
readonly type: "string";
|
|
198
|
+
readonly description: "User session token (from /api/auth/session or Settings → API Keys)";
|
|
199
|
+
};
|
|
200
|
+
readonly compound_filter: {
|
|
201
|
+
readonly type: "array";
|
|
202
|
+
readonly items: {
|
|
203
|
+
readonly type: "string";
|
|
204
|
+
};
|
|
205
|
+
readonly description: "Optional: filter to specific compounds (e.g. ['BPC-157', 'semaglutide'])";
|
|
206
|
+
};
|
|
207
|
+
};
|
|
208
|
+
readonly required: readonly [];
|
|
209
|
+
};
|
|
210
|
+
}, {
|
|
211
|
+
readonly name: "protocol_search";
|
|
212
|
+
readonly description: "Search the Hormonaly protocol library by compound name, category, or condition. Returns a list of matching protocols with titles, evidence grades, and categories. No authentication required.";
|
|
213
|
+
readonly inputSchema: {
|
|
214
|
+
readonly type: "object";
|
|
215
|
+
readonly properties: {
|
|
216
|
+
readonly query: {
|
|
217
|
+
readonly type: "string";
|
|
218
|
+
readonly description: "Search query (compound name, condition, or category)";
|
|
219
|
+
};
|
|
220
|
+
readonly category: {
|
|
221
|
+
readonly type: "string";
|
|
222
|
+
readonly description: "Filter by category slug (e.g. 'weight-loss', 'longevity', 'hormones')";
|
|
223
|
+
};
|
|
224
|
+
readonly limit: {
|
|
225
|
+
readonly type: "number";
|
|
226
|
+
readonly default: 10;
|
|
227
|
+
readonly description: "Maximum number of results (max 20)";
|
|
228
|
+
};
|
|
229
|
+
};
|
|
230
|
+
readonly required: readonly ["query"];
|
|
231
|
+
};
|
|
232
|
+
}, {
|
|
233
|
+
readonly name: "protocol_get";
|
|
234
|
+
readonly description: "Get the full details of a protocol by its ID or slug. Returns dosing tables, mechanism steps, safety considerations, citations, and all enriched data.";
|
|
235
|
+
readonly inputSchema: {
|
|
236
|
+
readonly type: "object";
|
|
237
|
+
readonly properties: {
|
|
238
|
+
readonly id: {
|
|
239
|
+
readonly type: "string";
|
|
240
|
+
readonly description: "Protocol ID or slug (e.g. 'semaglutide-glp1', 'bpc-157-gut')";
|
|
241
|
+
};
|
|
242
|
+
};
|
|
243
|
+
readonly required: readonly ["id"];
|
|
244
|
+
};
|
|
245
|
+
}, {
|
|
246
|
+
readonly name: "protocol_list_categories";
|
|
247
|
+
readonly description: "List all protocol categories available in the Hormonaly library with their slugs and protocol counts.";
|
|
248
|
+
readonly inputSchema: {
|
|
249
|
+
readonly type: "object";
|
|
250
|
+
readonly properties: {};
|
|
251
|
+
};
|
|
252
|
+
}, {
|
|
253
|
+
readonly name: "protocol_get_interactions";
|
|
254
|
+
readonly description: "Check for known drug/compound interactions between a set of compounds. Returns severity, mechanism, clinical effect, and recommendations.";
|
|
255
|
+
readonly inputSchema: {
|
|
256
|
+
readonly type: "object";
|
|
257
|
+
readonly properties: {
|
|
258
|
+
readonly compounds: {
|
|
259
|
+
readonly type: "array";
|
|
260
|
+
readonly items: {
|
|
261
|
+
readonly type: "string";
|
|
262
|
+
};
|
|
263
|
+
readonly minItems: 2;
|
|
264
|
+
readonly description: "List of compound slugs to check interactions for (e.g. ['semaglutide', 'metformin'])";
|
|
265
|
+
};
|
|
266
|
+
};
|
|
267
|
+
readonly required: readonly ["compounds"];
|
|
268
|
+
};
|
|
269
|
+
}, {
|
|
270
|
+
readonly name: "evidence_search";
|
|
271
|
+
readonly description: "Search PubMed for research papers on a compound or condition. Returns paper titles, PMIDs, abstracts, and publication dates.";
|
|
272
|
+
readonly inputSchema: {
|
|
273
|
+
readonly type: "object";
|
|
274
|
+
readonly properties: {
|
|
275
|
+
readonly compound: {
|
|
276
|
+
readonly type: "string";
|
|
277
|
+
readonly description: "Compound or peptide name to search for";
|
|
278
|
+
};
|
|
279
|
+
readonly max_results: {
|
|
280
|
+
readonly type: "number";
|
|
281
|
+
readonly default: 10;
|
|
282
|
+
readonly description: "Maximum number of papers to return";
|
|
283
|
+
};
|
|
284
|
+
};
|
|
285
|
+
readonly required: readonly ["compound"];
|
|
286
|
+
};
|
|
287
|
+
}, {
|
|
288
|
+
readonly name: "evidence_get";
|
|
289
|
+
readonly description: "Get full evidence details for a specific evidence record by ID.";
|
|
290
|
+
readonly inputSchema: {
|
|
291
|
+
readonly type: "object";
|
|
292
|
+
readonly properties: {
|
|
293
|
+
readonly id: {
|
|
294
|
+
readonly type: "string";
|
|
295
|
+
readonly description: "Evidence record ID";
|
|
296
|
+
};
|
|
297
|
+
};
|
|
298
|
+
readonly required: readonly ["id"];
|
|
299
|
+
};
|
|
300
|
+
}, {
|
|
301
|
+
readonly name: "evidence_grade";
|
|
302
|
+
readonly description: "Fetch GRADE-methodology evidence ratings for a set of evidence record IDs. Returns each record's study type, evidence grade (A/B/C/D), confidence level, PMID, and clinical relevance summary. Use this to programmatically evaluate the strength of evidence behind a set of references.";
|
|
303
|
+
readonly inputSchema: {
|
|
304
|
+
readonly type: "object";
|
|
305
|
+
readonly properties: {
|
|
306
|
+
readonly ids: {
|
|
307
|
+
readonly type: "array";
|
|
308
|
+
readonly items: {
|
|
309
|
+
readonly type: "string";
|
|
310
|
+
};
|
|
311
|
+
readonly minItems: 1;
|
|
312
|
+
readonly maxItems: 20;
|
|
313
|
+
readonly description: "Evidence record IDs to grade (returned by evidence_search or evidence_get)";
|
|
314
|
+
};
|
|
315
|
+
};
|
|
316
|
+
readonly required: readonly ["ids"];
|
|
317
|
+
};
|
|
318
|
+
}, {
|
|
319
|
+
readonly name: "compound_search";
|
|
320
|
+
readonly description: "Search the Hormonaly compound database by name or category. Returns compound names, categories, and slugs.";
|
|
321
|
+
readonly inputSchema: {
|
|
322
|
+
readonly type: "object";
|
|
323
|
+
readonly properties: {
|
|
324
|
+
readonly query: {
|
|
325
|
+
readonly type: "string";
|
|
326
|
+
readonly description: "Compound name or partial name to search for";
|
|
327
|
+
};
|
|
328
|
+
readonly category: {
|
|
329
|
+
readonly type: "string";
|
|
330
|
+
readonly description: "Filter by compound category";
|
|
331
|
+
};
|
|
332
|
+
};
|
|
333
|
+
readonly required: readonly ["query"];
|
|
334
|
+
};
|
|
335
|
+
}, {
|
|
336
|
+
readonly name: "compound_get_interactions";
|
|
337
|
+
readonly description: "Get all known interactions for a specific compound.";
|
|
338
|
+
readonly inputSchema: {
|
|
339
|
+
readonly type: "object";
|
|
340
|
+
readonly properties: {
|
|
341
|
+
readonly slug: {
|
|
342
|
+
readonly type: "string";
|
|
343
|
+
readonly description: "Compound slug (e.g. 'semaglutide', 'bpc-157')";
|
|
344
|
+
};
|
|
345
|
+
};
|
|
346
|
+
readonly required: readonly ["slug"];
|
|
347
|
+
};
|
|
348
|
+
}, {
|
|
349
|
+
readonly name: "compound_get_dosing";
|
|
350
|
+
readonly description: "Get evidence-based dosing ranges, administration routes, frequency, and cycle guidance for a compound. Returns the full dosing table from the protocol library including dose ranges, units, frequency, and clinical notes. No authentication required.";
|
|
351
|
+
readonly inputSchema: {
|
|
352
|
+
readonly type: "object";
|
|
353
|
+
readonly properties: {
|
|
354
|
+
readonly slug: {
|
|
355
|
+
readonly type: "string";
|
|
356
|
+
readonly description: "Compound slug or protocol ID (e.g. 'semaglutide', 'bpc-157', 'testosterone-cypionate')";
|
|
357
|
+
};
|
|
358
|
+
};
|
|
359
|
+
readonly required: readonly ["slug"];
|
|
360
|
+
};
|
|
361
|
+
}, {
|
|
362
|
+
readonly name: "user_get_profile";
|
|
363
|
+
readonly description: "Get the current authenticated user's profile including name, role, subscription status, and onboarding state. Requires session authentication.";
|
|
364
|
+
readonly inputSchema: {
|
|
365
|
+
readonly type: "object";
|
|
366
|
+
readonly properties: {
|
|
367
|
+
readonly session_token: {
|
|
368
|
+
readonly type: "string";
|
|
369
|
+
readonly description: "Session token (overrides HORMONALY_SESSION_TOKEN env var)";
|
|
370
|
+
};
|
|
371
|
+
};
|
|
372
|
+
};
|
|
373
|
+
}, {
|
|
374
|
+
readonly name: "user_get_usage";
|
|
375
|
+
readonly description: "Get AI usage statistics for the current user (tokens consumed, cost breakdown, request counts). Requires session authentication.";
|
|
376
|
+
readonly inputSchema: {
|
|
377
|
+
readonly type: "object";
|
|
378
|
+
readonly properties: {
|
|
379
|
+
readonly session_token: {
|
|
380
|
+
readonly type: "string";
|
|
381
|
+
readonly description: "Session token (overrides HORMONALY_SESSION_TOKEN env var)";
|
|
382
|
+
};
|
|
383
|
+
};
|
|
384
|
+
};
|
|
385
|
+
}, {
|
|
386
|
+
readonly name: "user_get_saved_protocols";
|
|
387
|
+
readonly description: "Get the list of protocols saved by the current user. Requires session authentication.";
|
|
388
|
+
readonly inputSchema: {
|
|
389
|
+
readonly type: "object";
|
|
390
|
+
readonly properties: {
|
|
391
|
+
readonly session_token: {
|
|
392
|
+
readonly type: "string";
|
|
393
|
+
readonly description: "Session token (overrides HORMONALY_SESSION_TOKEN env var)";
|
|
394
|
+
};
|
|
395
|
+
};
|
|
396
|
+
};
|
|
397
|
+
}, {
|
|
398
|
+
readonly name: "admin_get_stats";
|
|
399
|
+
readonly description: "Get platform-wide statistics: user counts, protocol counts, AI usage totals, revenue metrics. Requires admin session.";
|
|
400
|
+
readonly inputSchema: {
|
|
401
|
+
readonly type: "object";
|
|
402
|
+
readonly properties: {
|
|
403
|
+
readonly admin_session_token: {
|
|
404
|
+
readonly type: "string";
|
|
405
|
+
readonly description: "Admin session token (overrides HORMONALY_ADMIN_SESSION_TOKEN env var)";
|
|
406
|
+
};
|
|
407
|
+
};
|
|
408
|
+
};
|
|
409
|
+
}, {
|
|
410
|
+
readonly name: "admin_list_users";
|
|
411
|
+
readonly description: "List platform users with optional filters. Returns user emails, signup dates, subscription status, and usage stats. Requires admin session.";
|
|
412
|
+
readonly inputSchema: {
|
|
413
|
+
readonly type: "object";
|
|
414
|
+
readonly properties: {
|
|
415
|
+
readonly limit: {
|
|
416
|
+
readonly type: "number";
|
|
417
|
+
readonly default: 20;
|
|
418
|
+
readonly description: "Number of users to return";
|
|
419
|
+
};
|
|
420
|
+
readonly offset: {
|
|
421
|
+
readonly type: "number";
|
|
422
|
+
readonly default: 0;
|
|
423
|
+
readonly description: "Pagination offset";
|
|
424
|
+
};
|
|
425
|
+
readonly search: {
|
|
426
|
+
readonly type: "string";
|
|
427
|
+
readonly description: "Search by email or name";
|
|
428
|
+
};
|
|
429
|
+
readonly admin_session_token: {
|
|
430
|
+
readonly type: "string";
|
|
431
|
+
readonly description: "Admin session token (overrides HORMONALY_ADMIN_SESSION_TOKEN env var)";
|
|
432
|
+
};
|
|
433
|
+
};
|
|
434
|
+
};
|
|
435
|
+
}, {
|
|
436
|
+
readonly name: "admin_get_ai_costs";
|
|
437
|
+
readonly description: "Get AI cost breakdown by model, endpoint, and time period. Requires admin session.";
|
|
438
|
+
readonly inputSchema: {
|
|
439
|
+
readonly type: "object";
|
|
440
|
+
readonly properties: {
|
|
441
|
+
readonly days: {
|
|
442
|
+
readonly type: "number";
|
|
443
|
+
readonly default: 30;
|
|
444
|
+
readonly description: "Number of days to include in the report";
|
|
445
|
+
};
|
|
446
|
+
readonly admin_session_token: {
|
|
447
|
+
readonly type: "string";
|
|
448
|
+
readonly description: "Admin session token (overrides HORMONALY_ADMIN_SESSION_TOKEN env var)";
|
|
449
|
+
};
|
|
450
|
+
};
|
|
451
|
+
};
|
|
452
|
+
}];
|
|
453
|
+
export declare function handleTool(name: string, args: Record<string, unknown>, client: HoromnalyClient): Promise<{
|
|
454
|
+
content: Array<{
|
|
455
|
+
type: "text";
|
|
456
|
+
text: string;
|
|
457
|
+
}>;
|
|
458
|
+
isError?: boolean;
|
|
459
|
+
}>;
|
|
460
|
+
//# sourceMappingURL=tools.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,eAAe,EAAc,MAAM,aAAa,CAAC;AAc1D,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAsgBnB,CAAC;AAIX,wBAAsB,UAAU,CAC9B,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,MAAM,EAAE,eAAe,GACtB,OAAO,CAAC;IAAE,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC,CAiThF"}
|