@ayga/mcp-client 3.2.1 → 3.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.
- package/README.md +8 -8
- package/dist/parsers.d.ts +5 -2
- package/dist/parsers.d.ts.map +1 -1
- package/dist/parsers.js +203 -174
- package/dist/parsers.js.map +1 -1
- package/dist/tool-definitions.js +7 -7
- package/dist/tool-definitions.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# Ayga MCP Client (Node.js) v3.
|
|
1
|
+
# Ayga MCP Client (Node.js) v3.3.0
|
|
2
2
|
|
|
3
3
|
> **Paid Service**: This is a paid Ayga service. Get your API key at [@aygamcp_bot](https://t.me/aygamcp_bot).
|
|
4
4
|
|
|
@@ -79,8 +79,8 @@ search_web query="latest AI news"
|
|
|
79
79
|
get_video query="Python tutorials"
|
|
80
80
|
|
|
81
81
|
# With specific engine
|
|
82
|
-
ask_ai query="Explain transformers" engine="
|
|
83
|
-
search_web query="weather" engine="
|
|
82
|
+
ask_ai query="Explain transformers" engine="chatgpt"
|
|
83
|
+
search_web query="weather" engine="duckduckgo_search"
|
|
84
84
|
|
|
85
85
|
# Check your rate limits
|
|
86
86
|
ayga_check_limits _placeholder=true
|
|
@@ -119,11 +119,11 @@ ayga_check_limits _placeholder=true
|
|
|
119
119
|
|
|
120
120
|
| Tool | Engines |
|
|
121
121
|
|------|---------|
|
|
122
|
-
| `ask_ai` | perplexity, chatgpt,
|
|
123
|
-
| `search_web` | google_search, bing_search,
|
|
124
|
-
| `get_video` | youtube_search, youtube_video, youtube_comments, youtube_channel_videos |
|
|
125
|
-
| `get_social` | instagram_profile, instagram_post,
|
|
126
|
-
| `translate` | google_translate, bing_translate, yandex_translate |
|
|
122
|
+
| `ask_ai` | perplexity, googleai, chatgpt, kimi, deepai, copilot |
|
|
123
|
+
| `search_web` | google_search, bing_search, duckduckgo_search, yandex_search, baidu_search, yahoo_search, rambler_search, you_search, google_trends |
|
|
124
|
+
| `get_video` | youtube_search, youtube_video, youtube_suggest, youtube_comments, youtube_channel_videos, youtube_channel_about |
|
|
125
|
+
| `get_social` | instagram_profile, instagram_post, instagram_tag, instagram_geo, instagram_search, tiktok_profile, reddit_posts, reddit_post_info, reddit_comments, telegram_group, pinterest_search |
|
|
126
|
+
| `translate` | google_translate, deepl_translate, bing_translate, yandex_translate |
|
|
127
127
|
| `extract` | text_extractor, article_extractor, link_extractor |
|
|
128
128
|
|
|
129
129
|
## Support
|
package/dist/parsers.d.ts
CHANGED
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Parser configuration
|
|
3
|
-
* Maps MCP tool
|
|
2
|
+
* Parser configuration - synchronized with API /parsers endpoint
|
|
3
|
+
* Maps MCP tool IDs to A-Parser internal names
|
|
4
|
+
*
|
|
5
|
+
* IMPORTANT: This file should match the real parsers from redis.ayga.tech/parsers
|
|
6
|
+
* Last updated: 2026-01-19
|
|
4
7
|
*/
|
|
5
8
|
export interface ParserConfig {
|
|
6
9
|
id: string;
|
package/dist/parsers.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parsers.d.ts","sourceRoot":"","sources":["../src/parsers.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"parsers.d.ts","sourceRoot":"","sources":["../src/parsers.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,MAAM,WAAW,YAAY;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;CACvB;AAED,eAAO,MAAM,OAAO,EAAE,YAAY,EA0SjC,CAAC;AAEF,wBAAgB,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS,CAElE;AAED,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS,CAE7E;AAED,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,YAAY,EAAE,CAErE;AAED,wBAAgB,gBAAgB,IAAI,MAAM,EAAE,CAE3C"}
|
package/dist/parsers.js
CHANGED
|
@@ -1,271 +1,300 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Parser configuration
|
|
3
|
-
* Maps MCP tool
|
|
2
|
+
* Parser configuration - synchronized with API /parsers endpoint
|
|
3
|
+
* Maps MCP tool IDs to A-Parser internal names
|
|
4
|
+
*
|
|
5
|
+
* IMPORTANT: This file should match the real parsers from redis.ayga.tech/parsers
|
|
6
|
+
* Last updated: 2026-01-19
|
|
4
7
|
*/
|
|
5
8
|
export const PARSERS = [
|
|
6
|
-
// AI Chat
|
|
9
|
+
// FreeAI (6 parsers) - AI Chat and Research
|
|
7
10
|
{
|
|
8
11
|
id: "perplexity",
|
|
9
12
|
name: "Perplexity AI",
|
|
10
|
-
category: "
|
|
11
|
-
description: "AI-
|
|
13
|
+
category: "FreeAI",
|
|
14
|
+
description: "Research with Perplexity AI - comprehensive answers with sources",
|
|
12
15
|
aparserName: "FreeAI::Perplexity"
|
|
13
16
|
},
|
|
17
|
+
{
|
|
18
|
+
id: "googleai",
|
|
19
|
+
name: "Google AI Mode",
|
|
20
|
+
category: "FreeAI",
|
|
21
|
+
description: "Google AI-powered search with structured sources",
|
|
22
|
+
aparserName: "FreeAI::GoogleAI"
|
|
23
|
+
},
|
|
14
24
|
{
|
|
15
25
|
id: "chatgpt",
|
|
16
26
|
name: "ChatGPT",
|
|
17
|
-
category: "
|
|
18
|
-
description: "ChatGPT with
|
|
27
|
+
category: "FreeAI",
|
|
28
|
+
description: "ChatGPT conversational AI with sources and images",
|
|
19
29
|
aparserName: "FreeAI::ChatGPT"
|
|
20
30
|
},
|
|
21
31
|
{
|
|
22
|
-
id: "
|
|
23
|
-
name: "
|
|
24
|
-
category: "
|
|
25
|
-
description: "
|
|
26
|
-
aparserName: "FreeAI::
|
|
32
|
+
id: "kimi",
|
|
33
|
+
name: "Kimi AI",
|
|
34
|
+
category: "FreeAI",
|
|
35
|
+
description: "Kimi AI for translations, explanations, summaries",
|
|
36
|
+
aparserName: "FreeAI::Kimi"
|
|
27
37
|
},
|
|
28
38
|
{
|
|
29
|
-
id: "
|
|
30
|
-
name: "
|
|
31
|
-
category: "
|
|
32
|
-
description: "
|
|
33
|
-
aparserName: "FreeAI::
|
|
39
|
+
id: "deepai",
|
|
40
|
+
name: "Deep AI",
|
|
41
|
+
category: "FreeAI",
|
|
42
|
+
description: "Deep AI with poems, stories, math, and code assistance",
|
|
43
|
+
aparserName: "FreeAI::DeepAI"
|
|
34
44
|
},
|
|
35
45
|
{
|
|
36
46
|
id: "copilot",
|
|
37
47
|
name: "Microsoft Copilot",
|
|
38
|
-
category: "
|
|
39
|
-
description: "Microsoft Copilot
|
|
48
|
+
category: "FreeAI",
|
|
49
|
+
description: "Microsoft Copilot for code and technical documentation",
|
|
40
50
|
aparserName: "FreeAI::Copilot"
|
|
41
51
|
},
|
|
52
|
+
// Net (1 parser)
|
|
42
53
|
{
|
|
43
|
-
id: "
|
|
44
|
-
name: "
|
|
45
|
-
category: "
|
|
46
|
-
description: "
|
|
47
|
-
aparserName: "
|
|
48
|
-
},
|
|
49
|
-
{
|
|
50
|
-
id: "deepseek",
|
|
51
|
-
name: "DeepSeek",
|
|
52
|
-
category: "AI Chat",
|
|
53
|
-
description: "DeepSeek AI assistant",
|
|
54
|
-
aparserName: "FreeAI::DeepSeek"
|
|
55
|
-
},
|
|
56
|
-
// Search Engines (3 parsers)
|
|
57
|
-
{
|
|
58
|
-
id: "google_search",
|
|
59
|
-
name: "Google Search",
|
|
60
|
-
category: "Search Engines",
|
|
61
|
-
description: "Google web search results",
|
|
62
|
-
aparserName: "Google::Search"
|
|
63
|
-
},
|
|
64
|
-
{
|
|
65
|
-
id: "bing_search",
|
|
66
|
-
name: "Bing Search",
|
|
67
|
-
category: "Search Engines",
|
|
68
|
-
description: "Bing web search results",
|
|
69
|
-
aparserName: "Bing::Search"
|
|
70
|
-
},
|
|
71
|
-
{
|
|
72
|
-
id: "duckduckgo",
|
|
73
|
-
name: "DuckDuckGo",
|
|
74
|
-
category: "Search Engines",
|
|
75
|
-
description: "DuckDuckGo privacy-focused search",
|
|
76
|
-
aparserName: "DuckDuckGo::Search"
|
|
77
|
-
},
|
|
78
|
-
// Social Media - Instagram (4 parsers)
|
|
79
|
-
{
|
|
80
|
-
id: "instagram_profile",
|
|
81
|
-
name: "Instagram Profile",
|
|
82
|
-
category: "Instagram",
|
|
83
|
-
description: "Parse Instagram user profiles and posts",
|
|
84
|
-
aparserName: "Instagram::Profile"
|
|
85
|
-
},
|
|
86
|
-
{
|
|
87
|
-
id: "instagram_post",
|
|
88
|
-
name: "Instagram Post",
|
|
89
|
-
category: "Instagram",
|
|
90
|
-
description: "Parse individual Instagram posts",
|
|
91
|
-
aparserName: "Instagram::Post"
|
|
92
|
-
},
|
|
93
|
-
{
|
|
94
|
-
id: "instagram_tag",
|
|
95
|
-
name: "Instagram Tag",
|
|
96
|
-
category: "Instagram",
|
|
97
|
-
description: "Parse Instagram hashtag pages",
|
|
98
|
-
aparserName: "Instagram::Tag"
|
|
99
|
-
},
|
|
100
|
-
{
|
|
101
|
-
id: "instagram_geo",
|
|
102
|
-
name: "Instagram Geo",
|
|
103
|
-
category: "Instagram",
|
|
104
|
-
description: "Parse Instagram location pages",
|
|
105
|
-
aparserName: "Instagram::Geo"
|
|
54
|
+
id: "http",
|
|
55
|
+
name: "HTTP Fetcher",
|
|
56
|
+
category: "Net",
|
|
57
|
+
description: "Fetch raw content from publicly accessible URLs",
|
|
58
|
+
aparserName: "Net::HTTP"
|
|
106
59
|
},
|
|
107
|
-
//
|
|
60
|
+
// YouTube (6 parsers)
|
|
108
61
|
{
|
|
109
|
-
id: "
|
|
110
|
-
name: "
|
|
111
|
-
category: "
|
|
112
|
-
description: "Parse
|
|
113
|
-
aparserName: "
|
|
62
|
+
id: "youtube_video",
|
|
63
|
+
name: "YouTube Video",
|
|
64
|
+
category: "YouTube",
|
|
65
|
+
description: "Parse YouTube video metadata, subtitles, comments",
|
|
66
|
+
aparserName: "SE::YouTube::Video"
|
|
114
67
|
},
|
|
115
|
-
// YouTube (5 parsers)
|
|
116
68
|
{
|
|
117
69
|
id: "youtube_search",
|
|
118
70
|
name: "YouTube Search",
|
|
119
71
|
category: "YouTube",
|
|
120
|
-
description: "Search YouTube videos",
|
|
121
|
-
aparserName: "YouTube
|
|
122
|
-
},
|
|
123
|
-
{
|
|
124
|
-
id: "youtube_video",
|
|
125
|
-
name: "YouTube Video",
|
|
126
|
-
category: "YouTube",
|
|
127
|
-
description: "Parse YouTube video details",
|
|
128
|
-
aparserName: "YouTube::Video"
|
|
72
|
+
description: "Search YouTube videos by keywords",
|
|
73
|
+
aparserName: "SE::YouTube"
|
|
129
74
|
},
|
|
130
75
|
{
|
|
131
|
-
id: "
|
|
132
|
-
name: "YouTube
|
|
76
|
+
id: "youtube_suggest",
|
|
77
|
+
name: "YouTube Suggestions",
|
|
133
78
|
category: "YouTube",
|
|
134
|
-
description: "
|
|
135
|
-
aparserName: "YouTube::
|
|
79
|
+
description: "Get search suggestions/autocomplete for keywords",
|
|
80
|
+
aparserName: "SE::YouTube::Suggest"
|
|
136
81
|
},
|
|
137
82
|
{
|
|
138
83
|
id: "youtube_channel_videos",
|
|
139
84
|
name: "YouTube Channel Videos",
|
|
140
85
|
category: "YouTube",
|
|
141
|
-
description: "
|
|
142
|
-
aparserName: "
|
|
86
|
+
description: "Collect all videos from a YouTube channel",
|
|
87
|
+
aparserName: "JS::Example::Youtube::Channel::Videos"
|
|
143
88
|
},
|
|
144
89
|
{
|
|
145
90
|
id: "youtube_channel_about",
|
|
146
91
|
name: "YouTube Channel About",
|
|
147
92
|
category: "YouTube",
|
|
148
|
-
description: "
|
|
149
|
-
aparserName: "
|
|
93
|
+
description: "Parse channel information from About page",
|
|
94
|
+
aparserName: "Net::HTTP"
|
|
150
95
|
},
|
|
151
|
-
// Google Trends (1 parser)
|
|
152
96
|
{
|
|
153
|
-
id: "
|
|
154
|
-
name: "
|
|
155
|
-
category: "
|
|
156
|
-
description: "
|
|
157
|
-
aparserName: "
|
|
97
|
+
id: "youtube_comments",
|
|
98
|
+
name: "YouTube Comments",
|
|
99
|
+
category: "YouTube",
|
|
100
|
+
description: "Parse comments from YouTube videos",
|
|
101
|
+
aparserName: "JS::Example::Youtube::Comments"
|
|
158
102
|
},
|
|
159
|
-
//
|
|
103
|
+
// Social Media (9 parsers)
|
|
160
104
|
{
|
|
161
|
-
id: "
|
|
162
|
-
name: "
|
|
163
|
-
category: "
|
|
164
|
-
description: "
|
|
165
|
-
aparserName: "
|
|
105
|
+
id: "telegram_group",
|
|
106
|
+
name: "Telegram Group",
|
|
107
|
+
category: "Social",
|
|
108
|
+
description: "Parse messages and members from public Telegram groups",
|
|
109
|
+
aparserName: "Telegram::GroupScraper"
|
|
166
110
|
},
|
|
167
|
-
// Reddit (2 parsers)
|
|
168
111
|
{
|
|
169
112
|
id: "reddit_posts",
|
|
170
113
|
name: "Reddit Posts",
|
|
171
|
-
category: "
|
|
172
|
-
description: "
|
|
114
|
+
category: "Social",
|
|
115
|
+
description: "Parse posts from Reddit by keywords or communities",
|
|
173
116
|
aparserName: "Reddit::Posts"
|
|
174
117
|
},
|
|
118
|
+
{
|
|
119
|
+
id: "reddit_post_info",
|
|
120
|
+
name: "Reddit Post Info",
|
|
121
|
+
category: "Social",
|
|
122
|
+
description: "Parse detailed information about a specific Reddit post",
|
|
123
|
+
aparserName: "Reddit::PostInfo"
|
|
124
|
+
},
|
|
175
125
|
{
|
|
176
126
|
id: "reddit_comments",
|
|
177
127
|
name: "Reddit Comments",
|
|
178
|
-
category: "
|
|
179
|
-
description: "
|
|
128
|
+
category: "Social",
|
|
129
|
+
description: "Parse comments from Reddit by keyword or community",
|
|
180
130
|
aparserName: "Reddit::Comments"
|
|
181
131
|
},
|
|
182
|
-
|
|
132
|
+
{
|
|
133
|
+
id: "instagram_profile",
|
|
134
|
+
name: "Instagram Profile",
|
|
135
|
+
category: "Social",
|
|
136
|
+
description: "Parse Instagram profile data: posts, followers, bio",
|
|
137
|
+
aparserName: "Social::Instagram::Profile"
|
|
138
|
+
},
|
|
139
|
+
{
|
|
140
|
+
id: "instagram_post",
|
|
141
|
+
name: "Instagram Post",
|
|
142
|
+
category: "Social",
|
|
143
|
+
description: "Parse Instagram post data: likes, comments, caption",
|
|
144
|
+
aparserName: "Social::Instagram::Post"
|
|
145
|
+
},
|
|
146
|
+
{
|
|
147
|
+
id: "instagram_tag",
|
|
148
|
+
name: "Instagram Tag",
|
|
149
|
+
category: "Social",
|
|
150
|
+
description: "Parse posts by hashtag from Instagram",
|
|
151
|
+
aparserName: "Social::Instagram::Tag"
|
|
152
|
+
},
|
|
153
|
+
{
|
|
154
|
+
id: "instagram_geo",
|
|
155
|
+
name: "Instagram Geo",
|
|
156
|
+
category: "Social",
|
|
157
|
+
description: "Parse Instagram posts by location/geotag",
|
|
158
|
+
aparserName: "Social::Instagram::Geo"
|
|
159
|
+
},
|
|
160
|
+
{
|
|
161
|
+
id: "instagram_search",
|
|
162
|
+
name: "Instagram Search",
|
|
163
|
+
category: "Social",
|
|
164
|
+
description: "Search Instagram: profiles, hashtags, locations",
|
|
165
|
+
aparserName: "Social::Instagram::Search"
|
|
166
|
+
},
|
|
167
|
+
{
|
|
168
|
+
id: "tiktok_profile",
|
|
169
|
+
name: "TikTok Profile",
|
|
170
|
+
category: "Social",
|
|
171
|
+
description: "Parse TikTok profile data: videos, followers, bio",
|
|
172
|
+
aparserName: "Social::TikTok::Profile"
|
|
173
|
+
},
|
|
174
|
+
// Translation (4 parsers)
|
|
183
175
|
{
|
|
184
176
|
id: "google_translate",
|
|
185
177
|
name: "Google Translate",
|
|
186
178
|
category: "Translation",
|
|
187
|
-
description: "
|
|
188
|
-
aparserName: "Google::Translate"
|
|
179
|
+
description: "Fast translation with transliteration and alternatives",
|
|
180
|
+
aparserName: "SE::Google::Translate"
|
|
181
|
+
},
|
|
182
|
+
{
|
|
183
|
+
id: "deepl_translate",
|
|
184
|
+
name: "DeepL Translator",
|
|
185
|
+
category: "Translation",
|
|
186
|
+
description: "High-quality translation via DeepL",
|
|
187
|
+
aparserName: "DeepL::Translator"
|
|
189
188
|
},
|
|
190
189
|
{
|
|
191
190
|
id: "bing_translate",
|
|
192
|
-
name: "Bing
|
|
191
|
+
name: "Bing Translator",
|
|
193
192
|
category: "Translation",
|
|
194
|
-
description: "
|
|
195
|
-
aparserName: "Bing::
|
|
193
|
+
description: "Reliable translation via Bing Translator",
|
|
194
|
+
aparserName: "SE::Bing::Translator"
|
|
196
195
|
},
|
|
197
196
|
{
|
|
198
197
|
id: "yandex_translate",
|
|
199
198
|
name: "Yandex Translate",
|
|
200
199
|
category: "Translation",
|
|
201
|
-
description: "
|
|
202
|
-
aparserName: "Yandex::Translate"
|
|
203
|
-
},
|
|
204
|
-
// HTML Content Extraction (3 parsers)
|
|
205
|
-
{
|
|
206
|
-
id: "link_extractor",
|
|
207
|
-
name: "Link Extractor",
|
|
208
|
-
category: "HTML Content",
|
|
209
|
-
description: "Extract all links from web pages",
|
|
210
|
-
aparserName: "HTML::LinkExtractor"
|
|
200
|
+
description: "Fast translation via Yandex with captcha bypass",
|
|
201
|
+
aparserName: "SE::Yandex::Translate"
|
|
211
202
|
},
|
|
203
|
+
// Search Engines (8 parsers)
|
|
212
204
|
{
|
|
213
|
-
id: "
|
|
214
|
-
name: "
|
|
215
|
-
category: "
|
|
216
|
-
description: "
|
|
217
|
-
aparserName: "
|
|
205
|
+
id: "google_search",
|
|
206
|
+
name: "Google Search",
|
|
207
|
+
category: "SE",
|
|
208
|
+
description: "Google web search results with all operators",
|
|
209
|
+
aparserName: "SE::Google"
|
|
218
210
|
},
|
|
219
211
|
{
|
|
220
|
-
id: "
|
|
221
|
-
name: "
|
|
222
|
-
category: "
|
|
223
|
-
description: "
|
|
224
|
-
aparserName: "
|
|
212
|
+
id: "yandex_search",
|
|
213
|
+
name: "Yandex Search",
|
|
214
|
+
category: "SE",
|
|
215
|
+
description: "Yandex search with captcha bypass",
|
|
216
|
+
aparserName: "SE::Yandex"
|
|
225
217
|
},
|
|
226
|
-
// Additional Search (6 parsers)
|
|
227
218
|
{
|
|
228
|
-
id: "
|
|
229
|
-
name: "
|
|
230
|
-
category: "
|
|
231
|
-
description: "
|
|
232
|
-
aparserName: "
|
|
219
|
+
id: "bing_search",
|
|
220
|
+
name: "Bing Search",
|
|
221
|
+
category: "SE",
|
|
222
|
+
description: "Bing search results up to 200 pages",
|
|
223
|
+
aparserName: "SE::Bing"
|
|
233
224
|
},
|
|
234
225
|
{
|
|
235
|
-
id: "
|
|
236
|
-
name: "
|
|
237
|
-
category: "
|
|
238
|
-
description: "
|
|
239
|
-
aparserName: "
|
|
226
|
+
id: "duckduckgo_search",
|
|
227
|
+
name: "DuckDuckGo Search",
|
|
228
|
+
category: "SE",
|
|
229
|
+
description: "Privacy-focused DuckDuckGo search",
|
|
230
|
+
aparserName: "SE::DuckDuckGo"
|
|
240
231
|
},
|
|
241
232
|
{
|
|
242
233
|
id: "baidu_search",
|
|
243
234
|
name: "Baidu Search",
|
|
244
|
-
category: "
|
|
245
|
-
description: "
|
|
246
|
-
aparserName: "Baidu
|
|
235
|
+
category: "SE",
|
|
236
|
+
description: "Chinese search engine Baidu",
|
|
237
|
+
aparserName: "SE::Baidu"
|
|
238
|
+
},
|
|
239
|
+
{
|
|
240
|
+
id: "yahoo_search",
|
|
241
|
+
name: "Yahoo Search",
|
|
242
|
+
category: "SE",
|
|
243
|
+
description: "Yahoo search results",
|
|
244
|
+
aparserName: "SE::Yahoo"
|
|
247
245
|
},
|
|
248
246
|
{
|
|
249
247
|
id: "rambler_search",
|
|
250
248
|
name: "Rambler Search",
|
|
251
|
-
category: "
|
|
252
|
-
description: "
|
|
253
|
-
aparserName: "Rambler
|
|
249
|
+
category: "SE",
|
|
250
|
+
description: "Russian search engine Rambler",
|
|
251
|
+
aparserName: "SE::Rambler"
|
|
254
252
|
},
|
|
255
253
|
{
|
|
256
254
|
id: "you_search",
|
|
257
255
|
name: "You.com Search",
|
|
258
|
-
category: "
|
|
256
|
+
category: "SE",
|
|
259
257
|
description: "You.com AI-powered search",
|
|
260
|
-
aparserName: "You
|
|
258
|
+
aparserName: "SE::You"
|
|
261
259
|
},
|
|
260
|
+
// Content Extraction (3 parsers)
|
|
262
261
|
{
|
|
263
|
-
id: "
|
|
264
|
-
name: "
|
|
265
|
-
category: "
|
|
266
|
-
description: "
|
|
267
|
-
aparserName: "
|
|
268
|
-
}
|
|
262
|
+
id: "article_extractor",
|
|
263
|
+
name: "Article Extractor",
|
|
264
|
+
category: "Content",
|
|
265
|
+
description: "Extract articles using Mozilla Readability",
|
|
266
|
+
aparserName: "HTML::ArticleExtractor"
|
|
267
|
+
},
|
|
268
|
+
{
|
|
269
|
+
id: "text_extractor",
|
|
270
|
+
name: "Text Extractor",
|
|
271
|
+
category: "Content",
|
|
272
|
+
description: "Parse text blocks from web pages",
|
|
273
|
+
aparserName: "HTML::TextExtractor"
|
|
274
|
+
},
|
|
275
|
+
{
|
|
276
|
+
id: "link_extractor",
|
|
277
|
+
name: "Link Extractor",
|
|
278
|
+
category: "Content",
|
|
279
|
+
description: "Extract all links from HTML pages",
|
|
280
|
+
aparserName: "HTML::LinkExtractor"
|
|
281
|
+
},
|
|
282
|
+
// Analytics (1 parser)
|
|
283
|
+
{
|
|
284
|
+
id: "google_trends",
|
|
285
|
+
name: "Google Trends",
|
|
286
|
+
category: "Analytics",
|
|
287
|
+
description: "Parse trending keywords from Google Trends",
|
|
288
|
+
aparserName: "SE::Google::Trends"
|
|
289
|
+
},
|
|
290
|
+
// Visual (1 parser)
|
|
291
|
+
{
|
|
292
|
+
id: "pinterest_search",
|
|
293
|
+
name: "Pinterest Search",
|
|
294
|
+
category: "Visual",
|
|
295
|
+
description: "Parse Pinterest search results: images, titles",
|
|
296
|
+
aparserName: "SE::Pinterest"
|
|
297
|
+
},
|
|
269
298
|
];
|
|
270
299
|
export function getParserById(id) {
|
|
271
300
|
return PARSERS.find(p => p.id === id);
|
package/dist/parsers.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parsers.js","sourceRoot":"","sources":["../src/parsers.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"parsers.js","sourceRoot":"","sources":["../src/parsers.ts"],"names":[],"mappings":"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"}
|
package/dist/tool-definitions.js
CHANGED
|
@@ -11,8 +11,8 @@ export const TOOL_CATEGORIES = [
|
|
|
11
11
|
{
|
|
12
12
|
id: "ask_ai",
|
|
13
13
|
name: "Ask AI",
|
|
14
|
-
description: "Query AI models like Perplexity, ChatGPT,
|
|
15
|
-
categories: ["
|
|
14
|
+
description: "Query AI models like Perplexity, ChatGPT, Google AI, Kimi, DeepAI, Copilot for answers and analysis",
|
|
15
|
+
categories: ["FreeAI"],
|
|
16
16
|
defaultEngine: "perplexity",
|
|
17
17
|
defaultEnvVar: "DEFAULT_AI_ENGINE",
|
|
18
18
|
queryDescription: "Question or prompt for the AI model",
|
|
@@ -20,8 +20,8 @@ export const TOOL_CATEGORIES = [
|
|
|
20
20
|
{
|
|
21
21
|
id: "search_web",
|
|
22
22
|
name: "Web Search",
|
|
23
|
-
description: "Search the web using Google, Bing, DuckDuckGo, Yandex or get Google Trends data",
|
|
24
|
-
categories: ["
|
|
23
|
+
description: "Search the web using Google, Bing, DuckDuckGo, Yandex, Baidu, Yahoo, Rambler, You.com or get Google Trends data",
|
|
24
|
+
categories: ["SE", "Analytics"],
|
|
25
25
|
defaultEngine: "google_search",
|
|
26
26
|
defaultEnvVar: "DEFAULT_SEARCH_ENGINE",
|
|
27
27
|
queryDescription: "Search query",
|
|
@@ -29,8 +29,8 @@ export const TOOL_CATEGORIES = [
|
|
|
29
29
|
{
|
|
30
30
|
id: "get_social",
|
|
31
31
|
name: "Social Media",
|
|
32
|
-
description: "Get data from social platforms: Instagram profiles/posts, TikTok, Reddit posts/comments, Pinterest",
|
|
33
|
-
categories: ["
|
|
32
|
+
description: "Get data from social platforms: Instagram profiles/posts/tags/geo, TikTok, Reddit posts/comments, Telegram groups, Pinterest",
|
|
33
|
+
categories: ["Social", "Visual"],
|
|
34
34
|
defaultEngine: "instagram_profile",
|
|
35
35
|
defaultEnvVar: "DEFAULT_SOCIAL_ENGINE",
|
|
36
36
|
queryDescription: "Username, URL, or search query",
|
|
@@ -57,7 +57,7 @@ export const TOOL_CATEGORIES = [
|
|
|
57
57
|
id: "extract",
|
|
58
58
|
name: "Extract Content",
|
|
59
59
|
description: "Extract text, articles, or links from web pages",
|
|
60
|
-
categories: ["
|
|
60
|
+
categories: ["Content"],
|
|
61
61
|
defaultEngine: "text_extractor",
|
|
62
62
|
defaultEnvVar: "DEFAULT_EXTRACTION_ENGINE",
|
|
63
63
|
queryDescription: "URL of the web page",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool-definitions.js","sourceRoot":"","sources":["../src/tool-definitions.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAiBH;;GAEG;AACH,MAAM,CAAC,MAAM,eAAe,GAAmB;IAC3C;QACI,EAAE,EAAE,QAAQ;QACZ,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,
|
|
1
|
+
{"version":3,"file":"tool-definitions.js","sourceRoot":"","sources":["../src/tool-definitions.ts"],"names":[],"mappings":"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"}
|