@channel47/dataforseo-mcp-server 1.0.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/LICENSE +21 -0
- package/README.md +155 -0
- package/dist/api/ai-optimization/index.d.ts +3 -0
- package/dist/api/ai-optimization/index.js +178 -0
- package/dist/api/ai-optimization/index.js.map +1 -0
- package/dist/api/app-data/index.d.ts +3 -0
- package/dist/api/app-data/index.js +115 -0
- package/dist/api/app-data/index.js.map +1 -0
- package/dist/api/backlinks/index.d.ts +3 -0
- package/dist/api/backlinks/index.js +186 -0
- package/dist/api/backlinks/index.js.map +1 -0
- package/dist/api/business-data/index.d.ts +3 -0
- package/dist/api/business-data/index.js +235 -0
- package/dist/api/business-data/index.js.map +1 -0
- package/dist/api/client.d.ts +10 -0
- package/dist/api/client.js +54 -0
- package/dist/api/client.js.map +1 -0
- package/dist/api/content-analysis/index.d.ts +3 -0
- package/dist/api/content-analysis/index.js +64 -0
- package/dist/api/content-analysis/index.js.map +1 -0
- package/dist/api/content-generation/index.d.ts +3 -0
- package/dist/api/content-generation/index.js +75 -0
- package/dist/api/content-generation/index.js.map +1 -0
- package/dist/api/domain-analytics/index.d.ts +3 -0
- package/dist/api/domain-analytics/index.js +69 -0
- package/dist/api/domain-analytics/index.js.map +1 -0
- package/dist/api/keywords/index.d.ts +3 -0
- package/dist/api/keywords/index.js +73 -0
- package/dist/api/keywords/index.js.map +1 -0
- package/dist/api/labs/index.d.ts +3 -0
- package/dist/api/labs/index.js +315 -0
- package/dist/api/labs/index.js.map +1 -0
- package/dist/api/localfalcon/index.d.ts +7 -0
- package/dist/api/localfalcon/index.js +109 -0
- package/dist/api/localfalcon/index.js.map +1 -0
- package/dist/api/merchant/index.d.ts +3 -0
- package/dist/api/merchant/index.js +133 -0
- package/dist/api/merchant/index.js.map +1 -0
- package/dist/api/onpage/index.d.ts +3 -0
- package/dist/api/onpage/index.js +68 -0
- package/dist/api/onpage/index.js.map +1 -0
- package/dist/api/serp/index.d.ts +3 -0
- package/dist/api/serp/index.js +99 -0
- package/dist/api/serp/index.js.map +1 -0
- package/dist/api/tools.d.ts +11 -0
- package/dist/api/tools.js +61 -0
- package/dist/api/tools.js.map +1 -0
- package/dist/api/types.d.ts +89 -0
- package/dist/api/types.js +19 -0
- package/dist/api/types.js.map +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.js +34 -0
- package/dist/index.js.map +1 -0
- package/package.json +54 -0
|
@@ -0,0 +1,186 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import { registerTool } from "../tools.js";
|
|
3
|
+
// Backlinks API schemas
|
|
4
|
+
const targetSchema = z.object({
|
|
5
|
+
target: z.string().describe("Target domain, subdomain or URL to analyze"),
|
|
6
|
+
limit: z.number().optional().describe("Maximum number of results to return"),
|
|
7
|
+
offset: z.number().optional().describe("Offset for pagination"),
|
|
8
|
+
filters: z.array(z.any()).optional().describe("Array of filter objects")
|
|
9
|
+
});
|
|
10
|
+
export function registerBacklinksTools(server, apiClient) {
|
|
11
|
+
// Backlinks Summary
|
|
12
|
+
registerTool(server, "backlinks_summary", targetSchema, async (params, client) => {
|
|
13
|
+
const response = await client.post("/backlinks/summary/live", [params]);
|
|
14
|
+
return response;
|
|
15
|
+
}, apiClient);
|
|
16
|
+
// Backlinks List
|
|
17
|
+
registerTool(server, "backlinks_backlinks", targetSchema.extend({
|
|
18
|
+
mode: z.enum(["as_is", "as_csv"]).optional().describe("Data presentation mode"),
|
|
19
|
+
}), async (params, client) => {
|
|
20
|
+
const response = await client.post("/backlinks/backlinks/live", [params]);
|
|
21
|
+
return response;
|
|
22
|
+
}, apiClient);
|
|
23
|
+
// Anchors
|
|
24
|
+
registerTool(server, "backlinks_anchors", targetSchema, async (params, client) => {
|
|
25
|
+
const response = await client.post("/backlinks/anchors/live", [params]);
|
|
26
|
+
return response;
|
|
27
|
+
}, apiClient);
|
|
28
|
+
// Backlinks Domain Pages
|
|
29
|
+
registerTool(server, "backlinks_domain_pages", targetSchema, async (params, client) => {
|
|
30
|
+
const response = await client.post("/backlinks/domain_pages/live", [params]);
|
|
31
|
+
return response;
|
|
32
|
+
}, apiClient);
|
|
33
|
+
// Domain Pages Summary
|
|
34
|
+
registerTool(server, "backlinks_domain_pages_summary", targetSchema, async (params, client) => {
|
|
35
|
+
const response = await client.post("/backlinks/domain_pages_summary/live", [params]);
|
|
36
|
+
return response;
|
|
37
|
+
}, apiClient);
|
|
38
|
+
// Referring Domains
|
|
39
|
+
registerTool(server, "backlinks_referring_domains", targetSchema, async (params, client) => {
|
|
40
|
+
const response = await client.post("/backlinks/referring_domains/live", [params]);
|
|
41
|
+
return response;
|
|
42
|
+
}, apiClient);
|
|
43
|
+
// Referring Networks
|
|
44
|
+
registerTool(server, "backlinks_referring_networks", targetSchema, async (params, client) => {
|
|
45
|
+
const response = await client.post("/backlinks/referring_networks/live", [params]);
|
|
46
|
+
return response;
|
|
47
|
+
}, apiClient);
|
|
48
|
+
// Bulk Backlinks
|
|
49
|
+
registerTool(server, "backlinks_bulk_backlinks", z.object({
|
|
50
|
+
targets: z.array(z.string()).describe("List of targets to analyze (domains, subdomains, URLs)"),
|
|
51
|
+
limit: z.number().optional().describe("Maximum number of results to return per target"),
|
|
52
|
+
offset: z.number().optional().describe("Offset for pagination"),
|
|
53
|
+
internal_list_limit: z.number().optional().describe("Maximum number of items in internal lists per target")
|
|
54
|
+
}), async (params, client) => {
|
|
55
|
+
const response = await client.post("/backlinks/bulk_backlinks/live", [params]);
|
|
56
|
+
return response;
|
|
57
|
+
}, apiClient);
|
|
58
|
+
// Bulk Referring Domains
|
|
59
|
+
registerTool(server, "backlinks_bulk_referring_domains", z.object({
|
|
60
|
+
targets: z.array(z.string()).describe("List of targets to analyze (domains, subdomains, URLs)"),
|
|
61
|
+
limit: z.number().optional().describe("Maximum number of results to return per target"),
|
|
62
|
+
offset: z.number().optional().describe("Offset for pagination"),
|
|
63
|
+
internal_list_limit: z.number().optional().describe("Maximum number of items in internal lists per target")
|
|
64
|
+
}), async (params, client) => {
|
|
65
|
+
const response = await client.post("/backlinks/bulk_referring_domains/live", [params]);
|
|
66
|
+
return response;
|
|
67
|
+
}, apiClient);
|
|
68
|
+
// Bulk Spam Score
|
|
69
|
+
registerTool(server, "backlinks_bulk_spam_score", z.object({
|
|
70
|
+
targets: z.array(z.string()).describe("List of targets to analyze (domains, subdomains, URLs)")
|
|
71
|
+
}), async (params, client) => {
|
|
72
|
+
const response = await client.post("/backlinks/bulk_spam_score/live", [params]);
|
|
73
|
+
return response;
|
|
74
|
+
}, apiClient);
|
|
75
|
+
// Bulk Rank Overview
|
|
76
|
+
registerTool(server, "backlinks_bulk_ranks", z.object({
|
|
77
|
+
targets: z.array(z.string()).describe("List of targets to analyze (domains, subdomains, URLs)")
|
|
78
|
+
}), async (params, client) => {
|
|
79
|
+
const response = await client.post("/backlinks/bulk_ranks/live", [params]);
|
|
80
|
+
return response;
|
|
81
|
+
}, apiClient);
|
|
82
|
+
// Domain Competitors
|
|
83
|
+
registerTool(server, "backlinks_competitors", targetSchema, async (params, client) => {
|
|
84
|
+
const response = await client.post("/backlinks/competitors/live", [params]);
|
|
85
|
+
return response;
|
|
86
|
+
}, apiClient);
|
|
87
|
+
// Domain Intersection
|
|
88
|
+
registerTool(server, "backlinks_domain_intersection", z.object({
|
|
89
|
+
targets: z.array(z.string()).min(2).max(20).describe("List of domains to compare"),
|
|
90
|
+
limit: z.number().optional().describe("Maximum number of results to return"),
|
|
91
|
+
offset: z.number().optional().describe("Offset for pagination"),
|
|
92
|
+
exclude_targets: z.boolean().optional().describe("Whether to exclude the target domains from the results")
|
|
93
|
+
}), async (params, client) => {
|
|
94
|
+
const response = await client.post("/backlinks/domain_intersection/live", [params]);
|
|
95
|
+
return response;
|
|
96
|
+
}, apiClient);
|
|
97
|
+
// Page Intersection
|
|
98
|
+
registerTool(server, "backlinks_page_intersection", z.object({
|
|
99
|
+
targets: z.array(z.string()).min(2).max(20).describe("List of URLs to compare"),
|
|
100
|
+
limit: z.number().optional().describe("Maximum number of results to return"),
|
|
101
|
+
offset: z.number().optional().describe("Offset for pagination"),
|
|
102
|
+
exclude_targets: z.boolean().optional().describe("Whether to exclude the target URLs from the results")
|
|
103
|
+
}), async (params, client) => {
|
|
104
|
+
const response = await client.post("/backlinks/page_intersection/live", [params]);
|
|
105
|
+
return response;
|
|
106
|
+
}, apiClient);
|
|
107
|
+
// Timeseries New Lost Summary
|
|
108
|
+
registerTool(server, "backlinks_timeseries_new_lost_summary", targetSchema.extend({
|
|
109
|
+
date_from: z.string().describe("Start date in YYYY-MM-DD format"),
|
|
110
|
+
date_to: z.string().describe("End date in YYYY-MM-DD format")
|
|
111
|
+
}), async (params, client) => {
|
|
112
|
+
const response = await client.post("/backlinks/timeseries_new_lost_summary/live", [params]);
|
|
113
|
+
return response;
|
|
114
|
+
}, apiClient);
|
|
115
|
+
// Backlinks Index
|
|
116
|
+
registerTool(server, "backlinks_index", {}, async (_params, client) => {
|
|
117
|
+
const response = await client.get("/backlinks/index");
|
|
118
|
+
return response;
|
|
119
|
+
}, apiClient);
|
|
120
|
+
// Backlinks Status
|
|
121
|
+
registerTool(server, "backlinks_errors", {}, async (_params, client) => {
|
|
122
|
+
const response = await client.get("/backlinks/errors");
|
|
123
|
+
return response;
|
|
124
|
+
}, apiClient);
|
|
125
|
+
// Available Filters
|
|
126
|
+
registerTool(server, "backlinks_available_filters", {}, async (_params, client) => {
|
|
127
|
+
const response = await client.get("/backlinks/available_filters");
|
|
128
|
+
return response;
|
|
129
|
+
}, apiClient);
|
|
130
|
+
// ID List
|
|
131
|
+
registerTool(server, "backlinks_id_list", {}, async (_params, client) => {
|
|
132
|
+
const response = await client.get("/backlinks/id_list");
|
|
133
|
+
return response;
|
|
134
|
+
}, apiClient);
|
|
135
|
+
// Backlinks History
|
|
136
|
+
registerTool(server, "backlinks_history", targetSchema.extend({
|
|
137
|
+
date_from: z.string().optional().describe("Start date in YYYY-MM-DD format"),
|
|
138
|
+
date_to: z.string().optional().describe("End date in YYYY-MM-DD format")
|
|
139
|
+
}), async (params, client) => {
|
|
140
|
+
const response = await client.post("/backlinks/history/live", [params]);
|
|
141
|
+
return response;
|
|
142
|
+
}, apiClient);
|
|
143
|
+
// Timeseries Summary
|
|
144
|
+
registerTool(server, "backlinks_timeseries_summary", targetSchema.extend({
|
|
145
|
+
date_from: z.string().describe("Start date in YYYY-MM-DD format"),
|
|
146
|
+
date_to: z.string().describe("End date in YYYY-MM-DD format")
|
|
147
|
+
}), async (params, client) => {
|
|
148
|
+
const response = await client.post("/backlinks/timeseries_summary/live", [params]);
|
|
149
|
+
return response;
|
|
150
|
+
}, apiClient);
|
|
151
|
+
// Bulk New Lost Backlinks
|
|
152
|
+
registerTool(server, "backlinks_bulk_new_lost_backlinks", z.object({
|
|
153
|
+
targets: z.array(z.string()).describe("List of targets to analyze (domains, subdomains, URLs)"),
|
|
154
|
+
date_from: z.string().describe("Start date in YYYY-MM-DD format"),
|
|
155
|
+
date_to: z.string().describe("End date in YYYY-MM-DD format"),
|
|
156
|
+
limit: z.number().optional().describe("Maximum number of results to return per target"),
|
|
157
|
+
offset: z.number().optional().describe("Offset for pagination"),
|
|
158
|
+
internal_list_limit: z.number().optional().describe("Maximum number of items in internal lists per target")
|
|
159
|
+
}), async (params, client) => {
|
|
160
|
+
const response = await client.post("/backlinks/bulk_new_lost_backlinks/live", [params]);
|
|
161
|
+
return response;
|
|
162
|
+
}, apiClient);
|
|
163
|
+
// Bulk New Lost Referring Domains
|
|
164
|
+
registerTool(server, "backlinks_bulk_new_lost_referring_domains", z.object({
|
|
165
|
+
targets: z.array(z.string()).describe("List of targets to analyze (domains, subdomains, URLs)"),
|
|
166
|
+
date_from: z.string().describe("Start date in YYYY-MM-DD format"),
|
|
167
|
+
date_to: z.string().describe("End date in YYYY-MM-DD format"),
|
|
168
|
+
limit: z.number().optional().describe("Maximum number of results to return per target"),
|
|
169
|
+
offset: z.number().optional().describe("Offset for pagination"),
|
|
170
|
+
internal_list_limit: z.number().optional().describe("Maximum number of items in internal lists per target")
|
|
171
|
+
}), async (params, client) => {
|
|
172
|
+
const response = await client.post("/backlinks/bulk_new_lost_referring_domains/live", [params]);
|
|
173
|
+
return response;
|
|
174
|
+
}, apiClient);
|
|
175
|
+
// Bulk Pages Summary
|
|
176
|
+
registerTool(server, "backlinks_bulk_pages_summary", z.object({
|
|
177
|
+
targets: z.array(z.string()).describe("List of targets to analyze (domains, subdomains, URLs)"),
|
|
178
|
+
limit: z.number().optional().describe("Maximum number of results to return per target"),
|
|
179
|
+
offset: z.number().optional().describe("Offset for pagination"),
|
|
180
|
+
internal_list_limit: z.number().optional().describe("Maximum number of items in internal lists per target")
|
|
181
|
+
}), async (params, client) => {
|
|
182
|
+
const response = await client.post("/backlinks/bulk_pages_summary/live", [params]);
|
|
183
|
+
return response;
|
|
184
|
+
}, apiClient);
|
|
185
|
+
}
|
|
186
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/api/backlinks/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,235 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import { registerTool } from "../tools.js";
|
|
3
|
+
export function registerBusinessDataTools(server, apiClient) {
|
|
4
|
+
// Business Data Google My Business Info
|
|
5
|
+
registerTool(server, "business_data_google_my_business_info", z.object({
|
|
6
|
+
keyword: z.string().describe("Business name or related keyword"),
|
|
7
|
+
location_name: z.string().optional().describe("Location name"),
|
|
8
|
+
location_code: z.number().optional().describe("Location code"),
|
|
9
|
+
language_name: z.string().optional().describe("Language name"),
|
|
10
|
+
language_code: z.string().optional().describe("Language code")
|
|
11
|
+
}), async (params, client) => {
|
|
12
|
+
const response = await client.post("/business_data/google/my_business_info/live", [params]);
|
|
13
|
+
return response;
|
|
14
|
+
}, apiClient);
|
|
15
|
+
// Business Data Google Reviews
|
|
16
|
+
registerTool(server, "business_data_google_reviews", z.object({
|
|
17
|
+
keyword: z.string().optional().describe("Business name or related keyword"),
|
|
18
|
+
place_id: z.string().optional().describe("Google Place ID"),
|
|
19
|
+
depth: z.number().optional().describe("Number of reviews to retrieve"),
|
|
20
|
+
sort_by: z.enum(["relevance", "newest"]).optional().describe("Sorting method"),
|
|
21
|
+
language_name: z.string().optional().describe("Language name"),
|
|
22
|
+
language_code: z.string().optional().describe("Language code")
|
|
23
|
+
}), async (params, client) => {
|
|
24
|
+
const response = await client.post("/business_data/google/reviews/live", [params]);
|
|
25
|
+
return response;
|
|
26
|
+
}, apiClient);
|
|
27
|
+
// Business Data Google Locations
|
|
28
|
+
registerTool(server, "business_data_google_locations", z.object({
|
|
29
|
+
country: z.string().optional().describe("Filter locations by country name")
|
|
30
|
+
}), async (params, client) => {
|
|
31
|
+
const url = params.country
|
|
32
|
+
? `/business_data/google/locations?country=${encodeURIComponent(params.country)}`
|
|
33
|
+
: "/business_data/google/locations";
|
|
34
|
+
const response = await client.get(url);
|
|
35
|
+
return response;
|
|
36
|
+
}, apiClient);
|
|
37
|
+
// Business Data Google Languages
|
|
38
|
+
registerTool(server, "business_data_google_languages", {}, async (_params, client) => {
|
|
39
|
+
const response = await client.get("/business_data/google/languages");
|
|
40
|
+
return response;
|
|
41
|
+
}, apiClient);
|
|
42
|
+
// Business Data TripAdvisor Search
|
|
43
|
+
registerTool(server, "business_data_tripadvisor_search", z.object({
|
|
44
|
+
keyword: z.string().describe("Business name or related keyword"),
|
|
45
|
+
location_name: z.string().optional().describe("Location name"),
|
|
46
|
+
priority: z.number().min(1).max(2).optional().describe("Priority: 1 (normal) or 2 (high)"),
|
|
47
|
+
depth: z.number().optional().describe("Number of results to return"),
|
|
48
|
+
limit: z.number().optional().describe("Maximum number of results to return per page"),
|
|
49
|
+
offset: z.number().optional().describe("Offset for pagination")
|
|
50
|
+
}), async (params, client) => {
|
|
51
|
+
const response = await client.post("/business_data/tripadvisor/search/live", [params]);
|
|
52
|
+
return response;
|
|
53
|
+
}, apiClient);
|
|
54
|
+
// Business Data TripAdvisor Reviews
|
|
55
|
+
registerTool(server, "business_data_tripadvisor_reviews", z.object({
|
|
56
|
+
location_id: z.string().describe("TripAdvisor location ID"),
|
|
57
|
+
depth: z.number().optional().describe("Number of reviews to retrieve"),
|
|
58
|
+
offset: z.number().optional().describe("Offset for pagination"),
|
|
59
|
+
sort_by: z.enum(["relevance", "date_of_visit"]).optional().describe("Sorting method"),
|
|
60
|
+
language_name: z.string().optional().describe("Language name"),
|
|
61
|
+
language_code: z.string().optional().describe("Language code")
|
|
62
|
+
}), async (params, client) => {
|
|
63
|
+
const response = await client.post("/business_data/tripadvisor/reviews/live", [params]);
|
|
64
|
+
return response;
|
|
65
|
+
}, apiClient);
|
|
66
|
+
// Business Data Trustpilot Search
|
|
67
|
+
registerTool(server, "business_data_trustpilot_search", z.object({
|
|
68
|
+
keyword: z.string().describe("Business name or related keyword"),
|
|
69
|
+
location_name: z.string().optional().describe("Location name"),
|
|
70
|
+
depth: z.number().optional().describe("Number of results to return"),
|
|
71
|
+
limit: z.number().optional().describe("Maximum number of results to return per page"),
|
|
72
|
+
offset: z.number().optional().describe("Offset for pagination"),
|
|
73
|
+
language_name: z.string().optional().describe("Language name"),
|
|
74
|
+
language_code: z.string().optional().describe("Language code")
|
|
75
|
+
}), async (params, client) => {
|
|
76
|
+
const response = await client.post("/business_data/trustpilot/search/live", [params]);
|
|
77
|
+
return response;
|
|
78
|
+
}, apiClient);
|
|
79
|
+
// Business Data Trustpilot Reviews
|
|
80
|
+
registerTool(server, "business_data_trustpilot_reviews", z.object({
|
|
81
|
+
domain: z.string().describe("Business domain"),
|
|
82
|
+
depth: z.number().optional().describe("Number of reviews to retrieve"),
|
|
83
|
+
offset: z.number().optional().describe("Offset for pagination"),
|
|
84
|
+
limit: z.number().optional().describe("Maximum number of results to return per page"),
|
|
85
|
+
sort_by: z.enum(["recency", "relevance"]).optional().describe("Sorting method"),
|
|
86
|
+
language_name: z.string().optional().describe("Language name"),
|
|
87
|
+
language_code: z.string().optional().describe("Language code")
|
|
88
|
+
}), async (params, client) => {
|
|
89
|
+
const response = await client.post("/business_data/trustpilot/reviews/live", [params]);
|
|
90
|
+
return response;
|
|
91
|
+
}, apiClient);
|
|
92
|
+
// === ADDED SOCIAL MEDIA ENDPOINTS ===
|
|
93
|
+
// Business Data Facebook Search
|
|
94
|
+
registerTool(server, "business_data_facebook_search", z.object({
|
|
95
|
+
keyword: z.string().describe("Business name or related keyword"),
|
|
96
|
+
location_name: z.string().optional().describe("Location name"),
|
|
97
|
+
depth: z.number().optional().describe("Number of results to return"),
|
|
98
|
+
limit: z.number().optional().describe("Maximum number of results to return per page"),
|
|
99
|
+
offset: z.number().optional().describe("Offset for pagination")
|
|
100
|
+
}), async (params, client) => {
|
|
101
|
+
const response = await client.post("/business_data/facebook/search/live", [params]);
|
|
102
|
+
return response;
|
|
103
|
+
}, apiClient);
|
|
104
|
+
// Business Data Facebook Overview
|
|
105
|
+
registerTool(server, "business_data_facebook_overview", z.object({
|
|
106
|
+
id: z.string().describe("Facebook business ID"),
|
|
107
|
+
language_name: z.string().optional().describe("Language name"),
|
|
108
|
+
language_code: z.string().optional().describe("Language code")
|
|
109
|
+
}), async (params, client) => {
|
|
110
|
+
const response = await client.post("/business_data/facebook/overview/live", [params]);
|
|
111
|
+
return response;
|
|
112
|
+
}, apiClient);
|
|
113
|
+
// Business Data Pinterest Search
|
|
114
|
+
registerTool(server, "business_data_pinterest_search", z.object({
|
|
115
|
+
keyword: z.string().describe("Business name or related keyword"),
|
|
116
|
+
depth: z.number().optional().describe("Number of results to return"),
|
|
117
|
+
limit: z.number().optional().describe("Maximum number of results to return per page"),
|
|
118
|
+
offset: z.number().optional().describe("Offset for pagination")
|
|
119
|
+
}), async (params, client) => {
|
|
120
|
+
const response = await client.post("/business_data/pinterest/search/live", [params]);
|
|
121
|
+
return response;
|
|
122
|
+
}, apiClient);
|
|
123
|
+
// Business Data Pinterest Info
|
|
124
|
+
registerTool(server, "business_data_pinterest_info", z.object({
|
|
125
|
+
url: z.string().describe("Pinterest business URL"),
|
|
126
|
+
language_name: z.string().optional().describe("Language name"),
|
|
127
|
+
language_code: z.string().optional().describe("Language code")
|
|
128
|
+
}), async (params, client) => {
|
|
129
|
+
const response = await client.post("/business_data/pinterest/info/live", [params]);
|
|
130
|
+
return response;
|
|
131
|
+
}, apiClient);
|
|
132
|
+
// Business Data Reddit Search
|
|
133
|
+
registerTool(server, "business_data_reddit_search", z.object({
|
|
134
|
+
keyword: z.string().describe("Keyword to search on Reddit"),
|
|
135
|
+
depth: z.number().optional().describe("Number of results to return"),
|
|
136
|
+
limit: z.number().optional().describe("Maximum number of results to return per page"),
|
|
137
|
+
offset: z.number().optional().describe("Offset for pagination"),
|
|
138
|
+
sort_by: z.enum(["relevance", "hot", "top", "new"]).optional().describe("Sorting method"),
|
|
139
|
+
search_type: z.enum(["communities", "posts"]).optional().describe("Type of search to perform")
|
|
140
|
+
}), async (params, client) => {
|
|
141
|
+
const response = await client.post("/business_data/reddit/search/live", [params]);
|
|
142
|
+
return response;
|
|
143
|
+
}, apiClient);
|
|
144
|
+
// Business Data Reddit Info
|
|
145
|
+
registerTool(server, "business_data_reddit_info", z.object({
|
|
146
|
+
url: z.string().describe("Reddit URL (subreddit, post, etc.)"),
|
|
147
|
+
language_name: z.string().optional().describe("Language name"),
|
|
148
|
+
language_code: z.string().optional().describe("Language code")
|
|
149
|
+
}), async (params, client) => {
|
|
150
|
+
const response = await client.post("/business_data/reddit/info/live", [params]);
|
|
151
|
+
return response;
|
|
152
|
+
}, apiClient);
|
|
153
|
+
// === GOOGLE HOTELS ENDPOINTS ===
|
|
154
|
+
// Business Data Google Hotels Search
|
|
155
|
+
registerTool(server, "business_data_google_hotels_search", z.object({
|
|
156
|
+
keyword: z.string().describe("Hotel name or related keyword"),
|
|
157
|
+
location_name: z.string().optional().describe("Location name"),
|
|
158
|
+
location_code: z.number().optional().describe("Location code"),
|
|
159
|
+
check_in: z.string().optional().describe("Check-in date in YYYY-MM-DD format"),
|
|
160
|
+
check_out: z.string().optional().describe("Check-out date in YYYY-MM-DD format"),
|
|
161
|
+
guests: z.number().optional().describe("Number of guests"),
|
|
162
|
+
currency: z.string().optional().describe("Currency code"),
|
|
163
|
+
depth: z.number().optional().describe("Number of results to return"),
|
|
164
|
+
limit: z.number().optional().describe("Maximum number of results to return per page"),
|
|
165
|
+
offset: z.number().optional().describe("Offset for pagination"),
|
|
166
|
+
language_name: z.string().optional().describe("Language name"),
|
|
167
|
+
language_code: z.string().optional().describe("Language code")
|
|
168
|
+
}), async (params, client) => {
|
|
169
|
+
const response = await client.post("/business_data/google/hotels/search/live", [params]);
|
|
170
|
+
return response;
|
|
171
|
+
}, apiClient);
|
|
172
|
+
// Business Data Google Hotels Info
|
|
173
|
+
registerTool(server, "business_data_google_hotels_info", z.object({
|
|
174
|
+
hotel_id: z.string().describe("Google hotel ID"),
|
|
175
|
+
location_name: z.string().optional().describe("Location name"),
|
|
176
|
+
location_code: z.number().optional().describe("Location code"),
|
|
177
|
+
check_in: z.string().optional().describe("Check-in date in YYYY-MM-DD format"),
|
|
178
|
+
check_out: z.string().optional().describe("Check-out date in YYYY-MM-DD format"),
|
|
179
|
+
guests: z.number().optional().describe("Number of guests"),
|
|
180
|
+
currency: z.string().optional().describe("Currency code"),
|
|
181
|
+
language_name: z.string().optional().describe("Language name"),
|
|
182
|
+
language_code: z.string().optional().describe("Language code")
|
|
183
|
+
}), async (params, client) => {
|
|
184
|
+
const response = await client.post("/business_data/google/hotels/info/live", [params]);
|
|
185
|
+
return response;
|
|
186
|
+
}, apiClient);
|
|
187
|
+
// Business Data Google Hotels Reviews
|
|
188
|
+
registerTool(server, "business_data_google_hotels_reviews", z.object({
|
|
189
|
+
hotel_id: z.string().describe("Google hotel ID"),
|
|
190
|
+
depth: z.number().optional().describe("Number of reviews to retrieve"),
|
|
191
|
+
offset: z.number().optional().describe("Offset for pagination"),
|
|
192
|
+
sort_by: z.enum(["relevance", "newest"]).optional().describe("Sorting method"),
|
|
193
|
+
language_name: z.string().optional().describe("Language name"),
|
|
194
|
+
language_code: z.string().optional().describe("Language code")
|
|
195
|
+
}), async (params, client) => {
|
|
196
|
+
const response = await client.post("/business_data/google/hotels/reviews/live", [params]);
|
|
197
|
+
return response;
|
|
198
|
+
}, apiClient);
|
|
199
|
+
// === BUSINESS LISTINGS ENDPOINTS ===
|
|
200
|
+
// Business Data Business Listings Search
|
|
201
|
+
registerTool(server, "business_data_business_listings_search", z.object({
|
|
202
|
+
keyword: z.string().describe("Business name or related keyword"),
|
|
203
|
+
location_name: z.string().optional().describe("Location name"),
|
|
204
|
+
location_code: z.number().optional().describe("Location code"),
|
|
205
|
+
depth: z.number().optional().describe("Number of results to return"),
|
|
206
|
+
limit: z.number().optional().describe("Maximum number of results to return per page"),
|
|
207
|
+
offset: z.number().optional().describe("Offset for pagination"),
|
|
208
|
+
language_name: z.string().optional().describe("Language name"),
|
|
209
|
+
language_code: z.string().optional().describe("Language code")
|
|
210
|
+
}), async (params, client) => {
|
|
211
|
+
const response = await client.post("/business_data/business_listings/search/live", [params]);
|
|
212
|
+
return response;
|
|
213
|
+
}, apiClient);
|
|
214
|
+
// Business Data Business Listings Categories
|
|
215
|
+
registerTool(server, "business_data_business_listings_categories", z.object({
|
|
216
|
+
country: z.string().optional().describe("Filter categories by country")
|
|
217
|
+
}), async (params, client) => {
|
|
218
|
+
const url = params.country
|
|
219
|
+
? `/business_data/business_listings/categories?country=${encodeURIComponent(params.country)}`
|
|
220
|
+
: "/business_data/business_listings/categories";
|
|
221
|
+
const response = await client.get(url);
|
|
222
|
+
return response;
|
|
223
|
+
}, apiClient);
|
|
224
|
+
// Business Data Business Listings Locations
|
|
225
|
+
registerTool(server, "business_data_business_listings_locations", z.object({
|
|
226
|
+
country: z.string().optional().describe("Filter locations by country name")
|
|
227
|
+
}), async (params, client) => {
|
|
228
|
+
const url = params.country
|
|
229
|
+
? `/business_data/business_listings/locations?country=${encodeURIComponent(params.country)}`
|
|
230
|
+
: "/business_data/business_listings/locations";
|
|
231
|
+
const response = await client.get(url);
|
|
232
|
+
return response;
|
|
233
|
+
}, apiClient);
|
|
234
|
+
}
|
|
235
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/api/business-data/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { AxiosInstance } from 'axios';
|
|
2
|
+
export interface DataForSeoClient {
|
|
3
|
+
login: string;
|
|
4
|
+
password: string;
|
|
5
|
+
baseUrl: string;
|
|
6
|
+
httpClient: AxiosInstance;
|
|
7
|
+
get: <T>(url: string) => Promise<T>;
|
|
8
|
+
post: <T>(url: string, data: any) => Promise<T>;
|
|
9
|
+
}
|
|
10
|
+
export declare function setupApiClient(login: string, password: string): DataForSeoClient;
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import axios from 'axios';
|
|
2
|
+
export function setupApiClient(login, password) {
|
|
3
|
+
const baseUrl = 'https://api.dataforseo.com/v3';
|
|
4
|
+
// Create an Axios instance with authentication
|
|
5
|
+
const httpClient = axios.create({
|
|
6
|
+
baseURL: baseUrl,
|
|
7
|
+
auth: {
|
|
8
|
+
username: login,
|
|
9
|
+
password: password
|
|
10
|
+
},
|
|
11
|
+
headers: {
|
|
12
|
+
'Content-Type': 'application/json'
|
|
13
|
+
}
|
|
14
|
+
});
|
|
15
|
+
// Create the client interface
|
|
16
|
+
const client = {
|
|
17
|
+
login,
|
|
18
|
+
password,
|
|
19
|
+
baseUrl,
|
|
20
|
+
httpClient,
|
|
21
|
+
async get(url) {
|
|
22
|
+
try {
|
|
23
|
+
const response = await httpClient.get(url);
|
|
24
|
+
return response.data;
|
|
25
|
+
}
|
|
26
|
+
catch (error) {
|
|
27
|
+
if (axios.isAxiosError(error)) {
|
|
28
|
+
console.error(`DataForSEO API GET error (${url}):`, error.response?.data || error.message);
|
|
29
|
+
}
|
|
30
|
+
else {
|
|
31
|
+
console.error(`DataForSEO API GET error (${url}):`, error);
|
|
32
|
+
}
|
|
33
|
+
throw error;
|
|
34
|
+
}
|
|
35
|
+
},
|
|
36
|
+
async post(url, data) {
|
|
37
|
+
try {
|
|
38
|
+
const response = await httpClient.post(url, data);
|
|
39
|
+
return response.data;
|
|
40
|
+
}
|
|
41
|
+
catch (error) {
|
|
42
|
+
if (axios.isAxiosError(error)) {
|
|
43
|
+
console.error(`DataForSEO API POST error (${url}):`, error.response?.data || error.message);
|
|
44
|
+
}
|
|
45
|
+
else {
|
|
46
|
+
console.error(`DataForSEO API POST error (${url}):`, error);
|
|
47
|
+
}
|
|
48
|
+
throw error;
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
};
|
|
52
|
+
return client;
|
|
53
|
+
}
|
|
54
|
+
//# sourceMappingURL=client.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/api/client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAwB,MAAM,OAAO,CAAC;AAW7C,MAAM,UAAU,cAAc,CAAC,KAAa,EAAE,QAAgB;IAC5D,MAAM,OAAO,GAAG,+BAA+B,CAAC;IAEhD,+CAA+C;IAC/C,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC;QAC9B,OAAO,EAAE,OAAO;QAChB,IAAI,EAAE;YACJ,QAAQ,EAAE,KAAK;YACf,QAAQ,EAAE,QAAQ;SACnB;QACD,OAAO,EAAE;YACP,cAAc,EAAE,kBAAkB;SACnC;KACF,CAAC,CAAC;IAEH,8BAA8B;IAC9B,MAAM,MAAM,GAAqB;QAC/B,KAAK;QACL,QAAQ;QACR,OAAO;QACP,UAAU;QAEV,KAAK,CAAC,GAAG,CAAI,GAAW;YACtB,IAAI,CAAC;gBACH,MAAM,QAAQ,GAAG,MAAM,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBAC3C,OAAO,QAAQ,CAAC,IAAS,CAAC;YAC5B,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;oBAC9B,OAAO,CAAC,KAAK,CAAC,6BAA6B,GAAG,IAAI,EAAE,KAAK,CAAC,QAAQ,EAAE,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;gBAC7F,CAAC;qBAAM,CAAC;oBACN,OAAO,CAAC,KAAK,CAAC,6BAA6B,GAAG,IAAI,EAAE,KAAK,CAAC,CAAC;gBAC7D,CAAC;gBACD,MAAM,KAAK,CAAC;YACd,CAAC;QACH,CAAC;QAED,KAAK,CAAC,IAAI,CAAI,GAAW,EAAE,IAAS;YAClC,IAAI,CAAC;gBACH,MAAM,QAAQ,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;gBAClD,OAAO,QAAQ,CAAC,IAAS,CAAC;YAC5B,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;oBAC9B,OAAO,CAAC,KAAK,CAAC,8BAA8B,GAAG,IAAI,EAAE,KAAK,CAAC,QAAQ,EAAE,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;gBAC9F,CAAC;qBAAM,CAAC;oBACN,OAAO,CAAC,KAAK,CAAC,8BAA8B,GAAG,IAAI,EAAE,KAAK,CAAC,CAAC;gBAC9D,CAAC;gBACD,MAAM,KAAK,CAAC;YACd,CAAC;QACH,CAAC;KACF,CAAC;IAEF,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import { registerTool } from "../tools.js";
|
|
3
|
+
export function registerContentAnalysisTools(server, apiClient) {
|
|
4
|
+
// Content Analysis Summary
|
|
5
|
+
registerTool(server, "content_analysis_summary", z.object({
|
|
6
|
+
url: z.string().describe("URL to analyze"),
|
|
7
|
+
language_name: z.string().optional().describe("Language name"),
|
|
8
|
+
language_code: z.string().optional().describe("Language code"),
|
|
9
|
+
calculate_sentiment: z.boolean().optional().describe("Calculate sentiment"),
|
|
10
|
+
calculate_toxicity: z.boolean().optional().describe("Calculate toxicity"),
|
|
11
|
+
calculate_readability: z.boolean().optional().describe("Calculate readability"),
|
|
12
|
+
calculate_keyword_density: z.boolean().optional().describe("Calculate keyword density"),
|
|
13
|
+
calculate_information_score: z.boolean().optional().describe("Calculate information score"),
|
|
14
|
+
calculate_adult_score: z.boolean().optional().describe("Calculate adult score")
|
|
15
|
+
}), async (params, client) => {
|
|
16
|
+
const response = await client.post("/content_analysis/summary/live", [params]);
|
|
17
|
+
return response;
|
|
18
|
+
}, apiClient);
|
|
19
|
+
// Content Analysis Search
|
|
20
|
+
registerTool(server, "content_analysis_search", z.object({
|
|
21
|
+
query: z.string().describe("Search query"),
|
|
22
|
+
language_name: z.string().optional().describe("Language name"),
|
|
23
|
+
language_code: z.string().optional().describe("Language code"),
|
|
24
|
+
search_mode: z.enum(["web", "news"]).optional().describe("Search mode"),
|
|
25
|
+
calculate_sentiment: z.boolean().optional().describe("Calculate sentiment"),
|
|
26
|
+
calculate_toxicity: z.boolean().optional().describe("Calculate toxicity"),
|
|
27
|
+
calculate_readability: z.boolean().optional().describe("Calculate readability"),
|
|
28
|
+
calculate_information_score: z.boolean().optional().describe("Calculate information score"),
|
|
29
|
+
calculate_keyword_density: z.boolean().optional().describe("Calculate keyword density"),
|
|
30
|
+
calculate_adult_score: z.boolean().optional().describe("Calculate adult score"),
|
|
31
|
+
limit: z.number().optional().describe("Maximum number of results to return"),
|
|
32
|
+
offset: z.number().optional().describe("Offset for pagination")
|
|
33
|
+
}), async (params, client) => {
|
|
34
|
+
const response = await client.post("/content_analysis/search/live", [params]);
|
|
35
|
+
return response;
|
|
36
|
+
}, apiClient);
|
|
37
|
+
// Content Analysis Category
|
|
38
|
+
registerTool(server, "content_analysis_category", z.object({
|
|
39
|
+
url: z.string().describe("URL to categorize"),
|
|
40
|
+
language_name: z.string().optional().describe("Language name"),
|
|
41
|
+
language_code: z.string().optional().describe("Language code")
|
|
42
|
+
}), async (params, client) => {
|
|
43
|
+
const response = await client.post("/content_analysis/category/live", [params]);
|
|
44
|
+
return response;
|
|
45
|
+
}, apiClient);
|
|
46
|
+
// Content Analysis Sentiment Analysis
|
|
47
|
+
registerTool(server, "content_analysis_sentiment_analysis", z.object({
|
|
48
|
+
text: z.string().describe("Text to analyze"),
|
|
49
|
+
language_name: z.string().optional().describe("Language name"),
|
|
50
|
+
language_code: z.string().optional().describe("Language code")
|
|
51
|
+
}), async (params, client) => {
|
|
52
|
+
const response = await client.post("/content_analysis/sentiment_analysis/live", [params]);
|
|
53
|
+
return response;
|
|
54
|
+
}, apiClient);
|
|
55
|
+
// Content Analysis Rating Distribution
|
|
56
|
+
registerTool(server, "content_analysis_rating_distribution", z.object({
|
|
57
|
+
rating_values: z.array(z.number()).describe("Array of rating values"),
|
|
58
|
+
algo: z.enum(["percentile", "linear", "exponential"]).optional().describe("Algorithm for distribution calculation")
|
|
59
|
+
}), async (params, client) => {
|
|
60
|
+
const response = await client.post("/content_analysis/rating_distribution/live", [params]);
|
|
61
|
+
return response;
|
|
62
|
+
}, apiClient);
|
|
63
|
+
}
|
|
64
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/api/content-analysis/index.ts"],"names":[],"mappings":"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"}
|