@mcptoolshop/registry-stats 1.2.4 → 2.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/README.es.md +150 -90
- package/README.fr.md +150 -128
- package/README.hi.md +150 -90
- package/README.it.md +150 -90
- package/README.ja.md +150 -90
- package/README.md +60 -38
- package/README.pt-BR.md +150 -90
- package/README.zh.md +150 -90
- package/package.json +2 -2
package/README.hi.md
CHANGED
|
@@ -1,46 +1,80 @@
|
|
|
1
|
-
<p align="center">
|
|
2
|
-
<a href="README.md"
|
|
3
|
-
</p>
|
|
4
|
-
|
|
1
|
+
<p align="center">
|
|
2
|
+
<a href="README.ja.md">日本語</a> | <a href="README.zh.md">中文</a> | <a href="README.es.md">Español</a> | <a href="README.fr.md">Français</a> | <a href="README.md">English</a> | <a href="README.it.md">Italiano</a> | <a href="README.pt-BR.md">Português (BR)</a>
|
|
3
|
+
</p>
|
|
4
|
+
|
|
5
5
|
<p align="center">
|
|
6
6
|
<img src="https://raw.githubusercontent.com/mcp-tool-shop-org/brand/main/logos/registry-stats/readme.png" alt="registry-stats logo" width="400" />
|
|
7
7
|
</p>
|
|
8
|
-
|
|
8
|
+
|
|
9
9
|
<p align="center">
|
|
10
|
-
|
|
10
|
+
Five registries. One engine. Dashboard included.
|
|
11
11
|
</p>
|
|
12
|
-
|
|
12
|
+
|
|
13
13
|
<p align="center">
|
|
14
14
|
<a href="https://github.com/mcp-tool-shop-org/registry-stats/actions/workflows/pages.yml"><img src="https://github.com/mcp-tool-shop-org/registry-stats/actions/workflows/pages.yml/badge.svg" alt="CI"></a>
|
|
15
15
|
<a href="https://opensource.org/licenses/MIT"><img src="https://img.shields.io/badge/License-MIT-yellow.svg" alt="MIT License"></a>
|
|
16
16
|
<a href="https://www.npmjs.com/package/@mcptoolshop/registry-stats"><img src="https://img.shields.io/npm/v/@mcptoolshop/registry-stats" alt="npm version"></a>
|
|
17
|
+
<a href="https://mcp-tool-shop-org.github.io/registry-stats/dashboard/"><img src="https://img.shields.io/badge/Dashboard-live-green" alt="Dashboard"></a>
|
|
17
18
|
<a href="https://mcp-tool-shop-org.github.io/registry-stats/"><img src="https://img.shields.io/badge/Landing_Page-live-blue" alt="Landing Page"></a>
|
|
18
19
|
</p>
|
|
19
|
-
|
|
20
|
+
|
|
20
21
|
<p align="center">
|
|
21
|
-
<a href="
|
|
22
|
+
<a href="#dashboard">Dashboard</a> ·
|
|
23
|
+
<a href="#desktop-app">Desktop App</a> ·
|
|
22
24
|
<a href="#install">Install</a> ·
|
|
23
25
|
<a href="#cli">CLI</a> ·
|
|
24
|
-
<a href="#config-file">Config</a> ·
|
|
25
26
|
<a href="#programmatic-api">API</a> ·
|
|
26
27
|
<a href="#rest-api-server">REST Server</a> ·
|
|
28
|
+
<a href="#config-file">Config</a> ·
|
|
27
29
|
<a href="#license">License</a>
|
|
28
30
|
</p>
|
|
29
|
-
|
|
31
|
+
|
|
30
32
|
---
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
##
|
|
37
|
-
|
|
33
|
+
|
|
34
|
+
आप npm, PyPI, NuGet, VS Code मार्केटप्लेस और डॉकर हब पर सामग्री प्रकाशित करते हैं। वर्तमान में, "मेरे पैकेज कैसा प्रदर्शन कर रहे हैं?" का उत्तर देने का मतलब है कि आपको पांच अलग-अलग साइटों की जांच करनी होगी। **registry-stats** एक संपूर्ण प्लेटफॉर्म है: यह टाइपस्क्रिप्ट इंजन (CLI + API + REST सर्वर), एक लाइव वेब डैशबोर्ड और एक देशी विंडोज डेस्कटॉप ऐप है - और ये सभी एक ही रिपॉजिटरी से उपलब्ध हैं।
|
|
35
|
+
|
|
36
|
+
इसमें कोई रनटाइम निर्भरता नहीं है। यह देशी `fetch()` का उपयोग करता है। Node 18+।
|
|
37
|
+
|
|
38
|
+
## इसके अंदर क्या है
|
|
39
|
+
|
|
40
|
+
| लेयर | यह क्या करता है |
|
|
41
|
+
|-------|-------------|
|
|
42
|
+
| **Engine** | टाइपस्क्रिप्ट लाइब्रेरी + CLI + REST सर्वर। एक ही इंटरफ़ेस के साथ पांच रजिस्ट्री को क्वेरी करें। इसे npm पर `@mcptoolshop/registry-stats` के रूप में प्रकाशित किया गया है। |
|
|
43
|
+
| **Dashboard** | एस्ट्रो-संचालित वेब ऐप। कार्यकारी सारांश, विकास का अवलोकन, डेटा स्वास्थ्य, स्पार्कलाइन के साथ लीडरबोर्ड। CI द्वारा साप्ताहिक रूप से पुनर्निर्मित। |
|
|
44
|
+
| **Desktop** | WinUI 3 + WebView2 वाला देशी विंडोज ऐप। डैशबोर्ड को ऑफ़लाइन उपलब्ध कराता है और आवश्यकता पड़ने पर लाइव आँकड़े प्राप्त करता है। |
|
|
45
|
+
|
|
46
|
+
## डैशबोर्ड
|
|
47
|
+
|
|
48
|
+
एक स्व-अपडेट करने वाला आँकड़े डैशबोर्ड [`/dashboard/`](https://mcp-tool-shop-org.github.io/registry-stats/dashboard/) पर उपलब्ध है।
|
|
49
|
+
|
|
50
|
+
- **कार्यकारी सारांश** — साप्ताहिक विवरण: शीर्ष रजिस्ट्री, शीर्ष पैकेज, शीर्ष गेनर, पोर्टफोलियो का वितरण, डेटा की विश्वसनीयता
|
|
51
|
+
- **विकास का अवलोकन** — शीर्ष गेनर, गिरावट दिखाने वाले पैकेज और नए सक्रिय पैकेज (npm 7 दिनों बनाम पिछले 7 दिन)
|
|
52
|
+
- **डेटा स्वास्थ्य** — प्रति-रजिस्ट्री कवरेज, विश्वसनीयता बैज (ठीक / आंशिक / गुम), विस्तार योग्य त्रुटि विवरण
|
|
53
|
+
- **स्नैपशॉट अंतर** — केवल संचयी रजिस्ट्री (डॉकर, VS कोड, NuGet) के लिए सप्ताह-दर-सप्ताह ट्रैकिंग
|
|
54
|
+
- **लीडरबोर्ड** — साप्ताहिक डाउनलोड के आधार पर सभी पैकेजों को रैंक किया गया है, जिसमें प्रति पंक्ति 30-दिन के स्पार्कलाइन हैं।
|
|
55
|
+
- **डार्क / लाइट थीम** — सिस्टम वरीयता का पालन करता है।
|
|
56
|
+
|
|
57
|
+
डेटा निर्माण के समय प्राप्त किया जाता है और CI (सोमवार सुबह 6:00 UTC) द्वारा साप्ताहिक रूप से पुनर्निर्मित किया जाता है। ट्रैक किए गए पैकेजों को `site/src/data/packages.json` में कॉन्फ़िगर करें।
|
|
58
|
+
|
|
59
|
+
## डेस्कटॉप ऐप
|
|
60
|
+
|
|
61
|
+
एक देशी विंडोज ऐप जो डैशबोर्ड को एक स्थानीय WebView2 शेल में लपेटता है:
|
|
62
|
+
|
|
63
|
+
- **ऑफ़लाइन उपयोग** — बंडल किए गए HTML/CSS/JS के साथ आता है; इंटरनेट के बिना काम करता है।
|
|
64
|
+
- **लाइव रिफ्रेश** — GitHub Pages से `stats.json` प्राप्त करता है।
|
|
65
|
+
- **CSV निर्यात** — लीडरबोर्ड डेटा को एक क्लिक में निर्यात करें।
|
|
66
|
+
- **MSIX पैकेज्ड** — CI के माध्यम से `desktop-ci.yml` का उपयोग करके बनाया और हस्ताक्षरित।
|
|
67
|
+
|
|
68
|
+
डेस्कटॉप का स्रोत `desktop/` में है। .NET 10 MAUI के साथ बनाया गया है, जो WinUI 3 को लक्षित करता है।
|
|
69
|
+
|
|
70
|
+
## इंस्टॉल करें
|
|
71
|
+
|
|
38
72
|
```bash
|
|
39
73
|
npm install @mcptoolshop/registry-stats
|
|
40
74
|
```
|
|
41
|
-
|
|
42
|
-
## कमांड-लाइन इंटरफ़ेस (CLI)
|
|
43
|
-
|
|
75
|
+
|
|
76
|
+
## कमांड-लाइन इंटरफ़ेस (CLI)
|
|
77
|
+
|
|
44
78
|
```bash
|
|
45
79
|
# Query a single registry
|
|
46
80
|
registry-stats express -r npm
|
|
@@ -52,10 +86,6 @@ registry-stats express
|
|
|
52
86
|
|
|
53
87
|
# Time series with monthly breakdown + trend
|
|
54
88
|
registry-stats express -r npm --range 2025-01-01:2025-06-30
|
|
55
|
-
# 2025-01 142,359,021
|
|
56
|
-
# 2025-02 147,522,528
|
|
57
|
-
# ...
|
|
58
|
-
# Total: 448,383,383 Avg/day: 4,982,038 Trend: flat (-0.46%)
|
|
59
89
|
|
|
60
90
|
# Raw JSON output
|
|
61
91
|
registry-stats express -r npm --json
|
|
@@ -74,14 +104,6 @@ registry-stats
|
|
|
74
104
|
|
|
75
105
|
# Compare across registries
|
|
76
106
|
registry-stats express --compare
|
|
77
|
-
# express — comparison
|
|
78
|
-
#
|
|
79
|
-
# Metric npm pypi
|
|
80
|
-
# ─────────────────────────────────
|
|
81
|
-
# Total - -
|
|
82
|
-
# Month 283,472 47,201
|
|
83
|
-
# Week 67,367 11,800
|
|
84
|
-
# Day 11,566 1,686
|
|
85
107
|
|
|
86
108
|
# Export as CSV or chart-friendly JSON
|
|
87
109
|
registry-stats express -r npm --range 2025-01-01:2025-06-30 --format csv
|
|
@@ -90,11 +112,11 @@ registry-stats express -r npm --range 2025-01-01:2025-06-30 --format chart
|
|
|
90
112
|
# Start a REST API server
|
|
91
113
|
registry-stats serve --port 3000
|
|
92
114
|
```
|
|
93
|
-
|
|
94
|
-
## कॉन्फ़िगरेशन फ़ाइल
|
|
95
|
-
|
|
96
|
-
अपने प्रोजेक्ट के रूट में `registry-stats.config.json` फ़ाइल बनाएं (या `registry-stats --init` कमांड चलाएं):
|
|
97
|
-
|
|
115
|
+
|
|
116
|
+
## कॉन्फ़िगरेशन फ़ाइल
|
|
117
|
+
|
|
118
|
+
अपने प्रोजेक्ट के रूट में `registry-stats.config.json` फ़ाइल बनाएं (या `registry-stats --init` कमांड चलाएं):
|
|
119
|
+
|
|
98
120
|
```json
|
|
99
121
|
{
|
|
100
122
|
"registries": ["npm", "pypi", "nuget", "vscode", "docker"],
|
|
@@ -113,11 +135,11 @@ registry-stats serve --port 3000
|
|
|
113
135
|
"concurrency": 5
|
|
114
136
|
}
|
|
115
137
|
```
|
|
116
|
-
|
|
117
|
-
सभी कॉन्फ़िगर किए गए पैकेजों के आंकड़े प्राप्त करने के लिए बिना किसी तर्क के `registry-stats` कमांड चलाएं। CLI, कॉन्फ़िगरेशन फ़ाइल ढूंढने के लिए वर्तमान कार्यशील निर्देशिका (cwd) से ऊपर की ओर खोज करता है।
|
|
118
|
-
|
|
119
|
-
कॉन्फ़िगरेशन प्रोग्रामेटिक रूप से भी उपलब्ध है:
|
|
120
|
-
|
|
138
|
+
|
|
139
|
+
सभी कॉन्फ़िगर किए गए पैकेजों के आंकड़े प्राप्त करने के लिए बिना किसी तर्क के `registry-stats` कमांड चलाएं। CLI, कॉन्फ़िगरेशन फ़ाइल ढूंढने के लिए वर्तमान कार्यशील निर्देशिका (cwd) से ऊपर की ओर खोज करता है।
|
|
140
|
+
|
|
141
|
+
कॉन्फ़िगरेशन प्रोग्रामेटिक रूप से भी उपलब्ध है:
|
|
142
|
+
|
|
121
143
|
```typescript
|
|
122
144
|
import { loadConfig, defaultConfig, starterConfig } from '@mcptoolshop/registry-stats';
|
|
123
145
|
|
|
@@ -125,9 +147,9 @@ const config = loadConfig(); // finds nearest config file, or null
|
|
|
125
147
|
const defaults = defaultConfig(); // returns default Config object
|
|
126
148
|
const template = starterConfig(); // returns starter JSON string
|
|
127
149
|
```
|
|
128
|
-
|
|
129
|
-
## प्रोग्रामेटिक एपीआई
|
|
130
|
-
|
|
150
|
+
|
|
151
|
+
## प्रोग्रामेटिक एपीआई
|
|
152
|
+
|
|
131
153
|
```typescript
|
|
132
154
|
import { stats, calc, createCache } from '@mcptoolshop/registry-stats';
|
|
133
155
|
|
|
@@ -161,7 +183,6 @@ calc.toChartData(daily, 'express'); // { labels: [...], datasets: [{ labe
|
|
|
161
183
|
|
|
162
184
|
// Comparison — same package across registries
|
|
163
185
|
const comparison = await stats.compare('express');
|
|
164
|
-
// → { package: 'express', registries: { npm: {...}, pypi: {...} }, fetchedAt: '...' }
|
|
165
186
|
await stats.compare('express', ['npm', 'pypi']); // specific registries only
|
|
166
187
|
|
|
167
188
|
// Caching (5 min TTL, in-memory)
|
|
@@ -169,42 +190,41 @@ const cache = createCache();
|
|
|
169
190
|
await stats('npm', 'express', { cache }); // fetches
|
|
170
191
|
await stats('npm', 'express', { cache }); // cache hit
|
|
171
192
|
```
|
|
172
|
-
|
|
173
|
-
## रजिस्ट्री समर्थन
|
|
174
|
-
|
|
175
|
-
| रजिस्ट्री | पैकेज प्रारूप | समय श्रृंखला | उपलब्ध डेटा |
|
|
176
|
-
|
|
177
|
-
| `npm` | `express`, `@scope/pkg` | हाँ (549 दिन) | अंतिम दिन, अंतिम सप्ताह, अंतिम महीना |
|
|
178
|
-
| `pypi` | `requests` | हाँ (180 दिन) | अंतिम दिन, अंतिम सप्ताह, अंतिम महीना, कुल |
|
|
179
|
-
| `nuget` | `Newtonsoft.Json` | No | कुल |
|
|
180
|
-
| `vscode` | `publisher.extension` | No | कुल (इंस्टॉलेशन), रेटिंग, रुझान |
|
|
181
|
-
| `docker` | `namespace/repo` | No | कुल (डाउनलोड), सितारे |
|
|
182
|
-
|
|
183
|
-
## अंतर्निहित विश्वसनीयता
|
|
184
|
-
|
|
185
|
-
- 429/5xx त्रुटियों पर स्वचालित पुनः प्रयास, जिसमें घातीय बैकऑफ़ शामिल है।
|
|
186
|
-
- `Retry-After` हेडर का सम्मान करता है।
|
|
187
|
-
- बल्क अनुरोधों के लिए समवर्ती सीमा।
|
|
188
|
-
- वैकल्पिक TTL कैश (प्लग करने योग्य - `StatsCache` इंटरफ़ेस के माध्यम से अपना Redis/फ़ाइल बैकएंड प्रदान करें)।
|
|
189
|
-
|
|
190
|
-
## REST एपीआई सर्वर
|
|
191
|
-
|
|
192
|
-
इसे एक माइक्रोसर्विस के रूप में चलाएं या इसे अपने सर्वर में एम्बेड करें:
|
|
193
|
-
|
|
193
|
+
|
|
194
|
+
## रजिस्ट्री समर्थन
|
|
195
|
+
|
|
196
|
+
| रजिस्ट्री | पैकेज प्रारूप | समय श्रृंखला | उपलब्ध डेटा |
|
|
197
|
+
|----------|---------------|-------------|----------------|
|
|
198
|
+
| `npm` | `express`, `@scope/pkg` | हाँ (549 दिन) | अंतिम दिन, अंतिम सप्ताह, अंतिम महीना |
|
|
199
|
+
| `pypi` | `requests` | हाँ (180 दिन) | अंतिम दिन, अंतिम सप्ताह, अंतिम महीना, कुल |
|
|
200
|
+
| `nuget` | `Newtonsoft.Json` | No | कुल |
|
|
201
|
+
| `vscode` | `publisher.extension` | No | कुल (इंस्टॉलेशन), रेटिंग, रुझान |
|
|
202
|
+
| `docker` | `namespace/repo` | No | कुल (डाउनलोड), सितारे |
|
|
203
|
+
|
|
204
|
+
## अंतर्निहित विश्वसनीयता
|
|
205
|
+
|
|
206
|
+
- 429/5xx त्रुटियों पर स्वचालित पुनः प्रयास, जिसमें घातीय बैकऑफ़ शामिल है।
|
|
207
|
+
- `Retry-After` हेडर का सम्मान करता है।
|
|
208
|
+
- बल्क अनुरोधों के लिए समवर्ती सीमा।
|
|
209
|
+
- वैकल्पिक TTL कैश (प्लग करने योग्य - `StatsCache` इंटरफ़ेस के माध्यम से अपना Redis/फ़ाइल बैकएंड प्रदान करें)।
|
|
210
|
+
|
|
211
|
+
## REST एपीआई सर्वर
|
|
212
|
+
|
|
213
|
+
इसे एक माइक्रोसर्विस के रूप में चलाएं या इसे अपने सर्वर में एम्बेड करें:
|
|
214
|
+
|
|
194
215
|
```bash
|
|
195
|
-
# CLI
|
|
196
216
|
registry-stats serve --port 3000
|
|
197
217
|
```
|
|
198
|
-
|
|
218
|
+
|
|
199
219
|
```
|
|
200
220
|
GET /stats/:package # all registries
|
|
201
221
|
GET /stats/:registry/:package # single registry
|
|
202
222
|
GET /compare/:package?registries=npm,pypi
|
|
203
223
|
GET /range/:registry/:package?start=YYYY-MM-DD&end=YYYY-MM-DD&format=json|csv|chart
|
|
204
224
|
```
|
|
205
|
-
|
|
206
|
-
कस्टम सर्वरों या सर्वरलेस वातावरण के लिए प्रोग्रामेटिक उपयोग:
|
|
207
|
-
|
|
225
|
+
|
|
226
|
+
कस्टम सर्वरों या सर्वरलेस वातावरण के लिए प्रोग्रामेटिक उपयोग:
|
|
227
|
+
|
|
208
228
|
```typescript
|
|
209
229
|
import { createHandler, serve } from '@mcptoolshop/registry-stats';
|
|
210
230
|
|
|
@@ -216,9 +236,9 @@ import { createServer } from 'node:http';
|
|
|
216
236
|
const handler = createHandler();
|
|
217
237
|
createServer(handler).listen(3000);
|
|
218
238
|
```
|
|
219
|
-
|
|
220
|
-
## कस्टम रजिस्ट्री
|
|
221
|
-
|
|
239
|
+
|
|
240
|
+
## कस्टम रजिस्ट्री
|
|
241
|
+
|
|
222
242
|
```typescript
|
|
223
243
|
import { registerProvider, type RegistryProvider } from '@mcptoolshop/registry-stats';
|
|
224
244
|
|
|
@@ -239,19 +259,59 @@ const cargo: RegistryProvider = {
|
|
|
239
259
|
registerProvider(cargo);
|
|
240
260
|
await stats('cargo', 'serde');
|
|
241
261
|
```
|
|
262
|
+
|
|
263
|
+
## रिपॉजिटरी संरचना
|
|
264
|
+
|
|
265
|
+
```
|
|
266
|
+
registry-stats/
|
|
267
|
+
├── src/ # TypeScript engine (published to npm)
|
|
268
|
+
├── site/ # Astro dashboard + landing page (deployed to GitHub Pages)
|
|
269
|
+
├── desktop/ # WinUI 3 desktop app (.NET 10 MAUI)
|
|
270
|
+
└── test/ # Library tests (vitest)
|
|
271
|
+
```
|
|
272
|
+
|
|
273
|
+
## विकास
|
|
274
|
+
|
|
275
|
+
```bash
|
|
276
|
+
# Engine
|
|
277
|
+
npm install && npm run build && npm test
|
|
242
278
|
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
दस्तावेज़/लैंडिंग पृष्ठ `site/` में स्थित है।
|
|
246
|
-
|
|
247
|
-
- विकास: `npm run site:dev`
|
|
248
|
-
- बिल्ड: `npm run site:build`
|
|
249
|
-
- पूर्वावलोकन: `npm run site:preview`
|
|
250
|
-
|
|
251
|
-
## लाइसेंस
|
|
252
|
-
|
|
253
|
-
MIT
|
|
279
|
+
# Dashboard (dev server)
|
|
280
|
+
npm run site:dev
|
|
254
281
|
|
|
282
|
+
# Dashboard (production build)
|
|
283
|
+
npm run site:build
|
|
284
|
+
```
|
|
285
|
+
|
|
286
|
+
## सुरक्षा और डेटा दायरा
|
|
287
|
+
|
|
288
|
+
| पहलू | विवरण |
|
|
289
|
+
|--------|--------|
|
|
290
|
+
| **Data touched** | npm, PyPI, NuGet, VS Code मार्केटप्लेस, डॉकर हब से सार्वजनिक डाउनलोड आँकड़े। इन-मेमोरी कैश (वैकल्पिक)। |
|
|
291
|
+
| **Data NOT touched** | कोई टेलीमेट्री नहीं। कोई एनालिटिक्स नहीं। कोई क्रेडेंशियल स्टोरेज नहीं। कोई उपयोगकर्ता डेटा नहीं। कोई फ़ाइल लेखन नहीं। |
|
|
292
|
+
| **Permissions** | पढ़ें: सार्वजनिक रजिस्ट्री API HTTPS के माध्यम से। लिखें: केवल stdout/stderr। |
|
|
293
|
+
| **Network** | HTTPS सार्वजनिक रजिस्ट्री API पर। वैकल्पिक लोकलहोस्ट REST सर्वर। |
|
|
294
|
+
| **Telemetry** | कोई भी डेटा एकत्र या भेजा नहीं जाता है। |
|
|
295
|
+
|
|
296
|
+
भेद्यता रिपोर्टिंग के लिए [SECURITY.md](SECURITY.md) देखें।
|
|
297
|
+
|
|
298
|
+
## स्कोरकार्ड
|
|
299
|
+
|
|
300
|
+
| श्रेणी | स्कोर |
|
|
301
|
+
|----------|-------|
|
|
302
|
+
| A. सुरक्षा | 10 |
|
|
303
|
+
| B. त्रुटि प्रबंधन | 10 |
|
|
304
|
+
| C. ऑपरेटर दस्तावेज़ | 10 |
|
|
305
|
+
| D. शिपिंग स्वच्छता | 10 |
|
|
306
|
+
| E. पहचान (सॉफ्ट) | 10 |
|
|
307
|
+
| **Overall** | **50/50** |
|
|
308
|
+
|
|
309
|
+
> पूर्ण ऑडिट: [SHIP_GATE.md](SHIP_GATE.md) · [SCORECARD.md](SCORECARD.md)
|
|
310
|
+
|
|
311
|
+
## लाइसेंस
|
|
312
|
+
|
|
313
|
+
MIT
|
|
314
|
+
|
|
255
315
|
---
|
|
256
|
-
|
|
257
|
-
यह <a href="https://mcp-tool-shop.github.io/">MCP Tool Shop</a> द्वारा बनाया गया है।
|
|
316
|
+
|
|
317
|
+
यह <a href="https://mcp-tool-shop.github.io/">MCP Tool Shop</a> द्वारा बनाया गया है।
|