@ayga/mcp-client 3.2.0 → 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 +51 -182
- 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 +55 -55
package/README.md
CHANGED
|
@@ -1,37 +1,31 @@
|
|
|
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
|
|
|
5
|
-
|
|
5
|
+
MCP client with **6 consolidated AI tools** for Claude Desktop and VS Code Copilot.
|
|
6
6
|
|
|
7
|
-
|
|
8
|
-
- **Rate Limit Checking**: New `ayga_check_limits` tool to check your quota
|
|
9
|
-
- **Better Error Messages**: Clear warnings for deprecated key formats
|
|
10
|
-
|
|
11
|
-
See [Migration Guide](docs/MIGRATION.md) for upgrading from legacy keys.
|
|
12
|
-
|
|
13
|
-
## What's New in v3.0.0
|
|
14
|
-
|
|
15
|
-
**Context-Optimized Architecture**: Reduced from 40+ individual tools to 6 consolidated tools, saving ~80% context tokens while maintaining full functionality.
|
|
7
|
+
## Quick Start
|
|
16
8
|
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
| `search_web` | google_search, bing_search, duckduckgo, yandex_search, yahoo_search, baidu_search, google_trends, rambler_search, you_search | google_search |
|
|
21
|
-
| `get_social` | instagram_profile, instagram_post, instagram_tag, instagram_geo, tiktok_profile, pinterest_search, reddit_posts, reddit_comments | instagram_profile |
|
|
22
|
-
| `get_video` | youtube_search, youtube_video, youtube_comments, youtube_channel_videos, youtube_channel_about | youtube_search |
|
|
23
|
-
| `translate` | google_translate, bing_translate, yandex_translate | google_translate |
|
|
24
|
-
| `extract` | text_extractor, article_extractor, link_extractor | text_extractor |
|
|
9
|
+
1. Get API key: [@aygamcp_bot](https://t.me/aygamcp_bot) → `/newkey`
|
|
10
|
+
2. Configure your IDE (see below)
|
|
11
|
+
3. Use tools: `ask_ai`, `search_web`, `get_video`, `get_social`, `translate`, `extract`
|
|
25
12
|
|
|
26
|
-
##
|
|
13
|
+
## Available Tools
|
|
27
14
|
|
|
28
|
-
|
|
15
|
+
| Tool | Description | Default Engine |
|
|
16
|
+
|------|-------------|----------------|
|
|
17
|
+
| `ask_ai` | Query AI models | perplexity |
|
|
18
|
+
| `search_web` | Web search and trends | google_search |
|
|
19
|
+
| `get_video` | YouTube content | youtube_search |
|
|
20
|
+
| `get_social` | Social media data | instagram_profile |
|
|
21
|
+
| `translate` | Text translation | google_translate |
|
|
22
|
+
| `extract` | Web page extraction | text_extractor |
|
|
23
|
+
| `ayga_check_limits` | Check your rate limits | - |
|
|
24
|
+
| `list_parsers` | List all available parsers | - |
|
|
29
25
|
|
|
30
|
-
|
|
31
|
-
npx @ayga/mcp-client
|
|
32
|
-
```
|
|
26
|
+
## Configuration
|
|
33
27
|
|
|
34
|
-
### VS Code Copilot
|
|
28
|
+
### VS Code Copilot
|
|
35
29
|
|
|
36
30
|
Add to `%APPDATA%\Code\User\mcp.json`:
|
|
37
31
|
|
|
@@ -58,7 +52,7 @@ Add to `%APPDATA%\Code\User\mcp.json`:
|
|
|
58
52
|
}
|
|
59
53
|
```
|
|
60
54
|
|
|
61
|
-
### Claude Desktop
|
|
55
|
+
### Claude Desktop
|
|
62
56
|
|
|
63
57
|
Add to `%APPDATA%\Claude\claude_desktop_config.json`:
|
|
64
58
|
|
|
@@ -76,45 +70,28 @@ Add to `%APPDATA%\Claude\claude_desktop_config.json`:
|
|
|
76
70
|
}
|
|
77
71
|
```
|
|
78
72
|
|
|
79
|
-
## Usage
|
|
80
|
-
|
|
81
|
-
### Basic Usage (uses default engine)
|
|
73
|
+
## Usage
|
|
82
74
|
|
|
83
|
-
```
|
|
75
|
+
```bash
|
|
76
|
+
# Basic usage (default engine)
|
|
84
77
|
ask_ai query="What is quantum computing?"
|
|
85
78
|
search_web query="latest AI news"
|
|
86
79
|
get_video query="Python tutorials"
|
|
87
|
-
translate query="Hello world"
|
|
88
|
-
```
|
|
89
|
-
|
|
90
|
-
### With Specific Engine
|
|
91
|
-
|
|
92
|
-
```
|
|
93
|
-
ask_ai query="Explain transformers" engine="claude"
|
|
94
|
-
search_web query="weather today" engine="duckduckgo"
|
|
95
|
-
get_social query="@openai" engine="instagram_profile"
|
|
96
|
-
get_video query="dQw4w9WgXcQ" engine="youtube_video"
|
|
97
|
-
```
|
|
98
80
|
|
|
99
|
-
|
|
81
|
+
# With specific engine
|
|
82
|
+
ask_ai query="Explain transformers" engine="chatgpt"
|
|
83
|
+
search_web query="weather" engine="duckduckgo_search"
|
|
100
84
|
|
|
101
|
-
|
|
102
|
-
|
|
85
|
+
# Check your rate limits
|
|
86
|
+
ayga_check_limits _placeholder=true
|
|
103
87
|
```
|
|
104
88
|
|
|
105
89
|
## Environment Variables
|
|
106
90
|
|
|
107
|
-
| Variable |
|
|
108
|
-
|
|
109
|
-
| `REDIS_API_KEY` |
|
|
110
|
-
| `API_URL` |
|
|
111
|
-
| `DEFAULT_AI_ENGINE` | Default for ask_ai | perplexity |
|
|
112
|
-
| `DEFAULT_SEARCH_ENGINE` | Default for search_web | google_search |
|
|
113
|
-
| `DEFAULT_SOCIAL_ENGINE` | Default for get_social | instagram_profile |
|
|
114
|
-
| `DEFAULT_VIDEO_ENGINE` | Default for get_video | youtube_search |
|
|
115
|
-
| `DEFAULT_TRANSLATION_ENGINE` | Default for translate | google_translate |
|
|
116
|
-
| `DEFAULT_EXTRACTION_ENGINE` | Default for extract | text_extractor |
|
|
117
|
-
| `DYNAMIC_PARSERS` | Enable dynamic parser loading | true |
|
|
91
|
+
| Variable | Required | Default |
|
|
92
|
+
|----------|----------|---------|
|
|
93
|
+
| `REDIS_API_KEY` | Yes | - |
|
|
94
|
+
| `API_URL` | No | https://redis.ayga.tech |
|
|
118
95
|
|
|
119
96
|
## Architecture
|
|
120
97
|
|
|
@@ -126,143 +103,35 @@ ask_ai query="Complex analysis" engine="perplexity" timeout=120
|
|
|
126
103
|
+-----------------v-------------------+
|
|
127
104
|
| @ayga/mcp-client (Node.js) |
|
|
128
105
|
| - 6 consolidated tools |
|
|
129
|
-
| -
|
|
130
|
-
| - JWT authentication |
|
|
106
|
+
| - 40+ parser engines |
|
|
131
107
|
+-----------------+-------------------+
|
|
132
|
-
| HTTPS
|
|
108
|
+
| HTTPS
|
|
133
109
|
+-----------------v-------------------+
|
|
134
|
-
|
|
|
135
|
-
| https://redis.ayga.tech |
|
|
110
|
+
| Ayga API (redis.ayga.tech) |
|
|
136
111
|
+-----------------+-------------------+
|
|
137
|
-
|
|
|
112
|
+
|
|
|
138
113
|
+-----------------v-------------------+
|
|
139
|
-
|
|
|
114
|
+
| Parser Backend |
|
|
140
115
|
+-------------------------------------+
|
|
141
116
|
```
|
|
142
117
|
|
|
143
|
-
##
|
|
118
|
+
## Available Engines
|
|
144
119
|
|
|
145
|
-
|
|
146
|
-
|
|
120
|
+
| Tool | Engines |
|
|
121
|
+
|------|---------|
|
|
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
|
+
| `extract` | text_extractor, article_extractor, link_extractor |
|
|
147
128
|
|
|
148
|
-
|
|
129
|
+
## Support
|
|
149
130
|
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
### search_web
|
|
155
|
-
Search the web or get trends data.
|
|
156
|
-
|
|
157
|
-
**Engines**: google_search, bing_search, duckduckgo, yandex_search, yahoo_search, baidu_search, google_trends, rambler_search, you_search
|
|
158
|
-
|
|
159
|
-
```
|
|
160
|
-
search_web query="best programming languages 2026"
|
|
161
|
-
search_web query="AI" engine="google_trends"
|
|
162
|
-
```
|
|
163
|
-
|
|
164
|
-
### get_social
|
|
165
|
-
Get data from social media platforms.
|
|
166
|
-
|
|
167
|
-
**Engines**: instagram_profile, instagram_post, instagram_tag, instagram_geo, tiktok_profile, pinterest_search, reddit_posts, reddit_comments
|
|
168
|
-
|
|
169
|
-
```
|
|
170
|
-
get_social query="@openai" engine="instagram_profile"
|
|
171
|
-
get_social query="machine learning" engine="reddit_posts"
|
|
172
|
-
```
|
|
173
|
-
|
|
174
|
-
### get_video
|
|
175
|
-
Search and get YouTube content.
|
|
176
|
-
|
|
177
|
-
**Engines**: youtube_search, youtube_video, youtube_comments, youtube_channel_videos, youtube_channel_about
|
|
178
|
-
|
|
179
|
-
```
|
|
180
|
-
get_video query="Python crash course"
|
|
181
|
-
get_video query="https://youtube.com/watch?v=..." engine="youtube_comments"
|
|
182
|
-
```
|
|
183
|
-
|
|
184
|
-
### translate
|
|
185
|
-
Translate text between languages.
|
|
186
|
-
|
|
187
|
-
**Engines**: google_translate, bing_translate, yandex_translate
|
|
188
|
-
|
|
189
|
-
```
|
|
190
|
-
translate query="Hello, how are you?"
|
|
191
|
-
translate query="Bonjour" engine="yandex_translate"
|
|
192
|
-
```
|
|
193
|
-
|
|
194
|
-
### extract
|
|
195
|
-
Extract content from web pages.
|
|
196
|
-
|
|
197
|
-
**Engines**: text_extractor, article_extractor, link_extractor
|
|
198
|
-
|
|
199
|
-
```
|
|
200
|
-
extract query="https://example.com/article" engine="article_extractor"
|
|
201
|
-
extract query="https://example.com" engine="link_extractor"
|
|
202
|
-
```
|
|
203
|
-
|
|
204
|
-
### ayga_check_limits (New in v3.2.0)
|
|
205
|
-
Check your API key rate limits and remaining quota.
|
|
206
|
-
|
|
207
|
-
```
|
|
208
|
-
ayga_check_limits _placeholder=true
|
|
209
|
-
```
|
|
210
|
-
|
|
211
|
-
Returns:
|
|
212
|
-
```json
|
|
213
|
-
{
|
|
214
|
-
"key_id": "abc123...",
|
|
215
|
-
"minute": { "used": 5, "limit": 60, "remaining": 55 },
|
|
216
|
-
"day": { "used": 100, "limit": 1000, "remaining": 900 }
|
|
217
|
-
}
|
|
218
|
-
```
|
|
219
|
-
|
|
220
|
-
### list_parsers
|
|
221
|
-
List all available parsers and their categories.
|
|
222
|
-
|
|
223
|
-
```
|
|
224
|
-
list_parsers _placeholder=true
|
|
225
|
-
```
|
|
226
|
-
|
|
227
|
-
## Migration from v2.x
|
|
228
|
-
|
|
229
|
-
**v2.x (40+ tools)**:
|
|
230
|
-
```
|
|
231
|
-
search_perplexity query="What is MCP?"
|
|
232
|
-
search_google_search query="latest news"
|
|
233
|
-
search_youtube_video query="..."
|
|
234
|
-
```
|
|
235
|
-
|
|
236
|
-
**v3.x (6 consolidated tools)**:
|
|
237
|
-
```
|
|
238
|
-
ask_ai query="What is MCP?" # uses default: perplexity
|
|
239
|
-
ask_ai query="What is MCP?" engine="perplexity" # explicit
|
|
240
|
-
search_web query="latest news" # uses default: google_search
|
|
241
|
-
get_video query="..." engine="youtube_video"
|
|
242
|
-
```
|
|
243
|
-
|
|
244
|
-
## Getting API Key
|
|
245
|
-
|
|
246
|
-
### New Users (Recommended)
|
|
247
|
-
|
|
248
|
-
Get an `ayga_live_` key from the Telegram bot:
|
|
249
|
-
|
|
250
|
-
1. Open Telegram
|
|
251
|
-
2. Find [@aygamcp_bot](https://t.me/aygamcp_bot)
|
|
252
|
-
3. Send `/newkey` command
|
|
253
|
-
4. Copy the key (shown only once!)
|
|
254
|
-
|
|
255
|
-
### Legacy Users
|
|
256
|
-
|
|
257
|
-
See [Migration Guide](docs/MIGRATION.md) for upgrading from legacy keys.
|
|
131
|
+
- Telegram: [@aygamcp_bot](https://t.me/aygamcp_bot)
|
|
132
|
+
- Email: support@ayga.tech
|
|
133
|
+
- GitHub: https://github.com/ozand/ayga-mcp-nodejs/issues
|
|
258
134
|
|
|
259
135
|
## License
|
|
260
136
|
|
|
261
137
|
MIT
|
|
262
|
-
|
|
263
|
-
## Links
|
|
264
|
-
|
|
265
|
-
- **API Backend**: https://redis.ayga.tech
|
|
266
|
-
- **Python Version**: https://pypi.org/project/ayga-mcp-client/
|
|
267
|
-
- **GitHub**: https://github.com/ozand/ayga-mcp-nodejs
|
|
268
|
-
- **Issues**: https://github.com/ozand/ayga-mcp-nodejs/issues
|
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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"}
|
package/package.json
CHANGED
|
@@ -1,58 +1,58 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ayga/mcp-client",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.3.0",
|
|
4
4
|
"description": "MCP client with 6 consolidated AI tools - stateless X-API-Key auth, no JWT exchange needed",
|
|
5
|
-
"keywords": [
|
|
6
|
-
"mcp",
|
|
7
|
-
"model-context-protocol",
|
|
8
|
-
"redis",
|
|
9
|
-
"ai-parsers",
|
|
10
|
-
"perplexity",
|
|
11
|
-
"chatgpt",
|
|
12
|
-
"claude",
|
|
13
|
-
"instagram",
|
|
14
|
-
"tiktok",
|
|
15
|
-
"youtube",
|
|
16
|
-
"google-trends",
|
|
17
|
-
"pinterest",
|
|
18
|
-
"translation"
|
|
19
|
-
],
|
|
20
|
-
"author": "Ayga <https://ayga.tech>",
|
|
21
|
-
"license": "MIT",
|
|
22
|
-
"homepage": "https://github.com/ozand/ayga-mcp-nodejs#readme",
|
|
23
|
-
"repository": {
|
|
24
|
-
"type": "git",
|
|
25
|
-
"url": "git+https://github.com/ozand/ayga-mcp-nodejs.git"
|
|
26
|
-
},
|
|
27
|
-
"bugs": {
|
|
28
|
-
"url": "https://github.com/ozand/ayga-mcp-nodejs/issues"
|
|
29
|
-
},
|
|
30
|
-
"main": "dist/index.js",
|
|
31
|
-
"type": "module",
|
|
32
|
-
"bin": {
|
|
33
|
-
"ayga-mcp-client": "dist/index.js"
|
|
34
|
-
},
|
|
35
|
-
"files": [
|
|
36
|
-
"dist",
|
|
37
|
-
"README.md",
|
|
38
|
-
"LICENSE"
|
|
39
|
-
],
|
|
40
|
-
"scripts": {
|
|
41
|
-
"build": "tsc",
|
|
42
|
-
"dev": "tsx src/index.ts",
|
|
43
|
-
"test": "tsx src/test.ts",
|
|
44
|
-
"prepublishOnly": "npm run build",
|
|
45
|
-
"clean": "rm -rf dist"
|
|
46
|
-
},
|
|
47
|
-
"dependencies": {
|
|
48
|
-
"@modelcontextprotocol/sdk": "^1.0.0"
|
|
49
|
-
},
|
|
50
|
-
"devDependencies": {
|
|
51
|
-
"@types/node": "^20.0.0",
|
|
52
|
-
"tsx": "^4.0.0",
|
|
53
|
-
"typescript": "^5.3.0"
|
|
54
|
-
},
|
|
55
|
-
"engines": {
|
|
56
|
-
"node": ">=18.0.0"
|
|
57
|
-
}
|
|
58
|
-
}
|
|
5
|
+
"keywords": [
|
|
6
|
+
"mcp",
|
|
7
|
+
"model-context-protocol",
|
|
8
|
+
"redis",
|
|
9
|
+
"ai-parsers",
|
|
10
|
+
"perplexity",
|
|
11
|
+
"chatgpt",
|
|
12
|
+
"claude",
|
|
13
|
+
"instagram",
|
|
14
|
+
"tiktok",
|
|
15
|
+
"youtube",
|
|
16
|
+
"google-trends",
|
|
17
|
+
"pinterest",
|
|
18
|
+
"translation"
|
|
19
|
+
],
|
|
20
|
+
"author": "Ayga <https://ayga.tech>",
|
|
21
|
+
"license": "MIT",
|
|
22
|
+
"homepage": "https://github.com/ozand/ayga-mcp-nodejs#readme",
|
|
23
|
+
"repository": {
|
|
24
|
+
"type": "git",
|
|
25
|
+
"url": "git+https://github.com/ozand/ayga-mcp-nodejs.git"
|
|
26
|
+
},
|
|
27
|
+
"bugs": {
|
|
28
|
+
"url": "https://github.com/ozand/ayga-mcp-nodejs/issues"
|
|
29
|
+
},
|
|
30
|
+
"main": "dist/index.js",
|
|
31
|
+
"type": "module",
|
|
32
|
+
"bin": {
|
|
33
|
+
"ayga-mcp-client": "dist/index.js"
|
|
34
|
+
},
|
|
35
|
+
"files": [
|
|
36
|
+
"dist",
|
|
37
|
+
"README.md",
|
|
38
|
+
"LICENSE"
|
|
39
|
+
],
|
|
40
|
+
"scripts": {
|
|
41
|
+
"build": "tsc",
|
|
42
|
+
"dev": "tsx src/index.ts",
|
|
43
|
+
"test": "tsx src/test.ts",
|
|
44
|
+
"prepublishOnly": "npm run build",
|
|
45
|
+
"clean": "rm -rf dist"
|
|
46
|
+
},
|
|
47
|
+
"dependencies": {
|
|
48
|
+
"@modelcontextprotocol/sdk": "^1.0.0"
|
|
49
|
+
},
|
|
50
|
+
"devDependencies": {
|
|
51
|
+
"@types/node": "^20.0.0",
|
|
52
|
+
"tsx": "^4.0.0",
|
|
53
|
+
"typescript": "^5.3.0"
|
|
54
|
+
},
|
|
55
|
+
"engines": {
|
|
56
|
+
"node": ">=18.0.0"
|
|
57
|
+
}
|
|
58
|
+
}
|