@heyseo/mcp-server 0.2.0 → 0.3.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 (82) hide show
  1. package/README.md +234 -60
  2. package/dist/index.js +872 -293
  3. package/dist/index.js.map +1 -1
  4. package/dist/prompts/index.d.ts.map +1 -1
  5. package/dist/prompts/index.js +93 -0
  6. package/dist/prompts/index.js.map +1 -1
  7. package/dist/resources/index.d.ts +1 -1
  8. package/dist/resources/index.d.ts.map +1 -1
  9. package/dist/resources/index.js +135 -4
  10. package/dist/resources/index.js.map +1 -1
  11. package/dist/tools/chat.d.ts +44 -0
  12. package/dist/tools/chat.d.ts.map +1 -0
  13. package/dist/tools/chat.js +37 -0
  14. package/dist/tools/chat.js.map +1 -0
  15. package/dist/tools/comparison.d.ts +1 -1
  16. package/dist/tools/conversations.d.ts +95 -0
  17. package/dist/tools/conversations.d.ts.map +1 -0
  18. package/dist/tools/conversations.js +110 -0
  19. package/dist/tools/conversations.js.map +1 -0
  20. package/dist/tools/dataforseo.d.ts +49 -0
  21. package/dist/tools/dataforseo.d.ts.map +1 -0
  22. package/dist/tools/dataforseo.js +37 -0
  23. package/dist/tools/dataforseo.js.map +1 -0
  24. package/dist/tools/index.d.ts +1126 -4
  25. package/dist/tools/index.d.ts.map +1 -1
  26. package/dist/tools/index.js +146 -6
  27. package/dist/tools/index.js.map +1 -1
  28. package/dist/tools/indexing.d.ts +228 -0
  29. package/dist/tools/indexing.d.ts.map +1 -0
  30. package/dist/tools/indexing.js +262 -0
  31. package/dist/tools/indexing.js.map +1 -0
  32. package/dist/tools/insights.d.ts +61 -0
  33. package/dist/tools/insights.d.ts.map +1 -0
  34. package/dist/tools/insights.js +85 -0
  35. package/dist/tools/insights.js.map +1 -0
  36. package/dist/tools/knowledge.d.ts +98 -0
  37. package/dist/tools/knowledge.d.ts.map +1 -0
  38. package/dist/tools/knowledge.js +69 -0
  39. package/dist/tools/knowledge.js.map +1 -0
  40. package/dist/tools/memory.d.ts +602 -0
  41. package/dist/tools/memory.d.ts.map +1 -0
  42. package/dist/tools/memory.js +395 -0
  43. package/dist/tools/memory.js.map +1 -0
  44. package/dist/tools/notifications.d.ts +75 -0
  45. package/dist/tools/notifications.d.ts.map +1 -0
  46. package/dist/tools/notifications.js +62 -0
  47. package/dist/tools/notifications.js.map +1 -0
  48. package/dist/tools/onpage.d.ts +71 -0
  49. package/dist/tools/onpage.d.ts.map +1 -0
  50. package/dist/tools/onpage.js +75 -0
  51. package/dist/tools/onpage.js.map +1 -0
  52. package/dist/tools/pagespeed.d.ts +39 -0
  53. package/dist/tools/pagespeed.d.ts.map +1 -1
  54. package/dist/tools/pagespeed.js +29 -0
  55. package/dist/tools/pagespeed.js.map +1 -1
  56. package/dist/tools/reports.d.ts +248 -0
  57. package/dist/tools/reports.d.ts.map +1 -0
  58. package/dist/tools/reports.js +234 -0
  59. package/dist/tools/reports.js.map +1 -0
  60. package/dist/tools/serp.d.ts +138 -0
  61. package/dist/tools/serp.d.ts.map +1 -0
  62. package/dist/tools/serp.js +105 -0
  63. package/dist/tools/serp.js.map +1 -0
  64. package/dist/tools/site.d.ts +47 -0
  65. package/dist/tools/site.d.ts.map +1 -1
  66. package/dist/tools/site.js +88 -1
  67. package/dist/tools/site.js.map +1 -1
  68. package/dist/tools/sitemaps.d.ts +72 -0
  69. package/dist/tools/sitemaps.d.ts.map +1 -0
  70. package/dist/tools/sitemaps.js +100 -0
  71. package/dist/tools/sitemaps.js.map +1 -0
  72. package/dist/tools/tasks.d.ts +70 -16
  73. package/dist/tools/tasks.d.ts.map +1 -1
  74. package/dist/tools/tasks.js +46 -0
  75. package/dist/tools/tasks.js.map +1 -1
  76. package/dist/types.d.ts +138 -0
  77. package/dist/types.d.ts.map +1 -1
  78. package/dist/utils/api-client.d.ts +103 -1
  79. package/dist/utils/api-client.d.ts.map +1 -1
  80. package/dist/utils/api-client.js +400 -1
  81. package/dist/utils/api-client.js.map +1 -1
  82. package/package.json +2 -1
