Add versioning schema: version (int), version_string, version_release_date to all 10 connectors
- version: intero per-connector (parte da 1) - version_string: semver ereditato (display only) - version_release_date: ISO 8601 (display only) - Campi identici in index (connectors.json) e manifest (connector.json) - Aggiunto connector.json alle files[] di gmail, gcal, email, ssh, tavily - Aggiornata documentazione in SKALD.md
This commit is contained in:
@@ -96,6 +96,9 @@ Non ha hash di sé stesso — in futuro potrà essere firmato digitalmente.
|
||||
]
|
||||
},
|
||||
"folder": "gmail",
|
||||
"version": 1,
|
||||
"version_string": "1.0.0",
|
||||
"version_release_date": "2026-07-19",
|
||||
"files": [
|
||||
| `auth` | per OAuth | Oggetto con `type`, `provider`, `scopes` per badge UI (NO `deliver` qui, è nel manifest) |
|
||||
|
||||
@@ -124,6 +127,9 @@ Non ha hash di sé stesso — in futuro potrà essere firmato digitalmente.
|
||||
| `requires` | ✅ | Array di enum requisiti |
|
||||
| `tags` | ✅ | Array di tag per filtraggio |
|
||||
| `folder` | ✅ | Nome della cartella del connector |
|
||||
| `version` | ✅ | Intero per-connector, +1 a ogni modifica dei file |
|
||||
| `version_string` | ✅ | Semver (solo display) |
|
||||
| `version_release_date` | ✅ | Data ISO 8601 YYYY-MM-DD (solo display) |
|
||||
| `files` | ✅ | Array di file con sha256 (NO self-hash) |
|
||||
|
||||
## Schema — connector.json (per cartella)
|
||||
@@ -134,7 +140,9 @@ Configurazione tecnica per l'attivazione del connector.
|
||||
{
|
||||
"id": "gmail",
|
||||
"name": "Gmail",
|
||||
"version": "1.0.0",
|
||||
"version": 1,
|
||||
"version_string": "1.0.0",
|
||||
"version_release_date": "2026-07-19",
|
||||
"type": "mcp_local",
|
||||
"scope": "user",
|
||||
"launch_command": "python3 gmail_mcp_server.py",
|
||||
@@ -186,7 +194,9 @@ Configurazione tecnica per l'attivazione del connector.
|
||||
|-------|-------------|-------------|
|
||||
| `id` | ✅ | Identificatore unico (match con folder name) |
|
||||
| `name` | ✅ | Nome visualizzato |
|
||||
| `version` | ✅ | SemVer |
|
||||
| `version` | ✅ | Intero per-connector, +1 a ogni modifica dei file |
|
||||
| `version_string` | ✅ | Semver (solo display) |
|
||||
| `version_release_date` | ✅ | Data ISO 8601 YYYY-MM-DD (solo display) |
|
||||
| `type` | ✅ | `mcp_remote` o `mcp_local` |
|
||||
| `scope` | ✅ | `global` o `user` |
|
||||
| `requires` | ✅ | Array di enum requisiti |
|
||||
|
||||
+207
-33
@@ -28,7 +28,15 @@
|
||||
]
|
||||
},
|
||||
"folder": "gmail",
|
||||
"version": 1,
|
||||
"version_string": "1.0.0",
|
||||
"version_release_date": "2026-07-19",
|
||||
"files": [
|
||||
{
|
||||
"path": "connector.json",
|
||||
"sha256": "128a7bf96a9d06f63453a2810738289617b6210cd64b76772261fb8aced85a99",
|
||||
"size": 1637
|
||||
},
|
||||
{
|
||||
"path": "gmail_mcp_server.py",
|
||||
"sha256": "e96568dda3d0198be0a34092458dac2aaafee4a7e282a3fb427923f517e536e3",
|
||||
@@ -77,7 +85,15 @@
|
||||
]
|
||||
},
|
||||
"folder": "gcal",
|
||||
"version": 1,
|
||||
"version_string": "0.3.0",
|
||||
"version_release_date": "2026-07-19",
|
||||
"files": [
|
||||
{
|
||||
"path": "connector.json",
|
||||
"sha256": "b3d88d9d24c13cdc5ac325d378b1e3e66243b2f36bdaf99ab8753f75eb9fd342",
|
||||
"size": 1480
|
||||
},
|
||||
{
|
||||
"path": "gcal_mcp_server.py",
|
||||
"sha256": "c526751c8891a8d97ba37d14da282d223be7cd061eb67c76cea6a12672921db0",
|
||||
@@ -105,7 +121,6 @@
|
||||
}
|
||||
]
|
||||
},
|
||||
|
||||
{
|
||||
"id": "email",
|
||||
"name": "Email (IMAP/SMTP)",
|
||||
@@ -113,7 +128,7 @@
|
||||
"scope": "user",
|
||||
"icon_small": "email/icon_sm.svg",
|
||||
"icon_large": "email/icon_lg.svg",
|
||||
"user_description": "Read, search, organize, and send email over IMAP/SMTP — any provider, no OAuth. Real-time push notifications on new mail.",
|
||||
"user_description": "Read, search, organize, and send email over IMAP/SMTP \u2014 any provider, no OAuth. Real-time push notifications on new mail.",
|
||||
"requires": [
|
||||
"PYTHON"
|
||||
],
|
||||
@@ -128,7 +143,15 @@
|
||||
"type": "password"
|
||||
},
|
||||
"folder": "email",
|
||||
"version": 1,
|
||||
"version_string": "1.0.0",
|
||||
"version_release_date": "2026-07-19",
|
||||
"files": [
|
||||
{
|
||||
"path": "connector.json",
|
||||
"sha256": "a68f44932e9df6dc949fa7e034da4a428d945d99be6d0d192f5fa62ed7f4f7da",
|
||||
"size": 4652
|
||||
},
|
||||
{
|
||||
"path": "email_mcp_server.py",
|
||||
"sha256": "e8e0efc7d07be0d743f73ae80b15c924a763e57fc19000b1ef1e98237465da0f",
|
||||
@@ -162,15 +185,38 @@
|
||||
"requires": [
|
||||
"NODE"
|
||||
],
|
||||
"tags": ["scraping", "crawling", "search", "mcp", "local", "browser", "research"],
|
||||
"tags": [
|
||||
"scraping",
|
||||
"crawling",
|
||||
"search",
|
||||
"mcp",
|
||||
"local",
|
||||
"browser",
|
||||
"research"
|
||||
],
|
||||
"auth": {
|
||||
"type": "api_key"
|
||||
},
|
||||
"folder": "firecrawl",
|
||||
"version": 1,
|
||||
"version_string": "1.0.0",
|
||||
"version_release_date": "2026-07-19",
|
||||
"files": [
|
||||
{"path": "connector.json", "sha256": "4045efdef62b89e124043051f34a43d09b9ad6665dc683583e8f2a7355379b16", "size": 2441},
|
||||
{"path": "icon_sm.png", "sha256": "3a4be30d4c16ce93a1d132e063dfdffb8bd27b6c97715c9f3b12414439aaeb01", "size": 6858},
|
||||
{"path": "icon_lg.png", "sha256": "3a4be30d4c16ce93a1d132e063dfdffb8bd27b6c97715c9f3b12414439aaeb01", "size": 6858}
|
||||
{
|
||||
"path": "connector.json",
|
||||
"sha256": "39002ac49f6ebd93aabb9f80c1fa33c0298344f5e3a734151a6ea1e4d00639b9",
|
||||
"size": 2600
|
||||
},
|
||||
{
|
||||
"path": "icon_sm.png",
|
||||
"sha256": "3a4be30d4c16ce93a1d132e063dfdffb8bd27b6c97715c9f3b12414439aaeb01",
|
||||
"size": 6858
|
||||
},
|
||||
{
|
||||
"path": "icon_lg.png",
|
||||
"sha256": "3a4be30d4c16ce93a1d132e063dfdffb8bd27b6c97715c9f3b12414439aaeb01",
|
||||
"size": 6858
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -184,15 +230,38 @@
|
||||
"requires": [
|
||||
"NODE"
|
||||
],
|
||||
"tags": ["http", "fetch", "mcp", "local", "free", "scraping", "youtube"],
|
||||
"tags": [
|
||||
"http",
|
||||
"fetch",
|
||||
"mcp",
|
||||
"local",
|
||||
"free",
|
||||
"scraping",
|
||||
"youtube"
|
||||
],
|
||||
"auth": {
|
||||
"type": "none"
|
||||
},
|
||||
"folder": "http-fetch",
|
||||
"version": 1,
|
||||
"version_string": "1.0.0",
|
||||
"version_release_date": "2026-07-19",
|
||||
"files": [
|
||||
{"path": "connector.json", "sha256": "f8aeb07f8485d39d47b5ccf6852197e8299feea6e7add0c6aaf446185df7a2cc", "size": 1122},
|
||||
{"path": "icon_sm.svg", "sha256": "fa32e634744d8cba369f6d8ba45746166124f7d3507cefd9a1f96180c787e1a8", "size": 380},
|
||||
{"path": "icon_lg.svg", "sha256": "3e5496d949062678ae44cd74430b29232bbfe28a7600038deb3159c4b26adee1", "size": 382}
|
||||
{
|
||||
"path": "connector.json",
|
||||
"sha256": "67d44752fddca27f6093193264963c6658d66ce36917591eba7bde9e904389f2",
|
||||
"size": 1259
|
||||
},
|
||||
{
|
||||
"path": "icon_sm.svg",
|
||||
"sha256": "fa32e634744d8cba369f6d8ba45746166124f7d3507cefd9a1f96180c787e1a8",
|
||||
"size": 380
|
||||
},
|
||||
{
|
||||
"path": "icon_lg.svg",
|
||||
"sha256": "3e5496d949062678ae44cd74430b29232bbfe28a7600038deb3159c4b26adee1",
|
||||
"size": 382
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -202,7 +271,7 @@
|
||||
"scope": "user",
|
||||
"icon_small": "ssh/icon_sm.svg",
|
||||
"icon_large": "ssh/icon_lg.svg",
|
||||
"user_description": "Full SSH remote server access — files, commands, systemd, upload/download. Aliases manage host config; auth via key/agent or elicited password.",
|
||||
"user_description": "Full SSH remote server access \u2014 files, commands, systemd, upload/download. Aliases manage host config; auth via key/agent or elicited password.",
|
||||
"requires": [
|
||||
"PYTHON"
|
||||
],
|
||||
@@ -218,7 +287,15 @@
|
||||
"type": "none"
|
||||
},
|
||||
"folder": "ssh",
|
||||
"version": 1,
|
||||
"version_string": "1.0.0",
|
||||
"version_release_date": "2026-07-19",
|
||||
"files": [
|
||||
{
|
||||
"path": "connector.json",
|
||||
"sha256": "fb54c2bf6226e601ed445aee2b47527dca0a9646fb8d809477ce05282bf4496f",
|
||||
"size": 4112
|
||||
},
|
||||
{
|
||||
"path": "ssh_mcp_server.py",
|
||||
"sha256": "fbd7aa9dfad0da57f4b3d9d437c76fd978145c8364ed5fdfdfc3ba7ccfaf117b",
|
||||
@@ -249,16 +326,24 @@
|
||||
"icon_small": "tavily/icon_sm.png",
|
||||
"icon_large": "tavily/icon_lg.png",
|
||||
"user_description": "Web search API for LLMs \u2014 real-time results, news, and content extraction.",
|
||||
"auth": {
|
||||
"type": "api_key"
|
||||
},
|
||||
"tags": [
|
||||
"search",
|
||||
"mcp",
|
||||
"remote"
|
||||
],
|
||||
"auth": {
|
||||
"type": "api_key"
|
||||
},
|
||||
"folder": "tavily",
|
||||
"version": 1,
|
||||
"version_string": "1.0.0",
|
||||
"version_release_date": "2026-07-19",
|
||||
"files": [
|
||||
{
|
||||
"path": "connector.json",
|
||||
"sha256": "40f191b9112f6e05e906836ead22db4c96a73c89a68db9c0ac5820473edcaad0",
|
||||
"size": 1072
|
||||
},
|
||||
{
|
||||
"path": "icon_lg.png",
|
||||
"sha256": "92962ea1d49f272665262d55ecdea929972d3efab5261fc6ffea632803fceaf8",
|
||||
@@ -284,17 +369,47 @@
|
||||
"icon_small": "weather/icon_sm.svg",
|
||||
"icon_large": "weather/icon_lg.svg",
|
||||
"user_description": "Global weather, forecast, and air quality via Open-Meteo \u2014 free, no API key required.",
|
||||
"tags": [
|
||||
"weather",
|
||||
"mcp",
|
||||
"local",
|
||||
"free",
|
||||
"forecast",
|
||||
"air-quality"
|
||||
],
|
||||
"auth": {
|
||||
"type": "none"
|
||||
},
|
||||
"tags": ["weather", "mcp", "local", "free", "forecast", "air-quality"],
|
||||
"folder": "weather",
|
||||
"version": 1,
|
||||
"version_string": "1.0.0",
|
||||
"version_release_date": "2026-07-19",
|
||||
"files": [
|
||||
{"path": "weather_mcp_server.py", "sha256": "5927333dee45ec5db1134034ee5af51d9e2fd95b6d128834de9a882e499b0ce4", "size": 29865},
|
||||
{"path": "connector.json", "sha256": "1dd58ebe8c83036fb9e2fe245fe691ca28466d64d74a4820e2f377154a925760", "size": 1165},
|
||||
{"path": "requirements.txt", "sha256": "bff057979879bf8d16acdc64317c6f2ac3dba4f1c4cd8df5ccd2a592fa804c95", "size": 14},
|
||||
{"path": "icon_sm.svg", "sha256": "23ad1eaf8370e97bea7928ff4aebff8c09563092d00d05662df34b4661643b4c", "size": 308},
|
||||
{"path": "icon_lg.svg", "sha256": "b1a16c5da95783d79e06388e5a18bc6c8291875335e8ac48665edeff5aeafca7", "size": 372}
|
||||
{
|
||||
"path": "weather_mcp_server.py",
|
||||
"sha256": "5927333dee45ec5db1134034ee5af51d9e2fd95b6d128834de9a882e499b0ce4",
|
||||
"size": 29865
|
||||
},
|
||||
{
|
||||
"path": "connector.json",
|
||||
"sha256": "5dd9852857eb2eb6236e34708c1436a835cbf49466fd575052c24dd1f6db973d",
|
||||
"size": 1278
|
||||
},
|
||||
{
|
||||
"path": "requirements.txt",
|
||||
"sha256": "bff057979879bf8d16acdc64317c6f2ac3dba4f1c4cd8df5ccd2a592fa804c95",
|
||||
"size": 14
|
||||
},
|
||||
{
|
||||
"path": "icon_sm.svg",
|
||||
"sha256": "23ad1eaf8370e97bea7928ff4aebff8c09563092d00d05662df34b4661643b4c",
|
||||
"size": 308
|
||||
},
|
||||
{
|
||||
"path": "icon_lg.svg",
|
||||
"sha256": "b1a16c5da95783d79e06388e5a18bc6c8291875335e8ac48665edeff5aeafca7",
|
||||
"size": 372
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -308,17 +423,46 @@
|
||||
"requires": [
|
||||
"NODE"
|
||||
],
|
||||
"tags": ["messaging", "mcp", "local", "whatsapp", "qr"],
|
||||
"tags": [
|
||||
"messaging",
|
||||
"mcp",
|
||||
"local",
|
||||
"whatsapp",
|
||||
"qr"
|
||||
],
|
||||
"auth": {
|
||||
"type": "qr"
|
||||
},
|
||||
"folder": "whatsapp",
|
||||
"version": 1,
|
||||
"version_string": "2.0.1",
|
||||
"version_release_date": "2026-07-19",
|
||||
"files": [
|
||||
{"path": "connector.json", "sha256": "716452f48594a4d9d960de85c0bd4d4f08c33673c6386959b1ef64afc53a6544", "size": 1163},
|
||||
{"path": "index.js", "sha256": "1627f115a1bfb5a954abd412dba76c38f7202640258d3cbc08c313c00446a14a", "size": 21668},
|
||||
{"path": "package.json", "sha256": "b99a9dccfd286b59e8482076129f2e40f7b339eba6c3db2a744887d65bd4964e", "size": 302},
|
||||
{"path": "icon_sm.png", "sha256": "1128f198b2a07041f2e0c8c330fc998d29c310ec3225f866073b9e921aa59b5f", "size": 74223},
|
||||
{"path": "icon_lg.png", "sha256": "1128f198b2a07041f2e0c8c330fc998d29c310ec3225f866073b9e921aa59b5f", "size": 74223}
|
||||
{
|
||||
"path": "connector.json",
|
||||
"sha256": "2a5d0514a88bd9053699aa5625aa1e89d09deeb1edf294c8596bce621eaac3dc",
|
||||
"size": 1286
|
||||
},
|
||||
{
|
||||
"path": "index.js",
|
||||
"sha256": "1627f115a1bfb5a954abd412dba76c38f7202640258d3cbc08c313c00446a14a",
|
||||
"size": 21668
|
||||
},
|
||||
{
|
||||
"path": "package.json",
|
||||
"sha256": "b99a9dccfd286b59e8482076129f2e40f7b339eba6c3db2a744887d65bd4964e",
|
||||
"size": 302
|
||||
},
|
||||
{
|
||||
"path": "icon_sm.png",
|
||||
"sha256": "1128f198b2a07041f2e0c8c330fc998d29c310ec3225f866073b9e921aa59b5f",
|
||||
"size": 74223
|
||||
},
|
||||
{
|
||||
"path": "icon_lg.png",
|
||||
"sha256": "1128f198b2a07041f2e0c8c330fc998d29c310ec3225f866073b9e921aa59b5f",
|
||||
"size": 74223
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -329,18 +473,48 @@
|
||||
"icon_small": "wikipedia/icon_sm.svg",
|
||||
"icon_large": "wikipedia/icon_lg.svg",
|
||||
"user_description": "Search and read Wikipedia articles \u2014 free, no API key required.",
|
||||
"tags": [
|
||||
"wikipedia",
|
||||
"mcp",
|
||||
"local",
|
||||
"free",
|
||||
"reference",
|
||||
"research"
|
||||
],
|
||||
"auth": {
|
||||
"type": "none"
|
||||
},
|
||||
"tags": ["wikipedia", "mcp", "local", "free", "reference", "research"],
|
||||
"folder": "wikipedia",
|
||||
"version": 1,
|
||||
"version_string": "1.0.0",
|
||||
"version_release_date": "2026-07-19",
|
||||
"files": [
|
||||
{"path": "wikipedia_mcp_server.py", "sha256": "e8dcf08a23c2b61c366acc1f46ca2d18332438b8a1d832d46d7b680641b68c59", "size": 12110},
|
||||
{"path": "connector.json", "sha256": "ee71337fe0f9c4a10b26223f00747d98691204d0f10f1ca307c8e57cf303877b", "size": 1055},
|
||||
{"path": "requirements.txt", "sha256": "bff057979879bf8d16acdc64317c6f2ac3dba4f1c4cd8df5ccd2a592fa804c95", "size": 14},
|
||||
{"path": "icon_sm.svg", "sha256": "4110f6b49f5953f124099e99c1616aff63855215ceffa87d12800d2d413ddda2", "size": 286},
|
||||
{"path": "icon_lg.svg", "sha256": "f9a8dde47baf3842331534ddc4333024b195c53b5f3bda40b0b99cea3daa9a96", "size": 285}
|
||||
{
|
||||
"path": "wikipedia_mcp_server.py",
|
||||
"sha256": "e8dcf08a23c2b61c366acc1f46ca2d18332438b8a1d832d46d7b680641b68c59",
|
||||
"size": 12110
|
||||
},
|
||||
{
|
||||
"path": "connector.json",
|
||||
"sha256": "dc24727a2a6931e6567ef32a27c99eb6687e1001ea47fe6f0fdb8ff19f02a505",
|
||||
"size": 1168
|
||||
},
|
||||
{
|
||||
"path": "requirements.txt",
|
||||
"sha256": "bff057979879bf8d16acdc64317c6f2ac3dba4f1c4cd8df5ccd2a592fa804c95",
|
||||
"size": 14
|
||||
},
|
||||
{
|
||||
"path": "icon_sm.svg",
|
||||
"sha256": "4110f6b49f5953f124099e99c1616aff63855215ceffa87d12800d2d413ddda2",
|
||||
"size": 286
|
||||
},
|
||||
{
|
||||
"path": "icon_lg.svg",
|
||||
"sha256": "f9a8dde47baf3842331534ddc4333024b195c53b5f3bda40b0b99cea3daa9a96",
|
||||
"size": 285
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
{
|
||||
"id": "email",
|
||||
"name": "Email (IMAP/SMTP)",
|
||||
"version": "1.0.0",
|
||||
"type": "mcp_local",
|
||||
"launch_command": "python3 email_mcp_server.py",
|
||||
"transport": "stdio",
|
||||
@@ -88,7 +87,7 @@
|
||||
"docs": [
|
||||
{
|
||||
"lang": "en",
|
||||
"description": "Generic email connector over IMAP + SMTP. Works with any provider (Gmail, Outlook/Office 365, iCloud, Yahoo, Fastmail, self-hosted, corporate) using standard protocols and an app password — no Google Cloud Console, no OAuth. Read, search, organise and send mail, download attachments, and receive real-time push notifications when new mail arrives (IMAP IDLE, with polling fallback). Standard library only, zero dependencies.",
|
||||
"description": "Generic email connector over IMAP + SMTP. Works with any provider (Gmail, Outlook/Office 365, iCloud, Yahoo, Fastmail, self-hosted, corporate) using standard protocols and an app password \u2014 no Google Cloud Console, no OAuth. Read, search, organise and send mail, download attachments, and receive real-time push notifications when new mail arrives (IMAP IDLE, with polling fallback). Standard library only, zero dependencies.",
|
||||
"llm_short_description": "Email MCP server (IMAP/SMTP, any provider). Config via env vars. Tools: status, list_messages, get_message, get_thread, list_folders, modify_message, send_message, get_profile, create_folder, download_attachments. Emits event/new_email push notifications on new INBOX mail."
|
||||
}
|
||||
],
|
||||
@@ -125,5 +124,8 @@
|
||||
],
|
||||
"auth": {
|
||||
"type": "password"
|
||||
}
|
||||
},
|
||||
"version": 1,
|
||||
"version_string": "1.0.0",
|
||||
"version_release_date": "2026-07-19"
|
||||
}
|
||||
|
||||
@@ -1,36 +1,44 @@
|
||||
{
|
||||
"id": "firecrawl",
|
||||
"name": "Firecrawl",
|
||||
"version": "1.0.0",
|
||||
"type": "mcp_local",
|
||||
"launch_command": "npx -y firecrawl-mcp",
|
||||
"transport": "stdio",
|
||||
"requires": ["NODE"],
|
||||
"requires": [
|
||||
"NODE"
|
||||
],
|
||||
"dependencies": [],
|
||||
"env": [{
|
||||
"name": "FIRECRAWL_API_KEY",
|
||||
"label": "Firecrawl API key",
|
||||
"description": "Create one at https://www.firecrawl.dev (dashboard \u2192 API Keys).",
|
||||
"required": true,
|
||||
"secret": true,
|
||||
"example": "fc-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
|
||||
}],
|
||||
"env": [
|
||||
{
|
||||
"name": "FIRECRAWL_API_KEY",
|
||||
"label": "Firecrawl API key",
|
||||
"description": "Create one at https://www.firecrawl.dev (dashboard \u2192 API Keys).",
|
||||
"required": true,
|
||||
"secret": true,
|
||||
"example": "fc-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
|
||||
}
|
||||
],
|
||||
"setup_instructions": [
|
||||
"Ensure Node.js is installed.",
|
||||
"Get an API key from https://www.firecrawl.dev/app/api-keys.",
|
||||
"No pip install needed \u2014 Firecrawl MCP runs via npx."
|
||||
],
|
||||
"docs": [{
|
||||
"lang": "en",
|
||||
"description": "Web scraping, crawling, search, deep research, and autonomous browsing \u2014 extract content from any website via Firecrawl. Scrape single URLs into clean Markdown, map site structures, crawl entire domains with scheduling, search the web, extract structured data with LLM-powered extraction, and run autonomous research agents. Includes monitoring for crawl changes.",
|
||||
"llm_short_description": "Scrape, crawl, search, research and extract web data via Firecrawl. 26 tools. Requires API key + Node.js."
|
||||
}],
|
||||
"docs": [
|
||||
{
|
||||
"lang": "en",
|
||||
"description": "Web scraping, crawling, search, deep research, and autonomous browsing \u2014 extract content from any website via Firecrawl. Scrape single URLs into clean Markdown, map site structures, crawl entire domains with scheduling, search the web, extract structured data with LLM-powered extraction, and run autonomous research agents. Includes monitoring for crawl changes.",
|
||||
"llm_short_description": "Scrape, crawl, search, research and extract web data via Firecrawl. 26 tools. Requires API key + Node.js."
|
||||
}
|
||||
],
|
||||
"auth": {
|
||||
"type": "api_key"
|
||||
},
|
||||
"mcp_config": {
|
||||
"command": "npx",
|
||||
"args": ["-y", "firecrawl-mcp"],
|
||||
"args": [
|
||||
"-y",
|
||||
"firecrawl-mcp"
|
||||
],
|
||||
"env": {
|
||||
"FIRECRAWL_API_KEY": "{SECRET:FIRECRAWL_API_KEY}"
|
||||
}
|
||||
@@ -43,5 +51,16 @@
|
||||
"icon_small": "icon_sm.png",
|
||||
"icon_large": "icon_lg.png",
|
||||
"scope": "global",
|
||||
"tags": ["scraping", "crawling", "search", "mcp", "local", "browser", "research"]
|
||||
"tags": [
|
||||
"scraping",
|
||||
"crawling",
|
||||
"search",
|
||||
"mcp",
|
||||
"local",
|
||||
"browser",
|
||||
"research"
|
||||
],
|
||||
"version": 1,
|
||||
"version_string": "1.0.0",
|
||||
"version_release_date": "2026-07-19"
|
||||
}
|
||||
|
||||
@@ -1,13 +1,20 @@
|
||||
{
|
||||
"id": "gcal",
|
||||
"name": "Google Calendar",
|
||||
"version": "0.3.0",
|
||||
"type": "mcp_local",
|
||||
"scope": "user",
|
||||
"launch_command": "python3 gcal_mcp_server.py",
|
||||
"transport": "stdio",
|
||||
"requires": ["OAUTH", "PYTHON"],
|
||||
"tags": ["calendar", "mcp", "local", "google"],
|
||||
"requires": [
|
||||
"OAUTH",
|
||||
"PYTHON"
|
||||
],
|
||||
"tags": [
|
||||
"calendar",
|
||||
"mcp",
|
||||
"local",
|
||||
"google"
|
||||
],
|
||||
"dependencies": [
|
||||
"google-api-python-client>=2.150.0",
|
||||
"google-auth>=2.35.0"
|
||||
@@ -19,7 +26,7 @@
|
||||
{
|
||||
"lang": "en",
|
||||
"description": "Read, create, update, delete, and respond to Google Calendar events. Supports push notifications for new events created by others.",
|
||||
"llm_short_description": "Google Calendar MCP connector — full CRUD + RSVP + push polling."
|
||||
"llm_short_description": "Google Calendar MCP connector \u2014 full CRUD + RSVP + push polling."
|
||||
}
|
||||
],
|
||||
"auth": {
|
||||
@@ -36,7 +43,9 @@
|
||||
},
|
||||
"mcp_config": {
|
||||
"command": "python3",
|
||||
"args": ["gcal_mcp_server.py"]
|
||||
"args": [
|
||||
"gcal_mcp_server.py"
|
||||
]
|
||||
},
|
||||
"verify": {
|
||||
"command": "python3 verify.py",
|
||||
@@ -44,5 +53,8 @@
|
||||
},
|
||||
"homepage": "https://calendar.google.com",
|
||||
"icon_small": "icon_sm.svg",
|
||||
"icon_large": "icon_lg.svg"
|
||||
"icon_large": "icon_lg.svg",
|
||||
"version": 1,
|
||||
"version_string": "0.3.0",
|
||||
"version_release_date": "2026-07-19"
|
||||
}
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
{
|
||||
"id": "gmail",
|
||||
"name": "Gmail",
|
||||
"version": "1.0.0",
|
||||
"type": "mcp_local",
|
||||
"launch_command": "python3 gmail_mcp_server.py",
|
||||
"transport": "stdio",
|
||||
@@ -51,5 +50,8 @@
|
||||
"format": "google_authorized_user",
|
||||
"env": "GMAIL_CREDS_JSON"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"version": 1,
|
||||
"version_string": "1.0.0",
|
||||
"version_release_date": "2026-07-19"
|
||||
}
|
||||
|
||||
@@ -1,31 +1,48 @@
|
||||
{
|
||||
"id": "http-fetch",
|
||||
"name": "HTTP Fetch",
|
||||
"version": "1.0.0",
|
||||
"type": "mcp_local",
|
||||
"launch_command": "npx -y mcp-fetch-server",
|
||||
"transport": "stdio",
|
||||
"requires": ["NODE"],
|
||||
"requires": [
|
||||
"NODE"
|
||||
],
|
||||
"dependencies": [],
|
||||
"setup_instructions": [
|
||||
"Ensure Node.js is installed.",
|
||||
"No configuration needed \u2014 HTTP Fetch is a free tool with no API key."
|
||||
],
|
||||
"docs": [{
|
||||
"lang": "en",
|
||||
"description": "Fetch any URL and convert it to HTML, Markdown, plain text, JSON, or YouTube transcripts \u2014 free, no API key required, no rate limits, no cost. Prefer this over Exa or Firecrawl for simple URL fetching. Supports YouTube video transcripts via fetch_youtube_transcript.",
|
||||
"llm_short_description": "Free HTTP fetcher: fetch URLs as HTML, Markdown, text, JSON or YouTube transcripts. No API key, no cost."
|
||||
}],
|
||||
"docs": [
|
||||
{
|
||||
"lang": "en",
|
||||
"description": "Fetch any URL and convert it to HTML, Markdown, plain text, JSON, or YouTube transcripts \u2014 free, no API key required, no rate limits, no cost. Prefer this over Exa or Firecrawl for simple URL fetching. Supports YouTube video transcripts via fetch_youtube_transcript.",
|
||||
"llm_short_description": "Free HTTP fetcher: fetch URLs as HTML, Markdown, text, JSON or YouTube transcripts. No API key, no cost."
|
||||
}
|
||||
],
|
||||
"auth": {
|
||||
"type": "none"
|
||||
},
|
||||
"mcp_config": {
|
||||
"command": "npx",
|
||||
"args": ["-y", "mcp-fetch-server"]
|
||||
"args": [
|
||||
"-y",
|
||||
"mcp-fetch-server"
|
||||
]
|
||||
},
|
||||
"homepage": "",
|
||||
"icon_small": "icon_sm.svg",
|
||||
"icon_large": "icon_lg.svg",
|
||||
"scope": "global",
|
||||
"tags": ["http", "fetch", "mcp", "local", "free", "scraping", "youtube"]
|
||||
"tags": [
|
||||
"http",
|
||||
"fetch",
|
||||
"mcp",
|
||||
"local",
|
||||
"free",
|
||||
"scraping",
|
||||
"youtube"
|
||||
],
|
||||
"version": 1,
|
||||
"version_string": "1.0.0",
|
||||
"version_release_date": "2026-07-19"
|
||||
}
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
{
|
||||
"id": "ssh",
|
||||
"name": "SSH Remote Access",
|
||||
"version": "1.0.0",
|
||||
"type": "mcp_local",
|
||||
"launch_command": "python3 ssh_mcp_server.py",
|
||||
"transport": "stdio",
|
||||
@@ -76,7 +75,7 @@
|
||||
"docs": [
|
||||
{
|
||||
"lang": "en",
|
||||
"description": "Full SSH remote server access: read/write files, grep, execute commands, manage systemd services, upload/download files and directories, and probe system info — all over SFTP and SSH with the same output format as Skald's native tools. Aliases manage host config (hostname, port, user, auth method, sudo policy). Login passwords and sudo passwords are elicited on demand and kept only in RAM with configurable TTL. No OAuth, no API keys, no secrets on disk.",
|
||||
"description": "Full SSH remote server access: read/write files, grep, execute commands, manage systemd services, upload/download files and directories, and probe system info \u2014 all over SFTP and SSH with the same output format as Skald's native tools. Aliases manage host config (hostname, port, user, auth method, sudo policy). Login passwords and sudo passwords are elicited on demand and kept only in RAM with configurable TTL. No OAuth, no API keys, no secrets on disk.",
|
||||
"llm_short_description": "SSH MCP server: 13 tools (list/add/remove_alias, read_file, list_files, grep_files, edit_file, replace_lines, exec, upload, download, sysinfo, systemd). Auth via key/agent or elicited password. Sudo via nopasswd or elicited password. Connection pooling with lazy TTL eviction."
|
||||
}
|
||||
],
|
||||
@@ -109,5 +108,8 @@
|
||||
],
|
||||
"auth": {
|
||||
"type": "none"
|
||||
}
|
||||
},
|
||||
"version": 1,
|
||||
"version_string": "1.0.0",
|
||||
"version_release_date": "2026-07-19"
|
||||
}
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
{
|
||||
"id": "tavily",
|
||||
"name": "Tavily",
|
||||
"version": "1.0.0",
|
||||
"type": "mcp_remote",
|
||||
"mcp_config": {
|
||||
"url": "https://mcp.tavily.com/mcp/?tavilyApiKey={SECRET:tavilyApiKey}",
|
||||
@@ -11,25 +10,36 @@
|
||||
"command": "python3 verify.py",
|
||||
"timeout_secs": 15
|
||||
},
|
||||
"docs": [{
|
||||
"lang": "en",
|
||||
"description": "Real-time web search and page extraction via Tavily.",
|
||||
"llm_short_description": "Search the web and extract page content through Tavily."
|
||||
}],
|
||||
"docs": [
|
||||
{
|
||||
"lang": "en",
|
||||
"description": "Real-time web search and page extraction via Tavily.",
|
||||
"llm_short_description": "Search the web and extract page content through Tavily."
|
||||
}
|
||||
],
|
||||
"auth": {
|
||||
"type": "api_key"
|
||||
},
|
||||
"env": [{
|
||||
"name": "tavilyApiKey",
|
||||
"label": "Tavily API key",
|
||||
"description": "Create one at https://app.tavily.com (your account dashboard).",
|
||||
"required": true,
|
||||
"secret": true,
|
||||
"example": "tvly-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
|
||||
}],
|
||||
"env": [
|
||||
{
|
||||
"name": "tavilyApiKey",
|
||||
"label": "Tavily API key",
|
||||
"description": "Create one at https://app.tavily.com (your account dashboard).",
|
||||
"required": true,
|
||||
"secret": true,
|
||||
"example": "tvly-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
|
||||
}
|
||||
],
|
||||
"homepage": "https://tavily.com",
|
||||
"icon_small": "icon_sm.png",
|
||||
"icon_large": "icon_lg.png",
|
||||
"scope": "global",
|
||||
"tags": ["search", "mcp", "remote"]
|
||||
"tags": [
|
||||
"search",
|
||||
"mcp",
|
||||
"remote"
|
||||
],
|
||||
"version": 1,
|
||||
"version_string": "1.0.0",
|
||||
"version_release_date": "2026-07-19"
|
||||
}
|
||||
|
||||
@@ -1,28 +1,39 @@
|
||||
{
|
||||
"id": "weather",
|
||||
"name": "Weather (Open-Meteo)",
|
||||
"version": "1.0.0",
|
||||
"type": "mcp_local",
|
||||
"launch_command": "python3 weather_mcp_server.py",
|
||||
"transport": "stdio",
|
||||
"dependencies": [
|
||||
"httpx>=0.27.0"
|
||||
],
|
||||
"docs": [{
|
||||
"lang": "en",
|
||||
"description": "Global weather, forecast, and air quality via Open-Meteo — free, no API key required. Get current conditions (temperature, humidity, wind, UV, visibility), multi-day forecasts (min/max temps, rain probability, sunrise/sunset), and air quality (European & US AQI, PM2.5, PM10, NO\u2082, O\u2083, CO, SO\u2082, NH\u2083) for any city worldwide.",
|
||||
"llm_short_description": "Weather & air quality MCP: current conditions, 16-day forecast, AQI, pollutants. Free, no API key."
|
||||
}],
|
||||
"docs": [
|
||||
{
|
||||
"lang": "en",
|
||||
"description": "Global weather, forecast, and air quality via Open-Meteo \u2014 free, no API key required. Get current conditions (temperature, humidity, wind, UV, visibility), multi-day forecasts (min/max temps, rain probability, sunrise/sunset), and air quality (European & US AQI, PM2.5, PM10, NO\u2082, O\u2083, CO, SO\u2082, NH\u2083) for any city worldwide.",
|
||||
"llm_short_description": "Weather & air quality MCP: current conditions, 16-day forecast, AQI, pollutants. Free, no API key."
|
||||
}
|
||||
],
|
||||
"auth": {
|
||||
"type": "none"
|
||||
},
|
||||
"setup_instructions": [
|
||||
"Install dependencies: pip install -r requirements.txt",
|
||||
"No configuration needed — Open-Meteo is a free public API with no API key."
|
||||
"No configuration needed \u2014 Open-Meteo is a free public API with no API key."
|
||||
],
|
||||
"homepage": "https://open-meteo.com",
|
||||
"icon_small": "icon_sm.svg",
|
||||
"icon_large": "icon_lg.svg",
|
||||
"scope": "global",
|
||||
"tags": ["weather", "mcp", "local", "free", "forecast", "air-quality"]
|
||||
"tags": [
|
||||
"weather",
|
||||
"mcp",
|
||||
"local",
|
||||
"free",
|
||||
"forecast",
|
||||
"air-quality"
|
||||
],
|
||||
"version": 1,
|
||||
"version_string": "1.0.0",
|
||||
"version_release_date": "2026-07-19"
|
||||
}
|
||||
|
||||
@@ -1,13 +1,20 @@
|
||||
{
|
||||
"id": "whatsapp",
|
||||
"name": "WhatsApp",
|
||||
"version": "2.0.1",
|
||||
"type": "mcp_local",
|
||||
"scope": "user",
|
||||
"launch_command": "node index.js",
|
||||
"transport": "stdio",
|
||||
"requires": ["NODE"],
|
||||
"tags": ["messaging", "mcp", "local", "whatsapp", "qr"],
|
||||
"requires": [
|
||||
"NODE"
|
||||
],
|
||||
"tags": [
|
||||
"messaging",
|
||||
"mcp",
|
||||
"local",
|
||||
"whatsapp",
|
||||
"qr"
|
||||
],
|
||||
"dependencies": [
|
||||
"@whiskeysockets/baileys>=6.7.9",
|
||||
"qrcode>=1.5.4"
|
||||
@@ -17,20 +24,27 @@
|
||||
"Open the connector in Skald and scan the QR code with your WhatsApp phone.",
|
||||
"The session is persisted and survives restarts."
|
||||
],
|
||||
"docs": [{
|
||||
"lang": "en",
|
||||
"description": "Send and read WhatsApp messages from your own linked account. Uses Baileys multi-device protocol \u2014 no browser, no Chromium needed. Link via QR code.",
|
||||
"llm_short_description": "Read and send WhatsApp messages, list chats and search contacts on the user\u2019s linked WhatsApp."
|
||||
}],
|
||||
"docs": [
|
||||
{
|
||||
"lang": "en",
|
||||
"description": "Send and read WhatsApp messages from your own linked account. Uses Baileys multi-device protocol \u2014 no browser, no Chromium needed. Link via QR code.",
|
||||
"llm_short_description": "Read and send WhatsApp messages, list chats and search contacts on the user\u2019s linked WhatsApp."
|
||||
}
|
||||
],
|
||||
"auth": {
|
||||
"type": "qr"
|
||||
},
|
||||
"mcp_config": {
|
||||
"command": "node",
|
||||
"args": ["index.js"],
|
||||
"args": [
|
||||
"index.js"
|
||||
],
|
||||
"transport": "stdio"
|
||||
},
|
||||
"homepage": "https://github.com/WhiskeySockets/Baileys",
|
||||
"icon_small": "icon_sm.png",
|
||||
"icon_large": "icon_lg.png"
|
||||
"icon_large": "icon_lg.png",
|
||||
"version": 1,
|
||||
"version_string": "2.0.1",
|
||||
"version_release_date": "2026-07-19"
|
||||
}
|
||||
|
||||
@@ -1,28 +1,39 @@
|
||||
{
|
||||
"id": "wikipedia",
|
||||
"name": "Wikipedia",
|
||||
"version": "1.0.0",
|
||||
"type": "mcp_local",
|
||||
"launch_command": "python3 wikipedia_mcp_server.py",
|
||||
"transport": "stdio",
|
||||
"dependencies": [
|
||||
"httpx>=0.27.0"
|
||||
],
|
||||
"docs": [{
|
||||
"lang": "en",
|
||||
"description": "Search and read Wikipedia articles — free, no API key required. Search by keyword (returns titles, summaries, and URLs) or read the full text content of any Wikipedia article by title. Automatic redirect resolution and article truncation for long pages.",
|
||||
"llm_short_description": "Wikipedia MCP: search articles and read full text. Free, no API key. Tools: search, readArticle."
|
||||
}],
|
||||
"docs": [
|
||||
{
|
||||
"lang": "en",
|
||||
"description": "Search and read Wikipedia articles \u2014 free, no API key required. Search by keyword (returns titles, summaries, and URLs) or read the full text content of any Wikipedia article by title. Automatic redirect resolution and article truncation for long pages.",
|
||||
"llm_short_description": "Wikipedia MCP: search articles and read full text. Free, no API key. Tools: search, readArticle."
|
||||
}
|
||||
],
|
||||
"auth": {
|
||||
"type": "none"
|
||||
},
|
||||
"setup_instructions": [
|
||||
"Install dependencies: pip install -r requirements.txt",
|
||||
"No configuration needed — Wikipedia API is free and public."
|
||||
"No configuration needed \u2014 Wikipedia API is free and public."
|
||||
],
|
||||
"homepage": "https://www.wikipedia.org",
|
||||
"icon_small": "icon_sm.svg",
|
||||
"icon_large": "icon_lg.svg",
|
||||
"scope": "global",
|
||||
"tags": ["wikipedia", "mcp", "local", "free", "reference", "research"]
|
||||
"tags": [
|
||||
"wikipedia",
|
||||
"mcp",
|
||||
"local",
|
||||
"free",
|
||||
"reference",
|
||||
"research"
|
||||
],
|
||||
"version": 1,
|
||||
"version_string": "1.0.0",
|
||||
"version_release_date": "2026-07-19"
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user