@@ -0,0 +1,395 @@
1
+ /**
2
+ * SEO Memory Tools
3
+ * Tools for accessing and updating the SEO memory system (strategy, goals, actions, learnings)
4
+ */
5
+ import { z } from 'zod';
6
+ export const getMemorySchema = z.object({
7
+ siteId: z.string().describe('The ID of the site'),
8
+ });
9
+ export const updateStrategySchema = z.object({
10
+ siteId: z.string().describe('The ID of the site'),
11
+ action: z.enum(['update_summary', 'create_goal', 'update_goal']).describe('The action to perform'),
12
+ strategySummary: z.string().optional().describe('New strategy summary (for update_summary)'),
13
+ goalType: z.enum(['clicks', 'position', 'ctr', 'traffic', 'ranking', 'custom']).optional().describe('Goal type (for create_goal)'),
14
+ goalDescription: z.string().optional().describe('Goal description'),
15
+ goalTargetValue: z.number().optional().describe('Goal target value'),
16
+ goalCurrentValue: z.number().optional().describe('Goal current value'),
17
+ goalTargetDate: z.string().optional().describe('Goal target date (YYYY-MM-DD)'),
18
+ goalId: z.string().optional().describe('Goal ID (for update_goal)'),
19
+ goalStatus: z.enum(['active', 'achieved', 'missed', 'paused']).optional().describe('Goal status (for update_goal)'),
20
+ });
21
+ export const recordActionSchema = z.object({
22
+ siteId: z.string().describe('The ID of the site'),
23
+ title: z.string().describe('Title of the SEO action taken'),
24
+ description: z.string().describe('Description of what was done'),
25
+ category: z.enum(['technical', 'content', 'links', 'ux']).describe('Category of the action'),
26
+ hypothesis: z.string().optional().describe('What you expect to happen'),
27
+ targetMetrics: z.array(z.string()).optional().describe('Metrics to track'),
28
+ measurementDays: z.number().optional().default(28).describe('Days to measure impact'),
29
+ goalId: z.string().optional().describe('Link to a goal'),
30
+ });
31
+ export const addLearningSchema = z.object({
32
+ siteId: z.string().describe('The ID of the site'),
33
+ type: z.enum(['fact', 'pattern']).describe('Type of learning to add'),
34
+ fact: z.string().optional().describe('A key fact about the site (for type=fact)'),
35
+ pattern: z.string().optional().describe('A success pattern observed (for type=pattern)'),
36
+ evidence: z.string().optional().describe('Evidence for the pattern'),
37
+ applicableCategories: z.array(z.enum(['technical', 'content', 'links', 'ux'])).optional().describe('Which categories this pattern applies to'),
38
+ confidence: z.enum(['high', 'medium', 'low']).optional().default('low').describe('Confidence level'),
39
+ });
40
+ export async function executeGetMemory(client, input) {
41
+ try {
42
+ const context = await client.getMemoryContext(input.siteId);
43
+ const summary = {
44
+ success: true,
45
+ healthTrend: context.healthTrend,
46
+ };
47
+ if (context.strategy) {
48
+ summary.strategy = {
49
+ summary: context.strategy.strategySummary || '(no strategy set)',
50
+ activeGoals: context.activeGoals.length,
51
+ pendingActions: context.pendingActions.length,
52
+ goals: context.activeGoals.map(g => ({
53
+ id: g.id,
54
+ type: g.type,
55
+ description: g.description,
56
+ progress: `${g.progress}%`,
57
+ target: g.targetValue,
58
+ current: g.currentValue,
59
+ status: g.status,
60
+ })),
61
+ updatedAt: context.strategy.updatedAt,
62
+ };
63
+ }
64
+ else {
65
+ summary.strategy = null;
66
+ }
67
+ if (context.learnings) {
68
+ summary.learnings = {
69
+ keyFactsCount: context.learnings.keyFacts.length,
70
+ keyFacts: context.learnings.keyFacts.slice(0, 10),
71
+ successPatternsCount: context.learnings.successPatterns.length,
72
+ trajectory: context.learnings.trajectory,
73
+ };
74
+ }
75
+ else {
76
+ summary.learnings = null;
77
+ }
78
+ summary.recentSnapshots = context.recentSnapshots.length;
79
+ return JSON.stringify(summary, null, 2);
80
+ }
81
+ catch (error) {
82
+ return JSON.stringify({ success: false, error: error instanceof Error ? error.message : 'Unknown error' });
83
+ }
84
+ }
85
+ export async function executeUpdateStrategy(client, input) {
86
+ try {
87
+ if (input.action === 'update_summary') {
88
+ if (!input.strategySummary) {
89
+ return JSON.stringify({ success: false, error: 'strategySummary is required for update_summary action' });
90
+ }
91
+ await client.updateStrategy(input.siteId, input.strategySummary);
92
+ return JSON.stringify({ success: true, message: 'Strategy summary updated' });
93
+ }
94
+ if (input.action === 'create_goal') {
95
+ if (!input.goalType || !input.goalDescription || input.goalTargetValue === undefined) {
96
+ return JSON.stringify({ success: false, error: 'goalType, goalDescription, and goalTargetValue are required for create_goal action' });
97
+ }
98
+ const goal = await client.createGoal(input.siteId, {
99
+ type: input.goalType,
100
+ description: input.goalDescription,
101
+ targetValue: input.goalTargetValue,
102
+ currentValue: input.goalCurrentValue,
103
+ targetDate: input.goalTargetDate,
104
+ });
105
+ return JSON.stringify({ success: true, goal }, null, 2);
106
+ }
107
+ if (input.action === 'update_goal') {
108
+ if (!input.goalId) {
109
+ return JSON.stringify({ success: false, error: 'goalId is required for update_goal action' });
110
+ }
111
+ const updates = {};
112
+ if (input.goalStatus)
113
+ updates.status = input.goalStatus;
114
+ if (input.goalCurrentValue !== undefined)
115
+ updates.currentValue = input.goalCurrentValue;
116
+ if (input.goalDescription)
117
+ updates.description = input.goalDescription;
118
+ if (input.goalTargetValue !== undefined)
119
+ updates.targetValue = input.goalTargetValue;
120
+ const goal = await client.updateGoal(input.siteId, input.goalId, updates);
121
+ return JSON.stringify({ success: true, goal }, null, 2);
122
+ }
123
+ return JSON.stringify({ success: false, error: `Unknown action: ${input.action}` });
124
+ }
125
+ catch (error) {
126
+ return JSON.stringify({ success: false, error: error instanceof Error ? error.message : 'Unknown error' });
127
+ }
128
+ }
129
+ export async function executeRecordAction(client, input) {
130
+ try {
131
+ const action = await client.recordAction(input.siteId, {
132
+ title: input.title,
133
+ description: input.description,
134
+ category: input.category,
135
+ hypothesis: input.hypothesis,
136
+ targetMetrics: input.targetMetrics,
137
+ measurementDays: input.measurementDays,
138
+ goalId: input.goalId,
139
+ });
140
+ return JSON.stringify({ success: true, action }, null, 2);
141
+ }
142
+ catch (error) {
143
+ return JSON.stringify({ success: false, error: error instanceof Error ? error.message : 'Unknown error' });
144
+ }
145
+ }
146
+ export async function executeAddLearning(client, input) {
147
+ try {
148
+ const result = await client.addLearning(input.siteId, {
149
+ type: input.type,
150
+ fact: input.fact,
151
+ pattern: input.pattern,
152
+ evidence: input.evidence,
153
+ applicableCategories: input.applicableCategories,
154
+ confidence: input.confidence,
155
+ });
156
+ return JSON.stringify({ success: true, ...result }, null, 2);
157
+ }
158
+ catch (error) {
159
+ return JSON.stringify({ success: false, error: error instanceof Error ? error.message : 'Unknown error' });
160
+ }
161
+ }
162
+ // --- New schemas ---
163
+ export const deleteGoalSchema = z.object({
164
+ siteId: z.string().describe('The ID of the site'),
165
+ goalId: z.string().describe('The ID of the goal to delete'),
166
+ });
167
+ export const memorySnapshotsSchema = z.object({
168
+ siteId: z.string().describe('The ID of the site'),
169
+ limit: z.number().min(1).max(50).optional().default(10).describe('Number of snapshots to return'),
170
+ });
171
+ export const generateSnapshotSchema = z.object({
172
+ siteId: z.string().describe('The ID of the site'),
173
+ });
174
+ export const queueActionSchema = z.object({
175
+ siteId: z.string().describe('The ID of the site'),
176
+ title: z.string().describe('Title of the action to queue'),
177
+ description: z.string().describe('Description of the action'),
178
+ category: z.enum(['technical', 'content', 'links', 'ux']).describe('Category of the action'),
179
+ priority: z.enum(['low', 'medium', 'high']).optional().describe('Priority of the action'),
180
+ });
181
+ export const updateQueuedActionSchema = z.object({
182
+ siteId: z.string().describe('The ID of the site'),
183
+ actionId: z.string().describe('The ID of the queued action'),
184
+ status: z.string().optional().describe('New status for the action'),
185
+ priority: z.enum(['low', 'medium', 'high']).optional().describe('New priority'),
186
+ });
187
+ // --- New execute functions ---
188
+ export async function executeDeleteGoal(client, input) {
189
+ try {
190
+ await client.deleteGoal(input.siteId, input.goalId);
191
+ return JSON.stringify({ success: true, message: 'Goal deleted', goalId: input.goalId }, null, 2);
192
+ }
193
+ catch (error) {
194
+ return JSON.stringify({ success: false, error: error instanceof Error ? error.message : 'Unknown error' });
195
+ }
196
+ }
197
+ export async function executeMemorySnapshots(client, input) {
198
+ try {
199
+ const result = await client.getMemorySnapshots(input.siteId, input.limit);
200
+ return JSON.stringify({ success: true, ...result }, null, 2);
201
+ }
202
+ catch (error) {
203
+ return JSON.stringify({ success: false, error: error instanceof Error ? error.message : 'Unknown error' });
204
+ }
205
+ }
206
+ export async function executeGenerateSnapshot(client, input) {
207
+ try {
208
+ const result = await client.generateSnapshot(input.siteId);
209
+ return JSON.stringify({ success: true, message: 'Snapshot generated', ...result }, null, 2);
210
+ }
211
+ catch (error) {
212
+ return JSON.stringify({ success: false, error: error instanceof Error ? error.message : 'Unknown error' });
213
+ }
214
+ }
215
+ export async function executeQueueAction(client, input) {
216
+ try {
217
+ const result = await client.queueAction(input.siteId, {
218
+ title: input.title,
219
+ description: input.description,
220
+ category: input.category,
221
+ priority: input.priority,
222
+ });
223
+ return JSON.stringify({ success: true, message: 'Action queued', ...result }, null, 2);
224
+ }
225
+ catch (error) {
226
+ return JSON.stringify({ success: false, error: error instanceof Error ? error.message : 'Unknown error' });
227
+ }
228
+ }
229
+ export async function executeUpdateQueuedAction(client, input) {
230
+ try {
231
+ const result = await client.updateQueuedAction(input.siteId, input.actionId, {
232
+ status: input.status,
233
+ priority: input.priority,
234
+ });
235
+ return JSON.stringify({ success: true, message: 'Queued action updated', ...result }, null, 2);
236
+ }
237
+ catch (error) {
238
+ return JSON.stringify({ success: false, error: error instanceof Error ? error.message : 'Unknown error' });
239
+ }
240
+ }
241
+ export const memoryTools = [
242
+ {
243
+ name: 'heyseo_get_memory',
244
+ description: `Get the full SEO memory context for a site.
245
+
246
+ Returns the site's SEO strategy summary, active goals with progress, recent performance snapshots, key learnings (facts and patterns), and overall health trend. This provides persistent context about the site's SEO journey.`,
247
+ inputSchema: {
248
+ type: 'object',
249
+ properties: {
250
+ siteId: { type: 'string', description: 'The ID of the site' },
251
+ },
252
+ required: ['siteId'],
253
+ },
254
+ },
255
+ {
256
+ name: 'heyseo_update_strategy',
257
+ description: `Update SEO strategy, create goals, or update goal progress.
258
+
259
+ Actions:
260
+ - update_summary: Set the overall SEO strategy summary
261
+ - create_goal: Create a new SEO goal (clicks, position, CTR, traffic, ranking, custom)
262
+ - update_goal: Update a goal's status or progress`,
263
+ inputSchema: {
264
+ type: 'object',
265
+ properties: {
266
+ siteId: { type: 'string', description: 'The ID of the site' },
267
+ action: { type: 'string', enum: ['update_summary', 'create_goal', 'update_goal'], description: 'Action to perform' },
268
+ strategySummary: { type: 'string', description: 'New strategy summary (for update_summary)' },
269
+ goalType: { type: 'string', enum: ['clicks', 'position', 'ctr', 'traffic', 'ranking', 'custom'], description: 'Goal type' },
270
+ goalDescription: { type: 'string', description: 'Goal description' },
271
+ goalTargetValue: { type: 'number', description: 'Goal target value' },
272
+ goalCurrentValue: { type: 'number', description: 'Current value' },
273
+ goalTargetDate: { type: 'string', description: 'Target date (YYYY-MM-DD)' },
274
+ goalId: { type: 'string', description: 'Goal ID (for update_goal)' },
275
+ goalStatus: { type: 'string', enum: ['active', 'achieved', 'missed', 'paused'], description: 'Goal status' },
276
+ },
277
+ required: ['siteId', 'action'],
278
+ },
279
+ },
280
+ {
281
+ name: 'heyseo_record_action',
282
+ description: `Record an SEO action that was taken on the site.
283
+
284
+ Track what changes were made, the hypothesis behind them, and which metrics to monitor. The system will track the action's impact over a measurement period (default 28 days).`,
285
+ inputSchema: {
286
+ type: 'object',
287
+ properties: {
288
+ siteId: { type: 'string', description: 'The ID of the site' },
289
+ title: { type: 'string', description: 'Title of the action taken' },
290
+ description: { type: 'string', description: 'Description of the action' },
291
+ category: { type: 'string', enum: ['technical', 'content', 'links', 'ux'], description: 'Category' },
292
+ hypothesis: { type: 'string', description: 'What you expect to happen' },
293
+ targetMetrics: { type: 'array', items: { type: 'string' }, description: 'Metrics to track' },
294
+ measurementDays: { type: 'number', minimum: 7, maximum: 90, default: 28, description: 'Days to measure' },
295
+ goalId: { type: 'string', description: 'Link to a goal' },
296
+ },
297
+ required: ['siteId', 'title', 'description', 'category'],
298
+ },
299
+ },
300
+ {
301
+ name: 'heyseo_add_learning',
302
+ description: `Add a key fact or success pattern to the site's learning memory.
303
+
304
+ - type=fact: Add a key fact about the site (e.g., "Site migrated to Next.js in January 2025")
305
+ - type=pattern: Add a success pattern observed (e.g., "Long-form guides rank better for informational queries")`,
306
+ inputSchema: {
307
+ type: 'object',
308
+ properties: {
309
+ siteId: { type: 'string', description: 'The ID of the site' },
310
+ type: { type: 'string', enum: ['fact', 'pattern'], description: 'Type of learning' },
311
+ fact: { type: 'string', description: 'A key fact (for type=fact)' },
312
+ pattern: { type: 'string', description: 'A success pattern (for type=pattern)' },
313
+ evidence: { type: 'string', description: 'Evidence for the pattern' },
314
+ applicableCategories: { type: 'array', items: { type: 'string', enum: ['technical', 'content', 'links', 'ux'] }, description: 'Applicable categories' },
315
+ confidence: { type: 'string', enum: ['high', 'medium', 'low'], default: 'low', description: 'Confidence level' },
316
+ },
317
+ required: ['siteId', 'type'],
318
+ },
319
+ },
320
+ {
321
+ name: 'heyseo_delete_goal',
322
+ description: `Delete a goal from the site's SEO strategy.
323
+
324
+ Permanently removes a goal and its progress tracking.`,
325
+ inputSchema: {
326
+ type: 'object',
327
+ properties: {
328
+ siteId: { type: 'string', description: 'The ID of the site' },
329
+ goalId: { type: 'string', description: 'The ID of the goal to delete' },
330
+ },
331
+ required: ['siteId', 'goalId'],
332
+ },
333
+ },
334
+ {
335
+ name: 'heyseo_memory_snapshots',
336
+ description: `Get performance snapshots for a site.
337
+
338
+ Returns historical performance snapshots showing how key metrics have changed over time.`,
339
+ inputSchema: {
340
+ type: 'object',
341
+ properties: {
342
+ siteId: { type: 'string', description: 'The ID of the site' },
343
+ limit: { type: 'number', minimum: 1, maximum: 50, default: 10, description: 'Number of snapshots to return' },
344
+ },
345
+ required: ['siteId'],
346
+ },
347
+ },
348
+ {
349
+ name: 'heyseo_generate_snapshot',
350
+ description: `Generate a new performance snapshot for a site.
351
+
352
+ Takes a snapshot of current SEO metrics for historical tracking and trend analysis.`,
353
+ inputSchema: {
354
+ type: 'object',
355
+ properties: {
356
+ siteId: { type: 'string', description: 'The ID of the site' },
357
+ },
358
+ required: ['siteId'],
359
+ },
360
+ },
361
+ {
362
+ name: 'heyseo_queue_action',
363
+ description: `Queue an action for future implementation.
364
+
365
+ Add an action to the action queue for planning and tracking. Different from recording an already-taken action.`,
366
+ inputSchema: {
367
+ type: 'object',
368
+ properties: {
369
+ siteId: { type: 'string', description: 'The ID of the site' },
370
+ title: { type: 'string', description: 'Title of the action' },
371
+ description: { type: 'string', description: 'Description of the action' },
372
+ category: { type: 'string', enum: ['technical', 'content', 'links', 'ux'], description: 'Category' },
373
+ priority: { type: 'string', enum: ['low', 'medium', 'high'], description: 'Priority' },
374
+ },
375
+ required: ['siteId', 'title', 'description', 'category'],
376
+ },
377
+ },
378
+ {
379
+ name: 'heyseo_update_queued_action',
380
+ description: `Update a queued action's status or priority.
381
+
382
+ Modify a previously queued action, for example to mark it as completed or change its priority.`,
383
+ inputSchema: {
384
+ type: 'object',
385
+ properties: {
386
+ siteId: { type: 'string', description: 'The ID of the site' },
387
+ actionId: { type: 'string', description: 'The ID of the queued action' },
388
+ status: { type: 'string', description: 'New status' },
389
+ priority: { type: 'string', enum: ['low', 'medium', 'high'], description: 'New priority' },
390
+ },
391
+ required: ['siteId', 'actionId'],
392
+ },
393
+ },
394
+ ];
395
+ //# sourceMappingURL=memory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"memory.js","sourceRoot":"","sources":["../../src/tools/memory.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,75 @@
1
+ /**
2
+ * Notification Tools
3
+ * Tools for managing notification settings
4
+ */
5
+ import { z } from 'zod';
6
+ import type { HeySeoApiClient } from '../utils/api-client.js';
7
+ export declare const notificationSettingsSchema: z.ZodObject<{}, "strip", z.ZodTypeAny, {}, {}>;
8
+ export type NotificationSettingsInput = z.infer<typeof notificationSettingsSchema>;
9
+ export declare const updateNotificationSettingsSchema: z.ZodObject<{
10
+ emailNotifications: z.ZodOptional<z.ZodBoolean>;
11
+ weeklyDigest: z.ZodOptional<z.ZodBoolean>;
12
+ alertOnAnomaly: z.ZodOptional<z.ZodBoolean>;
13
+ alertOnIndexingChange: z.ZodOptional<z.ZodBoolean>;
14
+ alertOnRankingChange: z.ZodOptional<z.ZodBoolean>;
15
+ }, "strip", z.ZodTypeAny, {
16
+ emailNotifications?: boolean | undefined;
17
+ weeklyDigest?: boolean | undefined;
18
+ alertOnAnomaly?: boolean | undefined;
19
+ alertOnIndexingChange?: boolean | undefined;
20
+ alertOnRankingChange?: boolean | undefined;
21
+ }, {
22
+ emailNotifications?: boolean | undefined;
23
+ weeklyDigest?: boolean | undefined;
24
+ alertOnAnomaly?: boolean | undefined;
25
+ alertOnIndexingChange?: boolean | undefined;
26
+ alertOnRankingChange?: boolean | undefined;
27
+ }>;
28
+ export type UpdateNotificationSettingsInput = z.infer<typeof updateNotificationSettingsSchema>;
29
+ export declare function executeNotificationSettings(client: HeySeoApiClient, _input: NotificationSettingsInput): Promise<string>;
30
+ export declare function executeUpdateNotificationSettings(client: HeySeoApiClient, input: UpdateNotificationSettingsInput): Promise<string>;
31
+ export declare const notificationTools: ({
32
+ name: string;
33
+ description: string;
34
+ inputSchema: {
35
+ type: string;
36
+ properties: {
37
+ emailNotifications?: undefined;
38
+ weeklyDigest?: undefined;
39
+ alertOnAnomaly?: undefined;
40
+ alertOnIndexingChange?: undefined;
41
+ alertOnRankingChange?: undefined;
42
+ };
43
+ required: never[];
44
+ };
45
+ } | {
46
+ name: string;
47
+ description: string;
48
+ inputSchema: {
49
+ type: string;
50
+ properties: {
51
+ emailNotifications: {
52
+ type: string;
53
+ description: string;
54
+ };
55
+ weeklyDigest: {
56
+ type: string;
57
+ description: string;
58
+ };
59
+ alertOnAnomaly: {
60
+ type: string;
61
+ description: string;
62
+ };
63
+ alertOnIndexingChange: {
64
+ type: string;
65
+ description: string;
66
+ };
67
+ alertOnRankingChange: {
68
+ type: string;
69
+ description: string;
70
+ };
71
+ };
72
+ required: never[];
73
+ };
74
+ })[];
75
+ //# sourceMappingURL=notifications.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"notifications.d.ts","sourceRoot":"","sources":["../../src/tools/notifications.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAE9D,eAAO,MAAM,0BAA0B,gDAAe,CAAC;AACvD,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAEnF,eAAO,MAAM,gCAAgC;;;;;;;;;;;;;;;;;;EAM3C,CAAC;AACH,MAAM,MAAM,+BAA+B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gCAAgC,CAAC,CAAC;AAE/F,wBAAsB,2BAA2B,CAC/C,MAAM,EAAE,eAAe,EACvB,MAAM,EAAE,yBAAyB,GAChC,OAAO,CAAC,MAAM,CAAC,CAOjB;AAED,wBAAsB,iCAAiC,CACrD,MAAM,EAAE,eAAe,EACvB,KAAK,EAAE,+BAA+B,GACrC,OAAO,CAAC,MAAM,CAAC,CAOjB;AAED,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IA6B7B,CAAC"}
@@ -0,0 +1,62 @@
1
+ /**
2
+ * Notification Tools
3
+ * Tools for managing notification settings
4
+ */
5
+ import { z } from 'zod';
6
+ export const notificationSettingsSchema = z.object({});
7
+ export const updateNotificationSettingsSchema = z.object({
8
+ emailNotifications: z.boolean().optional().describe('Enable email notifications'),
9
+ weeklyDigest: z.boolean().optional().describe('Enable weekly digest emails'),
10
+ alertOnAnomaly: z.boolean().optional().describe('Alert on traffic anomalies'),
11
+ alertOnIndexingChange: z.boolean().optional().describe('Alert on indexing status changes'),
12
+ alertOnRankingChange: z.boolean().optional().describe('Alert on significant ranking changes'),
13
+ });
14
+ export async function executeNotificationSettings(client, _input) {
15
+ try {
16
+ const result = await client.getNotificationSettings();
17
+ return JSON.stringify({ success: true, ...result }, null, 2);
18
+ }
19
+ catch (error) {
20
+ return JSON.stringify({ success: false, error: error instanceof Error ? error.message : 'Unknown error' });
21
+ }
22
+ }
23
+ export async function executeUpdateNotificationSettings(client, input) {
24
+ try {
25
+ const result = await client.updateNotificationSettings(input);
26
+ return JSON.stringify({ success: true, message: 'Notification settings updated', ...result }, null, 2);
27
+ }
28
+ catch (error) {
29
+ return JSON.stringify({ success: false, error: error instanceof Error ? error.message : 'Unknown error' });
30
+ }
31
+ }
32
+ export const notificationTools = [
33
+ {
34
+ name: 'heyseo_notification_settings',
35
+ description: `Get notification settings.
36
+
37
+ Returns the current notification configuration including email preferences and alert triggers.`,
38
+ inputSchema: {
39
+ type: 'object',
40
+ properties: {},
41
+ required: [],
42
+ },
43
+ },
44
+ {
45
+ name: 'heyseo_update_notification_settings',
46
+ description: `Update notification settings.
47
+
48
+ Configure which notifications to receive, including email notifications, weekly digests, and alerts for anomalies, indexing changes, and ranking changes.`,
49
+ inputSchema: {
50
+ type: 'object',
51
+ properties: {
52
+ emailNotifications: { type: 'boolean', description: 'Enable email notifications' },
53
+ weeklyDigest: { type: 'boolean', description: 'Enable weekly digest' },
54
+ alertOnAnomaly: { type: 'boolean', description: 'Alert on anomalies' },
55
+ alertOnIndexingChange: { type: 'boolean', description: 'Alert on indexing changes' },
56
+ alertOnRankingChange: { type: 'boolean', description: 'Alert on ranking changes' },
57
+ },
58
+ required: [],
59
+ },
60
+ },
61
+ ];
62
+ //# sourceMappingURL=notifications.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"notifications.js","sourceRoot":"","sources":["../../src/tools/notifications.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,71 @@
1
+ /**
2
+ * On-Page Audit Tools
3
+ * Tools for running on-page SEO analysis
4
+ */
5
+ import { z } from 'zod';
6
+ import type { HeySeoApiClient } from '../utils/api-client.js';
7
+ export declare const onpageAuditSchema: z.ZodObject<{
8
+ url: z.ZodString;
9
+ siteId: z.ZodOptional<z.ZodString>;
10
+ }, "strip", z.ZodTypeAny, {
11
+ url: string;
12
+ siteId?: string | undefined;
13
+ }, {
14
+ url: string;
15
+ siteId?: string | undefined;
16
+ }>;
17
+ export type OnpageAuditInput = z.infer<typeof onpageAuditSchema>;
18
+ export declare function executeOnpageAudit(client: HeySeoApiClient, input: OnpageAuditInput): Promise<string>;
19
+ export declare const onpageHistorySchema: z.ZodObject<{
20
+ siteId: z.ZodString;
21
+ limit: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
22
+ }, "strip", z.ZodTypeAny, {
23
+ siteId: string;
24
+ limit: number;
25
+ }, {
26
+ siteId: string;
27
+ limit?: number | undefined;
28
+ }>;
29
+ export type OnpageHistoryInput = z.infer<typeof onpageHistorySchema>;
30
+ export declare function executeOnpageHistory(client: HeySeoApiClient, input: OnpageHistoryInput): Promise<string>;
31
+ export declare const onpageTools: ({
32
+ name: string;
33
+ description: string;
34
+ inputSchema: {
35
+ type: string;
36
+ properties: {
37
+ url: {
38
+ type: string;
39
+ description: string;
40
+ };
41
+ siteId: {
42
+ type: string;
43
+ description: string;
44
+ };
45
+ limit?: undefined;
46
+ };
47
+ required: string[];
48
+ };
49
+ } | {
50
+ name: string;
51
+ description: string;
52
+ inputSchema: {
53
+ type: string;
54
+ properties: {
55
+ siteId: {
56
+ type: string;
57
+ description: string;
58
+ };
59
+ limit: {
60
+ type: string;
61
+ minimum: number;
62
+ maximum: number;
63
+ default: number;
64
+ description: string;
65
+ };
66
+ url?: undefined;
67
+ };
68
+ required: string[];
69
+ };
70
+ })[];
71
+ //# sourceMappingURL=onpage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"onpage.d.ts","sourceRoot":"","sources":["../../src/tools/onpage.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAE9D,eAAO,MAAM,iBAAiB;;;;;;;;;EAG5B,CAAC;AAEH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAEjE,wBAAsB,kBAAkB,CACtC,MAAM,EAAE,eAAe,EACvB,KAAK,EAAE,gBAAgB,GACtB,OAAO,CAAC,MAAM,CAAC,CAWjB;AAID,eAAO,MAAM,mBAAmB;;;;;;;;;EAG9B,CAAC;AACH,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAIrE,wBAAsB,oBAAoB,CACxC,MAAM,EAAE,eAAe,EACvB,KAAK,EAAE,kBAAkB,GACxB,OAAO,CAAC,MAAM,CAAC,CAOjB;AAED,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAqCvB,CAAC"}