From 1b068c21ddcf4b21ada4dcaddd09b20a4305aa46 Mon Sep 17 00:00:00 2001 From: Sundeep Gottipati Date: Mon, 22 Sep 2025 06:48:46 -0700 Subject: [PATCH 01/67] Remote MCP Server entry improvements --- servers/asana/server.yaml | 2 +- servers/atlassian-remote/server.yaml | 2 +- servers/audioscrape/server.yaml | 2 +- servers/box-remote/server.yaml | 2 +- servers/neon-remote/server.yaml | 4 ++-- servers/stripe-remote/server.yaml | 4 ++-- servers/zapier/readme.md | 1 - servers/zapier/server.yaml | 22 ---------------------- servers/zapier/tools.json | 1 - 9 files changed, 8 insertions(+), 32 deletions(-) delete mode 100644 servers/zapier/readme.md delete mode 100644 servers/zapier/server.yaml delete mode 100644 servers/zapier/tools.json diff --git a/servers/asana/server.yaml b/servers/asana/server.yaml index 3ec7bd41..7eab656a 100644 --- a/servers/asana/server.yaml +++ b/servers/asana/server.yaml @@ -11,7 +11,7 @@ meta: - remote about: title: Asana - description: Project Management + description: Interact with your Asana workspace icon: https://www.google.com/s2/favicons?domain=asana.com&sz=64 remote: transport_type: sse diff --git a/servers/atlassian-remote/server.yaml b/servers/atlassian-remote/server.yaml index f9cd181b..875c7dd8 100644 --- a/servers/atlassian-remote/server.yaml +++ b/servers/atlassian-remote/server.yaml @@ -11,7 +11,7 @@ meta: - remote about: title: Atlassian - description: Software Development + description: Tools for Atlassian products (Confluence and Jira). This integration supports both Atlassian Cloud and Jira Server/Data Center deployments. icon: https://www.google.com/s2/favicons?domain=atlassian.com&sz=64 remote: transport_type: sse diff --git a/servers/audioscrape/server.yaml b/servers/audioscrape/server.yaml index 43411bd9..dbd0a966 100644 --- a/servers/audioscrape/server.yaml +++ b/servers/audioscrape/server.yaml @@ -11,7 +11,7 @@ meta: - remote about: title: Audioscrape - description: RAG-as-a-Service + description: Search and analyze audio content from a massive database of podcasts, interviews, and other talks icon: https://www.google.com/s2/favicons?domain=audioscrape.com&sz=64 remote: transport_type: streamable-http diff --git a/servers/box-remote/server.yaml b/servers/box-remote/server.yaml index 0e1d8041..1076650a 100644 --- a/servers/box-remote/server.yaml +++ b/servers/box-remote/server.yaml @@ -11,7 +11,7 @@ meta: - remote about: title: Box - description: Document Management + description: Perform actions related to content stored in Box icon: https://www.google.com/s2/favicons?domain=box.com&sz=64 remote: transport_type: streamable-http diff --git a/servers/neon-remote/server.yaml b/servers/neon-remote/server.yaml index b35cbbfa..41ff0e8a 100644 --- a/servers/neon-remote/server.yaml +++ b/servers/neon-remote/server.yaml @@ -14,8 +14,8 @@ about: description: Software Development icon: https://www.google.com/s2/favicons?domain=neon.tech&sz=64 remote: - transport_type: sse - url: https://mcp.neon.tech/sse + transport_type: streamable-http + url: https://mcp.neon.tech/mcp oauth: - provider: neon-remote secret: neon-remote.personal_access_token diff --git a/servers/stripe-remote/server.yaml b/servers/stripe-remote/server.yaml index a33f0b50..bd20e127 100644 --- a/servers/stripe-remote/server.yaml +++ b/servers/stripe-remote/server.yaml @@ -14,8 +14,8 @@ about: description: Interact with Stripe services over the Stripe API. icon: https://www.google.com/s2/favicons?domain=stripe.com&sz=64 remote: - transport_type: sse - url: https://mcp.stripe.com/sse + transport_type: streamable-http + url: https://mcp.stripe.com oauth: - provider: stripe-remote secret: stripe-remote.personal_access_token diff --git a/servers/zapier/readme.md b/servers/zapier/readme.md deleted file mode 100644 index ad90a97b..00000000 --- a/servers/zapier/readme.md +++ /dev/null @@ -1 +0,0 @@ -Docs: https://zapier.com/blog/zapier-mcp-guide/ diff --git a/servers/zapier/server.yaml b/servers/zapier/server.yaml deleted file mode 100644 index e17ab25b..00000000 --- a/servers/zapier/server.yaml +++ /dev/null @@ -1,22 +0,0 @@ -name: zapier -type: remote -dynamic: - tools: true -meta: - category: automation - tags: - - automation - - integration - - workflow - - remote -about: - title: Zapier - description: Automation - icon: https://www.google.com/s2/favicons?domain=zapier.com&sz=64 -remote: - transport_type: sse - url: https://mcp.zapier.com/sse -oauth: - - provider: zapier - secret: zapier.personal_access_token - env: ZAPIER_PERSONAL_ACCESS_TOKEN diff --git a/servers/zapier/tools.json b/servers/zapier/tools.json deleted file mode 100644 index fe51488c..00000000 --- a/servers/zapier/tools.json +++ /dev/null @@ -1 +0,0 @@ -[] From b63576e70c1c0ff33139e44682f701bead398ec4 Mon Sep 17 00:00:00 2001 From: Jim Clark Date: Mon, 22 Sep 2025 12:58:23 -0700 Subject: [PATCH 02/67] Use config to mount kubernetes .kube/config --- servers/kubernetes/server.yaml | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/servers/kubernetes/server.yaml b/servers/kubernetes/server.yaml index 5fd79021..d94d2171 100644 --- a/servers/kubernetes/server.yaml +++ b/servers/kubernetes/server.yaml @@ -12,3 +12,18 @@ about: icon: https://avatars.githubusercontent.com/u/13629408?s=200&v=4 source: project: https://github.com/Flux159/mcp-server-kubernetes +run: + volumes: + - '{{kubernetes.config_path}}:/home/appuser/.kube/config' + env: + - name: KUBECONFIG_PATH + value: /home/appuser/.kube/config +config: + description: the path to the host .kube/config + parameters: + type: object + properties: + config_path: + type: string + required: + - path From 4072199cc76019d64f0daec438a193dbc3a33d5b Mon Sep 17 00:00:00 2001 From: Jim Clark Date: Mon, 22 Sep 2025 13:05:36 -0700 Subject: [PATCH 03/67] Fix definition --- servers/kubernetes/server.yaml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/servers/kubernetes/server.yaml b/servers/kubernetes/server.yaml index d94d2171..af1025d4 100644 --- a/servers/kubernetes/server.yaml +++ b/servers/kubernetes/server.yaml @@ -15,15 +15,16 @@ source: run: volumes: - '{{kubernetes.config_path}}:/home/appuser/.kube/config' +config: env: - name: KUBECONFIG_PATH + example: /Users/slim/.kube/config value: /home/appuser/.kube/config -config: - description: the path to the host .kube/config parameters: type: object properties: config_path: + description: the path to the host .kube/config type: string required: - path From 0631cf359a597c073982d8912dbb229750cd6ea9 Mon Sep 17 00:00:00 2001 From: Jim Clark Date: Mon, 22 Sep 2025 13:14:25 -0700 Subject: [PATCH 04/67] fix env example --- servers/kubernetes/server.yaml | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/servers/kubernetes/server.yaml b/servers/kubernetes/server.yaml index af1025d4..93b41659 100644 --- a/servers/kubernetes/server.yaml +++ b/servers/kubernetes/server.yaml @@ -16,10 +16,6 @@ run: volumes: - '{{kubernetes.config_path}}:/home/appuser/.kube/config' config: - env: - - name: KUBECONFIG_PATH - example: /Users/slim/.kube/config - value: /home/appuser/.kube/config parameters: type: object properties: @@ -27,4 +23,4 @@ config: description: the path to the host .kube/config type: string required: - - path + - config_path From 62a0a6980fad89acd4523d9287f665375347122a Mon Sep 17 00:00:00 2001 From: Jim Clark Date: Mon, 22 Sep 2025 13:31:37 -0700 Subject: [PATCH 05/67] one more fix --- servers/kubernetes/server.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/servers/kubernetes/server.yaml b/servers/kubernetes/server.yaml index 93b41659..0c91b90a 100644 --- a/servers/kubernetes/server.yaml +++ b/servers/kubernetes/server.yaml @@ -16,6 +16,7 @@ run: volumes: - '{{kubernetes.config_path}}:/home/appuser/.kube/config' config: + description: Configure the location of the host Kubernetes file parameters: type: object properties: From 64e27bed9fd9336654ec9e313b7297b8c19e3b9a Mon Sep 17 00:00:00 2001 From: Sundeep Gottipati Date: Mon, 22 Sep 2025 14:17:27 -0700 Subject: [PATCH 06/67] Add Cloudflare and Cloudinary remote MCPs --- servers/canva/server.yaml | 2 +- servers/carbon-voice/server.yaml | 2 +- servers/close/server.yaml | 2 +- servers/cloudflare-ai-gateway/readme.md | 1 + servers/cloudflare-ai-gateway/server.yaml | 23 ++++++++++++++++++ servers/cloudflare-ai-gateway/tools.json | 1 + servers/cloudflare-audit-logs/readme.md | 1 + servers/cloudflare-audit-logs/server.yaml | 24 +++++++++++++++++++ servers/cloudflare-audit-logs/tools.json | 1 + servers/cloudflare-autorag/readme.md | 1 + servers/cloudflare-autorag/server.yaml | 23 ++++++++++++++++++ servers/cloudflare-autorag/tools.json | 1 + .../cloudflare-browser-rendering/readme.md | 1 + .../cloudflare-browser-rendering/server.yaml | 24 +++++++++++++++++++ .../cloudflare-browser-rendering/tools.json | 1 + servers/cloudflare-container/readme.md | 1 + servers/cloudflare-container/server.yaml | 23 ++++++++++++++++++ servers/cloudflare-container/tools.json | 1 + servers/cloudflare-logpush/readme.md | 1 + servers/cloudflare-logpush/server.yaml | 23 ++++++++++++++++++ servers/cloudflare-logpush/tools.json | 1 + servers/cloudflare-observability/server.yaml | 2 +- servers/cloudflare-radar/readme.md | 1 + servers/cloudflare-radar/server.yaml | 22 +++++++++++++++++ servers/cloudflare-radar/tools.json | 1 + .../readme.md | 0 .../server.yaml | 10 ++++---- .../tools.json | 0 servers/cloudflare-workers-builds/readme.md | 1 + servers/cloudflare-workers-builds/server.yaml | 22 +++++++++++++++++ servers/cloudflare-workers-builds/tools.json | 1 + servers/cloudinary-analysis/readme.md | 1 + servers/cloudinary-analysis/server.yaml | 24 +++++++++++++++++++ servers/cloudinary-analysis/tools.json | 1 + .../cloudinary-asset-management/server.yaml | 2 +- .../cloudinary-environment-config/readme.md | 1 + .../cloudinary-environment-config/server.yaml | 23 ++++++++++++++++++ .../cloudinary-environment-config/tools.json | 1 + servers/cloudinary-mediaflows/readme.md | 1 + servers/cloudinary-mediaflows/server.yaml | 23 ++++++++++++++++++ servers/cloudinary-mediaflows/tools.json | 1 + .../cloudinary-structured-metadata/readme.md | 1 + .../server.yaml | 23 ++++++++++++++++++ .../cloudinary-structured-metadata/tools.json | 1 + servers/dialer/server.yaml | 2 +- servers/firefly/server.yaml | 2 +- servers/github-remote/server.yaml | 2 +- servers/globalping/server.yaml | 2 +- servers/grafbase/server.yaml | 2 +- servers/hubspot/server.yaml | 2 +- servers/instant/server.yaml | 2 +- servers/intercom/server.yaml | 2 +- servers/invideo/server.yaml | 2 +- servers/jam/server.yaml | 2 +- servers/kollektiv/server.yaml | 2 +- servers/linear/server.yaml | 2 +- servers/listenetic/server.yaml | 2 +- servers/meta-ads/server.yaml | 2 +- servers/monday/server.yaml | 2 +- servers/neon-remote/server.yaml | 2 +- servers/netlify/server.yaml | 2 +- servers/notion-remote/server.yaml | 2 +- servers/octagon/server.yaml | 2 +- servers/onecontext/server.yaml | 2 +- servers/openmesh/server.yaml | 2 +- servers/paypal/server.yaml | 2 +- servers/plaid/server.yaml | 2 +- servers/prisma-postgres/server.yaml | 2 +- servers/scorecard/server.yaml | 2 +- servers/sentry-remote/server.yaml | 2 +- servers/simplescraper/server.yaml | 2 +- servers/square/server.yaml | 2 +- servers/stytch/server.yaml | 2 +- servers/turkish-airlines/server.yaml | 2 +- servers/vercel/server.yaml | 2 +- servers/waystation/server.yaml | 2 +- servers/webflow-remote/server.yaml | 2 +- servers/wix/server.yaml | 2 +- 78 files changed, 345 insertions(+), 44 deletions(-) create mode 100644 servers/cloudflare-ai-gateway/readme.md create mode 100644 servers/cloudflare-ai-gateway/server.yaml create mode 100644 servers/cloudflare-ai-gateway/tools.json create mode 100644 servers/cloudflare-audit-logs/readme.md create mode 100644 servers/cloudflare-audit-logs/server.yaml create mode 100644 servers/cloudflare-audit-logs/tools.json create mode 100644 servers/cloudflare-autorag/readme.md create mode 100644 servers/cloudflare-autorag/server.yaml create mode 100644 servers/cloudflare-autorag/tools.json create mode 100644 servers/cloudflare-browser-rendering/readme.md create mode 100644 servers/cloudflare-browser-rendering/server.yaml create mode 100644 servers/cloudflare-browser-rendering/tools.json create mode 100644 servers/cloudflare-container/readme.md create mode 100644 servers/cloudflare-container/server.yaml create mode 100644 servers/cloudflare-container/tools.json create mode 100644 servers/cloudflare-logpush/readme.md create mode 100644 servers/cloudflare-logpush/server.yaml create mode 100644 servers/cloudflare-logpush/tools.json create mode 100644 servers/cloudflare-radar/readme.md create mode 100644 servers/cloudflare-radar/server.yaml create mode 100644 servers/cloudflare-radar/tools.json rename servers/{cloudflare-workers => cloudflare-workers-bindings}/readme.md (100%) rename servers/{cloudflare-workers => cloudflare-workers-bindings}/server.yaml (56%) rename servers/{cloudflare-workers => cloudflare-workers-bindings}/tools.json (100%) create mode 100644 servers/cloudflare-workers-builds/readme.md create mode 100644 servers/cloudflare-workers-builds/server.yaml create mode 100644 servers/cloudflare-workers-builds/tools.json create mode 100644 servers/cloudinary-analysis/readme.md create mode 100644 servers/cloudinary-analysis/server.yaml create mode 100644 servers/cloudinary-analysis/tools.json create mode 100644 servers/cloudinary-environment-config/readme.md create mode 100644 servers/cloudinary-environment-config/server.yaml create mode 100644 servers/cloudinary-environment-config/tools.json create mode 100644 servers/cloudinary-mediaflows/readme.md create mode 100644 servers/cloudinary-mediaflows/server.yaml create mode 100644 servers/cloudinary-mediaflows/tools.json create mode 100644 servers/cloudinary-structured-metadata/readme.md create mode 100644 servers/cloudinary-structured-metadata/server.yaml create mode 100644 servers/cloudinary-structured-metadata/tools.json diff --git a/servers/canva/server.yaml b/servers/canva/server.yaml index 4fdc4f4d..351f6831 100644 --- a/servers/canva/server.yaml +++ b/servers/canva/server.yaml @@ -11,7 +11,7 @@ meta: - remote about: title: Canva - description: Design + description: Create professional graphics, presentations, and marketing materials with AI-powered design tools and templates icon: https://www.google.com/s2/favicons?domain=canva.com&sz=64 remote: transport_type: streamable-http diff --git a/servers/carbon-voice/server.yaml b/servers/carbon-voice/server.yaml index d1437bdb..12913ce3 100644 --- a/servers/carbon-voice/server.yaml +++ b/servers/carbon-voice/server.yaml @@ -11,7 +11,7 @@ meta: - remote about: title: Carbon Voice - description: Productivity + description: Communicate asynchronously with voice messages featuring AI transcription, summaries, and automated action item extraction icon: https://www.google.com/s2/favicons?domain=carbonvoice.app&sz=64 remote: transport_type: streamable-http diff --git a/servers/close/server.yaml b/servers/close/server.yaml index 8c9d0c20..16c67967 100644 --- a/servers/close/server.yaml +++ b/servers/close/server.yaml @@ -11,7 +11,7 @@ meta: - remote about: title: Close - description: CRM + description: Streamline sales processes with integrated calling, email, SMS, and automated workflows for small and scaling businesses icon: https://www.google.com/s2/favicons?domain=close.com&sz=64 remote: transport_type: streamable-http diff --git a/servers/cloudflare-ai-gateway/readme.md b/servers/cloudflare-ai-gateway/readme.md new file mode 100644 index 00000000..10d89e90 --- /dev/null +++ b/servers/cloudflare-ai-gateway/readme.md @@ -0,0 +1 @@ +Docs: https://github.com/cloudflare/mcp-server-cloudflare/tree/main/apps/ai-gateway \ No newline at end of file diff --git a/servers/cloudflare-ai-gateway/server.yaml b/servers/cloudflare-ai-gateway/server.yaml new file mode 100644 index 00000000..b0ce0efe --- /dev/null +++ b/servers/cloudflare-ai-gateway/server.yaml @@ -0,0 +1,23 @@ +name: cloudflare-ai-gateway +type: remote +dynamic: + tools: true +meta: + category: ai + tags: + - ai + - gateway + - logs + - cloudflare + - remote +about: + title: Cloudflare AI Gateway + description: Search your logs, get details about the prompts and responses + icon: https://www.google.com/s2/favicons?domain=cloudflare.com&sz=64 +remote: + transport_type: sse + url: https://ai-gateway.mcp.cloudflare.com/sse +oauth: + - provider: cloudflare-ai-gateway + secret: cloudflare-ai-gateway.personal_access_token + env: CLOUDFLARE_PERSONAL_ACCESS_TOKEN \ No newline at end of file diff --git a/servers/cloudflare-ai-gateway/tools.json b/servers/cloudflare-ai-gateway/tools.json new file mode 100644 index 00000000..0637a088 --- /dev/null +++ b/servers/cloudflare-ai-gateway/tools.json @@ -0,0 +1 @@ +[] \ No newline at end of file diff --git a/servers/cloudflare-audit-logs/readme.md b/servers/cloudflare-audit-logs/readme.md new file mode 100644 index 00000000..89c146d2 --- /dev/null +++ b/servers/cloudflare-audit-logs/readme.md @@ -0,0 +1 @@ +Docs: https://github.com/cloudflare/mcp-server-cloudflare/tree/main/apps/auditlogs \ No newline at end of file diff --git a/servers/cloudflare-audit-logs/server.yaml b/servers/cloudflare-audit-logs/server.yaml new file mode 100644 index 00000000..02d81c3d --- /dev/null +++ b/servers/cloudflare-audit-logs/server.yaml @@ -0,0 +1,24 @@ +name: cloudflare-audit-logs +type: remote +dynamic: + tools: true +meta: + category: security + tags: + - security + - audit + - logs + - compliance + - cloudflare + - remote +about: + title: Cloudflare Audit Logs + description: Query audit logs and generate reports for review + icon: https://www.google.com/s2/favicons?domain=cloudflare.com&sz=64 +remote: + transport_type: sse + url: https://audit-logs.mcp.cloudflare.com/sse +oauth: + - provider: cloudflare-audit-logs + secret: cloudflare-audit-logs.personal_access_token + env: CLOUDFLARE_PERSONAL_ACCESS_TOKEN \ No newline at end of file diff --git a/servers/cloudflare-audit-logs/tools.json b/servers/cloudflare-audit-logs/tools.json new file mode 100644 index 00000000..0637a088 --- /dev/null +++ b/servers/cloudflare-audit-logs/tools.json @@ -0,0 +1 @@ +[] \ No newline at end of file diff --git a/servers/cloudflare-autorag/readme.md b/servers/cloudflare-autorag/readme.md new file mode 100644 index 00000000..27a46356 --- /dev/null +++ b/servers/cloudflare-autorag/readme.md @@ -0,0 +1 @@ +Docs: https://github.com/cloudflare/mcp-server-cloudflare/tree/main/apps/autorag \ No newline at end of file diff --git a/servers/cloudflare-autorag/server.yaml b/servers/cloudflare-autorag/server.yaml new file mode 100644 index 00000000..f9ac1982 --- /dev/null +++ b/servers/cloudflare-autorag/server.yaml @@ -0,0 +1,23 @@ +name: cloudflare-autorag +type: remote +dynamic: + tools: true +meta: + category: ai + tags: + - ai + - rag + - documents + - cloudflare + - remote +about: + title: Cloudflare AutoRAG + description: List and search documents on your AutoRAGs + icon: https://www.google.com/s2/favicons?domain=cloudflare.com&sz=64 +remote: + transport_type: sse + url: https://autorag.mcp.cloudflare.com/sse +oauth: + - provider: cloudflare-autorag + secret: cloudflare-autorag.personal_access_token + env: CLOUDFLARE_PERSONAL_ACCESS_TOKEN \ No newline at end of file diff --git a/servers/cloudflare-autorag/tools.json b/servers/cloudflare-autorag/tools.json new file mode 100644 index 00000000..0637a088 --- /dev/null +++ b/servers/cloudflare-autorag/tools.json @@ -0,0 +1 @@ +[] \ No newline at end of file diff --git a/servers/cloudflare-browser-rendering/readme.md b/servers/cloudflare-browser-rendering/readme.md new file mode 100644 index 00000000..22585b79 --- /dev/null +++ b/servers/cloudflare-browser-rendering/readme.md @@ -0,0 +1 @@ +Docs: https://github.com/cloudflare/mcp-server-cloudflare/tree/main/apps/browser-rendering \ No newline at end of file diff --git a/servers/cloudflare-browser-rendering/server.yaml b/servers/cloudflare-browser-rendering/server.yaml new file mode 100644 index 00000000..22efc842 --- /dev/null +++ b/servers/cloudflare-browser-rendering/server.yaml @@ -0,0 +1,24 @@ +name: cloudflare-browser-rendering +type: remote +dynamic: + tools: true +meta: + category: tools + tags: + - tools + - browser + - rendering + - screenshots + - cloudflare + - remote +about: + title: Cloudflare Browser Rendering + description: Fetch web pages, convert them to markdown and take screenshots + icon: https://www.google.com/s2/favicons?domain=cloudflare.com&sz=64 +remote: + transport_type: sse + url: https://browser.mcp.cloudflare.com/sse +oauth: + - provider: cloudflare-browser-rendering + secret: cloudflare-browser-rendering.personal_access_token + env: CLOUDFLARE_PERSONAL_ACCESS_TOKEN \ No newline at end of file diff --git a/servers/cloudflare-browser-rendering/tools.json b/servers/cloudflare-browser-rendering/tools.json new file mode 100644 index 00000000..0637a088 --- /dev/null +++ b/servers/cloudflare-browser-rendering/tools.json @@ -0,0 +1 @@ +[] \ No newline at end of file diff --git a/servers/cloudflare-container/readme.md b/servers/cloudflare-container/readme.md new file mode 100644 index 00000000..0eb5a3fd --- /dev/null +++ b/servers/cloudflare-container/readme.md @@ -0,0 +1 @@ +Docs: https://github.com/cloudflare/mcp-server-cloudflare/tree/main/apps/sandbox-container \ No newline at end of file diff --git a/servers/cloudflare-container/server.yaml b/servers/cloudflare-container/server.yaml new file mode 100644 index 00000000..10356a08 --- /dev/null +++ b/servers/cloudflare-container/server.yaml @@ -0,0 +1,23 @@ +name: cloudflare-container +type: remote +dynamic: + tools: true +meta: + category: devops + tags: + - devops + - containers + - development + - cloudflare + - remote +about: + title: Cloudflare Container + description: Spin up a sandbox development environment + icon: https://www.google.com/s2/favicons?domain=cloudflare.com&sz=64 +remote: + transport_type: sse + url: https://containers.mcp.cloudflare.com/sse +oauth: + - provider: cloudflare-container + secret: cloudflare-container.personal_access_token + env: CLOUDFLARE_PERSONAL_ACCESS_TOKEN \ No newline at end of file diff --git a/servers/cloudflare-container/tools.json b/servers/cloudflare-container/tools.json new file mode 100644 index 00000000..0637a088 --- /dev/null +++ b/servers/cloudflare-container/tools.json @@ -0,0 +1 @@ +[] \ No newline at end of file diff --git a/servers/cloudflare-logpush/readme.md b/servers/cloudflare-logpush/readme.md new file mode 100644 index 00000000..e41d82e2 --- /dev/null +++ b/servers/cloudflare-logpush/readme.md @@ -0,0 +1 @@ +Docs: https://github.com/cloudflare/mcp-server-cloudflare/tree/main/apps/logpush \ No newline at end of file diff --git a/servers/cloudflare-logpush/server.yaml b/servers/cloudflare-logpush/server.yaml new file mode 100644 index 00000000..5f5ca0b8 --- /dev/null +++ b/servers/cloudflare-logpush/server.yaml @@ -0,0 +1,23 @@ +name: cloudflare-logpush +type: remote +dynamic: + tools: true +meta: + category: monitoring + tags: + - monitoring + - logs + - logpush + - cloudflare + - remote +about: + title: Cloudflare Logpush + description: Get quick summaries for Logpush job health + icon: https://www.google.com/s2/favicons?domain=cloudflare.com&sz=64 +remote: + transport_type: sse + url: https://logs.mcp.cloudflare.com/sse +oauth: + - provider: cloudflare-logpush + secret: cloudflare-logpush.personal_access_token + env: CLOUDFLARE_PERSONAL_ACCESS_TOKEN \ No newline at end of file diff --git a/servers/cloudflare-logpush/tools.json b/servers/cloudflare-logpush/tools.json new file mode 100644 index 00000000..0637a088 --- /dev/null +++ b/servers/cloudflare-logpush/tools.json @@ -0,0 +1 @@ +[] \ No newline at end of file diff --git a/servers/cloudflare-observability/server.yaml b/servers/cloudflare-observability/server.yaml index c258cf94..8f7bab95 100644 --- a/servers/cloudflare-observability/server.yaml +++ b/servers/cloudflare-observability/server.yaml @@ -11,7 +11,7 @@ meta: - remote about: title: Cloudflare Observability - description: Observability + description: Monitor application performance, analyze logs, and gain insights with comprehensive observability tools and real-time analytics icon: https://www.google.com/s2/favicons?domain=cloudflare.com&sz=64 remote: transport_type: sse diff --git a/servers/cloudflare-radar/readme.md b/servers/cloudflare-radar/readme.md new file mode 100644 index 00000000..832a612c --- /dev/null +++ b/servers/cloudflare-radar/readme.md @@ -0,0 +1 @@ +Docs: https://github.com/cloudflare/mcp-server-cloudflare/tree/main/apps/radar \ No newline at end of file diff --git a/servers/cloudflare-radar/server.yaml b/servers/cloudflare-radar/server.yaml new file mode 100644 index 00000000..ec6d3eac --- /dev/null +++ b/servers/cloudflare-radar/server.yaml @@ -0,0 +1,22 @@ +name: cloudflare-radar +type: remote +dynamic: + tools: true +meta: + category: analytics + tags: + - analytics + - internet-traffic + - cloudflare + - remote +about: + title: Cloudflare Radar + description: Get global Internet traffic insights, trends, URL scans, and other utilities + icon: https://www.google.com/s2/favicons?domain=cloudflare.com&sz=64 +remote: + transport_type: sse + url: https://radar.mcp.cloudflare.com/sse +oauth: + - provider: cloudflare-radar + secret: cloudflare-radar.personal_access_token + env: CLOUDFLARE_PERSONAL_ACCESS_TOKEN \ No newline at end of file diff --git a/servers/cloudflare-radar/tools.json b/servers/cloudflare-radar/tools.json new file mode 100644 index 00000000..0637a088 --- /dev/null +++ b/servers/cloudflare-radar/tools.json @@ -0,0 +1 @@ +[] \ No newline at end of file diff --git a/servers/cloudflare-workers/readme.md b/servers/cloudflare-workers-bindings/readme.md similarity index 100% rename from servers/cloudflare-workers/readme.md rename to servers/cloudflare-workers-bindings/readme.md diff --git a/servers/cloudflare-workers/server.yaml b/servers/cloudflare-workers-bindings/server.yaml similarity index 56% rename from servers/cloudflare-workers/server.yaml rename to servers/cloudflare-workers-bindings/server.yaml index f43ecc68..9774116d 100644 --- a/servers/cloudflare-workers/server.yaml +++ b/servers/cloudflare-workers-bindings/server.yaml @@ -1,4 +1,4 @@ -name: cloudflare-workers +name: cloudflare-workers-bindings type: remote dynamic: tools: true @@ -10,13 +10,13 @@ meta: - cloudflare - remote about: - title: Cloudflare Workers - description: Software Development + title: Cloudflare Workers Bindings + description: Build Workers applications with storage, AI, and compute primitives icon: https://www.google.com/s2/favicons?domain=cloudflare.com&sz=64 remote: transport_type: sse url: https://bindings.mcp.cloudflare.com/sse oauth: - - provider: cloudflare-workers - secret: cloudflare-workers.personal_access_token + - provider: cloudflare-workers-bindings + secret: cloudflare-workers-bindings.personal_access_token env: CLOUDFLARE_PERSONAL_ACCESS_TOKEN diff --git a/servers/cloudflare-workers/tools.json b/servers/cloudflare-workers-bindings/tools.json similarity index 100% rename from servers/cloudflare-workers/tools.json rename to servers/cloudflare-workers-bindings/tools.json diff --git a/servers/cloudflare-workers-builds/readme.md b/servers/cloudflare-workers-builds/readme.md new file mode 100644 index 00000000..07accb77 --- /dev/null +++ b/servers/cloudflare-workers-builds/readme.md @@ -0,0 +1 @@ +Docs: https://github.com/cloudflare/mcp-server-cloudflare/tree/main/apps/workers-builds \ No newline at end of file diff --git a/servers/cloudflare-workers-builds/server.yaml b/servers/cloudflare-workers-builds/server.yaml new file mode 100644 index 00000000..5533d5bc --- /dev/null +++ b/servers/cloudflare-workers-builds/server.yaml @@ -0,0 +1,22 @@ +name: cloudflare-workers-builds +type: remote +dynamic: + tools: true +meta: + category: devops + tags: + - devops + - builds + - cloudflare + - remote +about: + title: Cloudflare Workers Builds + description: Get insights and manage your Cloudflare Workers Builds + icon: https://www.google.com/s2/favicons?domain=cloudflare.com&sz=64 +remote: + transport_type: sse + url: https://builds.mcp.cloudflare.com/sse +oauth: + - provider: cloudflare-workers-builds + secret: cloudflare-workers-builds.personal_access_token + env: CLOUDFLARE_PERSONAL_ACCESS_TOKEN \ No newline at end of file diff --git a/servers/cloudflare-workers-builds/tools.json b/servers/cloudflare-workers-builds/tools.json new file mode 100644 index 00000000..0637a088 --- /dev/null +++ b/servers/cloudflare-workers-builds/tools.json @@ -0,0 +1 @@ +[] \ No newline at end of file diff --git a/servers/cloudinary-analysis/readme.md b/servers/cloudinary-analysis/readme.md new file mode 100644 index 00000000..ac5e27be --- /dev/null +++ b/servers/cloudinary-analysis/readme.md @@ -0,0 +1 @@ +Docs: https://cloudinary.com/documentation/cloudinary_llm_mcp \ No newline at end of file diff --git a/servers/cloudinary-analysis/server.yaml b/servers/cloudinary-analysis/server.yaml new file mode 100644 index 00000000..92682365 --- /dev/null +++ b/servers/cloudinary-analysis/server.yaml @@ -0,0 +1,24 @@ +name: cloudinary-analysis +type: remote +dynamic: + tools: true +meta: + category: ai + tags: + - ai + - analysis + - content-moderation + - auto-tagging + - cloudinary + - remote +about: + title: Cloudinary Analysis + description: Leverage AI-powered content analysis, moderation, and auto-tagging capabilities for your media assets + icon: https://www.google.com/s2/favicons?domain=cloudinary.com&sz=64 +remote: + transport_type: sse + url: https://analysis.mcp.cloudinary.com/sse +oauth: + - provider: cloudinary-analysis + secret: cloudinary-analysis.personal_access_token + env: CLOUDINARY_PERSONAL_ACCESS_TOKEN \ No newline at end of file diff --git a/servers/cloudinary-analysis/tools.json b/servers/cloudinary-analysis/tools.json new file mode 100644 index 00000000..0637a088 --- /dev/null +++ b/servers/cloudinary-analysis/tools.json @@ -0,0 +1 @@ +[] \ No newline at end of file diff --git a/servers/cloudinary-asset-management/server.yaml b/servers/cloudinary-asset-management/server.yaml index 04725cd0..ee250b0e 100644 --- a/servers/cloudinary-asset-management/server.yaml +++ b/servers/cloudinary-asset-management/server.yaml @@ -11,7 +11,7 @@ meta: - remote about: title: Cloudinary Asset Management - description: Asset Management + description: Manage, optimize, and deliver media assets with AI-powered transformations, global CDN, and collaborative workflows icon: https://www.google.com/s2/favicons?domain=cloudinary.com&sz=64 remote: transport_type: sse diff --git a/servers/cloudinary-environment-config/readme.md b/servers/cloudinary-environment-config/readme.md new file mode 100644 index 00000000..ac5e27be --- /dev/null +++ b/servers/cloudinary-environment-config/readme.md @@ -0,0 +1 @@ +Docs: https://cloudinary.com/documentation/cloudinary_llm_mcp \ No newline at end of file diff --git a/servers/cloudinary-environment-config/server.yaml b/servers/cloudinary-environment-config/server.yaml new file mode 100644 index 00000000..78b233f5 --- /dev/null +++ b/servers/cloudinary-environment-config/server.yaml @@ -0,0 +1,23 @@ +name: cloudinary-environment-config +type: remote +dynamic: + tools: true +meta: + category: media + tags: + - media + - configuration + - environment + - cloudinary + - remote +about: + title: Cloudinary Environment Config + description: Configure and manage your Cloudinary environment settings, upload presets, and transformations + icon: https://www.google.com/s2/favicons?domain=cloudinary.com&sz=64 +remote: + transport_type: sse + url: https://environment-config.mcp.cloudinary.com/sse +oauth: + - provider: cloudinary-environment-config + secret: cloudinary-environment-config.personal_access_token + env: CLOUDINARY_PERSONAL_ACCESS_TOKEN \ No newline at end of file diff --git a/servers/cloudinary-environment-config/tools.json b/servers/cloudinary-environment-config/tools.json new file mode 100644 index 00000000..0637a088 --- /dev/null +++ b/servers/cloudinary-environment-config/tools.json @@ -0,0 +1 @@ +[] \ No newline at end of file diff --git a/servers/cloudinary-mediaflows/readme.md b/servers/cloudinary-mediaflows/readme.md new file mode 100644 index 00000000..ac5e27be --- /dev/null +++ b/servers/cloudinary-mediaflows/readme.md @@ -0,0 +1 @@ +Docs: https://cloudinary.com/documentation/cloudinary_llm_mcp \ No newline at end of file diff --git a/servers/cloudinary-mediaflows/server.yaml b/servers/cloudinary-mediaflows/server.yaml new file mode 100644 index 00000000..7bf5eeb8 --- /dev/null +++ b/servers/cloudinary-mediaflows/server.yaml @@ -0,0 +1,23 @@ +name: cloudinary-mediaflows +type: remote +dynamic: + tools: true +meta: + category: automation + tags: + - automation + - workflow + - media-processing + - cloudinary + - remote +about: + title: Cloudinary MediaFlows + description: Build and manage low-code workflow automations for images and videos with AI-powered assistance + icon: https://www.google.com/s2/favicons?domain=cloudinary.com&sz=64 +remote: + transport_type: sse + url: https://mediaflows.mcp.cloudinary.com/sse +oauth: + - provider: cloudinary-mediaflows + secret: cloudinary-mediaflows.personal_access_token + env: CLOUDINARY_PERSONAL_ACCESS_TOKEN \ No newline at end of file diff --git a/servers/cloudinary-mediaflows/tools.json b/servers/cloudinary-mediaflows/tools.json new file mode 100644 index 00000000..0637a088 --- /dev/null +++ b/servers/cloudinary-mediaflows/tools.json @@ -0,0 +1 @@ +[] \ No newline at end of file diff --git a/servers/cloudinary-structured-metadata/readme.md b/servers/cloudinary-structured-metadata/readme.md new file mode 100644 index 00000000..ac5e27be --- /dev/null +++ b/servers/cloudinary-structured-metadata/readme.md @@ -0,0 +1 @@ +Docs: https://cloudinary.com/documentation/cloudinary_llm_mcp \ No newline at end of file diff --git a/servers/cloudinary-structured-metadata/server.yaml b/servers/cloudinary-structured-metadata/server.yaml new file mode 100644 index 00000000..dfd286ff --- /dev/null +++ b/servers/cloudinary-structured-metadata/server.yaml @@ -0,0 +1,23 @@ +name: cloudinary-structured-metadata +type: remote +dynamic: + tools: true +meta: + category: media + tags: + - media + - metadata + - organization + - cloudinary + - remote +about: + title: Cloudinary Structured Metadata + description: Create, manage, and query structured metadata fields for enhanced asset organization and searchability + icon: https://www.google.com/s2/favicons?domain=cloudinary.com&sz=64 +remote: + transport_type: sse + url: https://structured-metadata.mcp.cloudinary.com/sse +oauth: + - provider: cloudinary-structured-metadata + secret: cloudinary-structured-metadata.personal_access_token + env: CLOUDINARY_PERSONAL_ACCESS_TOKEN \ No newline at end of file diff --git a/servers/cloudinary-structured-metadata/tools.json b/servers/cloudinary-structured-metadata/tools.json new file mode 100644 index 00000000..0637a088 --- /dev/null +++ b/servers/cloudinary-structured-metadata/tools.json @@ -0,0 +1 @@ +[] \ No newline at end of file diff --git a/servers/dialer/server.yaml b/servers/dialer/server.yaml index 9d215318..e85d0f0c 100644 --- a/servers/dialer/server.yaml +++ b/servers/dialer/server.yaml @@ -11,7 +11,7 @@ meta: - remote about: title: Dialer - description: Outbound Phone Calls + description: Enable AI agents to conduct professional outbound calls for research, interviews, and market validation using your phone number icon: https://www.google.com/s2/favicons?domain=getdialer.app&sz=64 remote: transport_type: sse diff --git a/servers/firefly/server.yaml b/servers/firefly/server.yaml index 16f79745..5a950672 100644 --- a/servers/firefly/server.yaml +++ b/servers/firefly/server.yaml @@ -11,7 +11,7 @@ meta: - remote about: title: Firefly - description: Productivity + description: Transcribe, summarize, and analyze meetings with AI-powered note-taking across video conferencing platforms icon: https://www.google.com/s2/favicons?domain=fireflies.ai&sz=64 remote: transport_type: streamable-http diff --git a/servers/github-remote/server.yaml b/servers/github-remote/server.yaml index f075ca07..7b7b4949 100644 --- a/servers/github-remote/server.yaml +++ b/servers/github-remote/server.yaml @@ -11,7 +11,7 @@ meta: - remote about: title: GitHub - description: Software Development + description: Enhance development workflows with AI pair programming, code suggestions, and intelligent version control assistance icon: https://www.google.com/s2/favicons?domain=githubcopilot.com&sz=64 remote: transport_type: streamable-http diff --git a/servers/globalping/server.yaml b/servers/globalping/server.yaml index 826d4c16..76064cc9 100644 --- a/servers/globalping/server.yaml +++ b/servers/globalping/server.yaml @@ -11,7 +11,7 @@ meta: - remote about: title: Globalping - description: Software Development + description: Run network tests like ping, traceroute, and DNS queries from hundreds of global probes for monitoring and debugging icon: https://www.google.com/s2/favicons?domain=globalping.io&sz=64 remote: transport_type: sse diff --git a/servers/grafbase/server.yaml b/servers/grafbase/server.yaml index 78fa5ef3..053290b7 100644 --- a/servers/grafbase/server.yaml +++ b/servers/grafbase/server.yaml @@ -11,7 +11,7 @@ meta: - remote about: title: Grafbase - description: Software Development + description: Build and deploy high-performance GraphQL APIs with federation, edge computing, and enterprise-grade governance icon: https://www.google.com/s2/favicons?domain=grafbase.com&sz=64 remote: transport_type: streamable-http diff --git a/servers/hubspot/server.yaml b/servers/hubspot/server.yaml index 3fd263a7..3f21703d 100644 --- a/servers/hubspot/server.yaml +++ b/servers/hubspot/server.yaml @@ -11,7 +11,7 @@ meta: - remote about: title: HubSpot - description: CRM + description: Unite marketing, sales, and customer service with AI-powered automation, lead management, and comprehensive analytics icon: https://www.google.com/s2/favicons?domain=hubspot.com&sz=64 remote: transport_type: streamable-http diff --git a/servers/instant/server.yaml b/servers/instant/server.yaml index 4bdfcedf..de76ac3a 100644 --- a/servers/instant/server.yaml +++ b/servers/instant/server.yaml @@ -11,7 +11,7 @@ meta: - remote about: title: Instant - description: Software Development + description: Build real-time, offline-first applications with a modern Firebase-like database and instant synchronization icon: https://www.google.com/s2/favicons?domain=instantdb.com&sz=64 remote: transport_type: streamable-http diff --git a/servers/intercom/server.yaml b/servers/intercom/server.yaml index a95e5a44..613cdba7 100644 --- a/servers/intercom/server.yaml +++ b/servers/intercom/server.yaml @@ -11,7 +11,7 @@ meta: - remote about: title: Intercom - description: Customer Support + description: Deliver AI-powered customer support with live chat, automated workflows, and omnichannel messaging icon: https://www.google.com/s2/favicons?domain=intercom.com&sz=64 remote: transport_type: sse diff --git a/servers/invideo/server.yaml b/servers/invideo/server.yaml index 0dfc18da..814d0c69 100644 --- a/servers/invideo/server.yaml +++ b/servers/invideo/server.yaml @@ -11,7 +11,7 @@ meta: - remote about: title: InVideo - description: Video Platform + description: Create professional marketing videos with AI-powered generation, templates, and automated voiceovers icon: https://www.google.com/s2/favicons?domain=invideo.io&sz=64 remote: transport_type: sse diff --git a/servers/jam/server.yaml b/servers/jam/server.yaml index f55048f2..e65db059 100644 --- a/servers/jam/server.yaml +++ b/servers/jam/server.yaml @@ -11,7 +11,7 @@ meta: - remote about: title: Jam - description: Software Development + description: Capture and debug software issues faster with automatic technical context, console logs, and instant bug reproduction icon: https://www.google.com/s2/favicons?domain=jam.dev&sz=64 remote: transport_type: streamable-http diff --git a/servers/kollektiv/server.yaml b/servers/kollektiv/server.yaml index c3f8491e..5463b9e8 100644 --- a/servers/kollektiv/server.yaml +++ b/servers/kollektiv/server.yaml @@ -11,7 +11,7 @@ meta: - remote about: title: Kollektiv - description: Documentation + description: Create and manage AI-powered knowledge bases and documentation with intelligent search and collaboration features icon: https://www.google.com/s2/favicons?domain=thekollektiv.ai&sz=64 remote: transport_type: sse diff --git a/servers/linear/server.yaml b/servers/linear/server.yaml index 8b70cbb5..c1952b21 100644 --- a/servers/linear/server.yaml +++ b/servers/linear/server.yaml @@ -11,7 +11,7 @@ meta: - remote about: title: Linear - description: Project Management + description: Track issues, plan sprints, and manage product development with a fast, keyboard-first interface designed for software teams icon: https://www.google.com/s2/favicons?domain=linear.app&sz=64 remote: transport_type: sse diff --git a/servers/listenetic/server.yaml b/servers/listenetic/server.yaml index cd2ef19e..8ee6f0d4 100644 --- a/servers/listenetic/server.yaml +++ b/servers/listenetic/server.yaml @@ -11,7 +11,7 @@ meta: - remote about: title: Listenetic - description: Productivity + description: Transform audio content into actionable insights with AI-powered transcription and analysis tools icon: https://www.google.com/s2/favicons?domain=listenetic.ai&sz=64 remote: transport_type: streamable-http diff --git a/servers/meta-ads/server.yaml b/servers/meta-ads/server.yaml index 4855d42a..0809f38d 100644 --- a/servers/meta-ads/server.yaml +++ b/servers/meta-ads/server.yaml @@ -11,7 +11,7 @@ meta: - remote about: title: Meta Ads by Pipeboard - description: Advertising + description: Analyze and optimize Facebook and Instagram ad campaigns with AI-powered insights and performance recommendations icon: https://www.google.com/s2/favicons?domain=pipeboard.co&sz=64 remote: transport_type: sse diff --git a/servers/monday/server.yaml b/servers/monday/server.yaml index 18004ab6..ea4f87d7 100644 --- a/servers/monday/server.yaml +++ b/servers/monday/server.yaml @@ -11,7 +11,7 @@ meta: - remote about: title: monday.com - description: Productivity + description: Manage projects, workflows, and team collaboration with AI-powered automation and customizable boards icon: https://www.google.com/s2/favicons?domain=monday.com&sz=64 remote: transport_type: sse diff --git a/servers/neon-remote/server.yaml b/servers/neon-remote/server.yaml index 41ff0e8a..09175215 100644 --- a/servers/neon-remote/server.yaml +++ b/servers/neon-remote/server.yaml @@ -11,7 +11,7 @@ meta: - remote about: title: Neon - description: Software Development + description: Deploy and scale serverless PostgreSQL databases with instant provisioning, autoscaling, and database branching icon: https://www.google.com/s2/favicons?domain=neon.tech&sz=64 remote: transport_type: streamable-http diff --git a/servers/netlify/server.yaml b/servers/netlify/server.yaml index 75f2721d..65670a50 100644 --- a/servers/netlify/server.yaml +++ b/servers/netlify/server.yaml @@ -11,7 +11,7 @@ meta: - remote about: title: Netlify - description: Software Development + description: Deploy and host web applications with continuous deployment, serverless functions, and global CDN icon: https://www.google.com/s2/favicons?domain=netlify.com&sz=64 remote: transport_type: sse diff --git a/servers/notion-remote/server.yaml b/servers/notion-remote/server.yaml index 7d9b2790..7474d08e 100644 --- a/servers/notion-remote/server.yaml +++ b/servers/notion-remote/server.yaml @@ -11,7 +11,7 @@ meta: - remote about: title: Notion - description: Project Management + description: Manage projects, create documentation, and organize information in collaborative workspaces icon: https://www.google.com/s2/favicons?domain=notion.so&sz=64 remote: transport_type: sse diff --git a/servers/octagon/server.yaml b/servers/octagon/server.yaml index 4a0853f2..637529c1 100644 --- a/servers/octagon/server.yaml +++ b/servers/octagon/server.yaml @@ -11,7 +11,7 @@ meta: - remote about: title: Octagon - description: Market Intelligence + description: Access comprehensive market intelligence, analyze SEC filings, earnings transcripts, and financial data to uncover investment opportunities icon: https://www.google.com/s2/favicons?domain=octagonai.co&sz=64 remote: transport_type: sse diff --git a/servers/onecontext/server.yaml b/servers/onecontext/server.yaml index 68a6f999..fb2b0bda 100644 --- a/servers/onecontext/server.yaml +++ b/servers/onecontext/server.yaml @@ -11,7 +11,7 @@ meta: - remote about: title: OneContext - description: RAG-as-a-Service + description: Build intelligent search and retrieval applications with advanced RAG capabilities and context management icon: https://www.google.com/s2/favicons?domain=onecontext.ai&sz=64 remote: transport_type: sse diff --git a/servers/openmesh/server.yaml b/servers/openmesh/server.yaml index e5c3ff13..c28942b5 100644 --- a/servers/openmesh/server.yaml +++ b/servers/openmesh/server.yaml @@ -11,7 +11,7 @@ meta: - remote about: title: OpenMesh - description: Marketplace for MCP Servers + description: Discover and connect to a curated marketplace of MCP servers for extending AI agent capabilities icon: https://www.google.com/s2/favicons?domain=openmesh.network&sz=64 remote: transport_type: streamable-http diff --git a/servers/paypal/server.yaml b/servers/paypal/server.yaml index e7d1469a..e78b4d2b 100644 --- a/servers/paypal/server.yaml +++ b/servers/paypal/server.yaml @@ -11,7 +11,7 @@ meta: - remote about: title: PayPal - description: Payments + description: Process online payments, manage transactions, and integrate PayPal's payment solutions into applications icon: https://www.google.com/s2/favicons?domain=paypal.com&sz=64 remote: transport_type: sse diff --git a/servers/plaid/server.yaml b/servers/plaid/server.yaml index 616f0bae..5fdd77af 100644 --- a/servers/plaid/server.yaml +++ b/servers/plaid/server.yaml @@ -11,7 +11,7 @@ meta: - remote about: title: Plaid - description: Payments + description: Connect to banking data, verify accounts, and access transaction history across thousands of financial institutions icon: https://www.google.com/s2/favicons?domain=plaid.com&sz=64 remote: transport_type: sse diff --git a/servers/prisma-postgres/server.yaml b/servers/prisma-postgres/server.yaml index 5bf38060..abc95a47 100644 --- a/servers/prisma-postgres/server.yaml +++ b/servers/prisma-postgres/server.yaml @@ -11,7 +11,7 @@ meta: - remote about: title: Prisma Postgres - description: Database + description: Access PostgreSQL databases through Prisma's type-safe ORM with automated migrations and intuitive query building icon: https://www.google.com/s2/favicons?domain=prisma.io&sz=64 remote: transport_type: streamable-http diff --git a/servers/scorecard/server.yaml b/servers/scorecard/server.yaml index a3b1a3b0..886974e9 100644 --- a/servers/scorecard/server.yaml +++ b/servers/scorecard/server.yaml @@ -11,7 +11,7 @@ meta: - remote about: title: Scorecard - description: AI Evaluation + description: Test and evaluate LLM applications with structured testing, continuous monitoring, and performance benchmarking icon: https://www.google.com/s2/favicons?domain=workers.dev&sz=64 remote: transport_type: sse diff --git a/servers/sentry-remote/server.yaml b/servers/sentry-remote/server.yaml index 0c984221..3820d593 100644 --- a/servers/sentry-remote/server.yaml +++ b/servers/sentry-remote/server.yaml @@ -11,7 +11,7 @@ meta: - remote about: title: Sentry - description: Software Development + description: Track application errors, monitor performance, and debug issues in real-time across your entire development stack icon: https://www.google.com/s2/favicons?domain=sentry.io&sz=64 remote: transport_type: sse diff --git a/servers/simplescraper/server.yaml b/servers/simplescraper/server.yaml index 34e57cf0..1202aa98 100644 --- a/servers/simplescraper/server.yaml +++ b/servers/simplescraper/server.yaml @@ -11,7 +11,7 @@ meta: - remote about: title: Simplescraper - description: Web Scraping + description: Extract structured data from websites with AI-powered scraping, automation, and real-time API integration icon: https://www.google.com/s2/favicons?domain=simplescraper.io&sz=64 remote: transport_type: streamable-http diff --git a/servers/square/server.yaml b/servers/square/server.yaml index 4427819a..e01aa224 100644 --- a/servers/square/server.yaml +++ b/servers/square/server.yaml @@ -11,7 +11,7 @@ meta: - remote about: title: Square - description: Payments + description: Process payments, manage point-of-sale transactions, and run commerce operations for businesses of all sizes icon: https://www.google.com/s2/favicons?domain=squareup.com&sz=64 remote: transport_type: sse diff --git a/servers/stytch/server.yaml b/servers/stytch/server.yaml index bc104226..f3831d3e 100644 --- a/servers/stytch/server.yaml +++ b/servers/stytch/server.yaml @@ -11,7 +11,7 @@ meta: - remote about: title: Stytch - description: Authentication + description: Implement passwordless authentication with magic links, OTPs, biometrics, and enterprise-grade security icon: https://www.google.com/s2/favicons?domain=stytch.com&sz=64 remote: transport_type: streamable-http diff --git a/servers/turkish-airlines/server.yaml b/servers/turkish-airlines/server.yaml index f62cccbc..b3634bfd 100644 --- a/servers/turkish-airlines/server.yaml +++ b/servers/turkish-airlines/server.yaml @@ -11,7 +11,7 @@ meta: - remote about: title: Turkish Airlines - description: Airlines + description: Book flights, manage reservations, and access travel services through Turkish Airlines' booking platform icon: https://www.google.com/s2/favicons?domain=turkishtechlab.com&sz=64 remote: transport_type: streamable-http diff --git a/servers/vercel/server.yaml b/servers/vercel/server.yaml index a2988900..86dce01f 100644 --- a/servers/vercel/server.yaml +++ b/servers/vercel/server.yaml @@ -11,7 +11,7 @@ meta: - remote about: title: Vercel - description: Software Development + description: Deploy and scale web applications with serverless functions, global CDN, and automatic Git integration icon: https://www.google.com/s2/favicons?domain=vercel.com&sz=64 remote: transport_type: streamable-http diff --git a/servers/waystation/server.yaml b/servers/waystation/server.yaml index 95ef56ef..1761afc4 100644 --- a/servers/waystation/server.yaml +++ b/servers/waystation/server.yaml @@ -11,7 +11,7 @@ meta: - remote about: title: WayStation - description: Productivity + description: Connect AI to your productivity ecosystem with integrations across Notion, Slack, Asana, Monday.com, and 50+ other business tools icon: https://www.google.com/s2/favicons?domain=waystation.ai&sz=64 remote: transport_type: streamable-http diff --git a/servers/webflow-remote/server.yaml b/servers/webflow-remote/server.yaml index e96d029c..62ac0194 100644 --- a/servers/webflow-remote/server.yaml +++ b/servers/webflow-remote/server.yaml @@ -11,7 +11,7 @@ meta: - remote about: title: Webflow - description: CMS + description: Design and build professional websites visually with no-code tools, advanced CMS, and responsive layouts icon: https://www.google.com/s2/favicons?domain=webflow.com&sz=64 remote: transport_type: sse diff --git a/servers/wix/server.yaml b/servers/wix/server.yaml index 49c6498b..d814d495 100644 --- a/servers/wix/server.yaml +++ b/servers/wix/server.yaml @@ -11,7 +11,7 @@ meta: - remote about: title: Wix - description: CMS + description: Build and manage websites with drag-and-drop tools, content management, and dynamic pages icon: https://www.google.com/s2/favicons?domain=wix.com&sz=64 remote: transport_type: sse From 717cd089e174f76e32752b16802053b03382c083 Mon Sep 17 00:00:00 2001 From: Sundeep Gottipati Date: Mon, 22 Sep 2025 14:35:38 -0700 Subject: [PATCH 07/67] Add remaining 4 Cloudflare servers --- .../readme.md | 1 + .../server.yaml | 23 +++++++++++++++++++ .../tools.json | 1 + servers/cloudflare-dns-analytics/readme.md | 1 + servers/cloudflare-dns-analytics/server.yaml | 23 +++++++++++++++++++ servers/cloudflare-dns-analytics/tools.json | 1 + servers/cloudflare-graphql/readme.md | 1 + servers/cloudflare-graphql/server.yaml | 23 +++++++++++++++++++ servers/cloudflare-graphql/tools.json | 1 + servers/cloudflare-one-casb/readme.md | 1 + servers/cloudflare-one-casb/server.yaml | 23 +++++++++++++++++++ servers/cloudflare-one-casb/tools.json | 1 + 12 files changed, 100 insertions(+) create mode 100644 servers/cloudflare-digital-experience-monitoring/readme.md create mode 100644 servers/cloudflare-digital-experience-monitoring/server.yaml create mode 100644 servers/cloudflare-digital-experience-monitoring/tools.json create mode 100644 servers/cloudflare-dns-analytics/readme.md create mode 100644 servers/cloudflare-dns-analytics/server.yaml create mode 100644 servers/cloudflare-dns-analytics/tools.json create mode 100644 servers/cloudflare-graphql/readme.md create mode 100644 servers/cloudflare-graphql/server.yaml create mode 100644 servers/cloudflare-graphql/tools.json create mode 100644 servers/cloudflare-one-casb/readme.md create mode 100644 servers/cloudflare-one-casb/server.yaml create mode 100644 servers/cloudflare-one-casb/tools.json diff --git a/servers/cloudflare-digital-experience-monitoring/readme.md b/servers/cloudflare-digital-experience-monitoring/readme.md new file mode 100644 index 00000000..534e0cdb --- /dev/null +++ b/servers/cloudflare-digital-experience-monitoring/readme.md @@ -0,0 +1 @@ +Docs: https://github.com/cloudflare/mcp-server-cloudflare/tree/main/apps/dex-analysis \ No newline at end of file diff --git a/servers/cloudflare-digital-experience-monitoring/server.yaml b/servers/cloudflare-digital-experience-monitoring/server.yaml new file mode 100644 index 00000000..608c4636 --- /dev/null +++ b/servers/cloudflare-digital-experience-monitoring/server.yaml @@ -0,0 +1,23 @@ +name: cloudflare-digital-experience-monitoring +type: remote +dynamic: + tools: true +meta: + category: monitoring + tags: + - monitoring + - digital-experience + - applications + - cloudflare + - remote +about: + title: Cloudflare Digital Experience Monitoring + description: Get quick insight on critical applications for your organization + icon: https://www.google.com/s2/favicons?domain=cloudflare.com&sz=64 +remote: + transport_type: sse + url: https://dex-analysis.mcp.cloudflare.com/sse +oauth: + - provider: cloudflare-digital-experience-monitoring + secret: cloudflare-digital-experience-monitoring.personal_access_token + env: CLOUDFLARE_PERSONAL_ACCESS_TOKEN \ No newline at end of file diff --git a/servers/cloudflare-digital-experience-monitoring/tools.json b/servers/cloudflare-digital-experience-monitoring/tools.json new file mode 100644 index 00000000..0637a088 --- /dev/null +++ b/servers/cloudflare-digital-experience-monitoring/tools.json @@ -0,0 +1 @@ +[] \ No newline at end of file diff --git a/servers/cloudflare-dns-analytics/readme.md b/servers/cloudflare-dns-analytics/readme.md new file mode 100644 index 00000000..196fd85f --- /dev/null +++ b/servers/cloudflare-dns-analytics/readme.md @@ -0,0 +1 @@ +Docs: https://github.com/cloudflare/mcp-server-cloudflare/tree/main/apps/dns-analytics \ No newline at end of file diff --git a/servers/cloudflare-dns-analytics/server.yaml b/servers/cloudflare-dns-analytics/server.yaml new file mode 100644 index 00000000..e3353d8f --- /dev/null +++ b/servers/cloudflare-dns-analytics/server.yaml @@ -0,0 +1,23 @@ +name: cloudflare-dns-analytics +type: remote +dynamic: + tools: true +meta: + category: analytics + tags: + - analytics + - dns + - performance + - cloudflare + - remote +about: + title: Cloudflare DNS Analytics + description: Optimize DNS performance and debug issues based on current set up + icon: https://www.google.com/s2/favicons?domain=cloudflare.com&sz=64 +remote: + transport_type: sse + url: https://dns-analytics.mcp.cloudflare.com/sse +oauth: + - provider: cloudflare-dns-analytics + secret: cloudflare-dns-analytics.personal_access_token + env: CLOUDFLARE_PERSONAL_ACCESS_TOKEN \ No newline at end of file diff --git a/servers/cloudflare-dns-analytics/tools.json b/servers/cloudflare-dns-analytics/tools.json new file mode 100644 index 00000000..0637a088 --- /dev/null +++ b/servers/cloudflare-dns-analytics/tools.json @@ -0,0 +1 @@ +[] \ No newline at end of file diff --git a/servers/cloudflare-graphql/readme.md b/servers/cloudflare-graphql/readme.md new file mode 100644 index 00000000..9a9a24ff --- /dev/null +++ b/servers/cloudflare-graphql/readme.md @@ -0,0 +1 @@ +Docs: https://github.com/cloudflare/mcp-server-cloudflare/tree/main/apps/graphql \ No newline at end of file diff --git a/servers/cloudflare-graphql/server.yaml b/servers/cloudflare-graphql/server.yaml new file mode 100644 index 00000000..777c73c6 --- /dev/null +++ b/servers/cloudflare-graphql/server.yaml @@ -0,0 +1,23 @@ +name: cloudflare-graphql +type: remote +dynamic: + tools: true +meta: + category: analytics + tags: + - analytics + - graphql + - api + - cloudflare + - remote +about: + title: Cloudflare GraphQL + description: Get analytics data using Cloudflare's GraphQL API + icon: https://www.google.com/s2/favicons?domain=cloudflare.com&sz=64 +remote: + transport_type: sse + url: https://graphql.mcp.cloudflare.com/sse +oauth: + - provider: cloudflare-graphql + secret: cloudflare-graphql.personal_access_token + env: CLOUDFLARE_PERSONAL_ACCESS_TOKEN \ No newline at end of file diff --git a/servers/cloudflare-graphql/tools.json b/servers/cloudflare-graphql/tools.json new file mode 100644 index 00000000..0637a088 --- /dev/null +++ b/servers/cloudflare-graphql/tools.json @@ -0,0 +1 @@ +[] \ No newline at end of file diff --git a/servers/cloudflare-one-casb/readme.md b/servers/cloudflare-one-casb/readme.md new file mode 100644 index 00000000..2ab06d72 --- /dev/null +++ b/servers/cloudflare-one-casb/readme.md @@ -0,0 +1 @@ +Docs: https://github.com/cloudflare/mcp-server-cloudflare/tree/main/apps/cloudflare-one-casb \ No newline at end of file diff --git a/servers/cloudflare-one-casb/server.yaml b/servers/cloudflare-one-casb/server.yaml new file mode 100644 index 00000000..4a48bda5 --- /dev/null +++ b/servers/cloudflare-one-casb/server.yaml @@ -0,0 +1,23 @@ +name: cloudflare-one-casb +type: remote +dynamic: + tools: true +meta: + category: security + tags: + - security + - casb + - saas + - cloudflare-one + - remote +about: + title: Cloudflare One CASB + description: Quickly identify any security misconfigurations for SaaS applications to safeguard users & data + icon: https://www.google.com/s2/favicons?domain=cloudflare.com&sz=64 +remote: + transport_type: sse + url: https://cloudflare-one-casb.mcp.cloudflare.com/sse +oauth: + - provider: cloudflare-one-casb + secret: cloudflare-one-casb.personal_access_token + env: CLOUDFLARE_PERSONAL_ACCESS_TOKEN \ No newline at end of file diff --git a/servers/cloudflare-one-casb/tools.json b/servers/cloudflare-one-casb/tools.json new file mode 100644 index 00000000..0637a088 --- /dev/null +++ b/servers/cloudflare-one-casb/tools.json @@ -0,0 +1 @@ +[] \ No newline at end of file From 77c22a7111c6dcced9c0b7c4ba5e018c88f3e5b3 Mon Sep 17 00:00:00 2001 From: Sundeep Gottipati Date: Tue, 23 Sep 2025 15:35:54 -0700 Subject: [PATCH 08/67] Fix server URLs and delete onecontext --- servers/cloudflare-audit-logs/server.yaml | 4 ++-- .../server.yaml | 4 ++-- servers/cloudflare-one-casb/server.yaml | 4 ++-- servers/invideo/server.yaml | 4 ---- servers/neon/server.yaml | 1 - servers/netlify/server.yaml | 4 ++-- servers/onecontext/readme.md | 1 - servers/onecontext/server.yaml | 22 ------------------- servers/onecontext/tools.json | 1 - 9 files changed, 8 insertions(+), 37 deletions(-) delete mode 100644 servers/onecontext/readme.md delete mode 100644 servers/onecontext/server.yaml delete mode 100644 servers/onecontext/tools.json diff --git a/servers/cloudflare-audit-logs/server.yaml b/servers/cloudflare-audit-logs/server.yaml index 02d81c3d..1d27abae 100644 --- a/servers/cloudflare-audit-logs/server.yaml +++ b/servers/cloudflare-audit-logs/server.yaml @@ -17,8 +17,8 @@ about: icon: https://www.google.com/s2/favicons?domain=cloudflare.com&sz=64 remote: transport_type: sse - url: https://audit-logs.mcp.cloudflare.com/sse + url: https://auditlogs.mcp.cloudflare.com/sse oauth: - provider: cloudflare-audit-logs secret: cloudflare-audit-logs.personal_access_token - env: CLOUDFLARE_PERSONAL_ACCESS_TOKEN \ No newline at end of file + env: CLOUDFLARE_PERSONAL_ACCESS_TOKEN diff --git a/servers/cloudflare-digital-experience-monitoring/server.yaml b/servers/cloudflare-digital-experience-monitoring/server.yaml index 608c4636..07262597 100644 --- a/servers/cloudflare-digital-experience-monitoring/server.yaml +++ b/servers/cloudflare-digital-experience-monitoring/server.yaml @@ -16,8 +16,8 @@ about: icon: https://www.google.com/s2/favicons?domain=cloudflare.com&sz=64 remote: transport_type: sse - url: https://dex-analysis.mcp.cloudflare.com/sse + url: https://dex.mcp.cloudflare.com/sse oauth: - provider: cloudflare-digital-experience-monitoring secret: cloudflare-digital-experience-monitoring.personal_access_token - env: CLOUDFLARE_PERSONAL_ACCESS_TOKEN \ No newline at end of file + env: CLOUDFLARE_PERSONAL_ACCESS_TOKEN diff --git a/servers/cloudflare-one-casb/server.yaml b/servers/cloudflare-one-casb/server.yaml index 4a48bda5..00cf18f0 100644 --- a/servers/cloudflare-one-casb/server.yaml +++ b/servers/cloudflare-one-casb/server.yaml @@ -16,8 +16,8 @@ about: icon: https://www.google.com/s2/favicons?domain=cloudflare.com&sz=64 remote: transport_type: sse - url: https://cloudflare-one-casb.mcp.cloudflare.com/sse + url: https://casb.mcp.cloudflare.com/sse oauth: - provider: cloudflare-one-casb secret: cloudflare-one-casb.personal_access_token - env: CLOUDFLARE_PERSONAL_ACCESS_TOKEN \ No newline at end of file + env: CLOUDFLARE_PERSONAL_ACCESS_TOKEN diff --git a/servers/invideo/server.yaml b/servers/invideo/server.yaml index 814d0c69..e85d5862 100644 --- a/servers/invideo/server.yaml +++ b/servers/invideo/server.yaml @@ -16,7 +16,3 @@ about: remote: transport_type: sse url: https://mcp.invideo.io/sse -oauth: - - provider: invideo - secret: invideo.personal_access_token - env: INVVIDEO_PERSONAL_ACCESS_TOKEN diff --git a/servers/neon/server.yaml b/servers/neon/server.yaml index 7590fe91..71761da7 100644 --- a/servers/neon/server.yaml +++ b/servers/neon/server.yaml @@ -11,7 +11,6 @@ about: icon: https://avatars.githubusercontent.com/u/183852044?s=200&v=4 source: project: https://github.com/neondatabase-labs/mcp-server-neon - branch: dbfa184afd9fc677c0d6b007a62b33194e883821 config: secrets: - name: neon.api_key diff --git a/servers/netlify/server.yaml b/servers/netlify/server.yaml index 65670a50..7819c27c 100644 --- a/servers/netlify/server.yaml +++ b/servers/netlify/server.yaml @@ -14,8 +14,8 @@ about: description: Deploy and host web applications with continuous deployment, serverless functions, and global CDN icon: https://www.google.com/s2/favicons?domain=netlify.com&sz=64 remote: - transport_type: sse - url: https://mcp.netlify.com/sse + transport_type: streamable-http + url: https://netlify-mcp.netlify.app/mcp oauth: - provider: netlify secret: netlify.personal_access_token diff --git a/servers/onecontext/readme.md b/servers/onecontext/readme.md deleted file mode 100644 index af91a0c8..00000000 --- a/servers/onecontext/readme.md +++ /dev/null @@ -1 +0,0 @@ -Docs: https://docs.onecontext.ai diff --git a/servers/onecontext/server.yaml b/servers/onecontext/server.yaml deleted file mode 100644 index fb2b0bda..00000000 --- a/servers/onecontext/server.yaml +++ /dev/null @@ -1,22 +0,0 @@ -name: onecontext -type: remote -dynamic: - tools: true -meta: - category: ai - tags: - - ai - - rag - - context - - remote -about: - title: OneContext - description: Build intelligent search and retrieval applications with advanced RAG capabilities and context management - icon: https://www.google.com/s2/favicons?domain=onecontext.ai&sz=64 -remote: - transport_type: sse - url: https://mcp.onecontext.ai/sse -oauth: - - provider: onecontext - secret: onecontext.personal_access_token - env: ONECONTEXT_PERSONAL_ACCESS_TOKEN diff --git a/servers/onecontext/tools.json b/servers/onecontext/tools.json deleted file mode 100644 index fe51488c..00000000 --- a/servers/onecontext/tools.json +++ /dev/null @@ -1 +0,0 @@ -[] From a07357d6dd9991524408a9e246e0267d34648697 Mon Sep 17 00:00:00 2001 From: Sundeep Gottipati Date: Tue, 23 Sep 2025 15:42:54 -0700 Subject: [PATCH 09/67] Revert neon change. The main branch's Docker build isn't building and the custom branch defined doesn't exist anymore. Will revisit later --- servers/neon/server.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/servers/neon/server.yaml b/servers/neon/server.yaml index 71761da7..7590fe91 100644 --- a/servers/neon/server.yaml +++ b/servers/neon/server.yaml @@ -11,6 +11,7 @@ about: icon: https://avatars.githubusercontent.com/u/183852044?s=200&v=4 source: project: https://github.com/neondatabase-labs/mcp-server-neon + branch: dbfa184afd9fc677c0d6b007a62b33194e883821 config: secrets: - name: neon.api_key From 3fd4921ff2e908e2415d50688603c0994e8c39c6 Mon Sep 17 00:00:00 2001 From: Ali Hashemi <14126952+hashemix@users.noreply.github.com> Date: Wed, 24 Sep 2025 03:33:05 -0300 Subject: [PATCH 10/67] add rust-mcp-filesystem (#281) --- servers/rust-mcp-filesystem/server.yaml | 51 +++++++++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 servers/rust-mcp-filesystem/server.yaml diff --git a/servers/rust-mcp-filesystem/server.yaml b/servers/rust-mcp-filesystem/server.yaml new file mode 100644 index 00000000..4613e548 --- /dev/null +++ b/servers/rust-mcp-filesystem/server.yaml @@ -0,0 +1,51 @@ +name: rust-mcp-filesystem +image: mcp/rust-mcp-filesystem +type: server +meta: + category: productivity + tags: + - productivity +about: + title: Blazing-fast, asynchronous MCP server for seamless filesystem operations. + description: |- + The Rust MCP Filesystem is a high-performance, asynchronous, and lightweight Model Context Protocol (MCP) server built in Rust for secure and efficient filesystem operations. Designed with security in mind, it operates in read-only mode by default and restricts clients from updating allowed directories via MCP Roots unless explicitly enabled, ensuring robust protection against unauthorized access. Leveraging asynchronous I/O, it delivers blazingly fast performance with a minimal resource footprint. + Optimized for token efficiency, the Rust MCP Filesystem enables large language models (LLMs) to precisely target searches and edits within specific sections of large files and restrict operations by file size range, making it ideal for efficient file exploration, automation, and system integration. + icon: https://raw.githubusercontent.com/rust-mcp-stack/rust-mcp-filesystem/refs/heads/main/docs/_media/rust-mcp-filesystem.png +source: + project: https://github.com/rust-mcp-stack/rust-mcp-filesystem +run: + command: + - "{{rust-mcp-filesystem.allowed_directories|volume-target|into}}" + volumes: + - "{{rust-mcp-filesystem.allowed_directories|volume|into}}" + disableNetwork: true +config: + description: Configure rust-mcp-filesystem to allow access only to permitted directories. + env: + - name: ENABLE_ROOTS + example: "false" + value: "{{rust-mcp-filesystem.enable_roots}}" + - name: ALLOW_WRITE + example: "false" + value: "{{rust-mcp-filesystem.allow_write}}" + parameters: + type: object + properties: + allow_write: + type: boolean + title: Allow Write + description: Enable read/write mode. If false, the app operates in read-only mode. + default: false + enable_roots: + type: boolean + title: Enable MCP Roots + description: Enable dynamic directory access control via MCP client-side Roots. + default: false + allowed_directories: + type: array + items: + type: string + title: Allowed Directories + description: List of directories that rust-mcp-filesystem can access. + default: + - /Users/local-test From 83d3947d302bb791b634baaf24a3482585b26195 Mon Sep 17 00:00:00 2001 From: Souhardya <101405778+Souhar-dya@users.noreply.github.com> Date: Wed, 24 Sep 2025 12:03:43 +0530 Subject: [PATCH 11/67] Add MCP Database Server with multi-database support and natural language queries (#284) - Supports SQLite, PostgreSQL, and MySQL databases - Natural language to SQL query conversion - Direct SQL execution with safety checks - Schema inspection and table listing - FastAPI web interface with health checks - Comprehensive Docker deployment support --- servers/database-server/readme.md | 132 ++++++++++++++++++++++++++++ servers/database-server/server.yaml | 34 +++++++ servers/database-server/tools.json | 61 +++++++++++++ 3 files changed, 227 insertions(+) create mode 100644 servers/database-server/readme.md create mode 100644 servers/database-server/server.yaml create mode 100644 servers/database-server/tools.json diff --git a/servers/database-server/readme.md b/servers/database-server/readme.md new file mode 100644 index 00000000..65297916 --- /dev/null +++ b/servers/database-server/readme.md @@ -0,0 +1,132 @@ +# MCP Database Server + +Comprehensive database server supporting PostgreSQL, MySQL, and SQLite with natural language SQL query capabilities. Enables AI agents to interact with databases through both direct SQL and natural language queries. + +## Features + +- **Multi-Database Support**: Works with SQLite, PostgreSQL, and MySQL +- **Natural Language Queries**: Convert natural language to SQL automatically +- **Direct SQL Execution**: Execute raw SQL with safety checks +- **Schema Inspection**: List tables and describe table structures +- **FastAPI Web Interface**: RESTful API endpoints for web integration +- **Docker Ready**: Fully containerized with health checks + +## Available MCP Tools + +### `query_database` +**Description**: Execute natural language queries against the database and convert them to SQL + +**Usage**: Ask questions like "Show me all users created in the last week" or "Find the top 10 products by sales" + +**Arguments**: +- `query` (string): Natural language description of what you want to query from the database + +### `list_tables` +**Description**: List all available tables in the current database + +**Usage**: Ask "What tables are available?" or "Show me the database structure" + +### `describe_table` +**Description**: Get detailed schema information for a specific table including columns, types, and constraints + +**Usage**: Ask "Describe the users table" or "What columns does the products table have?" + +**Arguments**: +- `table_name` (string): Name of the table to describe + +### `execute_sql` +**Description**: Execute raw SQL queries with safety checks and validation + +**Usage**: Execute specific SQL commands when you need precise control + +**Arguments**: +- `query` (string): SQL query to execute + +### `connect_to_database` +**Description**: Connect to a new database using provided connection details + +**Usage**: Switch between different databases during your session + +**Arguments**: +- `connection_string` (string): Database connection string + +### `get_connection_examples` +**Description**: Get example connection strings for different database types (SQLite, PostgreSQL, MySQL) + +**Usage**: Ask "How do I connect to a PostgreSQL database?" or "Show me connection examples" + +### `get_current_database_info` +**Description**: Get information about the currently connected database including type, version, and connection status + +**Usage**: Ask "What database am I connected to?" or "Show me current connection details" + +## Example Queries + +Here are some example questions you can ask your agent: + +```python +# Basic queries +"Show me all users in the database" +"What tables are available?" +"Describe the products table structure" + +# Complex analysis +"Find the top 5 customers by total order value" +"Show me users who registered in the last month" +"What's the average product price by category?" + +# Data exploration +"How many orders were placed yesterday?" +"List all products that are out of stock" +"Find duplicate email addresses in the users table" +``` + +## Configuration + +The server requires a `DATABASE_URL` environment variable with your database connection string: + +### SQLite (recommended for testing) +``` +DATABASE_URL=sqlite+aiosqlite:///data/mydb.db +``` + +### PostgreSQL +``` +DATABASE_URL=postgresql+asyncpg://user:password@localhost:5432/mydb +``` + +### MySQL +``` +DATABASE_URL=mysql+aiomysql://user:password@localhost:3306/mydb +``` + +## Docker Usage + +```bash +# Run with SQLite (simplest setup) +docker run -d \ + -p 3000:3000 \ + -e DATABASE_URL=sqlite+aiosqlite:///data/mydb.db \ + souhardyak/mcp-db-server + +# Run with PostgreSQL +docker run -d \ + -p 3000:3000 \ + -e DATABASE_URL=postgresql+asyncpg://user:password@host:5432/db \ + souhardyak/mcp-db-server + +# Run with persistent SQLite storage +docker run -d \ + -p 3000:3000 \ + -v /host/data:/data \ + -e DATABASE_URL=sqlite+aiosqlite:///data/mydb.db \ + souhardyak/mcp-db-server +``` + +## Health Check + +The server provides a health endpoint at `/health` that returns database connectivity status. + +## Source Code + +Full source code and documentation available at: https://github.com/Souhar-dya/mcp-db-server \ No newline at end of file diff --git a/servers/database-server/server.yaml b/servers/database-server/server.yaml new file mode 100644 index 00000000..b269b069 --- /dev/null +++ b/servers/database-server/server.yaml @@ -0,0 +1,34 @@ +name: database-server +image: souhardyak/mcp-db-server +type: server +meta: + category: database + tags: + - database + - sql + - postgresql + - mysql + - sqlite + - natural-language + - ai-assistant +about: + title: MCP Database Server + description: Comprehensive database server supporting PostgreSQL, MySQL, and SQLite with natural language SQL query capabilities. Enables AI agents to interact with databases through both direct SQL and natural language queries. + icon: https://avatars.githubusercontent.com/u/182288589?s=200&v=4 +source: + project: https://github.com/Souhar-dya/mcp-db-server +config: + description: Configure the database connection. Supports SQLite, PostgreSQL, and MySQL databases with comprehensive querying capabilities. + env: + - name: DATABASE_URL + example: "sqlite+aiosqlite:///data/mydb.db" + value: '{{database-server.database_url}}' + parameters: + type: object + properties: + database_url: + type: string + title: "Database Connection URL" + description: "Connection string for your database. Examples: SQLite: sqlite+aiosqlite:///data/mydb.db, PostgreSQL: postgresql+asyncpg://user:password@localhost:5432/mydb, MySQL: mysql+aiomysql://user:password@localhost:3306/mydb" + required: + - database_url \ No newline at end of file diff --git a/servers/database-server/tools.json b/servers/database-server/tools.json new file mode 100644 index 00000000..ec29dace --- /dev/null +++ b/servers/database-server/tools.json @@ -0,0 +1,61 @@ +[ + { + "name": "query_database", + "description": "Execute natural language queries against the database and convert them to SQL", + "arguments": [ + { + "name": "query", + "type": "string", + "desc": "Natural language description of what you want to query from the database" + } + ] + }, + { + "name": "list_tables", + "description": "List all available tables in the current database", + "arguments": [] + }, + { + "name": "describe_table", + "description": "Get detailed schema information for a specific table including columns, types, and constraints", + "arguments": [ + { + "name": "table_name", + "type": "string", + "desc": "Name of the table to describe" + } + ] + }, + { + "name": "execute_sql", + "description": "Execute raw SQL queries with safety checks and validation", + "arguments": [ + { + "name": "query", + "type": "string", + "desc": "SQL query to execute" + } + ] + }, + { + "name": "connect_to_database", + "description": "Connect to a new database using provided connection details", + "arguments": [ + { + "name": "connection_string", + "type": "string", + "desc": "Database connection string (e.g., postgresql://user:pass@host:port/db)" + } + ] + }, + { + "name": "get_connection_examples", + "description": "Get example connection strings for different database types (SQLite, PostgreSQL, MySQL)", + "arguments": [] + }, + { + "name": "get_current_database_info", + "description": "Get information about the currently connected database including type, version, and connection status", + "arguments": [] + } +] \ No newline at end of file From 0b71a3274ea1a75b1b7324fcc681e2f91ec2e7f5 Mon Sep 17 00:00:00 2001 From: Tom Longridge Date: Wed, 24 Sep 2025 08:01:27 +0100 Subject: [PATCH 12/67] fix(smartbear): added new environment variables (#282) --- servers/smartbear/server.yaml | 41 ++++++++++++++++++++++++++--------- 1 file changed, 31 insertions(+), 10 deletions(-) diff --git a/servers/smartbear/server.yaml b/servers/smartbear/server.yaml index 31789a62..c5c519c9 100644 --- a/servers/smartbear/server.yaml +++ b/servers/smartbear/server.yaml @@ -10,7 +10,7 @@ meta: - monitoring about: title: SmartBear MCP Server - description: SmartBear's official MCP Server for API Hub, Test Hub and Insight Hub + description: MCP server for AI access to SmartBear tools, including BugSnag, Reflect, API Hub, PactFlow. icon: https://avatars.githubusercontent.com/u/1644671?s=200&v=4 source: project: https://github.com/SmartBear/smartbear-mcp @@ -18,11 +18,9 @@ source: config: description: Configure the connection to SmartBear services secrets: - - name: smartbear.insight_hub_auth_token - env: INSIGHT_HUB_AUTH_TOKEN - required: false - - name: smartbear.insight_hub_project_api_key - env: INSIGHT_HUB_PROJECT_API_KEY + - name: smartbear.bugsnag_auth_token + env: BUGSNAG_AUTH_TOKEN + example: "" required: false - name: smartbear.reflect_api_token example: "" @@ -32,12 +30,35 @@ config: example: "" env: API_HUB_API_KEY required: false + - name: smartbear.pact_broker_token + example: "" + env: PACT_BROKER_TOKEN + required: false + - name: smartbear.pact_broker_password + example: "" + env: PACT_BROKER_PASSWORD + required: false env: - - name: MCP_SERVER_INSIGHT_HUB_API_KEY - example: "00000000000000000000000000000000" - value: '{{smartbear.mcp_server_insight_hub_api_key}}' + - name: BUGSNAG_PROJECT_API_KEY + example: "" + value: "{{smartbear.bugsnag_api_key}}" + - name: BUGSNAG_ENDPOINT + example: "https://notify.your-server.com/" + value: "{{smartbear.bugsnag_endpoint}}" + - name: PACT_BROKER_BASE_URL + example: "https://your-tenant.pactflow.io/" + value: "{{smartbear.pact_broker_base_url}}" + - name: PACT_BROKER_USERNAME + example: "" + value: "{{smartbear.pact_broker_username}}" parameters: type: object properties: - mcp_server_insight_hub_api_key: + bugsnag_api_key: + type: string + bugsnag_endpoint: + type: string + pact_broker_base_url: + type: string + pact_broker_username: type: string From 782c3e7ec402c265ed7ff2dae316385f73df23c9 Mon Sep 17 00:00:00 2001 From: Vincenzo Pallotta Date: Wed, 24 Sep 2025 09:03:23 +0200 Subject: [PATCH 13/67] Add Google Maps Comprehensive MCP Server (#277) - Complete Google Maps integration with 8 tools - Geocoding, Places, Routes, Elevation APIs - Docker support with multi-stage build - TypeScript with Zod validation - MCP protocol compliance - Source: https://github.com/vicpeacock/google-maps-comprehensive-mcp --- servers/google-maps-comprehensive/server.yaml | 29 +++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 servers/google-maps-comprehensive/server.yaml diff --git a/servers/google-maps-comprehensive/server.yaml b/servers/google-maps-comprehensive/server.yaml new file mode 100644 index 00000000..14c62217 --- /dev/null +++ b/servers/google-maps-comprehensive/server.yaml @@ -0,0 +1,29 @@ +name: google-maps-comprehensive +image: mcp/google-maps-comprehensive +type: server +meta: + category: devops + tags: + - google-maps + - maps + - geocoding + - directions + - places + - elevation + - location + - devops +about: + title: Google Maps Comprehensive MCP + description: Complete Google Maps integration with 8 tools including geocoding, places search, directions, elevation data, and more using Google's latest APIs. + icon: https://avatars.githubusercontent.com/u/182288589?s=200&v=4 +source: + project: https://github.com/vicpeacock/google-maps-comprehensive-mcp + branch: main + dockerfile: Dockerfile +config: + description: Configure Google Maps API access with comprehensive location services + secrets: + - name: google-maps-comprehensive.api_key + env: GOOGLE_MAPS_API_KEY + example: + description: Google Maps API key with Places API, Routes API, Geocoding API, and Elevation API enabled From b91b9f24a5fcba55ac2fd940149e49451dbcc422 Mon Sep 17 00:00:00 2001 From: Jim Clark Date: Wed, 24 Sep 2025 01:06:30 -0700 Subject: [PATCH 14/67] Servers with missing config In these examples, there are servers that try to ready config that is not defined. I think this is all stuff that should be caught during validation. --- servers/airtable-mcp-server/server.yaml | 2 +- servers/camunda/server.yaml | 2 +- servers/cdata-connectcloud/server.yaml | 2 +- servers/dreamfactory-mcp/server.yaml | 4 ++-- servers/metabase/server.yaml | 4 ++-- servers/playwright-mcp-server/server.yaml | 8 +++++++- servers/quantconnect/server.yaml | 4 ++-- servers/schemacrawler-ai/server.yaml | 2 ++ servers/suzieq/server.yaml | 6 ++++++ 9 files changed, 24 insertions(+), 10 deletions(-) diff --git a/servers/airtable-mcp-server/server.yaml b/servers/airtable-mcp-server/server.yaml index deece6b1..a1df83f2 100644 --- a/servers/airtable-mcp-server/server.yaml +++ b/servers/airtable-mcp-server/server.yaml @@ -21,7 +21,7 @@ config: env: - name: NODE_ENV example: production - value: "{{airtable-mcp-server.node_env}}" + value: "{{airtable-mcp-server.nodeenv}}" parameters: type: object properties: diff --git a/servers/camunda/server.yaml b/servers/camunda/server.yaml index 4a98d52a..d3aefe04 100644 --- a/servers/camunda/server.yaml +++ b/servers/camunda/server.yaml @@ -17,7 +17,7 @@ config: env: - name: CAMUNDA_HOST example: http://host.docker.internal:8080/ - value: '{{camunda.camunda_host}}' + value: '{{camunda.camundahost}}' parameters: type: object properties: diff --git a/servers/cdata-connectcloud/server.yaml b/servers/cdata-connectcloud/server.yaml index 7648be15..e9108886 100644 --- a/servers/cdata-connectcloud/server.yaml +++ b/servers/cdata-connectcloud/server.yaml @@ -25,7 +25,7 @@ config: parameters: type: object properties: - client_id: + username: type: string required: - username diff --git a/servers/dreamfactory-mcp/server.yaml b/servers/dreamfactory-mcp/server.yaml index f9d10062..36b4badc 100644 --- a/servers/dreamfactory-mcp/server.yaml +++ b/servers/dreamfactory-mcp/server.yaml @@ -17,10 +17,10 @@ config: env: - name: DREAMFACTORY_URL example: https://your-dreamfactory-instance.com/api/v2/your-api - value: "{{dreamfactory-mcp.dreamfactory_url}}" + value: "{{dreamfactory-mcp.dreamfactoryurl}}" - name: DREAMFACTORY_API_KEY example: 1234abcd1234abdd - value: "{{dreamfactory-mcp.dreamfactory_api_key}}" + value: "{{dreamfactory-mcp.dreamfactoryapikey}}" parameters: type: object properties: diff --git a/servers/metabase/server.yaml b/servers/metabase/server.yaml index dfc39daa..3630fc29 100644 --- a/servers/metabase/server.yaml +++ b/servers/metabase/server.yaml @@ -24,10 +24,10 @@ config: env: - name: METABASE_URL example: https://app.metabase.com - value: "{{metabase.metabase_url}}" + value: "{{metabase.metabaseurl}}" - name: METABASE_USERNAME example: youruser - value: "{{metabase.metabase_username}}" + value: "{{metabase.metabaseusername}}" parameters: type: object properties: diff --git a/servers/playwright-mcp-server/server.yaml b/servers/playwright-mcp-server/server.yaml index b46c940a..3a67a461 100644 --- a/servers/playwright-mcp-server/server.yaml +++ b/servers/playwright-mcp-server/server.yaml @@ -13,4 +13,10 @@ source: project: https://github.com/executeautomation/mcp-playwright run: volumes: - - '{{playwright-mcp-server.data}}:{{playwright-mcp-server.}}' + - '{{playwright-mcp-server.data}}:{{playwright-mcp-server.data}}' +config: + parameters: + type: object + properties: + data: + type: string diff --git a/servers/quantconnect/server.yaml b/servers/quantconnect/server.yaml index 5d86f354..573ea066 100644 --- a/servers/quantconnect/server.yaml +++ b/servers/quantconnect/server.yaml @@ -17,10 +17,10 @@ config: env: - name: QUANTCONNECT_USER_ID example: "12345678" - value: "{{quantconnect.quantconnect_user_id}}" + value: "{{quantconnect.quantconnectuserid}}" - name: QUANTCONNECT_API_TOKEN example: 61b2c3d4e5f60718293a4b5c6d7e8f90a1b2c3d4e5f60718293a4b5c6d7e8f90 - value: "{{quantconnect.quantconnect_api_token}}" + value: "{{quantconnect.quantconnectapitoken}}" - name: AGENT_NAME example: MCP Server value: MCP Server diff --git a/servers/schemacrawler-ai/server.yaml b/servers/schemacrawler-ai/server.yaml index 1a591280..92b426ef 100644 --- a/servers/schemacrawler-ai/server.yaml +++ b/servers/schemacrawler-ai/server.yaml @@ -93,6 +93,8 @@ config: type: string description: '--info-level How much database metadata to retrieve' default: standard + log_level: + type: string required: - info_level volume: diff --git a/servers/suzieq/server.yaml b/servers/suzieq/server.yaml index e4aab155..8fd2d327 100644 --- a/servers/suzieq/server.yaml +++ b/servers/suzieq/server.yaml @@ -21,3 +21,9 @@ config: - name: SUZIEQ_API_ENDPOINT example: none value: '{{suzieq.api_endpoint}}' + parameters: + type: object + properties: + api_endpoint: + type: string + From e8cb92ea07813198be286f8a99b71111a3d289c7 Mon Sep 17 00:00:00 2001 From: Jim Clark Date: Wed, 24 Sep 2025 11:25:48 -0700 Subject: [PATCH 15/67] Fix validation errors --- servers/cdata-connectcloud/server.yaml | 2 +- servers/playwright-mcp-server/server.yaml | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/servers/cdata-connectcloud/server.yaml b/servers/cdata-connectcloud/server.yaml index e9108886..a9c2a78d 100644 --- a/servers/cdata-connectcloud/server.yaml +++ b/servers/cdata-connectcloud/server.yaml @@ -15,7 +15,7 @@ source: config: description: Configure the connection to CData Connect Cloud secrets: - - name: cdata.pat + - name: cdata-connectcloud.pat env: CDATA_PAT example: env: diff --git a/servers/playwright-mcp-server/server.yaml b/servers/playwright-mcp-server/server.yaml index 3a67a461..9affd6f3 100644 --- a/servers/playwright-mcp-server/server.yaml +++ b/servers/playwright-mcp-server/server.yaml @@ -15,6 +15,7 @@ run: volumes: - '{{playwright-mcp-server.data}}:{{playwright-mcp-server.data}}' config: + description: data location parameters: type: object properties: From 14a895c3049c4bf02099165245f903f7cd20befb Mon Sep 17 00:00:00 2001 From: Jim Clark Date: Wed, 24 Sep 2025 12:05:41 -0700 Subject: [PATCH 16/67] update fibery --- servers/fibery/server.yaml | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/servers/fibery/server.yaml b/servers/fibery/server.yaml index b5418873..bb4b8342 100644 --- a/servers/fibery/server.yaml +++ b/servers/fibery/server.yaml @@ -22,3 +22,11 @@ config: - name: FIBERY_HOST example: your-domain.fibery.io value: '{{fibery.host}}' + parameters: + type: object + properties: + dreamfactoryurl: + type: string + dreamfactoryapikey: + type: string + From 9cf69d223d8d6ccc4ea92efafc9dd5e3d861762f Mon Sep 17 00:00:00 2001 From: Sundeep Gottipati Date: Wed, 24 Sep 2025 14:45:51 -0700 Subject: [PATCH 17/67] Fix Cloudinary and Pipeboard server URLs --- servers/cloudinary-mediaflows/server.yaml | 6 +++--- servers/meta-ads/server.yaml | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/servers/cloudinary-mediaflows/server.yaml b/servers/cloudinary-mediaflows/server.yaml index 7bf5eeb8..54d50d9e 100644 --- a/servers/cloudinary-mediaflows/server.yaml +++ b/servers/cloudinary-mediaflows/server.yaml @@ -15,9 +15,9 @@ about: description: Build and manage low-code workflow automations for images and videos with AI-powered assistance icon: https://www.google.com/s2/favicons?domain=cloudinary.com&sz=64 remote: - transport_type: sse - url: https://mediaflows.mcp.cloudinary.com/sse + transport_type: streamable-http + url: https://mediaflows.mcp.cloudinary.com/v2/mcp oauth: - provider: cloudinary-mediaflows secret: cloudinary-mediaflows.personal_access_token - env: CLOUDINARY_PERSONAL_ACCESS_TOKEN \ No newline at end of file + env: CLOUDINARY_PERSONAL_ACCESS_TOKEN diff --git a/servers/meta-ads/server.yaml b/servers/meta-ads/server.yaml index 0809f38d..5659b036 100644 --- a/servers/meta-ads/server.yaml +++ b/servers/meta-ads/server.yaml @@ -15,7 +15,7 @@ about: icon: https://www.google.com/s2/favicons?domain=pipeboard.co&sz=64 remote: transport_type: sse - url: https://mcp.pipeboard.co/sse + url: https://mcp.pipeboard.co/meta-ads-mcp oauth: - provider: meta-ads secret: meta-ads.personal_access_token From 94789e32f0ffe48b972b675cc00bdd194814cb64 Mon Sep 17 00:00:00 2001 From: Sundeep Gottipati Date: Wed, 24 Sep 2025 15:23:03 -0700 Subject: [PATCH 18/67] Delete jam as it doesn't work --- servers/jam/readme.md | 1 - servers/jam/server.yaml | 22 ---------------------- servers/jam/tools.json | 1 - 3 files changed, 24 deletions(-) delete mode 100644 servers/jam/readme.md delete mode 100644 servers/jam/server.yaml delete mode 100644 servers/jam/tools.json diff --git a/servers/jam/readme.md b/servers/jam/readme.md deleted file mode 100644 index ca4037fe..00000000 --- a/servers/jam/readme.md +++ /dev/null @@ -1 +0,0 @@ -Docs: https://jam.dev/docs/debug-a-jam/mcp diff --git a/servers/jam/server.yaml b/servers/jam/server.yaml deleted file mode 100644 index e65db059..00000000 --- a/servers/jam/server.yaml +++ /dev/null @@ -1,22 +0,0 @@ -name: jam -type: remote -dynamic: - tools: true -meta: - category: devops - tags: - - devops - - debugging - - collaboration - - remote -about: - title: Jam - description: Capture and debug software issues faster with automatic technical context, console logs, and instant bug reproduction - icon: https://www.google.com/s2/favicons?domain=jam.dev&sz=64 -remote: - transport_type: streamable-http - url: https://mcp.jam.dev/mcp -oauth: - - provider: jam - secret: jam.personal_access_token - env: JAM_PERSONAL_ACCESS_TOKEN diff --git a/servers/jam/tools.json b/servers/jam/tools.json deleted file mode 100644 index fe51488c..00000000 --- a/servers/jam/tools.json +++ /dev/null @@ -1 +0,0 @@ -[] From 0cd742c19c50083cc7516e81dce1cc16cf2b51e3 Mon Sep 17 00:00:00 2001 From: Sundeep Gottipati Date: Mon, 29 Sep 2025 11:28:00 -0700 Subject: [PATCH 19/67] Fix notion remote MCP url --- servers/notion-remote/server.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/servers/notion-remote/server.yaml b/servers/notion-remote/server.yaml index 7474d08e..0a62a753 100644 --- a/servers/notion-remote/server.yaml +++ b/servers/notion-remote/server.yaml @@ -14,8 +14,8 @@ about: description: Manage projects, create documentation, and organize information in collaborative workspaces icon: https://www.google.com/s2/favicons?domain=notion.so&sz=64 remote: - transport_type: sse - url: https://mcp.notion.so/sse + transport_type: mcp + url: https://mcp.notion.so/mcp oauth: - provider: notion-remote secret: notion-remote.personal_access_token From b1a9cc8a9e75d9a4bb1da47c784d9fe67cd45e04 Mon Sep 17 00:00:00 2001 From: Sundeep Gottipati Date: Mon, 29 Sep 2025 11:30:27 -0700 Subject: [PATCH 20/67] Change linear remote URL to streaming --- servers/linear/server.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/servers/linear/server.yaml b/servers/linear/server.yaml index c1952b21..fef3e53e 100644 --- a/servers/linear/server.yaml +++ b/servers/linear/server.yaml @@ -14,8 +14,8 @@ about: description: Track issues, plan sprints, and manage product development with a fast, keyboard-first interface designed for software teams icon: https://www.google.com/s2/favicons?domain=linear.app&sz=64 remote: - transport_type: sse - url: https://mcp.linear.app/sse + transport_type: streamable-http + url: https://mcp.linear.app/mcp oauth: - provider: linear secret: linear.personal_access_token From 06e2f84fdea1fad813b064786dfc3d64d32e35f3 Mon Sep 17 00:00:00 2001 From: Sundeep Gottipati Date: Mon, 29 Sep 2025 11:33:22 -0700 Subject: [PATCH 21/67] Fix notion transport type --- servers/notion-remote/server.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/servers/notion-remote/server.yaml b/servers/notion-remote/server.yaml index 0a62a753..d0d55ded 100644 --- a/servers/notion-remote/server.yaml +++ b/servers/notion-remote/server.yaml @@ -14,7 +14,7 @@ about: description: Manage projects, create documentation, and organize information in collaborative workspaces icon: https://www.google.com/s2/favicons?domain=notion.so&sz=64 remote: - transport_type: mcp + transport_type: streamable-http url: https://mcp.notion.so/mcp oauth: - provider: notion-remote From 5227df5c2ecf8795f58d13c97c2d68db5b22f027 Mon Sep 17 00:00:00 2001 From: Jim Clark Date: Tue, 30 Sep 2025 00:16:32 -0700 Subject: [PATCH 22/67] Fix fibery and openapi-schema --- servers/fibery/server.yaml | 5 +---- servers/openapi-schema/server.yaml | 9 ++++++++- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/servers/fibery/server.yaml b/servers/fibery/server.yaml index bb4b8342..cb7f329e 100644 --- a/servers/fibery/server.yaml +++ b/servers/fibery/server.yaml @@ -25,8 +25,5 @@ config: parameters: type: object properties: - dreamfactoryurl: + fibery.host: type: string - dreamfactoryapikey: - type: string - diff --git a/servers/openapi-schema/server.yaml b/servers/openapi-schema/server.yaml index 12d328f2..ca982156 100644 --- a/servers/openapi-schema/server.yaml +++ b/servers/openapi-schema/server.yaml @@ -15,4 +15,11 @@ source: branch: master run: volumes: - - '{{openApiSchemaPath|or:[]|volume|into}}' + - '{{openapi-schema.SchemaPath|or:[]|volume|into}}' +config: + parameters: + type: object + properties: + SchemaPath: + type: string + From 0bb2038cfd2173e55baab9e81b44aa1349177c26 Mon Sep 17 00:00:00 2001 From: Jim Clark Date: Tue, 30 Sep 2025 14:41:22 -0700 Subject: [PATCH 23/67] fix fibery metadata --- servers/fibery/server.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/servers/fibery/server.yaml b/servers/fibery/server.yaml index cb7f329e..a8a7c765 100644 --- a/servers/fibery/server.yaml +++ b/servers/fibery/server.yaml @@ -25,5 +25,5 @@ config: parameters: type: object properties: - fibery.host: + host: type: string From 2a47fb29fafd7000ef282e53c71b2c716156a15a Mon Sep 17 00:00:00 2001 From: Sundeep Gottipati Date: Wed, 1 Oct 2025 10:43:18 -0700 Subject: [PATCH 24/67] Remove turkish airlines MCP --- servers/turkish-airlines/readme.md | 1 - servers/turkish-airlines/server.yaml | 22 ---------------------- servers/turkish-airlines/tools.json | 1 - 3 files changed, 24 deletions(-) delete mode 100644 servers/turkish-airlines/readme.md delete mode 100644 servers/turkish-airlines/server.yaml delete mode 100644 servers/turkish-airlines/tools.json diff --git a/servers/turkish-airlines/readme.md b/servers/turkish-airlines/readme.md deleted file mode 100644 index 9d52f5b6..00000000 --- a/servers/turkish-airlines/readme.md +++ /dev/null @@ -1 +0,0 @@ -Docs: https://mcp.turkishtechlab.com diff --git a/servers/turkish-airlines/server.yaml b/servers/turkish-airlines/server.yaml deleted file mode 100644 index b3634bfd..00000000 --- a/servers/turkish-airlines/server.yaml +++ /dev/null @@ -1,22 +0,0 @@ -name: turkish-airlines -type: remote -dynamic: - tools: true -meta: - category: travel - tags: - - travel - - airlines - - booking - - remote -about: - title: Turkish Airlines - description: Book flights, manage reservations, and access travel services through Turkish Airlines' booking platform - icon: https://www.google.com/s2/favicons?domain=turkishtechlab.com&sz=64 -remote: - transport_type: streamable-http - url: https://mcp.turkishtechlab.com/mcp -oauth: - - provider: turkish-airlines - secret: turkish-airlines.personal_access_token - env: TURKISH_AIRLINES_PERSONAL_ACCESS_TOKEN diff --git a/servers/turkish-airlines/tools.json b/servers/turkish-airlines/tools.json deleted file mode 100644 index fe51488c..00000000 --- a/servers/turkish-airlines/tools.json +++ /dev/null @@ -1 +0,0 @@ -[] From 53fb7ceffa4b8115390bbdb3b8c2953eb80c8467 Mon Sep 17 00:00:00 2001 From: Jim Clark Date: Wed, 1 Oct 2025 21:00:53 -0700 Subject: [PATCH 25/67] apify-mcp-server should be long-lived * see https://github.com/docker/desktop-linux/issues/302 * the apify mcp server dynamically creates new tools * the server relies on state --- servers/apify-mcp-server/server.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/servers/apify-mcp-server/server.yaml b/servers/apify-mcp-server/server.yaml index 7586659a..8ce18e91 100644 --- a/servers/apify-mcp-server/server.yaml +++ b/servers/apify-mcp-server/server.yaml @@ -1,6 +1,7 @@ name: apify-mcp-server image: mcp/apify-mcp-server type: server +longLived: true meta: category: productivity tags: From 5ab507711a37dd930fd26d15c019aa8b22e6e0b2 Mon Sep 17 00:00:00 2001 From: Sundeep Gottipati Date: Thu, 2 Oct 2025 11:27:26 -0700 Subject: [PATCH 26/67] Fix Notion MCP server --- servers/notion-remote/server.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/servers/notion-remote/server.yaml b/servers/notion-remote/server.yaml index d0d55ded..4ace426b 100644 --- a/servers/notion-remote/server.yaml +++ b/servers/notion-remote/server.yaml @@ -15,7 +15,7 @@ about: icon: https://www.google.com/s2/favicons?domain=notion.so&sz=64 remote: transport_type: streamable-http - url: https://mcp.notion.so/mcp + url: https://mcp.notion.com/mcp oauth: - provider: notion-remote secret: notion-remote.personal_access_token From e47791b768985be20f89a035d483889f2026b8bd Mon Sep 17 00:00:00 2001 From: Sundeep Gottipati Date: Fri, 3 Oct 2025 13:26:32 -0700 Subject: [PATCH 27/67] Fix transport_type for octagon remote MCP --- servers/octagon/server.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/servers/octagon/server.yaml b/servers/octagon/server.yaml index 637529c1..f884fa05 100644 --- a/servers/octagon/server.yaml +++ b/servers/octagon/server.yaml @@ -14,7 +14,7 @@ about: description: Access comprehensive market intelligence, analyze SEC filings, earnings transcripts, and financial data to uncover investment opportunities icon: https://www.google.com/s2/favicons?domain=octagonai.co&sz=64 remote: - transport_type: sse + transport_type: streamable-http url: https://mcp.octagonagents.com/mcp oauth: - provider: octagon From 0ef439c777b0a7f9a76da216eb7cc355ccc916c5 Mon Sep 17 00:00:00 2001 From: David Gageot Date: Thu, 9 Oct 2025 11:25:49 +0200 Subject: [PATCH 28/67] [ast-grep] We don't need the network Signed-off-by: David Gageot --- servers/ast-grep/server.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/servers/ast-grep/server.yaml b/servers/ast-grep/server.yaml index 13bf4536..dccf459f 100644 --- a/servers/ast-grep/server.yaml +++ b/servers/ast-grep/server.yaml @@ -16,6 +16,7 @@ source: run: volumes: - '{{ast-grep.path|volume-target}}:/src' + disableNetwork: true config: description: The MCP server is allowed to access this directory parameters: From cbe48b8a6a5ba9372f7fbb4c8c6450785e1d8340 Mon Sep 17 00:00:00 2001 From: Jason Chambers Date: Mon, 13 Oct 2025 04:37:25 -0400 Subject: [PATCH 29/67] Add Cylera MCP Server (#291) * Add Cylera MCP Server * task validate insists the icon must be a png or svg --- servers/cylera-mcp-server/server.yaml | 26 +++++++++++++++++++ servers/cylera-mcp-server/tools.json | 37 +++++++++++++++++++++++++++ 2 files changed, 63 insertions(+) create mode 100644 servers/cylera-mcp-server/server.yaml create mode 100644 servers/cylera-mcp-server/tools.json diff --git a/servers/cylera-mcp-server/server.yaml b/servers/cylera-mcp-server/server.yaml new file mode 100644 index 00000000..39a6f0bd --- /dev/null +++ b/servers/cylera-mcp-server/server.yaml @@ -0,0 +1,26 @@ +name: cylera-mcp-server +image: mcp/cylera-mcp-server +type: server +meta: + category: productivity + tags: + - productivity +about: + title: The official MCP Server for Cylera. + description: | + Brings context about device inventory, threats, risks and utilization powered by the Cylera Partner API into an LLM. + icon: https://github.com/Cylera/cylera-mcp-server/blob/main/assets/cylera_logo.png?raw=true +source: + project: https://github.com/Cylera/cylera-mcp-server +config: + description: Configure the connection to the official MCP Server for Cylera. + secrets: + - name: cylera-mcp-server.cylera.base_url + env: CYLERA_BASE_URL + example: "https://partner.us1.cylera.com Or https://partner.uk1.cylera.com/ Or https://partner.demo.cylera.com" + - name: cylera-mcp-server.cylera.username + env: CYLERA_USERNAME + example: "Your username you use to login to Cylera" + - name: cylera-mcp-server.cylera.password + env: CYLERA_PASSWORD + example: "Your password you use to login to Cylera" diff --git a/servers/cylera-mcp-server/tools.json b/servers/cylera-mcp-server/tools.json new file mode 100644 index 00000000..c2286373 --- /dev/null +++ b/servers/cylera-mcp-server/tools.json @@ -0,0 +1,37 @@ +[ + { + "name": "get_device", + "description": "Get details about a device by MAC address", + "arguments": [] + }, + { + "name": "get_procedures", + "description": "Provide details about how the device has been utilized recently by providing details of the procedures performed", + "arguments": [] + }, + { + "name": "get_device_attributes", + "description": "Get attributes for a device by MAC address", + "arguments": [] + }, + { + "name": "get_risk_mitigations", + "description": "Get risk mitigations for a given CVE reference", + "arguments": [] + }, + { + "name": "get_subnets", + "description": "Get a list of subnets with optional filtering", + "arguments": [] + }, + { + "name": "get_vulnerabilities", + "description": "Returns a paginated list of vulnerabilities with filtering options", + "arguments": [] + }, + { + "name": "search_for_devices", + "description": "Search for devices that match the provided search criteria with comprehensive filtering options", + "arguments": [] + } +] From 88e6d01cce7b81764b30d1eb63c8b6044fa254c1 Mon Sep 17 00:00:00 2001 From: Qasim Sarfraz Date: Mon, 13 Oct 2025 10:49:08 +0200 Subject: [PATCH 30/67] chore/inspektor-gadget: Add cache volume (#306) Signed-off-by: Qasim Sarfraz --- servers/inspektor-gadget/server.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/servers/inspektor-gadget/server.yaml b/servers/inspektor-gadget/server.yaml index 9fa0e829..bb547008 100644 --- a/servers/inspektor-gadget/server.yaml +++ b/servers/inspektor-gadget/server.yaml @@ -21,6 +21,7 @@ run: - -gadget-images={{inspektor-gadget.gadget-images}} volumes: - '{{inspektor-gadget.kubeconfig}}:/kubeconfig' + - ig-mcp-cache:/root/.cache/ig-mcp-server config: description: Configuration for the Inspektor Gadget MCP Server parameters: From 23115575483432866aedaa4e0a337c9ac8fa0564 Mon Sep 17 00:00:00 2001 From: Tuna Date: Mon, 13 Oct 2025 15:31:58 -0700 Subject: [PATCH 31/67] Add BrowserBase MCP Server --- servers/browserbase/server.yaml | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 servers/browserbase/server.yaml diff --git a/servers/browserbase/server.yaml b/servers/browserbase/server.yaml new file mode 100644 index 00000000..a8f12d24 --- /dev/null +++ b/servers/browserbase/server.yaml @@ -0,0 +1,30 @@ +name: browserbase +image: mcp/browserbase +type: server +meta: + category: devops + tags: + - browserbase + - browser-automation + - web-scraping + - devops +about: + title: Browserbase + description: Allow LLMs to control a browser with Browserbase and Stagehand for AI-powered web automation, intelligent data extraction, and screenshot capture. + icon: https://avatars.githubusercontent.com/u/132273001?s=200&v=4 +source: + project: https://github.com/browserbase/mcp-server-browserbase + dockerfile: Dockerfile +config: + description: Configure Browserbase API credentials for browser automation + secrets: + - name: browserbase.api_key + env: BROWSERBASE_API_KEY + example: YOUR_BROWSERBASE_API_KEY_HERE + - name: browserbase.project_id + env: BROWSERBASE_PROJECT_ID + example: YOUR_BROWSERBASE_PROJECT_ID_HERE + - name: gemini.api_key + env: GEMINI_API_KEY + example: YOUR_GEMINI_API_KEY_HERE + optional: true From 35809f84632796c9ac9630fe8886e32b7b4c64df Mon Sep 17 00:00:00 2001 From: Tuna Date: Mon, 13 Oct 2025 15:40:53 -0700 Subject: [PATCH 32/67] Add BrowserBase MCP Server --- servers/browserbase/server.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/servers/browserbase/server.yaml b/servers/browserbase/server.yaml index a8f12d24..8f7a0d3d 100644 --- a/servers/browserbase/server.yaml +++ b/servers/browserbase/server.yaml @@ -18,13 +18,13 @@ source: config: description: Configure Browserbase API credentials for browser automation secrets: - - name: browserbase.api_key + - name: browserbase.browserbase_api_key env: BROWSERBASE_API_KEY example: YOUR_BROWSERBASE_API_KEY_HERE - - name: browserbase.project_id + - name: browserbase.browserbase_project_id env: BROWSERBASE_PROJECT_ID example: YOUR_BROWSERBASE_PROJECT_ID_HERE - - name: gemini.api_key + - name: browserbase.gemini_api_key env: GEMINI_API_KEY example: YOUR_GEMINI_API_KEY_HERE optional: true From 85cd161bbd5ba505aae4008b774a4ef5680470ca Mon Sep 17 00:00:00 2001 From: Pieter de Bruin Date: Tue, 14 Oct 2025 14:49:30 +0200 Subject: [PATCH 33/67] Adding tools.json for Microsoft Learn MCP to help the build which skips tool detection for remote servers (#290) * Add Microsoft Learn MCP Server * Create tools.json for Microsoft documentation tools Added tools for searching and fetching Microsoft documentation. * Add microsoft_code_sample_search tool definition * missing comma after descriptions --- servers/microsoft-learn/tools.json | 40 ++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 servers/microsoft-learn/tools.json diff --git a/servers/microsoft-learn/tools.json b/servers/microsoft-learn/tools.json new file mode 100644 index 00000000..aba7193e --- /dev/null +++ b/servers/microsoft-learn/tools.json @@ -0,0 +1,40 @@ +[ + { + "name": "microsoft_docs_search", + "description": "Performs semantic search against Microsoft official technical documentation", + "arguments": [ + { + "name": "query", + "type": "string", + "desc": "The search query for retrieval" + } + ] + }, + { + "name": "microsoft_docs_fetch", + "description": "Fetch and convert a Microsoft documentation page into markdown format", + "arguments": [ + { + "name": "url", + "type": "string", + "desc": "URL of the documentation page to read" + } + ] + }, + { + "name": "microsoft_code_sample_search", + "description": "Search for official Microsoft code snippets and examples", + "arguments": [ + { + "name": "query", + "type": "string", + "desc": "Search query for Microsoft code snippets" + }, + { + "name": "language", + "type": "string", + "desc": "Optional programming language filter" + } + ] + } +] From 16d8014de94e9585c7d906da79f9037eb3566637 Mon Sep 17 00:00:00 2001 From: Jacob Howard Date: Tue, 14 Oct 2025 18:51:17 -0600 Subject: [PATCH 34/67] ci: add clean task and update validation script to use it When modifying large numbers of server definitions (e.g. in #328), the validation step can cause the worker to run out of disk space. This PR adds a new clean command and updates the validation step to use it in every call to process_server. This should allow a theoretically unlimited number of validations to occur. Signed-off-by: Jacob Howard --- Taskfile.yml | 16 ++++--- cmd/clean/main.go | 97 ++++++++++++++++++++++++++++++++++++++++ scripts/ci-validation.sh | 30 ++++++++----- 3 files changed, 125 insertions(+), 18 deletions(-) create mode 100644 cmd/clean/main.go diff --git a/Taskfile.yml b/Taskfile.yml index 41f06de7..fbbfaf74 100644 --- a/Taskfile.yml +++ b/Taskfile.yml @@ -4,7 +4,7 @@ tasks: create: desc: Create a new mcp server definition cmd: go run ./cmd/create {{.CLI_ARGS}} - + build: desc: Build a server image cmd: go run ./cmd/build {{.CLI_ARGS}} @@ -12,21 +12,25 @@ tasks: catalog: desc: Generate a test catalog cmd: go run ./cmd/catalog {{.CLI_ARGS}} - + wizard: desc: Run the wizard cmd: go run ./cmd/wizard {{.CLI_ARGS}} - + validate: desc: Validate a server cmd: go run ./cmd/validate {{.CLI_ARGS}} - + + clean: + desc: Clean build artifacts for servers + cmd: go run ./cmd/clean {{.CLI_ARGS}} + import: desc: Import a server into the registry cmd: docker mcp catalog import ./catalogs/{{.CLI_ARGS}}/catalog.yaml - + reset: desc: Reset the catalog cmds: - docker mcp catalog reset - - docker mcp catalog init \ No newline at end of file + - docker mcp catalog init diff --git a/cmd/clean/main.go b/cmd/clean/main.go new file mode 100644 index 00000000..bbc8ef24 --- /dev/null +++ b/cmd/clean/main.go @@ -0,0 +1,97 @@ +package main + +import ( + "flag" + "fmt" + "os" + "os/exec" + "path/filepath" + "strings" + + "github.com/docker/mcp-registry/pkg/servers" +) + +// main processes the provided server names and cleans build artifacts for each. +func main() { + flag.Parse() + + if flag.NArg() == 0 { + fmt.Fprintln(os.Stderr, "Usage: task clean -- [server...]") + os.Exit(1) + } + + var failed bool + for _, name := range flag.Args() { + if err := cleanServer(name); err != nil { + fmt.Fprintf(os.Stderr, "cleanup failed for %s: %v\n", name, err) + failed = true + } + } + + if failed { + os.Exit(1) + } +} + +// cleanServer removes generated artifacts and Docker images for the server. +func cleanServer(name string) error { + serverPath := filepath.Join("servers", name, "server.yaml") + server, err := servers.Read(serverPath) + if err != nil { + return fmt.Errorf("reading server file: %w", err) + } + + removeCatalog(name) + removeDockerImage(server.Image) + removeDockerImage("check") + pruneDockerBuilder() + pruneDockerImages() + + return nil +} + +// removeCatalog deletes the generated catalog directory if it exists. +func removeCatalog(name string) { + path := filepath.Join("catalogs", name) + if err := os.RemoveAll(path); err != nil { + fmt.Fprintf(os.Stderr, "warning: removing %s: %v\n", path, err) + } +} + +// removeDockerImage removes the specified Docker image, ignoring missing images. +func removeDockerImage(image string) { + if image == "" { + return + } + + out, err := exec.Command("docker", "image", "rm", "-f", image).CombinedOutput() + if err != nil { + msg := string(out) + if strings.Contains(msg, "No such image") { + return + } + fmt.Fprintf(os.Stderr, "warning: removing image %s: %v\n%s", image, err, msg) + } else { + fmt.Print(string(out)) + } +} + +// pruneDockerBuilder removes unused builder cache entries. +func pruneDockerBuilder() { + cmd := exec.Command("docker", "builder", "prune", "--force") + cmd.Stdout = os.Stdout + cmd.Stderr = os.Stderr + if err := cmd.Run(); err != nil { + fmt.Fprintf(os.Stderr, "warning: pruning builder cache: %v\n", err) + } +} + +// pruneDockerImages removes dangling Docker images. +func pruneDockerImages() { + cmd := exec.Command("docker", "image", "prune", "--force") + cmd.Stdout = os.Stdout + cmd.Stderr = os.Stderr + if err := cmd.Run(); err != nil { + fmt.Fprintf(os.Stderr, "warning: pruning images: %v\n", err) + } +} diff --git a/scripts/ci-validation.sh b/scripts/ci-validation.sh index 1b778140..b0b852dc 100755 --- a/scripts/ci-validation.sh +++ b/scripts/ci-validation.sh @@ -11,36 +11,42 @@ process_server() { local file="$1" local dir=$(dirname "$file") local name=$(basename "$dir") - + echo "Processing server: $name" echo "================================" - + # Run each command and check for failures if ! task validate -- --name "$name"; then echo "ERROR: Validation failed for $name" + task clean -- "$name" >/dev/null 2>&1 || true return 1 fi - + if ! task build -- --tools --pull-community "$name"; then echo "ERROR: Build failed for $name" + task clean -- "$name" >/dev/null 2>&1 || true return 1 fi - + echo "--------------------------------" - + if ! task catalog -- "$name"; then echo "ERROR: Catalog generation failed for $name" + task clean -- "$name" >/dev/null 2>&1 || true return 1 fi - + echo "--------------------------------" - + cat "catalogs/$name/catalog.yaml" - + echo "--------------------------------" echo "Successfully processed: $name" echo "" - + if ! task clean -- "$name"; then + echo "WARNING: Cleanup encountered issues for $name" + fi + return 0 } @@ -54,10 +60,10 @@ while IFS= read -r file; do echo "Skipping already processed server: $name (from file: $file)" continue fi - + # Mark this server as processed processed_servers="${processed_servers}|$name|" - + if ! process_server "$file"; then echo "FAILED: Processing server from file: $file" overall_success=false @@ -71,4 +77,4 @@ if [ "$overall_success" = true ]; then else echo "One or more servers failed to process!" exit 1 -fi \ No newline at end of file +fi From 0c898eb6167dd3a0554822dec6baa4da442e6808 Mon Sep 17 00:00:00 2001 From: Jacob Howard Date: Tue, 14 Oct 2025 16:59:59 -0600 Subject: [PATCH 35/67] test: allow validate unit tests to run from any directory Signed-off-by: Jacob Howard --- .github/workflows/ci.yaml | 6 +++++- Taskfile.yml | 4 ++++ cmd/validate/main_test.go | 33 +++++++++++++++++++++++++++++++++ 3 files changed, 42 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 68688b83..e3fc674c 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -2,7 +2,8 @@ on: pull_request: jobs: - validate-servers: + validate: + name: "Code and Server Validation" runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 @@ -21,6 +22,9 @@ jobs: version: 3.x repo-token: ${{ secrets.GITHUB_TOKEN }} + - name: Run unit tests + run: task unittest + - name: Get changed servers shell: bash run: | diff --git a/Taskfile.yml b/Taskfile.yml index fbbfaf74..6098d96f 100644 --- a/Taskfile.yml +++ b/Taskfile.yml @@ -34,3 +34,7 @@ tasks: cmds: - docker mcp catalog reset - docker mcp catalog init + + unittest: + desc: Run Go unit tests + cmd: go test ./... diff --git a/cmd/validate/main_test.go b/cmd/validate/main_test.go index a66369be..f303de72 100644 --- a/cmd/validate/main_test.go +++ b/cmd/validate/main_test.go @@ -1,9 +1,42 @@ package main import ( + "fmt" + "os" + "path/filepath" + "runtime" "testing" ) +func TestMain(m *testing.M) { + // Compute the path to this source code file. + _, thisFile, _, ok := runtime.Caller(0) + if !ok { + fmt.Fprintln(os.Stderr, "mcp-registry/cmd/validate: unable to resolve caller path") + os.Exit(1) + } + + // Switch to the repository root so that readServerYaml calls from tests can + // access YAML files. + repoRoot := filepath.Clean(filepath.Join(filepath.Dir(thisFile), "..", "..")) + if err := os.Chdir(repoRoot); err != nil { + fmt.Fprintln(os.Stderr, "mcp-registry/cmd/validate: chdir:", err) + os.Exit(1) + } + + // Run the tests in this package. + code := m.Run() + + // Restore the working directory. + originalWD := filepath.Clean(filepath.Join(repoRoot, "cmd", "validate")) + if err := os.Chdir(originalWD); err != nil { + fmt.Fprintln(os.Stderr, "mcp-registry/cmd/validate: restore chdir:", err) + os.Exit(1) + } + + os.Exit(code) +} + func Test_isNameValid(t *testing.T) { type args struct { name string From 7b3a88f3c0be66bb00e2290e03b59847ebcb0184 Mon Sep 17 00:00:00 2001 From: Sundeep Gottipati Date: Thu, 16 Oct 2025 00:59:50 -0700 Subject: [PATCH 36/67] Remove non-functional OAuth remote servers from registry MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Removed 20 OAuth remote servers that are not working based on testing results. These servers had various issues including redirect URL restrictions, missing OAuth discovery endpoints, DCR failures, or have been shut down. Remote servers removed: - atlassian-remote: Redirect URL not allowed - box-remote: No DCR for box - canva: Redirect URL not allowed - cloudinary-analysis: Pending OAuth discovery fix - cloudinary-asset-management: Pending OAuth discovery fix - cloudinary-environment-config: Pending OAuth discovery fix - cloudinary-mediaflows: Pending OAuth discovery fix - cloudinary-structured-metadata: Pending OAuth discovery fix - github-remote: Authorization server metadata endpoint returned 404 - intercom: Redirect URL not allowed - kollektiv: Server shut down - listenetic: OAuth completes but can't fetch tools - meta-ads: Pending OAuth discovery fix - neon-remote: Pending OAuth discovery fix - netlify: No registration endpoint found - plaid: DCR registration failed - simplescraper: OAuth completes but tool fetch fails - square: Redirect URL not allowed - stytch: OAuth completes but broken session - vercel: Redirect URL not allowed Note: Local versions of atlassian, box, github, and neon are preserved as they are working. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude --- servers/atlassian-remote/readme.md | 1 - servers/atlassian-remote/server.yaml | 22 ---- servers/atlassian-remote/tools.json | 27 ----- servers/box-remote/readme.md | 1 - servers/box-remote/server.yaml | 22 ---- servers/box-remote/tools.json | 62 ---------- servers/canva/readme.md | 1 - servers/canva/server.yaml | 22 ---- servers/canva/tools.json | 1 - servers/cloudinary-analysis/readme.md | 1 - servers/cloudinary-analysis/server.yaml | 24 ---- servers/cloudinary-analysis/tools.json | 1 - servers/cloudinary-asset-management/readme.md | 1 - .../cloudinary-asset-management/server.yaml | 22 ---- .../cloudinary-asset-management/tools.json | 1 - .../cloudinary-environment-config/readme.md | 1 - .../cloudinary-environment-config/server.yaml | 23 ---- .../cloudinary-environment-config/tools.json | 1 - servers/cloudinary-mediaflows/readme.md | 1 - servers/cloudinary-mediaflows/server.yaml | 23 ---- servers/cloudinary-mediaflows/tools.json | 1 - .../cloudinary-structured-metadata/readme.md | 1 - .../server.yaml | 23 ---- .../cloudinary-structured-metadata/tools.json | 1 - servers/github-remote/readme.md | 1 - servers/github-remote/server.yaml | 22 ---- servers/github-remote/tools.json | 107 ------------------ servers/intercom/readme.md | 1 - servers/intercom/server.yaml | 22 ---- servers/intercom/tools.json | 1 - servers/kollektiv/readme.md | 1 - servers/kollektiv/server.yaml | 22 ---- servers/kollektiv/tools.json | 1 - servers/listenetic/readme.md | 1 - servers/listenetic/server.yaml | 22 ---- servers/listenetic/tools.json | 1 - servers/meta-ads/readme.md | 1 - servers/meta-ads/server.yaml | 22 ---- servers/meta-ads/tools.json | 1 - servers/neon-remote/readme.md | 1 - servers/neon-remote/server.yaml | 22 ---- servers/neon-remote/tools.json | 57 ---------- servers/netlify/readme.md | 1 - servers/netlify/server.yaml | 22 ---- servers/netlify/tools.json | 1 - servers/plaid/readme.md | 1 - servers/plaid/server.yaml | 22 ---- servers/plaid/tools.json | 1 - servers/simplescraper/readme.md | 1 - servers/simplescraper/server.yaml | 22 ---- servers/simplescraper/tools.json | 1 - servers/square/readme.md | 1 - servers/square/server.yaml | 22 ---- servers/square/tools.json | 1 - servers/stytch/readme.md | 1 - servers/stytch/server.yaml | 22 ---- servers/stytch/tools.json | 1 - servers/vercel/readme.md | 1 - servers/vercel/server.yaml | 22 ---- servers/vercel/tools.json | 1 - 60 files changed, 734 deletions(-) delete mode 100644 servers/atlassian-remote/readme.md delete mode 100644 servers/atlassian-remote/server.yaml delete mode 100644 servers/atlassian-remote/tools.json delete mode 100644 servers/box-remote/readme.md delete mode 100644 servers/box-remote/server.yaml delete mode 100644 servers/box-remote/tools.json delete mode 100644 servers/canva/readme.md delete mode 100644 servers/canva/server.yaml delete mode 100644 servers/canva/tools.json delete mode 100644 servers/cloudinary-analysis/readme.md delete mode 100644 servers/cloudinary-analysis/server.yaml delete mode 100644 servers/cloudinary-analysis/tools.json delete mode 100644 servers/cloudinary-asset-management/readme.md delete mode 100644 servers/cloudinary-asset-management/server.yaml delete mode 100644 servers/cloudinary-asset-management/tools.json delete mode 100644 servers/cloudinary-environment-config/readme.md delete mode 100644 servers/cloudinary-environment-config/server.yaml delete mode 100644 servers/cloudinary-environment-config/tools.json delete mode 100644 servers/cloudinary-mediaflows/readme.md delete mode 100644 servers/cloudinary-mediaflows/server.yaml delete mode 100644 servers/cloudinary-mediaflows/tools.json delete mode 100644 servers/cloudinary-structured-metadata/readme.md delete mode 100644 servers/cloudinary-structured-metadata/server.yaml delete mode 100644 servers/cloudinary-structured-metadata/tools.json delete mode 100644 servers/github-remote/readme.md delete mode 100644 servers/github-remote/server.yaml delete mode 100644 servers/github-remote/tools.json delete mode 100644 servers/intercom/readme.md delete mode 100644 servers/intercom/server.yaml delete mode 100644 servers/intercom/tools.json delete mode 100644 servers/kollektiv/readme.md delete mode 100644 servers/kollektiv/server.yaml delete mode 100644 servers/kollektiv/tools.json delete mode 100644 servers/listenetic/readme.md delete mode 100644 servers/listenetic/server.yaml delete mode 100644 servers/listenetic/tools.json delete mode 100644 servers/meta-ads/readme.md delete mode 100644 servers/meta-ads/server.yaml delete mode 100644 servers/meta-ads/tools.json delete mode 100644 servers/neon-remote/readme.md delete mode 100644 servers/neon-remote/server.yaml delete mode 100644 servers/neon-remote/tools.json delete mode 100644 servers/netlify/readme.md delete mode 100644 servers/netlify/server.yaml delete mode 100644 servers/netlify/tools.json delete mode 100644 servers/plaid/readme.md delete mode 100644 servers/plaid/server.yaml delete mode 100644 servers/plaid/tools.json delete mode 100644 servers/simplescraper/readme.md delete mode 100644 servers/simplescraper/server.yaml delete mode 100644 servers/simplescraper/tools.json delete mode 100644 servers/square/readme.md delete mode 100644 servers/square/server.yaml delete mode 100644 servers/square/tools.json delete mode 100644 servers/stytch/readme.md delete mode 100644 servers/stytch/server.yaml delete mode 100644 servers/stytch/tools.json delete mode 100644 servers/vercel/readme.md delete mode 100644 servers/vercel/server.yaml delete mode 100644 servers/vercel/tools.json diff --git a/servers/atlassian-remote/readme.md b/servers/atlassian-remote/readme.md deleted file mode 100644 index 70db551d..00000000 --- a/servers/atlassian-remote/readme.md +++ /dev/null @@ -1 +0,0 @@ -Docs: https://support.atlassian.com/atlassian-rovo-mcp-server/docs/getting-started-with-the-atlassian-remote-mcp-server/ diff --git a/servers/atlassian-remote/server.yaml b/servers/atlassian-remote/server.yaml deleted file mode 100644 index 875c7dd8..00000000 --- a/servers/atlassian-remote/server.yaml +++ /dev/null @@ -1,22 +0,0 @@ -name: atlassian-remote -type: remote -dynamic: - tools: true -meta: - category: devops - tags: - - devops - - software-development - - collaboration - - remote -about: - title: Atlassian - description: Tools for Atlassian products (Confluence and Jira). This integration supports both Atlassian Cloud and Jira Server/Data Center deployments. - icon: https://www.google.com/s2/favicons?domain=atlassian.com&sz=64 -remote: - transport_type: sse - url: https://mcp.atlassian.com/v1/sse -oauth: - - provider: atlassian-remote - secret: atlassian-remote.personal_access_token - env: ATLAS_PERSONAL_ACCESS_TOKEN diff --git a/servers/atlassian-remote/tools.json b/servers/atlassian-remote/tools.json deleted file mode 100644 index ee32261d..00000000 --- a/servers/atlassian-remote/tools.json +++ /dev/null @@ -1,27 +0,0 @@ -[ - { - "name": "search_jira_issues", - "description": "Search for Jira issues across projects", - "arguments": [] - }, - { - "name": "create_jira_issue", - "description": "Create a new Jira issue", - "arguments": [] - }, - { - "name": "search_confluence_pages", - "description": "Search for Confluence pages and content", - "arguments": [] - }, - { - "name": "create_confluence_page", - "description": "Create a new Confluence page", - "arguments": [] - }, - { - "name": "summarize_content", - "description": "Summarize content across Jira, Confluence, and Compass", - "arguments": [] - } -] \ No newline at end of file diff --git a/servers/box-remote/readme.md b/servers/box-remote/readme.md deleted file mode 100644 index dd30c155..00000000 --- a/servers/box-remote/readme.md +++ /dev/null @@ -1 +0,0 @@ -Docs: https://developer.box.com/guides/box-mcp/remote/ diff --git a/servers/box-remote/server.yaml b/servers/box-remote/server.yaml deleted file mode 100644 index 1076650a..00000000 --- a/servers/box-remote/server.yaml +++ /dev/null @@ -1,22 +0,0 @@ -name: box-remote -type: remote -dynamic: - tools: true -meta: - category: storage - tags: - - storage - - document-management - - collaboration - - remote -about: - title: Box - description: Perform actions related to content stored in Box - icon: https://www.google.com/s2/favicons?domain=box.com&sz=64 -remote: - transport_type: streamable-http - url: https://mcp.box.com -oauth: - - provider: box-remote - secret: box-remote.personal_access_token - env: BOX_PERSONAL_ACCESS_TOKEN diff --git a/servers/box-remote/tools.json b/servers/box-remote/tools.json deleted file mode 100644 index 144cbd68..00000000 --- a/servers/box-remote/tools.json +++ /dev/null @@ -1,62 +0,0 @@ -[ - { - "name": "box_who_am_i", - "description": "Get current user information", - "arguments": [] - }, - { - "name": "box_authorize_app_tool", - "description": "Start Box application authorization", - "arguments": [] - }, - { - "name": "box_search_tool", - "description": "Search for files in Box", - "arguments": [] - }, - { - "name": "box_read_tool", - "description": "Read text content of Box files", - "arguments": [] - }, - { - "name": "box_ai_ask_file_single_tool", - "description": "Query AI about a single file", - "arguments": [] - }, - { - "name": "box_ai_ask_file_multi_tool", - "description": "Query AI using multiple files", - "arguments": [] - }, - { - "name": "box_ai_ask_hub_tool", - "description": "Ask AI about a hub", - "arguments": [] - }, - { - "name": "box_ai_extract_freeform_tool", - "description": "Extract data using freeform AI prompts", - "arguments": [] - }, - { - "name": "box_ai_extract_structured_using_fields_tool", - "description": "Extract structured data with specified fields", - "arguments": [] - }, - { - "name": "box_upload_file_from_path_tool", - "description": "Upload files from local filesystem", - "arguments": [] - }, - { - "name": "box_upload_file_from_content_tool", - "description": "Upload content as files", - "arguments": [] - }, - { - "name": "box_download_file_tool", - "description": "Download files from Box", - "arguments": [] - } -] \ No newline at end of file diff --git a/servers/canva/readme.md b/servers/canva/readme.md deleted file mode 100644 index 93b45d09..00000000 --- a/servers/canva/readme.md +++ /dev/null @@ -1 +0,0 @@ -Docs: https://www.canva.com/help/mcp-agent-setup/ diff --git a/servers/canva/server.yaml b/servers/canva/server.yaml deleted file mode 100644 index 351f6831..00000000 --- a/servers/canva/server.yaml +++ /dev/null @@ -1,22 +0,0 @@ -name: canva -type: remote -dynamic: - tools: true -meta: - category: design - tags: - - design - - graphics - - creative - - remote -about: - title: Canva - description: Create professional graphics, presentations, and marketing materials with AI-powered design tools and templates - icon: https://www.google.com/s2/favicons?domain=canva.com&sz=64 -remote: - transport_type: streamable-http - url: https://mcp.canva.com/mcp -oauth: - - provider: canva - secret: canva.personal_access_token - env: CANVA_PERSONAL_ACCESS_TOKEN diff --git a/servers/canva/tools.json b/servers/canva/tools.json deleted file mode 100644 index fe51488c..00000000 --- a/servers/canva/tools.json +++ /dev/null @@ -1 +0,0 @@ -[] diff --git a/servers/cloudinary-analysis/readme.md b/servers/cloudinary-analysis/readme.md deleted file mode 100644 index ac5e27be..00000000 --- a/servers/cloudinary-analysis/readme.md +++ /dev/null @@ -1 +0,0 @@ -Docs: https://cloudinary.com/documentation/cloudinary_llm_mcp \ No newline at end of file diff --git a/servers/cloudinary-analysis/server.yaml b/servers/cloudinary-analysis/server.yaml deleted file mode 100644 index 92682365..00000000 --- a/servers/cloudinary-analysis/server.yaml +++ /dev/null @@ -1,24 +0,0 @@ -name: cloudinary-analysis -type: remote -dynamic: - tools: true -meta: - category: ai - tags: - - ai - - analysis - - content-moderation - - auto-tagging - - cloudinary - - remote -about: - title: Cloudinary Analysis - description: Leverage AI-powered content analysis, moderation, and auto-tagging capabilities for your media assets - icon: https://www.google.com/s2/favicons?domain=cloudinary.com&sz=64 -remote: - transport_type: sse - url: https://analysis.mcp.cloudinary.com/sse -oauth: - - provider: cloudinary-analysis - secret: cloudinary-analysis.personal_access_token - env: CLOUDINARY_PERSONAL_ACCESS_TOKEN \ No newline at end of file diff --git a/servers/cloudinary-analysis/tools.json b/servers/cloudinary-analysis/tools.json deleted file mode 100644 index 0637a088..00000000 --- a/servers/cloudinary-analysis/tools.json +++ /dev/null @@ -1 +0,0 @@ -[] \ No newline at end of file diff --git a/servers/cloudinary-asset-management/readme.md b/servers/cloudinary-asset-management/readme.md deleted file mode 100644 index 4893cdf6..00000000 --- a/servers/cloudinary-asset-management/readme.md +++ /dev/null @@ -1 +0,0 @@ -Docs: https://cloudinary.com/documentation/cloudinary_llm_mcp diff --git a/servers/cloudinary-asset-management/server.yaml b/servers/cloudinary-asset-management/server.yaml deleted file mode 100644 index ee250b0e..00000000 --- a/servers/cloudinary-asset-management/server.yaml +++ /dev/null @@ -1,22 +0,0 @@ -name: cloudinary-asset-management -type: remote -dynamic: - tools: true -meta: - category: media - tags: - - media - - asset-management - - cdn - - remote -about: - title: Cloudinary Asset Management - description: Manage, optimize, and deliver media assets with AI-powered transformations, global CDN, and collaborative workflows - icon: https://www.google.com/s2/favicons?domain=cloudinary.com&sz=64 -remote: - transport_type: sse - url: https://asset-management.mcp.cloudinary.com/sse -oauth: - - provider: cloudinary-asset-management - secret: cloudinary-asset-management.personal_access_token - env: CLOUDINARY_PERSONAL_ACCESS_TOKEN diff --git a/servers/cloudinary-asset-management/tools.json b/servers/cloudinary-asset-management/tools.json deleted file mode 100644 index fe51488c..00000000 --- a/servers/cloudinary-asset-management/tools.json +++ /dev/null @@ -1 +0,0 @@ -[] diff --git a/servers/cloudinary-environment-config/readme.md b/servers/cloudinary-environment-config/readme.md deleted file mode 100644 index ac5e27be..00000000 --- a/servers/cloudinary-environment-config/readme.md +++ /dev/null @@ -1 +0,0 @@ -Docs: https://cloudinary.com/documentation/cloudinary_llm_mcp \ No newline at end of file diff --git a/servers/cloudinary-environment-config/server.yaml b/servers/cloudinary-environment-config/server.yaml deleted file mode 100644 index 78b233f5..00000000 --- a/servers/cloudinary-environment-config/server.yaml +++ /dev/null @@ -1,23 +0,0 @@ -name: cloudinary-environment-config -type: remote -dynamic: - tools: true -meta: - category: media - tags: - - media - - configuration - - environment - - cloudinary - - remote -about: - title: Cloudinary Environment Config - description: Configure and manage your Cloudinary environment settings, upload presets, and transformations - icon: https://www.google.com/s2/favicons?domain=cloudinary.com&sz=64 -remote: - transport_type: sse - url: https://environment-config.mcp.cloudinary.com/sse -oauth: - - provider: cloudinary-environment-config - secret: cloudinary-environment-config.personal_access_token - env: CLOUDINARY_PERSONAL_ACCESS_TOKEN \ No newline at end of file diff --git a/servers/cloudinary-environment-config/tools.json b/servers/cloudinary-environment-config/tools.json deleted file mode 100644 index 0637a088..00000000 --- a/servers/cloudinary-environment-config/tools.json +++ /dev/null @@ -1 +0,0 @@ -[] \ No newline at end of file diff --git a/servers/cloudinary-mediaflows/readme.md b/servers/cloudinary-mediaflows/readme.md deleted file mode 100644 index ac5e27be..00000000 --- a/servers/cloudinary-mediaflows/readme.md +++ /dev/null @@ -1 +0,0 @@ -Docs: https://cloudinary.com/documentation/cloudinary_llm_mcp \ No newline at end of file diff --git a/servers/cloudinary-mediaflows/server.yaml b/servers/cloudinary-mediaflows/server.yaml deleted file mode 100644 index 54d50d9e..00000000 --- a/servers/cloudinary-mediaflows/server.yaml +++ /dev/null @@ -1,23 +0,0 @@ -name: cloudinary-mediaflows -type: remote -dynamic: - tools: true -meta: - category: automation - tags: - - automation - - workflow - - media-processing - - cloudinary - - remote -about: - title: Cloudinary MediaFlows - description: Build and manage low-code workflow automations for images and videos with AI-powered assistance - icon: https://www.google.com/s2/favicons?domain=cloudinary.com&sz=64 -remote: - transport_type: streamable-http - url: https://mediaflows.mcp.cloudinary.com/v2/mcp -oauth: - - provider: cloudinary-mediaflows - secret: cloudinary-mediaflows.personal_access_token - env: CLOUDINARY_PERSONAL_ACCESS_TOKEN diff --git a/servers/cloudinary-mediaflows/tools.json b/servers/cloudinary-mediaflows/tools.json deleted file mode 100644 index 0637a088..00000000 --- a/servers/cloudinary-mediaflows/tools.json +++ /dev/null @@ -1 +0,0 @@ -[] \ No newline at end of file diff --git a/servers/cloudinary-structured-metadata/readme.md b/servers/cloudinary-structured-metadata/readme.md deleted file mode 100644 index ac5e27be..00000000 --- a/servers/cloudinary-structured-metadata/readme.md +++ /dev/null @@ -1 +0,0 @@ -Docs: https://cloudinary.com/documentation/cloudinary_llm_mcp \ No newline at end of file diff --git a/servers/cloudinary-structured-metadata/server.yaml b/servers/cloudinary-structured-metadata/server.yaml deleted file mode 100644 index dfd286ff..00000000 --- a/servers/cloudinary-structured-metadata/server.yaml +++ /dev/null @@ -1,23 +0,0 @@ -name: cloudinary-structured-metadata -type: remote -dynamic: - tools: true -meta: - category: media - tags: - - media - - metadata - - organization - - cloudinary - - remote -about: - title: Cloudinary Structured Metadata - description: Create, manage, and query structured metadata fields for enhanced asset organization and searchability - icon: https://www.google.com/s2/favicons?domain=cloudinary.com&sz=64 -remote: - transport_type: sse - url: https://structured-metadata.mcp.cloudinary.com/sse -oauth: - - provider: cloudinary-structured-metadata - secret: cloudinary-structured-metadata.personal_access_token - env: CLOUDINARY_PERSONAL_ACCESS_TOKEN \ No newline at end of file diff --git a/servers/cloudinary-structured-metadata/tools.json b/servers/cloudinary-structured-metadata/tools.json deleted file mode 100644 index 0637a088..00000000 --- a/servers/cloudinary-structured-metadata/tools.json +++ /dev/null @@ -1 +0,0 @@ -[] \ No newline at end of file diff --git a/servers/github-remote/readme.md b/servers/github-remote/readme.md deleted file mode 100644 index d90cacc8..00000000 --- a/servers/github-remote/readme.md +++ /dev/null @@ -1 +0,0 @@ -Docs: https://github.com/github/github-mcp-server diff --git a/servers/github-remote/server.yaml b/servers/github-remote/server.yaml deleted file mode 100644 index 7b7b4949..00000000 --- a/servers/github-remote/server.yaml +++ /dev/null @@ -1,22 +0,0 @@ -name: github-remote -type: remote -dynamic: - tools: true -meta: - category: devops - tags: - - devops - - version-control - - collaboration - - remote -about: - title: GitHub - description: Enhance development workflows with AI pair programming, code suggestions, and intelligent version control assistance - icon: https://www.google.com/s2/favicons?domain=githubcopilot.com&sz=64 -remote: - transport_type: streamable-http - url: https://api.githubcopilot.com/mcp -oauth: - - provider: github-remote - secret: github-remote.personal_access_token - env: GITHUB_PERSONAL_ACCESS_TOKEN diff --git a/servers/github-remote/tools.json b/servers/github-remote/tools.json deleted file mode 100644 index ba9a99ad..00000000 --- a/servers/github-remote/tools.json +++ /dev/null @@ -1,107 +0,0 @@ -[ - { - "name": "cancel_workflow_run", - "description": "Cancel a GitHub Actions workflow run", - "arguments": [] - }, - { - "name": "delete_workflow_run_logs", - "description": "Delete logs from a workflow run", - "arguments": [] - }, - { - "name": "download_workflow_run_artifact", - "description": "Download artifacts from a workflow run", - "arguments": [] - }, - { - "name": "get_job_logs", - "description": "Get logs for a specific job", - "arguments": [] - }, - { - "name": "get_workflow_run", - "description": "Get details of a workflow run", - "arguments": [] - }, - { - "name": "list_workflow_jobs", - "description": "List jobs in a workflow", - "arguments": [] - }, - { - "name": "run_workflow", - "description": "Trigger a workflow run", - "arguments": [] - }, - { - "name": "rerun_workflow_run", - "description": "Re-run a workflow", - "arguments": [] - }, - { - "name": "get_code_scanning_alert", - "description": "Get details of a code scanning alert", - "arguments": [] - }, - { - "name": "list_code_scanning_alerts", - "description": "List code scanning alerts", - "arguments": [] - }, - { - "name": "get_dependabot_alert", - "description": "Get details of a Dependabot alert", - "arguments": [] - }, - { - "name": "list_dependabot_alerts", - "description": "List Dependabot alerts", - "arguments": [] - }, - { - "name": "get_discussion", - "description": "Get a GitHub discussion", - "arguments": [] - }, - { - "name": "get_discussion_comments", - "description": "Get comments on a discussion", - "arguments": [] - }, - { - "name": "list_discussions", - "description": "List GitHub discussions", - "arguments": [] - }, - { - "name": "create_gist", - "description": "Create a new GitHub gist", - "arguments": [] - }, - { - "name": "list_gists", - "description": "List GitHub gists", - "arguments": [] - }, - { - "name": "update_gist", - "description": "Update an existing gist", - "arguments": [] - }, - { - "name": "add_issue_comment", - "description": "Add a comment to an issue", - "arguments": [] - }, - { - "name": "create_issue", - "description": "Create a new GitHub issue", - "arguments": [] - }, - { - "name": "assign_copilot_to_issue", - "description": "Assign GitHub Copilot to an issue", - "arguments": [] - } -] \ No newline at end of file diff --git a/servers/intercom/readme.md b/servers/intercom/readme.md deleted file mode 100644 index 848beb4c..00000000 --- a/servers/intercom/readme.md +++ /dev/null @@ -1 +0,0 @@ -Docs: https://www.intercom.com/blog/introducing-model-context-protocol-fin/ diff --git a/servers/intercom/server.yaml b/servers/intercom/server.yaml deleted file mode 100644 index 613cdba7..00000000 --- a/servers/intercom/server.yaml +++ /dev/null @@ -1,22 +0,0 @@ -name: intercom -type: remote -dynamic: - tools: true -meta: - category: support - tags: - - support - - customer-service - - messaging - - remote -about: - title: Intercom - description: Deliver AI-powered customer support with live chat, automated workflows, and omnichannel messaging - icon: https://www.google.com/s2/favicons?domain=intercom.com&sz=64 -remote: - transport_type: sse - url: https://mcp.intercom.com/sse -oauth: - - provider: intercom - secret: intercom.personal_access_token - env: INTERCOM_PERSONAL_ACCESS_TOKEN diff --git a/servers/intercom/tools.json b/servers/intercom/tools.json deleted file mode 100644 index fe51488c..00000000 --- a/servers/intercom/tools.json +++ /dev/null @@ -1 +0,0 @@ -[] diff --git a/servers/kollektiv/readme.md b/servers/kollektiv/readme.md deleted file mode 100644 index a980edae..00000000 --- a/servers/kollektiv/readme.md +++ /dev/null @@ -1 +0,0 @@ -Docs: https://github.com/alexander-zuev/kollektiv-mcp diff --git a/servers/kollektiv/server.yaml b/servers/kollektiv/server.yaml deleted file mode 100644 index 5463b9e8..00000000 --- a/servers/kollektiv/server.yaml +++ /dev/null @@ -1,22 +0,0 @@ -name: kollektiv -type: remote -dynamic: - tools: true -meta: - category: documentation - tags: - - documentation - - knowledge-base - - ai - - remote -about: - title: Kollektiv - description: Create and manage AI-powered knowledge bases and documentation with intelligent search and collaboration features - icon: https://www.google.com/s2/favicons?domain=thekollektiv.ai&sz=64 -remote: - transport_type: sse - url: https://mcp.thekollektiv.ai/sse -oauth: - - provider: kollektiv - secret: kollektiv.personal_access_token - env: KOLLEKTIV_PERSONAL_ACCESS_TOKEN diff --git a/servers/kollektiv/tools.json b/servers/kollektiv/tools.json deleted file mode 100644 index fe51488c..00000000 --- a/servers/kollektiv/tools.json +++ /dev/null @@ -1 +0,0 @@ -[] diff --git a/servers/listenetic/readme.md b/servers/listenetic/readme.md deleted file mode 100644 index e35c27a9..00000000 --- a/servers/listenetic/readme.md +++ /dev/null @@ -1 +0,0 @@ -Docs: https://app.listenetic.com diff --git a/servers/listenetic/server.yaml b/servers/listenetic/server.yaml deleted file mode 100644 index 8ee6f0d4..00000000 --- a/servers/listenetic/server.yaml +++ /dev/null @@ -1,22 +0,0 @@ -name: listenetic -type: remote -dynamic: - tools: true -meta: - category: productivity - tags: - - productivity - - audio - - transcription - - remote -about: - title: Listenetic - description: Transform audio content into actionable insights with AI-powered transcription and analysis tools - icon: https://www.google.com/s2/favicons?domain=listenetic.ai&sz=64 -remote: - transport_type: streamable-http - url: https://mcp.listenetic.com/v1/mcp -oauth: - - provider: listenetic - secret: listenetic.personal_access_token - env: LISTENETIC_PERSONAL_ACCESS_TOKEN diff --git a/servers/listenetic/tools.json b/servers/listenetic/tools.json deleted file mode 100644 index fe51488c..00000000 --- a/servers/listenetic/tools.json +++ /dev/null @@ -1 +0,0 @@ -[] diff --git a/servers/meta-ads/readme.md b/servers/meta-ads/readme.md deleted file mode 100644 index 6309a6c5..00000000 --- a/servers/meta-ads/readme.md +++ /dev/null @@ -1 +0,0 @@ -Docs: https://github.com/pipeboard-co/meta-ads-mcp diff --git a/servers/meta-ads/server.yaml b/servers/meta-ads/server.yaml deleted file mode 100644 index 5659b036..00000000 --- a/servers/meta-ads/server.yaml +++ /dev/null @@ -1,22 +0,0 @@ -name: meta-ads -type: remote -dynamic: - tools: true -meta: - category: marketing - tags: - - marketing - - advertising - - meta - - remote -about: - title: Meta Ads by Pipeboard - description: Analyze and optimize Facebook and Instagram ad campaigns with AI-powered insights and performance recommendations - icon: https://www.google.com/s2/favicons?domain=pipeboard.co&sz=64 -remote: - transport_type: sse - url: https://mcp.pipeboard.co/meta-ads-mcp -oauth: - - provider: meta-ads - secret: meta-ads.personal_access_token - env: META_ADS_PERSONAL_ACCESS_TOKEN diff --git a/servers/meta-ads/tools.json b/servers/meta-ads/tools.json deleted file mode 100644 index fe51488c..00000000 --- a/servers/meta-ads/tools.json +++ /dev/null @@ -1 +0,0 @@ -[] diff --git a/servers/neon-remote/readme.md b/servers/neon-remote/readme.md deleted file mode 100644 index 82d0396b..00000000 --- a/servers/neon-remote/readme.md +++ /dev/null @@ -1 +0,0 @@ -Docs: https://neon.com/blog/announcing-neons-remote-mcp-server diff --git a/servers/neon-remote/server.yaml b/servers/neon-remote/server.yaml deleted file mode 100644 index 09175215..00000000 --- a/servers/neon-remote/server.yaml +++ /dev/null @@ -1,22 +0,0 @@ -name: neon-remote -type: remote -dynamic: - tools: true -meta: - category: database - tags: - - database - - postgres - - serverless - - remote -about: - title: Neon - description: Deploy and scale serverless PostgreSQL databases with instant provisioning, autoscaling, and database branching - icon: https://www.google.com/s2/favicons?domain=neon.tech&sz=64 -remote: - transport_type: streamable-http - url: https://mcp.neon.tech/mcp -oauth: - - provider: neon-remote - secret: neon-remote.personal_access_token - env: NEON_REMOTE_PERSONAL_ACCESS_TOKEN diff --git a/servers/neon-remote/tools.json b/servers/neon-remote/tools.json deleted file mode 100644 index de07d13a..00000000 --- a/servers/neon-remote/tools.json +++ /dev/null @@ -1,57 +0,0 @@ -[ - { - "name": "list_projects", - "description": "Retrieve list of Neon projects with search and limit options", - "arguments": [] - }, - { - "name": "list_shared_projects", - "description": "List projects shared with current user", - "arguments": [] - }, - { - "name": "describe_project", - "description": "Get detailed project information", - "arguments": [] - }, - { - "name": "create_project", - "description": "Create new Neon projects", - "arguments": [] - }, - { - "name": "delete_project", - "description": "Delete projects and associated resources", - "arguments": [] - }, - { - "name": "create_branch", - "description": "Create new branches within projects", - "arguments": [] - }, - { - "name": "reset_from_parent", - "description": "Reset branch to parent branch state", - "arguments": [] - }, - { - "name": "run_sql", - "description": "Execute SQL queries", - "arguments": [] - }, - { - "name": "create_table", - "description": "Create database tables", - "arguments": [] - }, - { - "name": "update_row", - "description": "Update database rows", - "arguments": [] - }, - { - "name": "delete_table", - "description": "Delete database tables", - "arguments": [] - } -] \ No newline at end of file diff --git a/servers/netlify/readme.md b/servers/netlify/readme.md deleted file mode 100644 index 6e486340..00000000 --- a/servers/netlify/readme.md +++ /dev/null @@ -1 +0,0 @@ -Docs: https://docs.netlify.com/build/build-with-ai/netlify-mcp-server/ diff --git a/servers/netlify/server.yaml b/servers/netlify/server.yaml deleted file mode 100644 index 7819c27c..00000000 --- a/servers/netlify/server.yaml +++ /dev/null @@ -1,22 +0,0 @@ -name: netlify -type: remote -dynamic: - tools: true -meta: - category: devops - tags: - - devops - - hosting - - deployment - - remote -about: - title: Netlify - description: Deploy and host web applications with continuous deployment, serverless functions, and global CDN - icon: https://www.google.com/s2/favicons?domain=netlify.com&sz=64 -remote: - transport_type: streamable-http - url: https://netlify-mcp.netlify.app/mcp -oauth: - - provider: netlify - secret: netlify.personal_access_token - env: NETLIFY_PERSONAL_ACCESS_TOKEN diff --git a/servers/netlify/tools.json b/servers/netlify/tools.json deleted file mode 100644 index fe51488c..00000000 --- a/servers/netlify/tools.json +++ /dev/null @@ -1 +0,0 @@ -[] diff --git a/servers/plaid/readme.md b/servers/plaid/readme.md deleted file mode 100644 index cb9287da..00000000 --- a/servers/plaid/readme.md +++ /dev/null @@ -1 +0,0 @@ -Docs: https://plaid.com/blog/anthropic-api-mcp/ diff --git a/servers/plaid/server.yaml b/servers/plaid/server.yaml deleted file mode 100644 index 5fdd77af..00000000 --- a/servers/plaid/server.yaml +++ /dev/null @@ -1,22 +0,0 @@ -name: plaid -type: remote -dynamic: - tools: true -meta: - category: fintech - tags: - - fintech - - banking - - financial-data - - remote -about: - title: Plaid - description: Connect to banking data, verify accounts, and access transaction history across thousands of financial institutions - icon: https://www.google.com/s2/favicons?domain=plaid.com&sz=64 -remote: - transport_type: sse - url: https://api.dashboard.plaid.com/mcp/sse -oauth: - - provider: plaid - secret: plaid.personal_access_token - env: PLAID_PERSONAL_ACCESS_TOKEN diff --git a/servers/plaid/tools.json b/servers/plaid/tools.json deleted file mode 100644 index fe51488c..00000000 --- a/servers/plaid/tools.json +++ /dev/null @@ -1 +0,0 @@ -[] diff --git a/servers/simplescraper/readme.md b/servers/simplescraper/readme.md deleted file mode 100644 index 4b671e17..00000000 --- a/servers/simplescraper/readme.md +++ /dev/null @@ -1 +0,0 @@ -Docs: https://simplescraper.io/docs/mcp-server diff --git a/servers/simplescraper/server.yaml b/servers/simplescraper/server.yaml deleted file mode 100644 index 1202aa98..00000000 --- a/servers/simplescraper/server.yaml +++ /dev/null @@ -1,22 +0,0 @@ -name: simplescraper -type: remote -dynamic: - tools: true -meta: - category: automation - tags: - - automation - - web-scraping - - data-extraction - - remote -about: - title: Simplescraper - description: Extract structured data from websites with AI-powered scraping, automation, and real-time API integration - icon: https://www.google.com/s2/favicons?domain=simplescraper.io&sz=64 -remote: - transport_type: streamable-http - url: https://mcp.simplescraper.io/mcp -oauth: - - provider: simplescraper - secret: simplescraper.personal_access_token - env: SIMPLESCRAPER_PERSONAL_ACCESS_TOKEN diff --git a/servers/simplescraper/tools.json b/servers/simplescraper/tools.json deleted file mode 100644 index fe51488c..00000000 --- a/servers/simplescraper/tools.json +++ /dev/null @@ -1 +0,0 @@ -[] diff --git a/servers/square/readme.md b/servers/square/readme.md deleted file mode 100644 index e774e61b..00000000 --- a/servers/square/readme.md +++ /dev/null @@ -1 +0,0 @@ -Docs: https://developer.squareup.com/docs/mcp diff --git a/servers/square/server.yaml b/servers/square/server.yaml deleted file mode 100644 index e01aa224..00000000 --- a/servers/square/server.yaml +++ /dev/null @@ -1,22 +0,0 @@ -name: square -type: remote -dynamic: - tools: true -meta: - category: payments - tags: - - payments - - pos - - commerce - - remote -about: - title: Square - description: Process payments, manage point-of-sale transactions, and run commerce operations for businesses of all sizes - icon: https://www.google.com/s2/favicons?domain=squareup.com&sz=64 -remote: - transport_type: sse - url: https://mcp.squareup.com/sse -oauth: - - provider: square - secret: square.personal_access_token - env: SQUARE_PERSONAL_ACCESS_TOKEN diff --git a/servers/square/tools.json b/servers/square/tools.json deleted file mode 100644 index fe51488c..00000000 --- a/servers/square/tools.json +++ /dev/null @@ -1 +0,0 @@ -[] diff --git a/servers/stytch/readme.md b/servers/stytch/readme.md deleted file mode 100644 index 816967be..00000000 --- a/servers/stytch/readme.md +++ /dev/null @@ -1 +0,0 @@ -Docs: https://stytch.com/docs/workspace-management/stytch-mcp diff --git a/servers/stytch/server.yaml b/servers/stytch/server.yaml deleted file mode 100644 index f3831d3e..00000000 --- a/servers/stytch/server.yaml +++ /dev/null @@ -1,22 +0,0 @@ -name: stytch -type: remote -dynamic: - tools: true -meta: - category: security - tags: - - security - - authentication - - identity - - remote -about: - title: Stytch - description: Implement passwordless authentication with magic links, OTPs, biometrics, and enterprise-grade security - icon: https://www.google.com/s2/favicons?domain=stytch.com&sz=64 -remote: - transport_type: streamable-http - url: http://mcp.stytch.dev/mcp -oauth: - - provider: stytch - secret: stytch.personal_access_token - env: STYTCH_PERSONAL_ACCESS_TOKEN diff --git a/servers/stytch/tools.json b/servers/stytch/tools.json deleted file mode 100644 index fe51488c..00000000 --- a/servers/stytch/tools.json +++ /dev/null @@ -1 +0,0 @@ -[] diff --git a/servers/vercel/readme.md b/servers/vercel/readme.md deleted file mode 100644 index f84823a4..00000000 --- a/servers/vercel/readme.md +++ /dev/null @@ -1 +0,0 @@ -Docs: https://vercel.com/docs/mcp/vercel-mcp diff --git a/servers/vercel/server.yaml b/servers/vercel/server.yaml deleted file mode 100644 index 86dce01f..00000000 --- a/servers/vercel/server.yaml +++ /dev/null @@ -1,22 +0,0 @@ -name: vercel -type: remote -dynamic: - tools: true -meta: - category: devops - tags: - - devops - - hosting - - deployment - - remote -about: - title: Vercel - description: Deploy and scale web applications with serverless functions, global CDN, and automatic Git integration - icon: https://www.google.com/s2/favicons?domain=vercel.com&sz=64 -remote: - transport_type: streamable-http - url: https://mcp.vercel.com/ -oauth: - - provider: vercel - secret: vercel.personal_access_token - env: VERCEL_PERSONAL_ACCESS_TOKEN diff --git a/servers/vercel/tools.json b/servers/vercel/tools.json deleted file mode 100644 index fe51488c..00000000 --- a/servers/vercel/tools.json +++ /dev/null @@ -1 +0,0 @@ -[] From f151ad35ff45bb49c727263d6f31f0477668372f Mon Sep 17 00:00:00 2001 From: Jacob Howard Date: Mon, 13 Oct 2025 17:06:31 -0600 Subject: [PATCH 37/67] security: add version pinning for audited server sources This commit adds version pinning to the local MCP server sources that we were audited with AI. It also extends schema data types and support commands to use these pinned digests. Signed-off-by: Jacob Howard --- CONTRIBUTING.md | 1 + cmd/build/main.go | 23 ++++++------- cmd/create/main.go | 6 ++-- cmd/wizard/main.go | 10 ++++++ docs/configuration.md | 5 +++ pkg/servers/server.go | 33 ++++++++++++++++--- pkg/servers/types.go | 1 + servers/SQLite/server.yaml | 1 + servers/airtable-mcp-server/server.yaml | 1 + servers/aks/server.yaml | 1 + servers/apify-mcp-server/server.yaml | 1 + servers/apollo-mcp-server/server.yaml | 1 + servers/arxiv-mcp-server/server.yaml | 1 + servers/ast-grep/server.yaml | 1 + servers/astra-db/server.yaml | 1 + servers/atlan/server.yaml | 3 +- servers/atlas-docs/server.yaml | 1 + servers/atlassian/server.yaml | 1 + servers/audiense-insights/server.yaml | 1 + servers/aws-cdk-mcp-server/server.yaml | 1 + servers/aws-core-mcp-server/server.yaml | 1 + servers/aws-diagram/server.yaml | 1 + servers/aws-documentation/server.yaml | 1 + servers/aws-kb-retrieval-server/server.yaml | 1 + servers/aws-terraform/server.yaml | 1 + servers/azure/server.yaml | 1 + servers/beagle-security/server.yaml | 1 + servers/bitrefill/server.yaml | 1 + servers/box/server.yaml | 1 + servers/brave/server.yaml | 1 + servers/buildkite/server.yaml | 1 + servers/camunda/server.yaml | 1 + servers/cdata-connectcloud/server.yaml | 1 + servers/charmhealth-mcp-server/server.yaml | 1 + servers/chroma/server.yaml | 1 + servers/circleci/server.yaml | 1 + servers/clickhouse/server.yaml | 1 + servers/cloud-run-mcp/server.yaml | 1 + servers/cockroachdb/server.yaml | 1 + servers/context7/server.yaml | 1 + servers/couchbase/server.yaml | 1 + servers/cyreslab-ai-shodan/server.yaml | 1 + servers/dappier/server.yaml | 1 + servers/dart/server.yaml | 1 + servers/database-server/server.yaml | 3 +- servers/databutton/server.yaml | 1 + servers/descope/server.yaml | 1 + servers/desktop-commander/server.yaml | 1 + servers/devhub-cms/server.yaml | 1 + servers/dockerhub/server.yaml | 3 +- servers/dreamfactory-mcp/server.yaml | 1 + servers/duckduckgo/server.yaml | 1 + servers/dynatrace-mcp-server/server.yaml | 1 + servers/e2b/server.yaml | 1 + servers/edubase/server.yaml | 1 + servers/effect-mcp/server.yaml | 1 + servers/elasticsearch/server.yaml | 1 + servers/elevenlabs/server.yaml | 1 + servers/everart/server.yaml | 1 + servers/exa/server.yaml | 1 + servers/explorium/server.yaml | 1 + servers/fetch/server.yaml | 1 + servers/fibery/server.yaml | 1 + servers/filesystem/server.yaml | 1 + servers/firecrawl/server.yaml | 1 + servers/firewalla-mcp-server/server.yaml | 1 + servers/flexprice/server.yaml | 1 + servers/git/server.yaml | 1 + servers/github-chat/server.yaml | 1 + servers/github-official/server.yaml | 1 + servers/github/server.yaml | 1 + servers/gitlab/server.yaml | 1 + servers/glif/server.yaml | 1 + servers/gmail-mcp/server.yaml | 3 +- servers/google-maps-comprehensive/server.yaml | 1 + servers/google-maps/server.yaml | 1 + servers/grafana/server.yaml | 1 + servers/gyazo/server.yaml | 1 + servers/hackle/server.yaml | 1 + servers/handwriting-ocr/server.yaml | 1 + servers/hdx/server.yaml | 1 + servers/heroku/server.yaml | 1 + servers/hostinger-mcp-server/server.yaml | 1 + servers/hoverfly-mcp-server/server.yaml | 1 + servers/hummingbot-mcp/server.yaml | 1 + servers/husqvarna-automower/server.yaml | 1 + servers/hyperbrowser/server.yaml | 1 + servers/hyperspell/server.yaml | 1 + servers/iaptic/server.yaml | 1 + servers/inspektor-gadget/server.yaml | 1 + servers/jetbrains/server.yaml | 1 + servers/kafka-schema-reg-mcp/server.yaml | 1 + servers/kagisearch/server.yaml | 1 + servers/keboola-mcp/server.yaml | 1 + servers/kgrag-mcp-server/server.yaml | 1 + servers/kong/server.yaml | 1 + servers/kubectl-mcp-server/server.yaml | 1 + servers/kubernetes/server.yaml | 1 + servers/lara/server.yaml | 1 + servers/line/server.yaml | 1 + servers/linkedin-mcp-server/server.yaml | 3 +- servers/maestro-mcp-server/server.yaml | 1 + servers/mapbox-devkit/server.yaml | 3 +- servers/mapbox/server.yaml | 3 +- servers/markdownify/server.yaml | 1 + servers/markitdown/server.yaml | 1 + servers/maven-tools-mcp/server.yaml | 3 +- servers/mcp-api-gateway/server.yaml | 1 + servers/mcp-code-interpreter/server.yaml | 1 + servers/mcp-discord/server.yaml | 1 + .../mcp-github-pr-issue-analyser/server.yaml | 1 + servers/mcp-hackernews/server.yaml | 1 + servers/mcp-meta-analysis-r/server.yaml | 3 +- servers/mcp-python-refactoring/server.yaml | 3 +- servers/mcp-reddit/server.yaml | 1 + servers/memory/server.yaml | 1 + servers/metabase/server.yaml | 1 + servers/minecraft-wiki/server.yaml | 1 + servers/mongodb/server.yaml | 1 + servers/multiversx-mx/server.yaml | 1 + servers/nasdaq-data-link/server.yaml | 1 + servers/needle-mcp/server.yaml | 3 +- servers/neo4j-cloud-aura-api/server.yaml | 1 + servers/neo4j-cypher/server.yaml | 1 + servers/neo4j-data-modeling/server.yaml | 3 +- servers/neo4j-memory/server.yaml | 1 + servers/neon/server.yaml | 1 + servers/node-code-sandbox/server.yaml | 1 + servers/notion/server.yaml | 1 + servers/novita/server.yaml | 1 + servers/npm-sentinel/server.yaml | 1 + servers/obsidian/server.yaml | 1 + servers/okta-mcp-fctr/server.yaml | 1 + servers/omi/server.yaml | 1 + servers/onlyoffice-docspace/server.yaml | 1 + servers/openapi-schema/server.yaml | 1 + servers/openapi/server.yaml | 1 + servers/openbnb-airbnb/server.yaml | 1 + servers/openweather/server.yaml | 1 + servers/opik/server.yaml | 1 + servers/opine-mcp-server/server.yaml | 1 + servers/oracle/server.yaml | 1 + servers/osp_marketing_tools/server.yaml | 1 + servers/oxylabs/server.yaml | 1 + servers/paper-search/server.yaml | 1 + servers/perplexity-ask/server.yaml | 1 + servers/pia/server.yaml | 1 + servers/pinecone/server.yaml | 1 + servers/playwright-mcp-server/server.yaml | 1 + servers/playwright/server.yaml | 1 + servers/pluggedin-mcp-proxy/server.yaml | 3 +- servers/pomodash/server.yaml | 1 + servers/postgres/server.yaml | 1 + servers/postman/server.yaml | 1 + servers/pref-editor/server.yaml | 1 + servers/prometheus/server.yaml | 1 + servers/puppeteer/server.yaml | 1 + servers/quantconnect/server.yaml | 1 + servers/ramparts/server.yaml | 1 + servers/razorpay/server.yaml | 1 + servers/redis-cloud/server.yaml | 1 + servers/redis/server.yaml | 1 + servers/ref/server.yaml | 3 +- servers/render/server.yaml | 1 + servers/resend/server.yaml | 1 + servers/risken/server.yaml | 1 + servers/root/server.yaml | 3 +- servers/ros2/server.yaml | 1 + servers/rust-mcp-filesystem/server.yaml | 1 + servers/schemacrawler-ai/server.yaml | 1 + servers/schogini-mcp-image-border/server.yaml | 1 + servers/scrapegraph/server.yaml | 1 + servers/scrapezy/server.yaml | 1 + servers/sec-edgar/server.yaml | 1 + .../securenote-link-mcp-server/server.yaml | 1 + servers/sentry/server.yaml | 1 + servers/sequa/server.yaml | 1 + servers/sequentialthinking/server.yaml | 1 + servers/simplechecklist/server.yaml | 1 + servers/singlestore/server.yaml | 1 + servers/slack/server.yaml | 1 + servers/smartbear/server.yaml | 1 + servers/sonarqube/server.yaml | 1 + servers/sqlite-mcp-server/server.yaml | 1 + servers/stackgen/server.yaml | 1 + servers/stackhawk/server.yaml | 1 + servers/stripe/server.yaml | 1 + servers/supadata/server.yaml | 1 + servers/suzieq/server.yaml | 1 + servers/task-orchestrator/server.yaml | 1 + servers/tavily/server.yaml | 1 + servers/teamwork/server.yaml | 1 + servers/tembo/server.yaml | 1 + servers/terraform/server.yaml | 1 + servers/text-to-graphql/server.yaml | 3 +- servers/thingsboard/server.yaml | 1 + servers/tigris/server.yaml | 1 + servers/time/server.yaml | 1 + servers/triplewhale/server.yaml | 1 + servers/uberall/server.yaml | 1 + servers/unreal-engine-mcp-server/server.yaml | 1 + servers/veyrax/server.yaml | 1 + servers/vizro/server.yaml | 1 + servers/vuln-nist-mcp-server/server.yaml | 1 + servers/webflow/server.yaml | 1 + servers/wikipedia-mcp/server.yaml | 1 + servers/wolfram-alpha/server.yaml | 1 + servers/youtube_transcript/server.yaml | 1 + servers/zerodha-kite/server.yaml | 3 +- 209 files changed, 276 insertions(+), 39 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 635b8ad0..5c4a2039 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -64,6 +64,7 @@ about: icon: https://avatars.githubusercontent.com/u/182288589?s=200&v=4 source: project: https://github.com/myorg/my-orgdb-mcp + commit: 0123456789abcdef0123456789abcdef01234567 config: description: Configure the connection to TODO secrets: diff --git a/cmd/build/main.go b/cmd/build/main.go index 656f2346..56c88638 100644 --- a/cmd/build/main.go +++ b/cmd/build/main.go @@ -119,8 +119,7 @@ func buildDockerEnv(additionalEnv ...string) []string { func buildMcpImage(ctx context.Context, server servers.Server) error { projectURL := server.Source.Project branch := server.Source.Branch - directory := server.Source.Directory - + commit := server.Source.Commit client := github.New() repository, err := client.GetProjectRepository(ctx, projectURL) @@ -132,24 +131,22 @@ func buildMcpImage(ctx context.Context, server servers.Server) error { branch = repository.GetDefaultBranch() } - sha, err := client.GetCommitSHA1(ctx, projectURL, branch) - if err != nil { - return err + if commit == "" { + var err error + commit, err = client.GetCommitSHA1(ctx, projectURL, branch) + if err != nil { + return err + } } - gitURL := projectURL + ".git#" - if branch != "" { - gitURL += branch - } - if directory != "" && directory != "." { - gitURL += ":" + directory - } + gitURL := server.GetContext() var cmd *exec.Cmd token := os.Getenv("GITHUB_TOKEN") buildArgs := []string{ - "-f", server.GetDockerfile(), "-t", "check", "-t", server.Image, "--label", "org.opencontainers.image.revision=" + sha, "--load", + "-f", server.GetDockerfile(), "-t", "check", "-t", server.Image, + "--label", "org.opencontainers.image.revision=" + commit, "--load", } if server.Source.BuildTarget != "" { diff --git a/cmd/create/main.go b/cmd/create/main.go index fb437a47..c3460fb9 100644 --- a/cmd/create/main.go +++ b/cmd/create/main.go @@ -128,10 +128,7 @@ func run(ctx context.Context, buildURL, name, category, userProvidedImage string } if build && userProvidedImage == "" { - gitURL := projectURL + ".git#" - if branch != "" { - gitURL += branch - } + gitURL := projectURL + ".git#" + sha if directory != "" && directory != "." { gitURL += ":" + directory } @@ -219,6 +216,7 @@ func run(ctx context.Context, buildURL, name, category, userProvidedImage string Project: projectURL, Upstream: upstream, Branch: branch, + Commit: sha, Directory: directory, }, Run: servers.Run{ diff --git a/cmd/wizard/main.go b/cmd/wizard/main.go index b943105a..650d5ed9 100644 --- a/cmd/wizard/main.go +++ b/cmd/wizard/main.go @@ -87,6 +87,7 @@ type WizardData struct { ServerName string GitHubRepo string Branch string + Commit string Category string Title string Description string @@ -506,6 +507,7 @@ func generateAndSave(data *WizardData) error { }, Source: servers.Source{ Project: data.GitHubRepo, + Commit: data.Commit, }, } @@ -618,6 +620,14 @@ func validateGithubRepo(data *WizardData) error { return err } + sha, err := client.GetCommitSHA1(ctx, detectedInfo.ProjectURL, detectedInfo.Branch) + if err != nil { + return err + } + + data.GitHubRepo = detectedInfo.ProjectURL + data.Commit = sha + parts := strings.Split(strings.ToLower(data.GitHubRepo), "/") name := parts[len(parts)-1] diff --git a/docs/configuration.md b/docs/configuration.md index f49dd167..0705aab0 100644 --- a/docs/configuration.md +++ b/docs/configuration.md @@ -85,6 +85,10 @@ run: - --transport=stdio ``` +## Source Pinning + +Local servers must pin their source repository to a specific Git commit using the `source.commit` field. Once an initial revision is accepted into the registry, an automated nightly GitHub Action will drive PRs to perform updates. + ## User If you need to run the container with a specific user, you can do it in the `run` block. If you want the user to be able to define the container user, you will need to create a parameter first and then add the `run` block to the server. @@ -119,6 +123,7 @@ about: icon: https://... source: project: https://github.com/my-org/my-mcp-server + commit: 0123456789abcdef0123456789abcdef01234567 run: command: - --transport=stdio diff --git a/pkg/servers/server.go b/pkg/servers/server.go index 4d2ff5f6..b87b0eb1 100644 --- a/pkg/servers/server.go +++ b/pkg/servers/server.go @@ -29,10 +29,16 @@ import ( func (s *Server) GetContext() string { base := s.Source.Project + ".git" - if s.GetBranch() != "main" { - base += "#" + s.Source.Branch + revision := s.Source.Commit + if revision != "" { + base += "#" + revision } else { - base += "#" + branch := s.GetBranch() + if branch != "main" { + base += "#" + branch + } else { + base += "#" + } } if s.Source.Directory != "" && s.Source.Directory != "." { @@ -43,7 +49,12 @@ func (s *Server) GetContext() string { } func (s *Server) GetSourceURL() string { - source := s.Source.Project + "/tree/" + s.GetBranch() + revision := s.Source.Commit + if revision == "" { + revision = s.GetBranch() + } + + source := s.Source.Project + "/tree/" + revision if s.Source.Directory != "" { source += "/" + s.Source.Directory } @@ -64,8 +75,20 @@ func (s *Server) GetBranch() string { return s.Source.Branch } +func (s *Server) GetRevision() string { + if s.Source.Commit != "" { + return s.Source.Commit + } + return s.GetBranch() +} + func (s *Server) GetDockerfileUrl() string { - base := s.Source.Project + "/blob/" + s.GetBranch() + revision := s.Source.Commit + if revision == "" { + revision = s.GetBranch() + } + + base := s.Source.Project + "/blob/" + revision if s.Source.Directory != "" { base += "/" + s.Source.Directory } diff --git a/pkg/servers/types.go b/pkg/servers/types.go index 9164ff74..20930985 100644 --- a/pkg/servers/types.go +++ b/pkg/servers/types.go @@ -105,6 +105,7 @@ type Source struct { Project string `yaml:"project,omitempty" json:"project,omitempty"` Upstream string `yaml:"upstream,omitempty" json:"upstream,omitempty"` Branch string `yaml:"branch,omitempty" json:"branch,omitempty"` + Commit string `yaml:"commit,omitempty" json:"commit,omitempty"` Directory string `yaml:"directory,omitempty" json:"directory,omitempty"` Dockerfile string `yaml:"dockerfile,omitempty" json:"dockerfile,omitempty"` BuildTarget string `yaml:"buildTarget,omitempty" json:"buildTarget,omitempty"` diff --git a/servers/SQLite/server.yaml b/servers/SQLite/server.yaml index adf609cf..eec0c071 100644 --- a/servers/SQLite/server.yaml +++ b/servers/SQLite/server.yaml @@ -13,6 +13,7 @@ about: source: project: https://github.com/modelcontextprotocol/servers branch: 2025.4.24 + commit: b4ee623039a6c60053ce67269701ad9e95073306 directory: src/sqlite run: command: diff --git a/servers/airtable-mcp-server/server.yaml b/servers/airtable-mcp-server/server.yaml index a1df83f2..5e912cf9 100644 --- a/servers/airtable-mcp-server/server.yaml +++ b/servers/airtable-mcp-server/server.yaml @@ -12,6 +12,7 @@ about: source: project: https://github.com/domdomegg/airtable-mcp-server branch: master + commit: adb38aa92650394960e259f4482936db7bdbbe15 config: description: Configure the connection to Airtable mcp server secrets: diff --git a/servers/aks/server.yaml b/servers/aks/server.yaml index fb2777df..a71f34a8 100644 --- a/servers/aks/server.yaml +++ b/servers/aks/server.yaml @@ -14,6 +14,7 @@ about: icon: https://raw.githubusercontent.com/Azure/AKS/master/blog/assets/images/400x400.png source: project: https://github.com/Azure/aks-mcp + commit: c3020f2402b4713da07942e7dcc688a3a1804c3f run: command: - --transport=stdio diff --git a/servers/apify-mcp-server/server.yaml b/servers/apify-mcp-server/server.yaml index 8ce18e91..7ad2ff03 100644 --- a/servers/apify-mcp-server/server.yaml +++ b/servers/apify-mcp-server/server.yaml @@ -19,6 +19,7 @@ about: source: project: https://github.com/apify/actors-mcp-server branch: master + commit: 689096631db8b0e16bd7f1dc95956af3197dfd42 config: description: Configure the Apify MCP Server secrets: diff --git a/servers/apollo-mcp-server/server.yaml b/servers/apollo-mcp-server/server.yaml index 73874ab7..466f820b 100644 --- a/servers/apollo-mcp-server/server.yaml +++ b/servers/apollo-mcp-server/server.yaml @@ -11,6 +11,7 @@ about: icon: https://www.apollographql.com/favicon/android-icon-192x192.png source: project: https://github.com/apollographql/apollo-mcp-server + commit: f481f59105966975c04febbed9efc8b62a93ec32 config: description: Configure the connection to Apollo MCP Server env: diff --git a/servers/arxiv-mcp-server/server.yaml b/servers/arxiv-mcp-server/server.yaml index 89ece47c..850d4314 100644 --- a/servers/arxiv-mcp-server/server.yaml +++ b/servers/arxiv-mcp-server/server.yaml @@ -33,6 +33,7 @@ about: icon: https://avatars.githubusercontent.com/u/15390319?v=4 source: project: https://github.com/jasonleinart/arxiv-mcp-server + commit: fe977e538dc24bb2da937c6c9e48febb54083226 run: volumes: - '{{arxiv-mcp-server.storage_path}}:/app/papers' diff --git a/servers/ast-grep/server.yaml b/servers/ast-grep/server.yaml index dccf459f..2a0a6e4d 100644 --- a/servers/ast-grep/server.yaml +++ b/servers/ast-grep/server.yaml @@ -13,6 +13,7 @@ about: icon: https://avatars.githubusercontent.com/u/114017360?s=200&v=4 source: project: https://github.com/dgageot/mcp-ast-grep + commit: c0a1edaf9cd6b168f2b59bc5a0161ad49a793099 run: volumes: - '{{ast-grep.path|volume-target}}:/src' diff --git a/servers/astra-db/server.yaml b/servers/astra-db/server.yaml index 27f086c7..acf23b7c 100644 --- a/servers/astra-db/server.yaml +++ b/servers/astra-db/server.yaml @@ -11,6 +11,7 @@ about: icon: https://avatars.githubusercontent.com/u/573369?s=200&v=4 source: project: https://github.com/datastax/astra-db-mcp + commit: 24042cf389b25323cf3776f80f9154bb39904623 config: description: Configure the connection to Astra DB secrets: diff --git a/servers/atlan/server.yaml b/servers/atlan/server.yaml index 3365db8f..f232b03d 100644 --- a/servers/atlan/server.yaml +++ b/servers/atlan/server.yaml @@ -13,6 +13,7 @@ about: source: project: https://github.com/atlanhq/agent-toolkit branch: main + commit: b78a61ff5a6fd24acf8950b49cf043f33333d271 directory: modelcontextprotocol config: description: Configure the connection to Atlan @@ -23,4 +24,4 @@ config: - name: atlan.atlan_base_url env: ATLAN_BASE_URL example: https://your-instance.atlan.com - \ No newline at end of file + diff --git a/servers/atlas-docs/server.yaml b/servers/atlas-docs/server.yaml index 89bdac38..2ae6305c 100644 --- a/servers/atlas-docs/server.yaml +++ b/servers/atlas-docs/server.yaml @@ -12,6 +12,7 @@ about: source: project: https://github.com/CartographAI/atlas-docs-mcp branch: master + commit: ce4c4fe8ef23d0a9db4f04370b533ac4b9b172f8 config: description: Configure the connection to Atlas Docs env: diff --git a/servers/atlassian/server.yaml b/servers/atlassian/server.yaml index 9517ecf3..f0bdd7f2 100644 --- a/servers/atlassian/server.yaml +++ b/servers/atlassian/server.yaml @@ -14,6 +14,7 @@ about: source: project: https://github.com/sooperset/mcp-atlassian branch: v0.11.2 + commit: dd66c3110b68275096176ce843d33ac92fbc74dc config: description: The MCP server is allowed to access these paths secrets: diff --git a/servers/audiense-insights/server.yaml b/servers/audiense-insights/server.yaml index 642d4298..1b253cd4 100644 --- a/servers/audiense-insights/server.yaml +++ b/servers/audiense-insights/server.yaml @@ -11,6 +11,7 @@ about: icon: https://avatars.githubusercontent.com/u/2454008?s=200&v=4 source: project: https://github.com/AudienseCo/mcp-audiense-insights + commit: f18ffa6ddf944769f3c95944281f752bf6369fa5 config: description: Configure the connection to Audiense Insights secrets: diff --git a/servers/aws-cdk-mcp-server/server.yaml b/servers/aws-cdk-mcp-server/server.yaml index dd987308..052fa4e8 100644 --- a/servers/aws-cdk-mcp-server/server.yaml +++ b/servers/aws-cdk-mcp-server/server.yaml @@ -12,4 +12,5 @@ about: icon: https://avatars.githubusercontent.com/u/3299148?v=4 source: project: https://github.com/awslabs/mcp + commit: 71b328c395582b1d4ee15e9c02eebc27bef86ca2 directory: src/cdk-mcp-server diff --git a/servers/aws-core-mcp-server/server.yaml b/servers/aws-core-mcp-server/server.yaml index 7ff1031c..428a2d1d 100644 --- a/servers/aws-core-mcp-server/server.yaml +++ b/servers/aws-core-mcp-server/server.yaml @@ -12,4 +12,5 @@ about: icon: https://avatars.githubusercontent.com/u/3299148?v=4 source: project: https://github.com/awslabs/mcp + commit: 71b328c395582b1d4ee15e9c02eebc27bef86ca2 directory: src/core-mcp-server diff --git a/servers/aws-diagram/server.yaml b/servers/aws-diagram/server.yaml index 40c751fd..465e6bdb 100644 --- a/servers/aws-diagram/server.yaml +++ b/servers/aws-diagram/server.yaml @@ -12,4 +12,5 @@ about: icon: https://avatars.githubusercontent.com/u/3299148?v=4 source: project: https://github.com/awslabs/mcp + commit: 71b328c395582b1d4ee15e9c02eebc27bef86ca2 directory: src/aws-diagram-mcp-server diff --git a/servers/aws-documentation/server.yaml b/servers/aws-documentation/server.yaml index 2fdb9a2b..a353ee9d 100644 --- a/servers/aws-documentation/server.yaml +++ b/servers/aws-documentation/server.yaml @@ -12,4 +12,5 @@ about: icon: https://avatars.githubusercontent.com/u/3299148?v=4 source: project: https://github.com/awslabs/mcp + commit: 71b328c395582b1d4ee15e9c02eebc27bef86ca2 directory: src/aws-documentation-mcp-server diff --git a/servers/aws-kb-retrieval-server/server.yaml b/servers/aws-kb-retrieval-server/server.yaml index f5eac7ed..fbca81ff 100644 --- a/servers/aws-kb-retrieval-server/server.yaml +++ b/servers/aws-kb-retrieval-server/server.yaml @@ -13,6 +13,7 @@ about: source: project: https://github.com/modelcontextprotocol/servers branch: 2025.4.24 + commit: b4ee623039a6c60053ce67269701ad9e95073306 dockerfile: src/aws-kb-retrieval-server/Dockerfile config: description: Configure the connection to AWS diff --git a/servers/aws-terraform/server.yaml b/servers/aws-terraform/server.yaml index 529ff2ed..cc9c0413 100644 --- a/servers/aws-terraform/server.yaml +++ b/servers/aws-terraform/server.yaml @@ -12,4 +12,5 @@ about: icon: https://avatars.githubusercontent.com/u/3299148?v=4 source: project: https://github.com/awslabs/mcp + commit: 71b328c395582b1d4ee15e9c02eebc27bef86ca2 directory: src/terraform-mcp-server diff --git a/servers/azure/server.yaml b/servers/azure/server.yaml index 8e5c6d41..a418d1a9 100644 --- a/servers/azure/server.yaml +++ b/servers/azure/server.yaml @@ -12,6 +12,7 @@ about: source: project: https://github.com/Azure/azure-mcp branch: main + commit: 1ea702cb489ba95c5d9bea8d41fc18e9343703f8 run: command: - server diff --git a/servers/beagle-security/server.yaml b/servers/beagle-security/server.yaml index e958adf7..b4c04283 100644 --- a/servers/beagle-security/server.yaml +++ b/servers/beagle-security/server.yaml @@ -12,6 +12,7 @@ about: source: project: https://github.com/beaglesecurity/beagle-security-mcp-server branch: main + commit: 4b0e0ee2f309d7fa0e19c9e63feee2a4ea2e9f3a config: description: Configure the connection to Beagle security mcp server secrets: diff --git a/servers/bitrefill/server.yaml b/servers/bitrefill/server.yaml index 88114895..ad154962 100644 --- a/servers/bitrefill/server.yaml +++ b/servers/bitrefill/server.yaml @@ -12,6 +12,7 @@ about: source: project: https://github.com/bitrefill/bitrefill-mcp-server branch: master + commit: c7e486505ee35756f667193d2cea540d9d53bedb config: description: Configure the connection to Bitrefill secrets: diff --git a/servers/box/server.yaml b/servers/box/server.yaml index ff6d2c05..0b9848d4 100644 --- a/servers/box/server.yaml +++ b/servers/box/server.yaml @@ -12,6 +12,7 @@ about: source: project: https://github.com/dgageot/mcp-server-box branch: dockerfile + commit: ec5b6680117610028d4320c9463b66309d95452d config: description: Configure the connection to Box secrets: diff --git a/servers/brave/server.yaml b/servers/brave/server.yaml index 80a2976e..93b49527 100644 --- a/servers/brave/server.yaml +++ b/servers/brave/server.yaml @@ -12,6 +12,7 @@ about: icon: https://avatars.githubusercontent.com/u/12301619?s=200&v=4 source: project: https://github.com/brave/brave-search-mcp-server + commit: 4d6f4a7323b0f564fc82d0b291cc49e201ef62ae config: description: Configure the Brave Search API connection secrets: diff --git a/servers/buildkite/server.yaml b/servers/buildkite/server.yaml index 798dd173..5fbafa37 100644 --- a/servers/buildkite/server.yaml +++ b/servers/buildkite/server.yaml @@ -11,6 +11,7 @@ about: icon: https://avatars.githubusercontent.com/u/5055988?v=4 source: project: https://github.com/buildkite/buildkite-mcp-server + commit: 62670a26a75f26204a6d0ac09bcef91fb246586d dockerfile: Dockerfile.local config: description: Configure the connection to Buildkite diff --git a/servers/camunda/server.yaml b/servers/camunda/server.yaml index d3aefe04..14a1726f 100644 --- a/servers/camunda/server.yaml +++ b/servers/camunda/server.yaml @@ -12,6 +12,7 @@ about: source: project: https://github.com/lepoco/mcp-camunda branch: main + commit: 4b50f37af26a66cced81895ba9b6d71b382ff022 config: description: Configure the connection to Camunda BPM process engine MCP Server env: diff --git a/servers/cdata-connectcloud/server.yaml b/servers/cdata-connectcloud/server.yaml index a9c2a78d..f76b9dd5 100644 --- a/servers/cdata-connectcloud/server.yaml +++ b/servers/cdata-connectcloud/server.yaml @@ -12,6 +12,7 @@ about: source: project: https://github.com/CDataSoftware/connectcloud-mcp-server branch: 00fe03b372819d143f266fd49e53d98181f4dd12 + commit: 00fe03b372819d143f266fd49e53d98181f4dd12 config: description: Configure the connection to CData Connect Cloud secrets: diff --git a/servers/charmhealth-mcp-server/server.yaml b/servers/charmhealth-mcp-server/server.yaml index db11b520..0410530f 100644 --- a/servers/charmhealth-mcp-server/server.yaml +++ b/servers/charmhealth-mcp-server/server.yaml @@ -14,6 +14,7 @@ about: icon: https://raw.githubusercontent.com/CharmHealth/charm-mcp-server/d7928f1ed514f59656e36693749dffea52ab04c2/Charm_icon.png source: project: https://github.com/CharmHealth/charm-mcp-server + commit: 3e519c302e8584bea719a8926ab3a43d7412a104 config: description: Configure the connection to CharmHealth EHR secrets: diff --git a/servers/chroma/server.yaml b/servers/chroma/server.yaml index cf08c1d6..bc654883 100644 --- a/servers/chroma/server.yaml +++ b/servers/chroma/server.yaml @@ -11,6 +11,7 @@ about: icon: https://avatars.githubusercontent.com/u/105881770?s=200&v=4 source: project: https://github.com/chroma-core/chroma-mcp + commit: 98ff67589bdcc31b730a5415ff9529433f949077 config: secrets: - name: chroma.api_key diff --git a/servers/circleci/server.yaml b/servers/circleci/server.yaml index db7710a1..1bafff28 100644 --- a/servers/circleci/server.yaml +++ b/servers/circleci/server.yaml @@ -13,6 +13,7 @@ source: upstream: https://github.com/CircleCI-Public/mcp-server-circleci project: https://github.com/cmrigney/mcp-server-circleci branch: use-cmd-docker + commit: 34ac141d8ceb27c829932cf5689da2c1c2c21b93 run: command: - stdio diff --git a/servers/clickhouse/server.yaml b/servers/clickhouse/server.yaml index ca77cdb6..2a686457 100644 --- a/servers/clickhouse/server.yaml +++ b/servers/clickhouse/server.yaml @@ -12,6 +12,7 @@ about: icon: https://avatars.githubusercontent.com/u/54801242?v=4 source: project: https://github.com/ClickHouse/mcp-clickhouse + commit: 415c3b30c5d262cff76b1184e96d7196487c82bf config: description: Configure the connection to ClickHouse secrets: diff --git a/servers/cloud-run-mcp/server.yaml b/servers/cloud-run-mcp/server.yaml index 37d19971..4cb1f03b 100644 --- a/servers/cloud-run-mcp/server.yaml +++ b/servers/cloud-run-mcp/server.yaml @@ -11,6 +11,7 @@ about: icon: https://avatars.githubusercontent.com/u/2810941?v=4 source: project: https://github.com/GoogleCloudPlatform/cloud-run-mcp + commit: 307962b22a48a06805076c02d462b537f50d3824 config: description: Configure the connection to Google Cloud Run env: diff --git a/servers/cockroachdb/server.yaml b/servers/cockroachdb/server.yaml index 925588f0..6db0fb00 100644 --- a/servers/cockroachdb/server.yaml +++ b/servers/cockroachdb/server.yaml @@ -12,6 +12,7 @@ about: icon: https://avatars.githubusercontent.com/u/6748139?v=4 source: project: https://github.com/amineelkouhen/mcp-cockroachdb + commit: 5c323e49ef52dbf1f3d4714dcd2dffa577d368fe config: description: Configure the connection to CockroachDB secrets: diff --git a/servers/context7/server.yaml b/servers/context7/server.yaml index af56bc52..60c207ec 100644 --- a/servers/context7/server.yaml +++ b/servers/context7/server.yaml @@ -12,6 +12,7 @@ about: source: project: https://github.com/upstash/context7 branch: v1.0.14 + commit: f2f367d8913843bd28b2a96a6ce860f43e3fc3ca run: env: MCP_TRANSPORT: stdio diff --git a/servers/couchbase/server.yaml b/servers/couchbase/server.yaml index 4d38bbe0..e5030716 100644 --- a/servers/couchbase/server.yaml +++ b/servers/couchbase/server.yaml @@ -12,6 +12,7 @@ about: icon: https://avatars.githubusercontent.com/u/605755?s=200&v=4 source: project: https://github.com/Couchbase-Ecosystem/mcp-server-couchbase + commit: 54df571411c47ebfe4241f98f94161aee36a456b config: description: Configure the connection to Couchbase secrets: diff --git a/servers/cyreslab-ai-shodan/server.yaml b/servers/cyreslab-ai-shodan/server.yaml index fa842243..bf8a5f14 100644 --- a/servers/cyreslab-ai-shodan/server.yaml +++ b/servers/cyreslab-ai-shodan/server.yaml @@ -12,6 +12,7 @@ about: source: project: https://github.com/Cyreslab-AI/shodan-mcp-server branch: 935f7044f60570cf2d094d94596eeea7872fb6be + commit: 935f7044f60570cf2d094d94596eeea7872fb6be config: secrets: - name: cyreslab-ai-shodan.api_key diff --git a/servers/dappier/server.yaml b/servers/dappier/server.yaml index 17aa0e8f..5c8a23e8 100644 --- a/servers/dappier/server.yaml +++ b/servers/dappier/server.yaml @@ -12,6 +12,7 @@ about: source: project: https://github.com/dappierai/dappier-mcp branch: staging + commit: 38bbde12ef9ea3a7a5fd142d018150c8c53bc63d config: secrets: - name: dappier.api_key diff --git a/servers/dart/server.yaml b/servers/dart/server.yaml index b951bebc..4e72cd01 100644 --- a/servers/dart/server.yaml +++ b/servers/dart/server.yaml @@ -11,6 +11,7 @@ about: icon: https://avatars.githubusercontent.com/u/92822028?s=200&v=4 source: project: https://github.com/its-dart/dart-mcp-server + commit: 8b2e239afe9f0b6d2cd598383e53dd2c554dc3b7 config: description: Configure the connection to Dart secrets: diff --git a/servers/database-server/server.yaml b/servers/database-server/server.yaml index b269b069..46b0a1f0 100644 --- a/servers/database-server/server.yaml +++ b/servers/database-server/server.yaml @@ -17,6 +17,7 @@ about: icon: https://avatars.githubusercontent.com/u/182288589?s=200&v=4 source: project: https://github.com/Souhar-dya/mcp-db-server + commit: d47b7ae3bf16e19deb9f2c8853cee255ee9157df config: description: Configure the database connection. Supports SQLite, PostgreSQL, and MySQL databases with comprehensive querying capabilities. env: @@ -31,4 +32,4 @@ config: title: "Database Connection URL" description: "Connection string for your database. Examples: SQLite: sqlite+aiosqlite:///data/mydb.db, PostgreSQL: postgresql+asyncpg://user:password@localhost:5432/mydb, MySQL: mysql+aiomysql://user:password@localhost:3306/mydb" required: - - database_url \ No newline at end of file + - database_url diff --git a/servers/databutton/server.yaml b/servers/databutton/server.yaml index 669216db..d9c0d454 100644 --- a/servers/databutton/server.yaml +++ b/servers/databutton/server.yaml @@ -11,3 +11,4 @@ about: icon: https://avatars.githubusercontent.com/u/182288589?s=200&v=4 source: project: https://github.com/databutton/databutton-mcp + commit: 3dde0e0dfcb91de131939a622403eeda3c1402b7 diff --git a/servers/descope/server.yaml b/servers/descope/server.yaml index 2b993594..69fc0971 100644 --- a/servers/descope/server.yaml +++ b/servers/descope/server.yaml @@ -12,6 +12,7 @@ about: icon: https://avatars.githubusercontent.com/u/119703169?s=200&v=4 source: project: https://github.com/descope-sample-apps/descope-mcp-server + commit: e983c18dd340924aa40a1c72ab6608b8b0b35ee7 config: description: Configure the connection to Descope secrets: diff --git a/servers/desktop-commander/server.yaml b/servers/desktop-commander/server.yaml index 017209ae..a39b352e 100644 --- a/servers/desktop-commander/server.yaml +++ b/servers/desktop-commander/server.yaml @@ -21,6 +21,7 @@ about: icon: https://avatars.githubusercontent.com/u/182288589?s=200&v=4 source: project: https://github.com/wonderwhy-er/DesktopCommanderMCP + commit: d40fbcb2fe44b85154ddfba2afb0afd484b42265 run: command: - npm diff --git a/servers/devhub-cms/server.yaml b/servers/devhub-cms/server.yaml index 87f55e03..32a2f70b 100644 --- a/servers/devhub-cms/server.yaml +++ b/servers/devhub-cms/server.yaml @@ -11,6 +11,7 @@ about: icon: https://avatars.githubusercontent.com/u/602719?s=200&v=4 source: project: https://github.com/devhub/devhub-cms-mcp + commit: c9f904c686a1ceec5d85709d117174d33925558a config: description: Configure the connection to DevHub CMS secrets: diff --git a/servers/dockerhub/server.yaml b/servers/dockerhub/server.yaml index 0136aaf3..0f3a1118 100644 --- a/servers/dockerhub/server.yaml +++ b/servers/dockerhub/server.yaml @@ -12,6 +12,7 @@ about: icon: https://avatars.githubusercontent.com/u/5429470?s=200&v=4 source: project: https://github.com/docker/hub-mcp + commit: 04cfa435b2f0cde66b8c5d4b0d378661400a1ba4 run: command: - --transport=stdio @@ -26,4 +27,4 @@ config: type: object properties: username: - type: string \ No newline at end of file + type: string diff --git a/servers/dreamfactory-mcp/server.yaml b/servers/dreamfactory-mcp/server.yaml index 36b4badc..6e5a81ab 100644 --- a/servers/dreamfactory-mcp/server.yaml +++ b/servers/dreamfactory-mcp/server.yaml @@ -12,6 +12,7 @@ about: source: project: https://github.com/dreamfactorysoftware/df-mcp branch: master + commit: ef98884d55917885316ca4ac48002ba16a54a1b8 config: description: Configure the connection to DreamFactory MCP Server env: diff --git a/servers/duckduckgo/server.yaml b/servers/duckduckgo/server.yaml index 44141f4b..06a48bc0 100644 --- a/servers/duckduckgo/server.yaml +++ b/servers/duckduckgo/server.yaml @@ -11,6 +11,7 @@ about: icon: https://avatars.githubusercontent.com/u/342708?s=200&v=4 source: project: https://github.com/nickclyde/duckduckgo-mcp-server + commit: d198a2f0e8bd7c862d87d8517e1518aa295f8348 run: allowHosts: - html.duckduckgo.com:443 diff --git a/servers/dynatrace-mcp-server/server.yaml b/servers/dynatrace-mcp-server/server.yaml index f39a4392..4fbe6564 100644 --- a/servers/dynatrace-mcp-server/server.yaml +++ b/servers/dynatrace-mcp-server/server.yaml @@ -14,6 +14,7 @@ about: source: project: https://github.com/dynatrace-oss/dynatrace-mcp branch: main + commit: e1b9fcf382515c51e2c60fc6442b97bebc641b44 config: description: Configure the connection to Dynatrace secrets: diff --git a/servers/e2b/server.yaml b/servers/e2b/server.yaml index 82a93a8a..c0b8574f 100644 --- a/servers/e2b/server.yaml +++ b/servers/e2b/server.yaml @@ -11,6 +11,7 @@ about: icon: https://avatars.githubusercontent.com/u/129434473?s=200&v=4 source: project: https://github.com/e2b-dev/mcp-server + commit: 40a5cfc21b51b57585ab275bfc01615fb828f799 config: secrets: - name: e2b.api_key diff --git a/servers/edubase/server.yaml b/servers/edubase/server.yaml index e2b2ac7a..5499768f 100644 --- a/servers/edubase/server.yaml +++ b/servers/edubase/server.yaml @@ -11,6 +11,7 @@ about: icon: https://avatars.githubusercontent.com/u/33938028?s=200&v=4 source: project: https://github.com/EduBase/MCP + commit: fb27455733414f2f98232b6f53c2fb7cb10fe5e1 config: description: Configure the connection to EduBase secrets: diff --git a/servers/effect-mcp/server.yaml b/servers/effect-mcp/server.yaml index 430a0dd8..ecbc5306 100644 --- a/servers/effect-mcp/server.yaml +++ b/servers/effect-mcp/server.yaml @@ -11,3 +11,4 @@ about: icon: https://avatars.githubusercontent.com/u/77678942?v=4 source: project: https://github.com/tim-smart/effect-mcp + commit: 05c19d789d4c4cbd9b881240f815ee8b7fa96ca6 diff --git a/servers/elasticsearch/server.yaml b/servers/elasticsearch/server.yaml index f4882f83..5afbad10 100644 --- a/servers/elasticsearch/server.yaml +++ b/servers/elasticsearch/server.yaml @@ -13,6 +13,7 @@ about: source: project: https://github.com/elastic/mcp-server-elasticsearch branch: v0.4.0 + commit: b2912b2ba544060962c7fabf38eb36cc940e9098 run: command: - stdio diff --git a/servers/elevenlabs/server.yaml b/servers/elevenlabs/server.yaml index 8b7e1142..8f70b39f 100644 --- a/servers/elevenlabs/server.yaml +++ b/servers/elevenlabs/server.yaml @@ -12,6 +12,7 @@ about: icon: https://avatars.githubusercontent.com/u/94471909?v=4 source: project: https://github.com/elevenlabs/elevenlabs-mcp + commit: b0070bde82b742aa1d24822d8a2cab7287c913f8 run: volumes: - '{{elevenlabs.data}}:/root/Desktop' diff --git a/servers/everart/server.yaml b/servers/everart/server.yaml index 32fdb7b0..51ec7f6f 100644 --- a/servers/everart/server.yaml +++ b/servers/everart/server.yaml @@ -13,6 +13,7 @@ about: source: project: https://github.com/modelcontextprotocol/servers branch: 2025.4.24 + commit: b4ee623039a6c60053ce67269701ad9e95073306 dockerfile: src/everart/Dockerfile config: secrets: diff --git a/servers/exa/server.yaml b/servers/exa/server.yaml index ec06a6e7..2b2f4b05 100644 --- a/servers/exa/server.yaml +++ b/servers/exa/server.yaml @@ -13,6 +13,7 @@ about: source: project: https://github.com/exa-labs/exa-mcp-server branch: 6ebf32f550168af016837efe31960c6548c831aa + commit: 6ebf32f550168af016837efe31960c6548c831aa config: secrets: - name: exa.api_key diff --git a/servers/explorium/server.yaml b/servers/explorium/server.yaml index 228f1d84..71d839b2 100644 --- a/servers/explorium/server.yaml +++ b/servers/explorium/server.yaml @@ -18,6 +18,7 @@ about: icon: https://marketing-public-links.s3.us-east-1.amazonaws.com/Brand/Logo-dark.png source: project: https://github.com/explorium-ai/mcp-explorium + commit: 68b1d497f6b4b42af581727a4cf08ded3b70a66c config: description: Explorium API Key - Get your API key from https://admin.explorium.ai/api-key secrets: diff --git a/servers/fetch/server.yaml b/servers/fetch/server.yaml index 32fa0a24..cd378064 100644 --- a/servers/fetch/server.yaml +++ b/servers/fetch/server.yaml @@ -13,4 +13,5 @@ about: source: project: https://github.com/modelcontextprotocol/servers branch: 2025.4.24 + commit: b4ee623039a6c60053ce67269701ad9e95073306 directory: src/fetch diff --git a/servers/fibery/server.yaml b/servers/fibery/server.yaml index a8a7c765..d2b077e6 100644 --- a/servers/fibery/server.yaml +++ b/servers/fibery/server.yaml @@ -12,6 +12,7 @@ about: icon: https://avatars.githubusercontent.com/u/72027989?v=4 source: project: https://github.com/Fibery-inc/fibery-mcp-server + commit: 16b206bd7ee740d2928b72a020660ec4187aba8b config: description: Configure the connection to Fibery secrets: diff --git a/servers/filesystem/server.yaml b/servers/filesystem/server.yaml index 210d9450..114e0213 100644 --- a/servers/filesystem/server.yaml +++ b/servers/filesystem/server.yaml @@ -13,6 +13,7 @@ about: source: project: https://github.com/modelcontextprotocol/servers branch: 2025.4.24 + commit: b4ee623039a6c60053ce67269701ad9e95073306 dockerfile: src/filesystem/Dockerfile run: command: diff --git a/servers/firecrawl/server.yaml b/servers/firecrawl/server.yaml index 078dadbe..3d276cdf 100644 --- a/servers/firecrawl/server.yaml +++ b/servers/firecrawl/server.yaml @@ -12,6 +12,7 @@ about: icon: https://avatars.githubusercontent.com/u/135057108?s=200&v=4 source: project: https://github.com/mendableai/firecrawl-mcp-server + commit: 0b004375cf99c5f5c84e2dced4eba7109feee8bb config: description: Configure the connection to Firecrawl secrets: diff --git a/servers/firewalla-mcp-server/server.yaml b/servers/firewalla-mcp-server/server.yaml index c1b874f6..91cbb065 100644 --- a/servers/firewalla-mcp-server/server.yaml +++ b/servers/firewalla-mcp-server/server.yaml @@ -15,6 +15,7 @@ about: icon: https://avatars.githubusercontent.com/u/16805913?s=200&v=4 source: project: https://github.com/amittell/firewalla-mcp-server + commit: d6f8c6ac25701a7eb69c3dfdda312817979329e9 config: description: Configure your Firewalla MSP connection credentials secrets: diff --git a/servers/flexprice/server.yaml b/servers/flexprice/server.yaml index 7aa068dc..d7a8f511 100644 --- a/servers/flexprice/server.yaml +++ b/servers/flexprice/server.yaml @@ -11,6 +11,7 @@ about: icon: https://avatars.githubusercontent.com/u/168305045?v=4 source: project: https://github.com/flexprice/mcp-server + commit: 87482b1f6c185589d41257ef846dcea0c3f0669b config: description: Configure the connection to Redis secrets: diff --git a/servers/git/server.yaml b/servers/git/server.yaml index 969f3026..62b0c79c 100644 --- a/servers/git/server.yaml +++ b/servers/git/server.yaml @@ -13,6 +13,7 @@ about: source: project: https://github.com/modelcontextprotocol/servers branch: 2025.4.24 + commit: b4ee623039a6c60053ce67269701ad9e95073306 directory: src/git run: volumes: diff --git a/servers/github-chat/server.yaml b/servers/github-chat/server.yaml index cf492e11..f7099f34 100644 --- a/servers/github-chat/server.yaml +++ b/servers/github-chat/server.yaml @@ -11,6 +11,7 @@ about: icon: https://avatars.githubusercontent.com/u/194295535?s=200&v=4 source: project: https://github.com/AsyncFuncAI/github-chat-mcp + commit: 8c1a390f10ab295ea7ce61c32461bbee06d2c654 config: secrets: - name: github-chat.api_key diff --git a/servers/github-official/server.yaml b/servers/github-official/server.yaml index 227bd021..d1b222d1 100644 --- a/servers/github-official/server.yaml +++ b/servers/github-official/server.yaml @@ -12,6 +12,7 @@ about: icon: https://avatars.githubusercontent.com/u/9919?s=200&v=4 source: project: https://github.com/github/github-mcp-server + commit: 23fa0dd1a821d1346c1de2abafe7327d26981606 run: allowHosts: - api.github.com:443 diff --git a/servers/github/server.yaml b/servers/github/server.yaml index 89c24125..7a988fe0 100644 --- a/servers/github/server.yaml +++ b/servers/github/server.yaml @@ -13,6 +13,7 @@ about: source: project: https://github.com/modelcontextprotocol/servers branch: 2025.4.24 + commit: b4ee623039a6c60053ce67269701ad9e95073306 dockerfile: src/github/Dockerfile config: secrets: diff --git a/servers/gitlab/server.yaml b/servers/gitlab/server.yaml index c3d9aec0..4dc184a9 100644 --- a/servers/gitlab/server.yaml +++ b/servers/gitlab/server.yaml @@ -13,6 +13,7 @@ about: source: project: https://github.com/modelcontextprotocol/servers branch: 2025.4.24 + commit: b4ee623039a6c60053ce67269701ad9e95073306 dockerfile: src/gitlab/Dockerfile config: description: Configure the local or Cloud GitLab instance diff --git a/servers/glif/server.yaml b/servers/glif/server.yaml index ed7d7353..2e1c73e9 100644 --- a/servers/glif/server.yaml +++ b/servers/glif/server.yaml @@ -11,6 +11,7 @@ about: icon: https://avatars.githubusercontent.com/u/119348676?s=200&v=4 source: project: https://github.com/glifxyz/glif-mcp-server + commit: 06af0b4e37aa257591dee5e62b023b96fa8b6f42 config: description: Configure the connection to glif.app secrets: diff --git a/servers/gmail-mcp/server.yaml b/servers/gmail-mcp/server.yaml index 76caf005..0e859a26 100644 --- a/servers/gmail-mcp/server.yaml +++ b/servers/gmail-mcp/server.yaml @@ -15,6 +15,7 @@ about: icon: https://www.google.com/gmail/about/static/images/logo-gmail.png source: project: https://github.com/Sallytion/Gmail-MCP + commit: c9a31741c7e879575c9dfc90192a7a430efef812 config: description: Configure Gmail access with app password authentication secrets: @@ -45,4 +46,4 @@ config: description: Your Gmail email address format: email required: - - email_address \ No newline at end of file + - email_address diff --git a/servers/google-maps-comprehensive/server.yaml b/servers/google-maps-comprehensive/server.yaml index 14c62217..b4ec92a7 100644 --- a/servers/google-maps-comprehensive/server.yaml +++ b/servers/google-maps-comprehensive/server.yaml @@ -19,6 +19,7 @@ about: source: project: https://github.com/vicpeacock/google-maps-comprehensive-mcp branch: main + commit: 32d7f4c1f497f97f2cf9f4a74ed5f6ff6daca687 dockerfile: Dockerfile config: description: Configure Google Maps API access with comprehensive location services diff --git a/servers/google-maps/server.yaml b/servers/google-maps/server.yaml index a74a2fa7..e9b35125 100644 --- a/servers/google-maps/server.yaml +++ b/servers/google-maps/server.yaml @@ -13,6 +13,7 @@ about: source: project: https://github.com/modelcontextprotocol/servers branch: 2025.4.6 + commit: 82064568802e542c3924560aef2cb421b4ce436c dockerfile: src/google-maps/Dockerfile config: secrets: diff --git a/servers/grafana/server.yaml b/servers/grafana/server.yaml index 652beaee..59eea8b6 100644 --- a/servers/grafana/server.yaml +++ b/servers/grafana/server.yaml @@ -12,6 +12,7 @@ about: source: project: https://github.com/grafana/mcp-grafana branch: main + commit: cd62726746f46263faa904d598137108b0ca27d1 run: command: - --transport=stdio diff --git a/servers/gyazo/server.yaml b/servers/gyazo/server.yaml index fd50ba98..45efbb0e 100644 --- a/servers/gyazo/server.yaml +++ b/servers/gyazo/server.yaml @@ -11,6 +11,7 @@ about: icon: https://avatars.githubusercontent.com/u/113151?v=4 source: project: https://github.com/nota/gyazo-mcp-server + commit: fa7285c214c0d11fc3d1cdc71843e0f1eecd4ed1 config: secrets: - name: gyazo.access_token diff --git a/servers/hackle/server.yaml b/servers/hackle/server.yaml index 879bfde9..0615c7dd 100644 --- a/servers/hackle/server.yaml +++ b/servers/hackle/server.yaml @@ -11,6 +11,7 @@ about: icon: https://avatars.githubusercontent.com/u/65485327?v=4 source: project: https://github.com/hackle-io/hackle-mcp + commit: b355ad09a50067cfa2f6a2d36fab59ae4eeefd08 config: secrets: - name: hackle.api_key diff --git a/servers/handwriting-ocr/server.yaml b/servers/handwriting-ocr/server.yaml index d15dd654..c516de02 100644 --- a/servers/handwriting-ocr/server.yaml +++ b/servers/handwriting-ocr/server.yaml @@ -11,6 +11,7 @@ about: icon: https://avatars.githubusercontent.com/u/202432073?s=200&v=4 source: project: https://github.com/Handwriting-OCR/handwriting-ocr-mcp-server + commit: 1b81cd90103265eac82d4a441fe669e6c7ccf03a config: secrets: - name: handwriting-ocr.api_token diff --git a/servers/hdx/server.yaml b/servers/hdx/server.yaml index e22621d3..a7c3a74a 100644 --- a/servers/hdx/server.yaml +++ b/servers/hdx/server.yaml @@ -11,6 +11,7 @@ about: icon: https://raw.githubusercontent.com/dividor/hdx-mcp/main/assets/hdx_mcp_icon_transparent_512.png source: project: https://github.com/dividor/hdx-mcp + commit: c625bf9ae120ed93a36aa7ac9352bdc41f6d9546 config: description: Configure the connection to Humanitarian Data Exchange MCP Server secrets: diff --git a/servers/heroku/server.yaml b/servers/heroku/server.yaml index 914c77aa..6c2e2f76 100644 --- a/servers/heroku/server.yaml +++ b/servers/heroku/server.yaml @@ -12,6 +12,7 @@ about: source: project: https://github.com/heroku/heroku-mcp-server branch: refs/pull/24/merge + commit: 7f956f759cb8b604b98096f701d56d0e22d47c5d config: secrets: - name: heroku.api_key diff --git a/servers/hostinger-mcp-server/server.yaml b/servers/hostinger-mcp-server/server.yaml index 10a642a2..a75b9113 100644 --- a/servers/hostinger-mcp-server/server.yaml +++ b/servers/hostinger-mcp-server/server.yaml @@ -11,6 +11,7 @@ about: icon: https://avatars.githubusercontent.com/u/2630767?v=4 source: project: https://github.com/hostinger/api-mcp-server + commit: 5cf6a59b5f165a35458b8c064de70e9554ca9e65 config: description: Configure the connection to Hostinger API MCP Server secrets: diff --git a/servers/hoverfly-mcp-server/server.yaml b/servers/hoverfly-mcp-server/server.yaml index 3be20fc4..e7de9e4f 100644 --- a/servers/hoverfly-mcp-server/server.yaml +++ b/servers/hoverfly-mcp-server/server.yaml @@ -14,6 +14,7 @@ about: description: A Model Context Protocol (MCP) server that exposes Hoverfly as a programmable tool for AI assistants like Cursor, Claude, GitHub Copilot, and others supporting MCP. It enables dynamic mocking of third-party APIs to unblock development, automate testing, and simulate unavailable services during integration. source: project: https://github.com/kapishmalik/hoverfly-mcp-server + commit: 34e9607ed71f1b78d1fd6788e32332912bac709a run: volumes: - '{{hoverfly-mcp-server.data}}:/opt/hoverfly-mcp/simulation-data' diff --git a/servers/hummingbot-mcp/server.yaml b/servers/hummingbot-mcp/server.yaml index 8a942629..5d0e8c67 100644 --- a/servers/hummingbot-mcp/server.yaml +++ b/servers/hummingbot-mcp/server.yaml @@ -11,6 +11,7 @@ about: icon: https://avatars.githubusercontent.com/u/88165212?v=4 source: project: https://github.com/hummingbot/mcp + commit: ad24846aa3d62706265fdb28833e721debdb0df0 config: description: 'Configure the MCP connection to the Hummingbot API' secrets: diff --git a/servers/husqvarna-automower/server.yaml b/servers/husqvarna-automower/server.yaml index f6ab10d0..ad0fa2d7 100644 --- a/servers/husqvarna-automower/server.yaml +++ b/servers/husqvarna-automower/server.yaml @@ -11,6 +11,7 @@ about: icon: https://avatars.githubusercontent.com/u/17142631?v=4 source: project: https://github.com/jeanlaurent/mcp-husqvarna-automower + commit: 288d2c3a10e650308ec03863258c3a72ae08578b config: description: Configure the connection to Husqvarna Automower secrets: diff --git a/servers/hyperbrowser/server.yaml b/servers/hyperbrowser/server.yaml index e32b2f96..5f93e758 100644 --- a/servers/hyperbrowser/server.yaml +++ b/servers/hyperbrowser/server.yaml @@ -11,6 +11,7 @@ about: icon: https://avatars.githubusercontent.com/u/189776885?s=200&v=4 source: project: https://github.com/hyperbrowserai/mcp + commit: 7492e83cf1825b3cf9725bfa25c5086df702599a config: description: Configure the connection to Hyperbrowser secrets: diff --git a/servers/hyperspell/server.yaml b/servers/hyperspell/server.yaml index 1f632faa..6fe4f954 100644 --- a/servers/hyperspell/server.yaml +++ b/servers/hyperspell/server.yaml @@ -11,6 +11,7 @@ about: icon: https://avatars.githubusercontent.com/u/170754924?s=200&v=4 source: project: https://github.com/hyperspell/hyperspell-mcp + commit: 6fbf999ec35b02ce4685de9b6309600bcd61c2db config: description: Configure the connection to Hyperspell secrets: diff --git a/servers/iaptic/server.yaml b/servers/iaptic/server.yaml index 1410f221..7859735a 100644 --- a/servers/iaptic/server.yaml +++ b/servers/iaptic/server.yaml @@ -11,6 +11,7 @@ about: icon: https://avatars.githubusercontent.com/u/72789805?s=200&v=4 source: project: https://github.com/iaptic/mcp-server-iaptic + commit: 210c73ccb12bb61676dbb23302f16a2d408c4f05 config: description: Configure the connection to iaptic secrets: diff --git a/servers/inspektor-gadget/server.yaml b/servers/inspektor-gadget/server.yaml index bb547008..9c0c6813 100644 --- a/servers/inspektor-gadget/server.yaml +++ b/servers/inspektor-gadget/server.yaml @@ -15,6 +15,7 @@ about: icon: https://avatars.githubusercontent.com/u/111520143?s=200&v=4 source: project: https://github.com/inspektor-gadget/ig-mcp-server + commit: 1f452f8ce2456594bac7fcc99ce5f907a037ad19 run: command: - -gadget-discoverer=artifacthub diff --git a/servers/jetbrains/server.yaml b/servers/jetbrains/server.yaml index 7b9e9b31..ac068943 100644 --- a/servers/jetbrains/server.yaml +++ b/servers/jetbrains/server.yaml @@ -11,6 +11,7 @@ about: icon: https://avatars.githubusercontent.com/u/878437?s=200&v=4 source: project: https://github.com/GannaChernyshova/mcp-jetbrains + commit: cd2dcb76144c92b8e7b8d32ae354a5bcb672a07f config: description: Configure the connection to the IDE env: diff --git a/servers/kafka-schema-reg-mcp/server.yaml b/servers/kafka-schema-reg-mcp/server.yaml index dc1e7870..faa33877 100644 --- a/servers/kafka-schema-reg-mcp/server.yaml +++ b/servers/kafka-schema-reg-mcp/server.yaml @@ -15,6 +15,7 @@ about: icon: https://avatars.githubusercontent.com/u/47359?s=200&v=4 source: project: https://github.com/aywengo/kafka-schema-reg-mcp + commit: e145fb8dd68d2246f50395572f6ca5c9f100e53c run: allowHosts: - "*:8081" diff --git a/servers/kagisearch/server.yaml b/servers/kagisearch/server.yaml index 24b434e9..6f2227d2 100644 --- a/servers/kagisearch/server.yaml +++ b/servers/kagisearch/server.yaml @@ -11,6 +11,7 @@ about: icon: https://avatars.githubusercontent.com/u/92134518?s=200&v=4 source: project: https://github.com/kagisearch/kagimcp + commit: f2c2157cd520f37c2a926c6434bc03a29a9f5ceb config: description: Configure the connection to Kagi search secrets: diff --git a/servers/keboola-mcp/server.yaml b/servers/keboola-mcp/server.yaml index 00bd42c5..f60aa5b8 100644 --- a/servers/keboola-mcp/server.yaml +++ b/servers/keboola-mcp/server.yaml @@ -13,6 +13,7 @@ about: icon: https://avatars.githubusercontent.com/u/1424387?v=4 source: project: https://github.com/keboola/mcp-server + commit: 6721e98d208db097f2dba6e7963ff319384c2ea6 config: description: Configure the connection to your Keboola project secrets: diff --git a/servers/kgrag-mcp-server/server.yaml b/servers/kgrag-mcp-server/server.yaml index 77430f1f..9bd1fde6 100644 --- a/servers/kgrag-mcp-server/server.yaml +++ b/servers/kgrag-mcp-server/server.yaml @@ -17,6 +17,7 @@ about: source: project: https://github.com/gzileni/kgrag_mcp_server branch: main + commit: 79ae98a75fb5248a6b574b00d3020b3412e53667 config: description: Configure the connection to the Knowledge Graph MCP Server diff --git a/servers/kong/server.yaml b/servers/kong/server.yaml index 73c99a8a..d9395696 100644 --- a/servers/kong/server.yaml +++ b/servers/kong/server.yaml @@ -13,6 +13,7 @@ about: source: project: https://github.com/Kong/mcp-konnect branch: refs/pull/7/merge + commit: 28f5c76d86427628299ce9d3eefe7c7ce4f7d617 config: description: Configure the connection to Kong Konnect secrets: diff --git a/servers/kubectl-mcp-server/server.yaml b/servers/kubectl-mcp-server/server.yaml index 5c710cbf..01b54038 100644 --- a/servers/kubectl-mcp-server/server.yaml +++ b/servers/kubectl-mcp-server/server.yaml @@ -14,6 +14,7 @@ about: icon: https://avatars.githubusercontent.com/u/13629408?s=200&v=4 source: project: https://github.com/rohitg00/kubectl-mcp-server + commit: f0986f3f3817283cf945b00ffb1329a3beef5f0e run: volumes: - '{{kubectl-mcp-server.kubeconfig}}:/root/.kube' diff --git a/servers/kubernetes/server.yaml b/servers/kubernetes/server.yaml index 0c91b90a..8a147f06 100644 --- a/servers/kubernetes/server.yaml +++ b/servers/kubernetes/server.yaml @@ -12,6 +12,7 @@ about: icon: https://avatars.githubusercontent.com/u/13629408?s=200&v=4 source: project: https://github.com/Flux159/mcp-server-kubernetes + commit: fd2fef03fd98dbad79064fa783f745f6a18e2041 run: volumes: - '{{kubernetes.config_path}}:/home/appuser/.kube/config' diff --git a/servers/lara/server.yaml b/servers/lara/server.yaml index 1aad51fe..3a95ff51 100644 --- a/servers/lara/server.yaml +++ b/servers/lara/server.yaml @@ -12,6 +12,7 @@ about: icon: https://avatars.githubusercontent.com/u/10272138?s=200&v=4 source: project: https://github.com/translated/lara-mcp + commit: 7a664be202ce1c29265b027305dbad0e2d9a8575 config: description: Configure the connection to Lara Translate secrets: diff --git a/servers/line/server.yaml b/servers/line/server.yaml index 0d2b79f6..552ac885 100644 --- a/servers/line/server.yaml +++ b/servers/line/server.yaml @@ -11,6 +11,7 @@ about: icon: https://avatars.githubusercontent.com/u/13128444?v=4 source: project: https://github.com/line/line-bot-mcp-server + commit: 190adabe83bd96ea04b6653b5bedf818db8eebb2 config: description: Configure the connection to LINE secrets: diff --git a/servers/linkedin-mcp-server/server.yaml b/servers/linkedin-mcp-server/server.yaml index 666e0125..dbab945f 100644 --- a/servers/linkedin-mcp-server/server.yaml +++ b/servers/linkedin-mcp-server/server.yaml @@ -16,6 +16,7 @@ about: icon: https://raw.githubusercontent.com/stickerdaniel/linkedin-mcp-server/main/assets/icons/linkedin.svg source: project: https://github.com/stickerdaniel/linkedin-mcp-server + commit: c54e3fa518d2b5cd827262159771b9d85a6eae13 config: description: Configure LinkedIn authentication and optional user agent secrets: @@ -31,4 +32,4 @@ config: properties: user_agent: type: string - description: Custom user agent string (optional, helps avoid detection and cookie login issues) \ No newline at end of file + description: Custom user agent string (optional, helps avoid detection and cookie login issues) diff --git a/servers/maestro-mcp-server/server.yaml b/servers/maestro-mcp-server/server.yaml index 1eda3895..3c1cead5 100644 --- a/servers/maestro-mcp-server/server.yaml +++ b/servers/maestro-mcp-server/server.yaml @@ -15,6 +15,7 @@ about: source: project: https://github.com/maestro-org/maestro-mcp-server branch: main + commit: df54020d17b0b6c3b2a03c7a328c644b9f49d970 config: description: Configure the connection to Maestro MCP Server secrets: diff --git a/servers/mapbox-devkit/server.yaml b/servers/mapbox-devkit/server.yaml index 93bf712b..7171a702 100644 --- a/servers/mapbox-devkit/server.yaml +++ b/servers/mapbox-devkit/server.yaml @@ -15,9 +15,10 @@ about: icon: https://avatars.githubusercontent.com/u/600935?s=200&v=4 source: project: https://github.com/mapbox/mcp-devkit-server + commit: 51c2210325bbf687c7e0b4b5f4af5123b0005745 dockerfile: Dockerfile config: secrets: - name: mapbox-devkit.access_token env: MAPBOX_ACCESS_TOKEN - example: YOUR_API_KEY_HERE \ No newline at end of file + example: YOUR_API_KEY_HERE diff --git a/servers/mapbox/server.yaml b/servers/mapbox/server.yaml index ec9be582..c712fe8a 100644 --- a/servers/mapbox/server.yaml +++ b/servers/mapbox/server.yaml @@ -15,9 +15,10 @@ about: icon: https://avatars.githubusercontent.com/u/600935?s=200&v=4 source: project: https://github.com/mapbox/mcp-server + commit: d0ef018ba90168e0e2839ea49fd81d0b83244eb9 dockerfile: Dockerfile config: secrets: - name: mapbox.access_token env: MAPBOX_ACCESS_TOKEN - example: YOUR_API_KEY_HERE \ No newline at end of file + example: YOUR_API_KEY_HERE diff --git a/servers/markdownify/server.yaml b/servers/markdownify/server.yaml index 8877fd8d..aeff9fe5 100644 --- a/servers/markdownify/server.yaml +++ b/servers/markdownify/server.yaml @@ -20,6 +20,7 @@ about: icon: https://avatars.githubusercontent.com/u/182288589?s=200&v=4 source: project: https://github.com/zcaceres/markdownify-mcp + commit: 4add350f4643365d31f7b3385ab1b65d37f97f1e run: volumes: - "{{markdownify.paths|volume|into}}" diff --git a/servers/markitdown/server.yaml b/servers/markitdown/server.yaml index 75720bb6..c9d09eed 100644 --- a/servers/markitdown/server.yaml +++ b/servers/markitdown/server.yaml @@ -20,6 +20,7 @@ about: icon: https://avatars.githubusercontent.com/u/6154722?v=4 source: project: https://github.com/microsoft/markitdown + commit: 8a9d8f15936b2068bcb39ccc8d3b317f93784d86 directory: packages/markitdown-mcp run: volumes: diff --git a/servers/maven-tools-mcp/server.yaml b/servers/maven-tools-mcp/server.yaml index 0db31cd0..084b5020 100644 --- a/servers/maven-tools-mcp/server.yaml +++ b/servers/maven-tools-mcp/server.yaml @@ -18,4 +18,5 @@ about: description: JVM dependency intelligence for any build tool using Maven Central Repository. Includes Context7 integration for upgrade documentation and guidance. icon: https://avatars.githubusercontent.com/u/18013523?s=200&v=4 source: - project: https://github.com/arvindand/maven-tools-mcp \ No newline at end of file + project: https://github.com/arvindand/maven-tools-mcp + commit: d419a7bfeb19f3515838a64f9a695fe38291e0ec diff --git a/servers/mcp-api-gateway/server.yaml b/servers/mcp-api-gateway/server.yaml index b7b8812e..15cf4f25 100644 --- a/servers/mcp-api-gateway/server.yaml +++ b/servers/mcp-api-gateway/server.yaml @@ -12,6 +12,7 @@ about: icon: https://avatars.githubusercontent.com/u/182288589?s=200&v=4 source: project: https://github.com/rflpazini/mcp-api-gateway + commit: f197f8db4f4990d76148342e27f005d9022df417 config: description: Configure the connection to mcp-api-gateway env: diff --git a/servers/mcp-code-interpreter/server.yaml b/servers/mcp-code-interpreter/server.yaml index 5ac38313..fa8b5742 100644 --- a/servers/mcp-code-interpreter/server.yaml +++ b/servers/mcp-code-interpreter/server.yaml @@ -11,6 +11,7 @@ about: icon: https://raw.githubusercontent.com/akuadane/mcp-code-interpreter/refs/heads/main/asset/logo.png source: project: https://github.com/akuadane/mcp-code-interpreter + commit: 209ddfca8c7a20cd44834a6217dfca358b532f90 run: volumes: - notebooks:/app/notebooks diff --git a/servers/mcp-discord/server.yaml b/servers/mcp-discord/server.yaml index 0af83924..6564a3fb 100644 --- a/servers/mcp-discord/server.yaml +++ b/servers/mcp-discord/server.yaml @@ -13,6 +13,7 @@ about: source: project: https://github.com/slimslenderslacks/mcp-discord branch: slim/docker + commit: ab1e64668681448e1e7f3f63ad28d9ed54288508 config: secrets: - name: discord.token diff --git a/servers/mcp-github-pr-issue-analyser/server.yaml b/servers/mcp-github-pr-issue-analyser/server.yaml index 74c562ec..f335b776 100644 --- a/servers/mcp-github-pr-issue-analyser/server.yaml +++ b/servers/mcp-github-pr-issue-analyser/server.yaml @@ -15,6 +15,7 @@ about: source: project: https://github.com/saidsef/mcp-github-pr-issue-analyser branch: main + commit: eaa15813df0afcc8cf0142b02a1fae0fe0b4e889 config: description: Configure the connection to MCP GitHub PRs Issues Analyser env: diff --git a/servers/mcp-hackernews/server.yaml b/servers/mcp-hackernews/server.yaml index 3cfd30c9..54c598d5 100644 --- a/servers/mcp-hackernews/server.yaml +++ b/servers/mcp-hackernews/server.yaml @@ -11,3 +11,4 @@ about: icon: https://news.ycombinator.com/y18.svg source: project: https://github.com/AayushBahukhandi/hackernews-mcp + commit: b3d01052c2bc1f01d890b4e5d0d22a55fe5dadcd diff --git a/servers/mcp-meta-analysis-r/server.yaml b/servers/mcp-meta-analysis-r/server.yaml index fa5b7e65..7e697848 100644 --- a/servers/mcp-meta-analysis-r/server.yaml +++ b/servers/mcp-meta-analysis-r/server.yaml @@ -32,6 +32,7 @@ about: icon: 📊 source: project: https://github.com/matheus-rech/mcp-meta-analysis-with-r + commit: 2548fb699229f281dbb6df06d7854cf0aa8e6afc run: volumes: - '{{meta-analysis.sessions_path}}:/app/user_sessions' @@ -62,4 +63,4 @@ config: default: /Users/local-test/meta-analysis-logs required: - sessions_path - - logs_path \ No newline at end of file + - logs_path diff --git a/servers/mcp-python-refactoring/server.yaml b/servers/mcp-python-refactoring/server.yaml index f4602bc0..ad6c3494 100644 --- a/servers/mcp-python-refactoring/server.yaml +++ b/servers/mcp-python-refactoring/server.yaml @@ -31,5 +31,6 @@ about: icon: https://avatars.githubusercontent.com/u/2664231?s=200&v=4 source: project: https://github.com/slamer59/mcp-python-refactoring + commit: b66781d58674cd066e4ed8786215ab44ecc0b14b config: - description: Python Refactoring Assistant - No additional configuration required \ No newline at end of file + description: Python Refactoring Assistant - No additional configuration required diff --git a/servers/mcp-reddit/server.yaml b/servers/mcp-reddit/server.yaml index ebb2bf30..397faf73 100644 --- a/servers/mcp-reddit/server.yaml +++ b/servers/mcp-reddit/server.yaml @@ -11,6 +11,7 @@ about: icon: https://avatars.githubusercontent.com/u/135265106?v=4 source: project: https://github.com/KrishnaRandad2023/mcp-reddit + commit: 2c9b356a32d14f2c1708415966ce289133477f74 config: description: Configure the connection to Mcp reddit secrets: diff --git a/servers/memory/server.yaml b/servers/memory/server.yaml index e98da56c..d37db5ee 100644 --- a/servers/memory/server.yaml +++ b/servers/memory/server.yaml @@ -13,6 +13,7 @@ about: source: project: https://github.com/modelcontextprotocol/servers branch: 2025.4.24 + commit: b4ee623039a6c60053ce67269701ad9e95073306 directory: src/memory run: volumes: diff --git a/servers/metabase/server.yaml b/servers/metabase/server.yaml index 3630fc29..12c757b1 100644 --- a/servers/metabase/server.yaml +++ b/servers/metabase/server.yaml @@ -12,6 +12,7 @@ about: source: project: https://github.com/easecloudio/mcp-metabase-server branch: v1.0.2 + commit: 8a4dfce8afd45ead9cc4c2764f41ace6f91adf66 config: description: Configure the connection to MetaBase MCP secrets: diff --git a/servers/minecraft-wiki/server.yaml b/servers/minecraft-wiki/server.yaml index 2e9345bc..0eefa951 100644 --- a/servers/minecraft-wiki/server.yaml +++ b/servers/minecraft-wiki/server.yaml @@ -12,5 +12,6 @@ about: icon: https://cdn.jsdelivr.net/npm/simple-icons@v7/icons/minecraft.svg source: project: https://github.com/L3-N0X/Minecraft-Wiki-MCP + commit: 7a753f50eab0ddf1f743d1cb1ab7edb7a9737ad2 config: description: Configure the connection to Minecraft Wiki Server diff --git a/servers/mongodb/server.yaml b/servers/mongodb/server.yaml index d71325de..750d5eac 100644 --- a/servers/mongodb/server.yaml +++ b/servers/mongodb/server.yaml @@ -11,6 +11,7 @@ about: icon: https://avatars.githubusercontent.com/u/11214950?v=4 source: project: https://github.com/mongodb-js/mongodb-mcp-server + commit: b9aa6840125a7429ad4b960161431f0fda685c16 config: description: Configure the connection to MongoDB secrets: diff --git a/servers/multiversx-mx/server.yaml b/servers/multiversx-mx/server.yaml index 99deb200..47373a71 100644 --- a/servers/multiversx-mx/server.yaml +++ b/servers/multiversx-mx/server.yaml @@ -11,6 +11,7 @@ about: icon: https://avatars.githubusercontent.com/u/114073177?s=200&v=4 source: project: https://github.com/multiversx/mx-mcp + commit: 7ed06c2bbc7b71764e55759f057c2da6aab55e98 config: description: Configure the connection to MultiversX blockchain env: diff --git a/servers/nasdaq-data-link/server.yaml b/servers/nasdaq-data-link/server.yaml index c3261be2..a821f805 100644 --- a/servers/nasdaq-data-link/server.yaml +++ b/servers/nasdaq-data-link/server.yaml @@ -14,6 +14,7 @@ about: icon: https://raw.githubusercontent.com/stefanoamorelli/nasdaq-data-link-mcp/refs/heads/main/nasdaq-mcp-server-logo.png source: project: https://github.com/stefanoamorelli/nasdaq-data-link-mcp + commit: 758499d271b925e4eae510c5b958fa317fce76b0 config: secrets: - name: nasdaq_data_link_api_key diff --git a/servers/needle-mcp/server.yaml b/servers/needle-mcp/server.yaml index e8dd12fe..59b80a39 100644 --- a/servers/needle-mcp/server.yaml +++ b/servers/needle-mcp/server.yaml @@ -16,9 +16,10 @@ about: icon: https://avatars.githubusercontent.com/u/194782563?s=200&v=4 source: project: https://github.com/needle-ai/needle-mcp + commit: 96d82632e3c719ffa61dc8f0909a7cc0d185a161 config: description: Configure the connection to Needle secrets: - name: needle-mcp.api_key env: NEEDLE_API_KEY - example: your-needle-api-key-here \ No newline at end of file + example: your-needle-api-key-here diff --git a/servers/neo4j-cloud-aura-api/server.yaml b/servers/neo4j-cloud-aura-api/server.yaml index da8613ca..5361e95a 100644 --- a/servers/neo4j-cloud-aura-api/server.yaml +++ b/servers/neo4j-cloud-aura-api/server.yaml @@ -12,6 +12,7 @@ about: icon: https://avatars.githubusercontent.com/u/916372?s=200&v=4 source: project: https://github.com/neo4j-contrib/mcp-neo4j + commit: 8e104e33b5e2cd8c3a9b2ec5f1603c1a960ad661 directory: servers/mcp-neo4j-cloud-aura-api config: description: Configure the connection to Neo4j Aura diff --git a/servers/neo4j-cypher/server.yaml b/servers/neo4j-cypher/server.yaml index c7d76c2e..43b80c3f 100644 --- a/servers/neo4j-cypher/server.yaml +++ b/servers/neo4j-cypher/server.yaml @@ -12,6 +12,7 @@ about: icon: https://avatars.githubusercontent.com/u/916372?s=200&v=4 source: project: https://github.com/neo4j-contrib/mcp-neo4j + commit: 8e104e33b5e2cd8c3a9b2ec5f1603c1a960ad661 directory: servers/mcp-neo4j-cypher config: description: Configure the connection to Neo4j diff --git a/servers/neo4j-data-modeling/server.yaml b/servers/neo4j-data-modeling/server.yaml index cf35c132..56c8e67b 100644 --- a/servers/neo4j-data-modeling/server.yaml +++ b/servers/neo4j-data-modeling/server.yaml @@ -12,6 +12,7 @@ about: icon: https://avatars.githubusercontent.com/u/916372?s=200&v=4 source: project: https://github.com/neo4j-contrib/mcp-neo4j + commit: 8e104e33b5e2cd8c3a9b2ec5f1603c1a960ad661 directory: servers/mcp-neo4j-data-modeling config: description: Optional configuration to deploy MCP server @@ -49,4 +50,4 @@ config: type: string server_allowed_hosts: type: string -requirement: neo4j \ No newline at end of file +requirement: neo4j diff --git a/servers/neo4j-memory/server.yaml b/servers/neo4j-memory/server.yaml index d373f8b7..6df4bdb3 100644 --- a/servers/neo4j-memory/server.yaml +++ b/servers/neo4j-memory/server.yaml @@ -12,6 +12,7 @@ about: icon: https://avatars.githubusercontent.com/u/916372?s=200&v=4 source: project: https://github.com/neo4j-contrib/mcp-neo4j + commit: 8e104e33b5e2cd8c3a9b2ec5f1603c1a960ad661 directory: servers/mcp-neo4j-memory config: description: Configure the connection to Neo4j diff --git a/servers/neon/server.yaml b/servers/neon/server.yaml index 7590fe91..bbbd7cbd 100644 --- a/servers/neon/server.yaml +++ b/servers/neon/server.yaml @@ -12,6 +12,7 @@ about: source: project: https://github.com/neondatabase-labs/mcp-server-neon branch: dbfa184afd9fc677c0d6b007a62b33194e883821 + commit: dbfa184afd9fc677c0d6b007a62b33194e883821 config: secrets: - name: neon.api_key diff --git a/servers/node-code-sandbox/server.yaml b/servers/node-code-sandbox/server.yaml index 3767ce41..205ba809 100644 --- a/servers/node-code-sandbox/server.yaml +++ b/servers/node-code-sandbox/server.yaml @@ -12,3 +12,4 @@ about: source: project: https://github.com/alfonsograziano/node-code-sandbox-mcp branch: master + commit: f6727b3be251fbd24826ca961a16cd98bbfe6125 diff --git a/servers/notion/server.yaml b/servers/notion/server.yaml index 70ddc13f..7fc44a00 100644 --- a/servers/notion/server.yaml +++ b/servers/notion/server.yaml @@ -11,6 +11,7 @@ about: icon: https://avatars.githubusercontent.com/u/4792552?s=200&v=4 source: project: https://github.com/makenotion/notion-mcp-server + commit: ffc1b18807df0cd72717f6ba55e7866af2d91ccd run: env: OPENAPI_MCP_HEADERS: '{"Authorization": "Bearer $INTERNAL_INTEGRATION_TOKEN", "Notion-Version": "2022-06-28"}' diff --git a/servers/novita/server.yaml b/servers/novita/server.yaml index 5a4c6c02..88da0b9f 100644 --- a/servers/novita/server.yaml +++ b/servers/novita/server.yaml @@ -12,6 +12,7 @@ about: icon: https://avatars.githubusercontent.com/u/145963681?v=4 source: project: https://github.com/novitalabs/novita-mcp-server + commit: 64efc99e8b05d05ddd1e3513f5f21f6aa236e82d config: env: - name: NOVITA_API_KEY diff --git a/servers/npm-sentinel/server.yaml b/servers/npm-sentinel/server.yaml index 4c92f43a..f084d479 100644 --- a/servers/npm-sentinel/server.yaml +++ b/servers/npm-sentinel/server.yaml @@ -12,3 +12,4 @@ about: icon: https://avatars.githubusercontent.com/u/85507589?v=4 source: project: https://github.com/Nekzus/npm-sentinel-mcp + commit: a1bd358e4348d7dd4a8fe9a4ab091fc34e0397a8 diff --git a/servers/obsidian/server.yaml b/servers/obsidian/server.yaml index c9d9cb3e..7d515f77 100644 --- a/servers/obsidian/server.yaml +++ b/servers/obsidian/server.yaml @@ -13,6 +13,7 @@ source: project: https://github.com/docker/mcp-obsidian upstream: https://github.com/MarkusPfundstein/mcp-obsidian branch: docker-support + commit: b20ad46eea43988a4c1a6f8ec7947ef4c6cbf9a9 config: description: Configure the connection to Obsidian secrets: diff --git a/servers/okta-mcp-fctr/server.yaml b/servers/okta-mcp-fctr/server.yaml index dcf69681..8bcd6d52 100644 --- a/servers/okta-mcp-fctr/server.yaml +++ b/servers/okta-mcp-fctr/server.yaml @@ -19,6 +19,7 @@ about: icon: https://avatars.githubusercontent.com/u/198773578?v=4 source: project: https://github.com/fctr-id/okta-mcp-server + commit: 39b4151a2ece178640fc19ccbb045346ad761e53 config: description: Configure the connection to Okta secrets: diff --git a/servers/omi/server.yaml b/servers/omi/server.yaml index 7757ee4d..859223ac 100644 --- a/servers/omi/server.yaml +++ b/servers/omi/server.yaml @@ -11,6 +11,7 @@ about: icon: https://avatars.githubusercontent.com/u/162546372?v=4 source: project: https://github.com/BasedHardware/omi + commit: e4b42efc1e94a08a76228e0928e1a3245431d7b2 directory: mcp config: description: Configure the connection to omi-mcp diff --git a/servers/onlyoffice-docspace/server.yaml b/servers/onlyoffice-docspace/server.yaml index 764759a5..3633c577 100644 --- a/servers/onlyoffice-docspace/server.yaml +++ b/servers/onlyoffice-docspace/server.yaml @@ -13,6 +13,7 @@ about: icon: https://avatars.githubusercontent.com/u/1426033?v=4 source: project: https://github.com/ONLYOFFICE/docspace-mcp + commit: 7f192dfe7f9ab9c464cd8716c5f02de9b48e6c62 config: description: Configure the connection to ONLYOFFICE DocSpace secrets: diff --git a/servers/openapi-schema/server.yaml b/servers/openapi-schema/server.yaml index ca982156..08f5b52d 100644 --- a/servers/openapi-schema/server.yaml +++ b/servers/openapi-schema/server.yaml @@ -13,6 +13,7 @@ source: project: https://github.com/slimslenderslacks/mcp-openapi-schema upstream: https://github.com/hannesj/mcp-openapi-schema branch: master + commit: 6f14ab86576b7581bc83ec7721dd6d95d5e1973d run: volumes: - '{{openapi-schema.SchemaPath|or:[]|volume|into}}' diff --git a/servers/openapi/server.yaml b/servers/openapi/server.yaml index 84361112..ae81d46b 100644 --- a/servers/openapi/server.yaml +++ b/servers/openapi/server.yaml @@ -12,6 +12,7 @@ about: source: project: https://github.com/lepoco/openapi.client branch: main + commit: 30bc5dfc95c789c0dadecf4816dcbf641b49aa3b config: description: Configure the connection to OpenAPI Toolkit for MCP env: diff --git a/servers/openbnb-airbnb/server.yaml b/servers/openbnb-airbnb/server.yaml index 5c47cc4b..fba9fe8f 100644 --- a/servers/openbnb-airbnb/server.yaml +++ b/servers/openbnb-airbnb/server.yaml @@ -12,4 +12,5 @@ about: icon: https://avatars.githubusercontent.com/u/202564951?v=4 source: project: https://github.com/openbnb-org/mcp-server-airbnb + commit: 57d9d6cdabe813c4d4ab57f90481490aaf8b1b0a diff --git a/servers/openweather/server.yaml b/servers/openweather/server.yaml index 0f8ed2ec..737d6d4b 100644 --- a/servers/openweather/server.yaml +++ b/servers/openweather/server.yaml @@ -12,6 +12,7 @@ about: icon: https://avatars.githubusercontent.com/u/1743227?s=200&v=4 source: project: https://github.com/mschneider82/mcp-openweather + commit: e032683574a0723591445462ef7104d360ad0889 config: description: Configure the connection to TODO secrets: diff --git a/servers/opik/server.yaml b/servers/opik/server.yaml index 68ba0ac5..3b43d13b 100644 --- a/servers/opik/server.yaml +++ b/servers/opik/server.yaml @@ -11,6 +11,7 @@ about: icon: https://avatars.githubusercontent.com/u/31487821?s=200&v=4 source: project: https://github.com/comet-ml/opik-mcp + commit: 40b8e53d73f363ebcd25085a5ff9274c3ce79718 config: description: Configure the connection to Opik secrets: diff --git a/servers/opine-mcp-server/server.yaml b/servers/opine-mcp-server/server.yaml index 3a66e126..db5bf0ea 100644 --- a/servers/opine-mcp-server/server.yaml +++ b/servers/opine-mcp-server/server.yaml @@ -12,6 +12,7 @@ about: icon: https://app.tryopine.com/_next/image?url=%2Flogomark.png&w=32&q=75 source: project: https://github.com/cody-docker/opine-mcp-server + commit: 63e0c626850dad818491a04c84f28e575e530322 config: description: Configure the connection to Opine MCP Server secrets: diff --git a/servers/oracle/server.yaml b/servers/oracle/server.yaml index f2ab1caa..b750d7ee 100644 --- a/servers/oracle/server.yaml +++ b/servers/oracle/server.yaml @@ -14,6 +14,7 @@ about: icon: https://avatars.githubusercontent.com/u/93792006?v=4 source: project: https://github.com/samscarrow/oracle-mcp-server + commit: 1aa0b0a2f859879495bcd11d91a5637207d72f6d config: description: Configure the connection to Oracle Database secrets: diff --git a/servers/osp_marketing_tools/server.yaml b/servers/osp_marketing_tools/server.yaml index 73437b94..036e0f7e 100644 --- a/servers/osp_marketing_tools/server.yaml +++ b/servers/osp_marketing_tools/server.yaml @@ -11,3 +11,4 @@ about: icon: https://avatars.githubusercontent.com/u/47528973?s=200&v=4 source: project: https://github.com/open-strategy-partners/osp_marketing_tools + commit: 83f55198c4d4e7b315565f00792f63373ff9cc67 diff --git a/servers/oxylabs/server.yaml b/servers/oxylabs/server.yaml index 2807a360..ada992b8 100644 --- a/servers/oxylabs/server.yaml +++ b/servers/oxylabs/server.yaml @@ -12,6 +12,7 @@ about: icon: https://avatars.githubusercontent.com/u/43960873?s=200&v=4 source: project: https://github.com/oxylabs/oxylabs-mcp + commit: 0e738c89335e8e521a5b1b925f048ea075c8235b config: description: Configure the connection to Oxylabs Scraper secrets: diff --git a/servers/paper-search/server.yaml b/servers/paper-search/server.yaml index cbcaf962..2b901437 100644 --- a/servers/paper-search/server.yaml +++ b/servers/paper-search/server.yaml @@ -11,3 +11,4 @@ about: icon: https://avatars.githubusercontent.com/u/197887910?v=4 source: project: https://github.com/openags/paper-search-mcp + commit: cf2697fd04a7b7c1ced0e382ab84f0c214614f83 diff --git a/servers/perplexity-ask/server.yaml b/servers/perplexity-ask/server.yaml index 44157e47..540ae772 100644 --- a/servers/perplexity-ask/server.yaml +++ b/servers/perplexity-ask/server.yaml @@ -13,6 +13,7 @@ about: source: project: https://github.com/ppl-ai/modelcontextprotocol branch: f0a927c250e04b389ff5c34f6a2a85ad625668e8 + commit: f0a927c250e04b389ff5c34f6a2a85ad625668e8 dockerfile: perplexity-ask/Dockerfile config: description: Configure the connection to Perplexity diff --git a/servers/pia/server.yaml b/servers/pia/server.yaml index 5ac09d3b..9fc6dce2 100644 --- a/servers/pia/server.yaml +++ b/servers/pia/server.yaml @@ -13,6 +13,7 @@ about: icon: http://programintegrity.org/wp-content/uploads/2025/08/docker-mcp-pia-icon-512.png source: project: https://github.com/Program-Integrity-Alliance/pia-mcp-local + commit: f04a7520f5a5d3d8db6f7deb7f0a093a60681506 config: description: Configure the connection to Program Integrity Alliance (PIA) MCP Server. You can get a key here https://mcp.programintegrity.org/register secrets: diff --git a/servers/pinecone/server.yaml b/servers/pinecone/server.yaml index 0e767ddb..b9736933 100644 --- a/servers/pinecone/server.yaml +++ b/servers/pinecone/server.yaml @@ -11,6 +11,7 @@ about: icon: https://avatars.githubusercontent.com/u/54333248?v=4 source: project: https://github.com/pinecone-io/assistant-mcp + commit: 7e32e35c20fe3f79d2504d4371f28e1b1eb34009 config: description: Configure the connection to Pinecone Assistant secrets: diff --git a/servers/playwright-mcp-server/server.yaml b/servers/playwright-mcp-server/server.yaml index 9affd6f3..09c644af 100644 --- a/servers/playwright-mcp-server/server.yaml +++ b/servers/playwright-mcp-server/server.yaml @@ -11,6 +11,7 @@ about: icon: https://avatars.githubusercontent.com/u/10337030?v=4 source: project: https://github.com/executeautomation/mcp-playwright + commit: 51b2725f06f6df703f797f4025cac4c5f3a71f05 run: volumes: - '{{playwright-mcp-server.data}}:{{playwright-mcp-server.data}}' diff --git a/servers/playwright/server.yaml b/servers/playwright/server.yaml index 10a671bb..a18ea69c 100644 --- a/servers/playwright/server.yaml +++ b/servers/playwright/server.yaml @@ -12,3 +12,4 @@ about: icon: https://avatars.githubusercontent.com/u/6154722?v=4 source: project: https://github.com/microsoft/playwright-mcp + commit: fb900a88272be24fce180794086b5cc96615174a diff --git a/servers/pluggedin-mcp-proxy/server.yaml b/servers/pluggedin-mcp-proxy/server.yaml index a204f34c..b4918191 100644 --- a/servers/pluggedin-mcp-proxy/server.yaml +++ b/servers/pluggedin-mcp-proxy/server.yaml @@ -15,6 +15,7 @@ about: icon: https://www.plugged.in/favicon.ico source: project: https://github.com/VeriTeknik/pluggedin-mcp-proxy + commit: 38a2ef3076a9af4cdc1a8a2dc213f6aba1876570 config: description: Configure your Plugged.in API connection. Get your API key from https://plugged.in in the API Keys section. secrets: @@ -32,4 +33,4 @@ config: pluggedin_api_base_url: type: string default: https://plugged.in - description: Base URL for the Plugged.in API (optional, defaults to https://plugged.in for cloud or http://localhost:12005 for self-hosted) \ No newline at end of file + description: Base URL for the Plugged.in API (optional, defaults to https://plugged.in for cloud or http://localhost:12005 for self-hosted) diff --git a/servers/pomodash/server.yaml b/servers/pomodash/server.yaml index 96ebb735..cf73bbe6 100644 --- a/servers/pomodash/server.yaml +++ b/servers/pomodash/server.yaml @@ -19,6 +19,7 @@ about: source: project: https://github.com/dannyytv/pomodash-mcp-server + commit: 3c24d42aef5dda0e3b0006b2e04712843aff1d70 config: diff --git a/servers/postgres/server.yaml b/servers/postgres/server.yaml index e176c58d..209c2f4a 100644 --- a/servers/postgres/server.yaml +++ b/servers/postgres/server.yaml @@ -13,6 +13,7 @@ about: source: project: https://github.com/modelcontextprotocol/servers branch: 2025.4.24 + commit: b4ee623039a6c60053ce67269701ad9e95073306 dockerfile: src/postgres/Dockerfile run: command: diff --git a/servers/postman/server.yaml b/servers/postman/server.yaml index d7ece5b2..d3dddadf 100644 --- a/servers/postman/server.yaml +++ b/servers/postman/server.yaml @@ -12,6 +12,7 @@ about: source: project: https://github.com/postmanlabs/postman-mcp-server branch: main + commit: 61a7c68190159e60cdb65923f44f8c096c9da638 config: description: Configure the connection to Postman MCP server secrets: diff --git a/servers/pref-editor/server.yaml b/servers/pref-editor/server.yaml index 9fbbd814..4f416213 100644 --- a/servers/pref-editor/server.yaml +++ b/servers/pref-editor/server.yaml @@ -14,3 +14,4 @@ about: icon: https://raw.githubusercontent.com/charlesmuchene/pref-editor-mcp-server/refs/heads/main/logo.png source: project: https://github.com/charlesmuchene/pref-editor-mcp-server + commit: cd93e23e74b81d29bf2082bc10a79319ff32986a diff --git a/servers/prometheus/server.yaml b/servers/prometheus/server.yaml index f608738f..fa99a083 100644 --- a/servers/prometheus/server.yaml +++ b/servers/prometheus/server.yaml @@ -18,6 +18,7 @@ about: icon: https://upload.wikimedia.org/wikipedia/commons/3/38/Prometheus_software_logo.svg source: project: https://github.com/pab1it0/prometheus-mcp-server + commit: 219d4f0772cfb035d702e1d7c64643baf60b3479 config: description: Configure the connection to your Prometheus server env: diff --git a/servers/puppeteer/server.yaml b/servers/puppeteer/server.yaml index 35d6675b..bfe5e765 100644 --- a/servers/puppeteer/server.yaml +++ b/servers/puppeteer/server.yaml @@ -13,6 +13,7 @@ about: source: project: https://github.com/modelcontextprotocol/servers branch: 2025.4.24 + commit: b4ee623039a6c60053ce67269701ad9e95073306 dockerfile: src/puppeteer/Dockerfile config: description: The MCP server is allowed to access these paths diff --git a/servers/quantconnect/server.yaml b/servers/quantconnect/server.yaml index 573ea066..b200df45 100644 --- a/servers/quantconnect/server.yaml +++ b/servers/quantconnect/server.yaml @@ -12,6 +12,7 @@ about: source: project: https://github.com/QuantConnect/mcp-server branch: master + commit: 3a656b0897adb401fb27b0cfe6be1570da03920f config: description: Configure the connection to QuantConnect MCP Server env: diff --git a/servers/ramparts/server.yaml b/servers/ramparts/server.yaml index 913b17de..f9767c3b 100644 --- a/servers/ramparts/server.yaml +++ b/servers/ramparts/server.yaml @@ -15,6 +15,7 @@ about: source: project: https://github.com/getjavelin/ramparts branch: main + commit: f206d33e6fe746aae1d58d00c56073c546189900 dockerfile: MCP-Dockerfile config: description: Configure Ramparts security scanner diff --git a/servers/razorpay/server.yaml b/servers/razorpay/server.yaml index a70524e9..9f846f28 100644 --- a/servers/razorpay/server.yaml +++ b/servers/razorpay/server.yaml @@ -11,6 +11,7 @@ about: icon: https://avatars.githubusercontent.com/u/7713209?v=4 source: project: https://github.com/razorpay/razorpay-mcp-server + commit: 93bf471d1939bcf1bc2351ae1b20e71c34aafe33 config: description: Configure the connection to Razorpay secrets: diff --git a/servers/redis-cloud/server.yaml b/servers/redis-cloud/server.yaml index 715637cf..be36aa8a 100644 --- a/servers/redis-cloud/server.yaml +++ b/servers/redis-cloud/server.yaml @@ -12,6 +12,7 @@ about: icon: https://avatars.githubusercontent.com/u/1529926?s=200&v=4 source: project: https://github.com/redis/mcp-redis-cloud + commit: 015aaa6bfeec87198a08eaae00352348d4db4b72 config: description: Configure the connection to Redis Cloud secrets: diff --git a/servers/redis/server.yaml b/servers/redis/server.yaml index ff889db7..e322b117 100644 --- a/servers/redis/server.yaml +++ b/servers/redis/server.yaml @@ -12,6 +12,7 @@ about: icon: https://avatars.githubusercontent.com/u/1529926?v=4 source: project: https://github.com/redis/mcp-redis + commit: 9db504bb626958cdda5a204118ad673d77b31eff config: description: Configure the connection to Redis secrets: diff --git a/servers/ref/server.yaml b/servers/ref/server.yaml index f35cc588..534cf5c3 100644 --- a/servers/ref/server.yaml +++ b/servers/ref/server.yaml @@ -12,9 +12,10 @@ about: icon: https://avatars.githubusercontent.com/u/210568548?v=4 source: project: https://github.com/ref-tools/ref-tools-mcp + commit: ccd03425dcd3d7745c9ec97f8b999f19306b821f config: description: Configure the connection to Ref secrets: - name: ref.REF_API_KEY env: REF_API_KEY - example: ref-abcdefghi123 \ No newline at end of file + example: ref-abcdefghi123 diff --git a/servers/render/server.yaml b/servers/render/server.yaml index 75ede265..a12742a8 100644 --- a/servers/render/server.yaml +++ b/servers/render/server.yaml @@ -12,6 +12,7 @@ about: icon: https://avatars.githubusercontent.com/u/114033652?v=4 source: project: https://github.com/render-oss/render-mcp-server + commit: aa1ad111a4eb856988125c430634d3632a78864f config: description: Configure the connection to Render secrets: diff --git a/servers/resend/server.yaml b/servers/resend/server.yaml index 52c72c6b..afc2d062 100644 --- a/servers/resend/server.yaml +++ b/servers/resend/server.yaml @@ -13,6 +13,7 @@ source: project: https://github.com/slimslenderslacks/mcp-send-email upstream: https://github.com/resend/mcp-send-email branch: slim/docker + commit: ee47c6dc4776491226fd066380d052e24ca34fd4 config: description: Configure sender and reply email addresses secrets: diff --git a/servers/risken/server.yaml b/servers/risken/server.yaml index fd41b3d6..50c4ad4e 100644 --- a/servers/risken/server.yaml +++ b/servers/risken/server.yaml @@ -11,6 +11,7 @@ about: icon: https://avatars.githubusercontent.com/u/88366693?s=200&v=4 source: project: https://github.com/ca-risken/risken-mcp-server + commit: e1a0ceefa761ccafb20201cd9b213c921f7a3ac2 run: command: - stdio diff --git a/servers/root/server.yaml b/servers/root/server.yaml index 4c7bf130..4390df9f 100644 --- a/servers/root/server.yaml +++ b/servers/root/server.yaml @@ -14,9 +14,10 @@ about: icon: https://raw.githubusercontent.com/rootio-avr/mcp-proxy/refs/heads/main/assets/root-logo.svg source: project: https://github.com/rootio-avr/mcp-proxy + commit: 1d1eb02366e4b47ae9d86ac510929bde4be1f0da config: description: Configure the Root.io MCP proxy connection secrets: - name: root.api_access_token env: API_ACCESS_TOKEN - example: sk_your_access_token \ No newline at end of file + example: sk_your_access_token diff --git a/servers/ros2/server.yaml b/servers/ros2/server.yaml index 10f683a8..499aee61 100644 --- a/servers/ros2/server.yaml +++ b/servers/ros2/server.yaml @@ -11,4 +11,5 @@ about: icon: https://avatars.githubusercontent.com/u/85994630?v=4 source: project: https://github.com/wise-vision/mcp_server_ros_2 + commit: ce7405d791788f19c6e601d0e7a36cd647ee6c2d diff --git a/servers/rust-mcp-filesystem/server.yaml b/servers/rust-mcp-filesystem/server.yaml index 4613e548..e0a3fe5c 100644 --- a/servers/rust-mcp-filesystem/server.yaml +++ b/servers/rust-mcp-filesystem/server.yaml @@ -13,6 +13,7 @@ about: icon: https://raw.githubusercontent.com/rust-mcp-stack/rust-mcp-filesystem/refs/heads/main/docs/_media/rust-mcp-filesystem.png source: project: https://github.com/rust-mcp-stack/rust-mcp-filesystem + commit: b3c000a03dd8d70795335c291cb46866f5f42fd3 run: command: - "{{rust-mcp-filesystem.allowed_directories|volume-target|into}}" diff --git a/servers/schemacrawler-ai/server.yaml b/servers/schemacrawler-ai/server.yaml index 92b426ef..6214dc6e 100644 --- a/servers/schemacrawler-ai/server.yaml +++ b/servers/schemacrawler-ai/server.yaml @@ -22,6 +22,7 @@ about: source: project: 'https://github.com/schemacrawler/SchemaCrawler-AI' branch: docker-mcp-registry + commit: 63ed6405a0fd640c93d30be8cd463f18e66f1868 run: volumes: - '{{schemacrawler-ai.volume.host_share}}:/share' diff --git a/servers/schogini-mcp-image-border/server.yaml b/servers/schogini-mcp-image-border/server.yaml index 480af232..bedbb829 100644 --- a/servers/schogini-mcp-image-border/server.yaml +++ b/servers/schogini-mcp-image-border/server.yaml @@ -11,3 +11,4 @@ about: icon: https://d1yei2z3i6k35z.cloudfront.net/7429984/669a56c4ca69e_SCHOGINI-LOGO-ROUND.png source: project: https://github.com/schogini/schogini_mcp_image_border + commit: fc8aa52cec0f5ac9aeff2e57c16ffecd21bb12f7 diff --git a/servers/scrapegraph/server.yaml b/servers/scrapegraph/server.yaml index 2aae8203..e6a9eb8e 100644 --- a/servers/scrapegraph/server.yaml +++ b/servers/scrapegraph/server.yaml @@ -11,6 +11,7 @@ about: icon: https://avatars.githubusercontent.com/u/171017415?s=200&v=4 source: project: https://github.com/ScrapeGraphAI/scrapegraph-mcp + commit: aebeebd2748311e3ff68d5c10d37b0a903e6206a config: secrets: - name: scrapegraph.api_key diff --git a/servers/scrapezy/server.yaml b/servers/scrapezy/server.yaml index a5bdb41e..3264ddcc 100644 --- a/servers/scrapezy/server.yaml +++ b/servers/scrapezy/server.yaml @@ -12,6 +12,7 @@ about: icon: https://avatars.githubusercontent.com/u/196929482?s=200&v=4 source: project: https://github.com/Scrapezy/mcp + commit: a8d31506d1f962c384840773e1918a310ec17032 config: secrets: - name: scrapezy.auth_token diff --git a/servers/sec-edgar/server.yaml b/servers/sec-edgar/server.yaml index c64ee999..f0a4e68d 100644 --- a/servers/sec-edgar/server.yaml +++ b/servers/sec-edgar/server.yaml @@ -14,6 +14,7 @@ about: icon: https://raw.githubusercontent.com/stefanoamorelli/sec-edgar-mcp/refs/heads/main/sec-edgar-mcp-logo.png source: project: https://github.com/stefanoamorelli/sec-edgar-mcp + commit: edaf734b113f070a4e2c86636ae3c7307206fc5a config: secrets: - name: sec_edgar_user_agent diff --git a/servers/securenote-link-mcp-server/server.yaml b/servers/securenote-link-mcp-server/server.yaml index ea85d0bc..a24e90c5 100644 --- a/servers/securenote-link-mcp-server/server.yaml +++ b/servers/securenote-link-mcp-server/server.yaml @@ -11,4 +11,5 @@ about: icon: https://avatars.githubusercontent.com/u/5723207?v=5 source: project: https://github.com/jackalterman/securenote-link-MCP-server + commit: a184102de77ebae58533e45b56764d4a5fab0a8a diff --git a/servers/sentry/server.yaml b/servers/sentry/server.yaml index 24cb59ab..5293359a 100644 --- a/servers/sentry/server.yaml +++ b/servers/sentry/server.yaml @@ -13,6 +13,7 @@ about: source: project: https://github.com/modelcontextprotocol/servers branch: 2025.4.24 + commit: b4ee623039a6c60053ce67269701ad9e95073306 directory: src/sentry run: command: diff --git a/servers/sequa/server.yaml b/servers/sequa/server.yaml index 4b1a022e..7b1ae418 100644 --- a/servers/sequa/server.yaml +++ b/servers/sequa/server.yaml @@ -14,6 +14,7 @@ about: source: project: https://github.com/sequa-ai/sequa-mcp branch: main + commit: e569815854166db5f71c2e722408f8957fb9e804 config: description: Configure the connection to Sequa.AI secrets: diff --git a/servers/sequentialthinking/server.yaml b/servers/sequentialthinking/server.yaml index 808654a6..06113138 100644 --- a/servers/sequentialthinking/server.yaml +++ b/servers/sequentialthinking/server.yaml @@ -13,4 +13,5 @@ about: source: project: https://github.com/modelcontextprotocol/servers branch: 2025.4.6 + commit: 82064568802e542c3924560aef2cb421b4ce436c directory: src/sequentialthinking diff --git a/servers/simplechecklist/server.yaml b/servers/simplechecklist/server.yaml index 71f040da..ca5b2bbf 100644 --- a/servers/simplechecklist/server.yaml +++ b/servers/simplechecklist/server.yaml @@ -29,6 +29,7 @@ about: icon: https://raw.githubusercontent.com/DevMayur/SimpleCheckList/main/icon.png source: project: https://github.com/DevMayur/SimpleCheckList + commit: 176694570a11e21304bef0dee8e6345e654022e8 run: command: - --mode=backend diff --git a/servers/singlestore/server.yaml b/servers/singlestore/server.yaml index c0bf74c6..22971fd3 100644 --- a/servers/singlestore/server.yaml +++ b/servers/singlestore/server.yaml @@ -11,6 +11,7 @@ about: icon: https://avatars.githubusercontent.com/u/79943160?v=4 source: project: https://github.com/singlestore-labs/mcp-server-singlestore + commit: 1fd9c0c391e2b5c56d330a1578ab2897f550c38e config: secrets: - name: singlestore.mcp_api_key diff --git a/servers/slack/server.yaml b/servers/slack/server.yaml index fab9bb14..d98cc2ac 100644 --- a/servers/slack/server.yaml +++ b/servers/slack/server.yaml @@ -13,6 +13,7 @@ about: source: project: https://github.com/modelcontextprotocol/servers branch: 2025.4.24 + commit: b4ee623039a6c60053ce67269701ad9e95073306 dockerfile: src/slack/Dockerfile config: description: Configure the connection to Slack diff --git a/servers/smartbear/server.yaml b/servers/smartbear/server.yaml index c5c519c9..f3e28608 100644 --- a/servers/smartbear/server.yaml +++ b/servers/smartbear/server.yaml @@ -15,6 +15,7 @@ about: source: project: https://github.com/SmartBear/smartbear-mcp branch: main + commit: bb93963147b01f83e583fe356d627135c6dc39e7 config: description: Configure the connection to SmartBear services secrets: diff --git a/servers/sonarqube/server.yaml b/servers/sonarqube/server.yaml index be01a4c6..3a8f9836 100644 --- a/servers/sonarqube/server.yaml +++ b/servers/sonarqube/server.yaml @@ -12,6 +12,7 @@ about: source: project: https://github.com/SonarSource/sonarqube-mcp-server branch: master + commit: 6f1cf9eebf593c01844e5fc3f04ac2de49233ab3 config: description: Configure the connection to SonarQube secrets: diff --git a/servers/sqlite-mcp-server/server.yaml b/servers/sqlite-mcp-server/server.yaml index b048247f..2928fb34 100644 --- a/servers/sqlite-mcp-server/server.yaml +++ b/servers/sqlite-mcp-server/server.yaml @@ -130,3 +130,4 @@ about: icon: https://adamic.tech/assets/images/logo.web source: project: https://github.com/neverinfamous/sqlite-mcp-server + commit: bd3d25248d36685fc049e090d28458cabf6ad617 diff --git a/servers/stackgen/server.yaml b/servers/stackgen/server.yaml index 71473181..5bd6258a 100644 --- a/servers/stackgen/server.yaml +++ b/servers/stackgen/server.yaml @@ -15,6 +15,7 @@ run: - mcp source: project: https://github.com/stackgenhq/homebrew-stackgen + commit: a325c8f53471cfa44546de04487c6ec009de16b7 dockerfile: stackgen/Dockerfile config: description: Configure the connection to StackGen server diff --git a/servers/stackhawk/server.yaml b/servers/stackhawk/server.yaml index d78605fc..ddb79abc 100644 --- a/servers/stackhawk/server.yaml +++ b/servers/stackhawk/server.yaml @@ -14,6 +14,7 @@ about: source: project: https://github.com/stackhawk/stackhawk-mcp branch: feature/image-entrypoint + commit: a330ddfc85aa880346b4555cb168c6ef28562ad3 config: description: Configure the connection to StackHawk secrets: diff --git a/servers/stripe/server.yaml b/servers/stripe/server.yaml index 512c883e..c58a56a7 100644 --- a/servers/stripe/server.yaml +++ b/servers/stripe/server.yaml @@ -12,6 +12,7 @@ about: icon: https://avatars.githubusercontent.com/u/856813?s=200&v=4 source: project: https://github.com/stripe/agent-toolkit + commit: f495421c400748b65a05751806cb20293c764233 directory: modelcontextprotocol run: command: diff --git a/servers/supadata/server.yaml b/servers/supadata/server.yaml index 347c29ba..2daeee9b 100644 --- a/servers/supadata/server.yaml +++ b/servers/supadata/server.yaml @@ -16,6 +16,7 @@ about: icon: https://avatars.githubusercontent.com/u/194430777?s=48&v=4 source: project: https://github.com/supadata-ai/mcp + commit: 373484ea837e6022151116499618674b761865ea config: description: Configure the connection to Supadata secrets: diff --git a/servers/suzieq/server.yaml b/servers/suzieq/server.yaml index 8fd2d327..53c30e69 100644 --- a/servers/suzieq/server.yaml +++ b/servers/suzieq/server.yaml @@ -11,6 +11,7 @@ about: icon: https://avatars.githubusercontent.com/u/182288589?s=200&v=4 source: project: https://github.com/PovedaAqui/suzieq-mcp + commit: 42e74a941237099a36761840d2cc8b5f30a03a5c config: description: Configure the connection to SuzieQ secrets: diff --git a/servers/task-orchestrator/server.yaml b/servers/task-orchestrator/server.yaml index 2ff252e1..8ba58840 100644 --- a/servers/task-orchestrator/server.yaml +++ b/servers/task-orchestrator/server.yaml @@ -12,6 +12,7 @@ about: icon: https://avatars.githubusercontent.com/u/5747775?v=4 source: project: https://github.com/jpicklyk/task-orchestrator + commit: 919f3762d13c37543a3e604d658f0e8aced8f3e8 run: volumes: - mcp-task-data:/app/data diff --git a/servers/tavily/server.yaml b/servers/tavily/server.yaml index 652fec18..a712c5ef 100644 --- a/servers/tavily/server.yaml +++ b/servers/tavily/server.yaml @@ -12,6 +12,7 @@ about: icon: https://avatars.githubusercontent.com/u/170207473?s=200&v=4 source: project: https://github.com/tavily-ai/tavily-mcp + commit: fea64be37d3a9589547d8c66af4fb8505fd2b265 config: secrets: - name: tavily.api_token diff --git a/servers/teamwork/server.yaml b/servers/teamwork/server.yaml index 54b4f22c..e938026d 100644 --- a/servers/teamwork/server.yaml +++ b/servers/teamwork/server.yaml @@ -14,6 +14,7 @@ about: source: project: https://github.com/teamwork/mcp branch: main + commit: 8707ecf9887c0cc45b232d3172a42f18a00ce41c config: description: Configure the connection to Teamwork.com MCP server secrets: diff --git a/servers/tembo/server.yaml b/servers/tembo/server.yaml index 8946a532..fa131cc2 100644 --- a/servers/tembo/server.yaml +++ b/servers/tembo/server.yaml @@ -11,6 +11,7 @@ about: icon: https://avatars.githubusercontent.com/u/113815875?s=200&v=4 source: project: https://github.com/tembo-io/mcp-server-tembo + commit: 5fd392db6e5af17e77fdc1a5a9f7d64177ff5166 config: secrets: - name: tembo.api_token diff --git a/servers/terraform/server.yaml b/servers/terraform/server.yaml index 29c51e3b..bbd1eb60 100644 --- a/servers/terraform/server.yaml +++ b/servers/terraform/server.yaml @@ -11,3 +11,4 @@ about: icon: https://avatars.githubusercontent.com/u/761456?v=4 source: project: https://github.com/hashicorp/terraform-mcp-server + commit: 3aa58e49d7e0502f28b25fe3ab12dbea9f76c115 diff --git a/servers/text-to-graphql/server.yaml b/servers/text-to-graphql/server.yaml index b89b401b..38dcc82f 100644 --- a/servers/text-to-graphql/server.yaml +++ b/servers/text-to-graphql/server.yaml @@ -16,6 +16,7 @@ about: source: project: https://github.com/Arize-ai/text-to-graphql-mcp branch: main + commit: 03a88ab0d9d99c3da110e12326803497b094fc56 dockerfile: Dockerfile config: description: Configure API keys and model settings for text-to-graphql @@ -47,4 +48,4 @@ config: model_temperature: type: number default: 0 - description: Model temperature for responses \ No newline at end of file + description: Model temperature for responses diff --git a/servers/thingsboard/server.yaml b/servers/thingsboard/server.yaml index 57e720ac..4ebd70d4 100644 --- a/servers/thingsboard/server.yaml +++ b/servers/thingsboard/server.yaml @@ -21,6 +21,7 @@ about: icon: https://avatars.githubusercontent.com/u/24291394?v=4 source: project: https://github.com/thingsboard/thingsboard-mcp + commit: adac2d247c408487ef1f99ebb65f8889792dc632 config: description: Configure the connection to ThingsBoard secrets: diff --git a/servers/tigris/server.yaml b/servers/tigris/server.yaml index 16b67150..cf2094a4 100644 --- a/servers/tigris/server.yaml +++ b/servers/tigris/server.yaml @@ -14,6 +14,7 @@ about: icon: https://avatars.githubusercontent.com/u/95787860?v=4 source: project: https://github.com/tigrisdata/tigris-mcp-server + commit: 7d61d54f7a890aaafd8c9795b2e771d8cdcd87f7 config: description: Configure the connection to Tigris secrets: diff --git a/servers/time/server.yaml b/servers/time/server.yaml index 79306f7f..3500547b 100644 --- a/servers/time/server.yaml +++ b/servers/time/server.yaml @@ -13,4 +13,5 @@ about: source: project: https://github.com/modelcontextprotocol/servers branch: 2025.4.24 + commit: b4ee623039a6c60053ce67269701ad9e95073306 directory: src/time diff --git a/servers/triplewhale/server.yaml b/servers/triplewhale/server.yaml index 45791510..cb6efeb3 100644 --- a/servers/triplewhale/server.yaml +++ b/servers/triplewhale/server.yaml @@ -12,6 +12,7 @@ about: source: project: https://github.com/Triple-Whale/mcp-server-triplewhale branch: master + commit: 6948082d5eb68f6855aafb279e196ede54e4eaed config: secrets: - name: triplewhale.api_key diff --git a/servers/uberall/server.yaml b/servers/uberall/server.yaml index 5ef98cbd..1a21ffb2 100644 --- a/servers/uberall/server.yaml +++ b/servers/uberall/server.yaml @@ -16,6 +16,7 @@ about: icon: https://uberall.com/media/favicon.svg source: project: https://github.com/uberall/uberall-mcp-server + commit: 2015d2554576678d5bfc4b9dedb8c0a28fb57083 config: description: Configure the connection to Uberall API for managing location presence env: diff --git a/servers/unreal-engine-mcp-server/server.yaml b/servers/unreal-engine-mcp-server/server.yaml index 190f74c7..39843c9c 100644 --- a/servers/unreal-engine-mcp-server/server.yaml +++ b/servers/unreal-engine-mcp-server/server.yaml @@ -15,6 +15,7 @@ about: icon: https://raw.githubusercontent.com/ChiR24/Unreal_mcp/main/Public/icon.png source: project: https://github.com/ChiR24/Unreal_mcp + commit: b501784e72cdcba27e3fa2e381df309dedc8f439 config: description: Configure the connection to Unreal Engine Remote Control API env: diff --git a/servers/veyrax/server.yaml b/servers/veyrax/server.yaml index a1bc09c3..0e7e3c49 100644 --- a/servers/veyrax/server.yaml +++ b/servers/veyrax/server.yaml @@ -12,6 +12,7 @@ about: icon: https://avatars.githubusercontent.com/u/201344226?s=200&v=4 source: project: https://github.com/VeyraX/veyrax-mcp + commit: 4171ea88cc3a0e28599b68166eb54281470d622f config: secrets: - name: veyrax.api_key diff --git a/servers/vizro/server.yaml b/servers/vizro/server.yaml index f7db6c08..d1ab4cf2 100644 --- a/servers/vizro/server.yaml +++ b/servers/vizro/server.yaml @@ -17,4 +17,5 @@ about: icon: https://avatars.githubusercontent.com/u/4265350?v=4 source: project: https://github.com/mckinsey/vizro + commit: 1a46d5a69f3e8d2a02c2356bc5e633cf8f2b070b directory: vizro-mcp diff --git a/servers/vuln-nist-mcp-server/server.yaml b/servers/vuln-nist-mcp-server/server.yaml index b3d1ad6e..cd9aaeb6 100644 --- a/servers/vuln-nist-mcp-server/server.yaml +++ b/servers/vuln-nist-mcp-server/server.yaml @@ -14,3 +14,4 @@ about: icon: https://raw.githubusercontent.com/HaroldFinchIFT/vuln-nist-mcp-server/refs/heads/main/nvd_logo.png source: project: https://github.com/HaroldFinchIFT/vuln-nist-mcp-server + commit: 71a45579c7dfcbdd0e639dfb6640801371bf07b6 diff --git a/servers/webflow/server.yaml b/servers/webflow/server.yaml index 7374481c..71abfeb4 100644 --- a/servers/webflow/server.yaml +++ b/servers/webflow/server.yaml @@ -13,6 +13,7 @@ source: project: https://github.com/slimslenderslacks/mcp-server upstream: https://github.com/webflow/mcp-server branch: slim/docker + commit: ed02aacd106375cfca402b73f8b7efffd4168c1d config: secrets: - name: webflow.token diff --git a/servers/wikipedia-mcp/server.yaml b/servers/wikipedia-mcp/server.yaml index 90c6cf99..6ae26462 100644 --- a/servers/wikipedia-mcp/server.yaml +++ b/servers/wikipedia-mcp/server.yaml @@ -11,3 +11,4 @@ about: icon: https://avatars.githubusercontent.com/u/56668?s=200&v=4 source: project: https://github.com/Rudra-ravi/wikipedia-mcp + commit: 5899451ddd18c8df354eb6727c096d147d1bd30a diff --git a/servers/wolfram-alpha/server.yaml b/servers/wolfram-alpha/server.yaml index 66d1dc56..638ec816 100644 --- a/servers/wolfram-alpha/server.yaml +++ b/servers/wolfram-alpha/server.yaml @@ -12,6 +12,7 @@ about: source: project: https://github.com/SecretiveShell/MCP-wolfram-alpha branch: master + commit: 0aa2530c8da8f3976a8c5383f9f9e1376bd337df config: secrets: - name: wolfram-alpha.api_key diff --git a/servers/youtube_transcript/server.yaml b/servers/youtube_transcript/server.yaml index 2b919348..45b79a15 100644 --- a/servers/youtube_transcript/server.yaml +++ b/servers/youtube_transcript/server.yaml @@ -12,3 +12,4 @@ about: icon: https://avatars.githubusercontent.com/u/4052902?s=200&v=4 source: project: https://github.com/jkawamoto/mcp-youtube-transcript + commit: c2219ad0a4cc111a3ae07e543eb6538efa5606ee diff --git a/servers/zerodha-kite/server.yaml b/servers/zerodha-kite/server.yaml index 6fcf0b33..48699e08 100644 --- a/servers/zerodha-kite/server.yaml +++ b/servers/zerodha-kite/server.yaml @@ -14,6 +14,7 @@ about: icon: https://avatars.githubusercontent.com/u/34680622?s=300&v=4 source: project: https://github.com/anshuljain90/zerodha-kite-mcp + commit: 3902c5283c2c98b567e1de35c86d0ca9fe0c3403 config: description: Configure your Zerodha Kite Connect API credentials. Requires an active Zerodha trading account and Kite Connect developer app. secrets: @@ -43,4 +44,4 @@ config: type: string description: OAuth redirect URL configured in your Kite Connect app required: - - kite_api_key \ No newline at end of file + - kite_api_key From 4c103e1c7ba3196b14f6d7a3e2ac7d7c759f761e Mon Sep 17 00:00:00 2001 From: Jacob Howard Date: Mon, 13 Oct 2025 17:16:47 -0600 Subject: [PATCH 38/67] style: run `go fmt` on all code Signed-off-by: Jacob Howard --- pkg/catalog/types.go | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/pkg/catalog/types.go b/pkg/catalog/types.go index 64154253..23625040 100644 --- a/pkg/catalog/types.go +++ b/pkg/catalog/types.go @@ -207,38 +207,38 @@ type Remote struct { func (r Remote) MarshalYAML() (interface{}, error) { mapNode := &yaml.Node{ - Kind: yaml.MappingNode, + Kind: yaml.MappingNode, Content: []*yaml.Node{}, } - + if r.TransportType != "" { mapNode.Content = append(mapNode.Content, &yaml.Node{Kind: yaml.ScalarNode, Value: "transport_type"}, &yaml.Node{Kind: yaml.ScalarNode, Value: r.TransportType}) } - + if r.URL != "" { mapNode.Content = append(mapNode.Content, &yaml.Node{Kind: yaml.ScalarNode, Value: "url"}, &yaml.Node{Kind: yaml.ScalarNode, Value: r.URL}) } - + if len(r.Headers) > 0 { headersNode := &yaml.Node{ - Kind: yaml.MappingNode, + Kind: yaml.MappingNode, Content: []*yaml.Node{}, } - + for k, v := range r.Headers { headersNode.Content = append(headersNode.Content, &yaml.Node{Kind: yaml.ScalarNode, Value: k}, &yaml.Node{Kind: yaml.ScalarNode, Value: v, Style: yaml.DoubleQuotedStyle}) } - + mapNode.Content = append(mapNode.Content, &yaml.Node{Kind: yaml.ScalarNode, Value: "headers"}, headersNode) } - + return mapNode, nil } From ff0b8510e19209a99f5a2d68f50d044fd9ab9c63 Mon Sep 17 00:00:00 2001 From: Jacob Howard Date: Wed, 15 Oct 2025 09:35:13 -0600 Subject: [PATCH 39/67] style: add missing license header to new clean command Signed-off-by: Jacob Howard --- cmd/clean/main.go | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/cmd/clean/main.go b/cmd/clean/main.go index bbc8ef24..27ae6e76 100644 --- a/cmd/clean/main.go +++ b/cmd/clean/main.go @@ -1,3 +1,25 @@ +/* +Copyright © 2025 Docker, Inc. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. +*/ + package main import ( From 3ff8be057afb923c204ba0d05448fb2905c1b1ca Mon Sep 17 00:00:00 2001 From: Jacob Howard Date: Wed, 15 Oct 2025 14:45:44 -0600 Subject: [PATCH 40/67] security: fix YAML commit specs with correct indentation Signed-off-by: Jacob Howard --- servers/apify-mcp-server/server.yaml | 2 +- servers/beagle-security/server.yaml | 2 +- servers/camunda/server.yaml | 2 +- servers/cloud-run-mcp/server.yaml | 2 +- servers/effect-mcp/server.yaml | 2 +- servers/hdx/server.yaml | 2 +- servers/hostinger-mcp-server/server.yaml | 2 +- servers/maestro-mcp-server/server.yaml | 2 +- servers/mcp-code-interpreter/server.yaml | 2 +- servers/mcp-github-pr-issue-analyser/server.yaml | 2 +- servers/mcp-hackernews/server.yaml | 2 +- servers/mcp-reddit/server.yaml | 2 +- servers/omi/server.yaml | 2 +- servers/openapi/server.yaml | 2 +- servers/opine-mcp-server/server.yaml | 2 +- servers/pia/server.yaml | 2 +- servers/playwright-mcp-server/server.yaml | 2 +- servers/postman/server.yaml | 2 +- servers/ref/server.yaml | 2 +- servers/ros2/server.yaml | 2 +- servers/schogini-mcp-image-border/server.yaml | 2 +- servers/securenote-link-mcp-server/server.yaml | 2 +- servers/sequa/server.yaml | 2 +- servers/simplechecklist/server.yaml | 2 +- servers/sqlite-mcp-server/server.yaml | 2 +- servers/stackhawk/server.yaml | 2 +- servers/task-orchestrator/server.yaml | 2 +- servers/thingsboard/server.yaml | 2 +- servers/vuln-nist-mcp-server/server.yaml | 2 +- 29 files changed, 29 insertions(+), 29 deletions(-) diff --git a/servers/apify-mcp-server/server.yaml b/servers/apify-mcp-server/server.yaml index 7ad2ff03..f1839044 100644 --- a/servers/apify-mcp-server/server.yaml +++ b/servers/apify-mcp-server/server.yaml @@ -19,7 +19,7 @@ about: source: project: https://github.com/apify/actors-mcp-server branch: master - commit: 689096631db8b0e16bd7f1dc95956af3197dfd42 + commit: 689096631db8b0e16bd7f1dc95956af3197dfd42 config: description: Configure the Apify MCP Server secrets: diff --git a/servers/beagle-security/server.yaml b/servers/beagle-security/server.yaml index b4c04283..90196102 100644 --- a/servers/beagle-security/server.yaml +++ b/servers/beagle-security/server.yaml @@ -12,7 +12,7 @@ about: source: project: https://github.com/beaglesecurity/beagle-security-mcp-server branch: main - commit: 4b0e0ee2f309d7fa0e19c9e63feee2a4ea2e9f3a + commit: 4b0e0ee2f309d7fa0e19c9e63feee2a4ea2e9f3a config: description: Configure the connection to Beagle security mcp server secrets: diff --git a/servers/camunda/server.yaml b/servers/camunda/server.yaml index 14a1726f..9b80d3a4 100644 --- a/servers/camunda/server.yaml +++ b/servers/camunda/server.yaml @@ -12,7 +12,7 @@ about: source: project: https://github.com/lepoco/mcp-camunda branch: main - commit: 4b50f37af26a66cced81895ba9b6d71b382ff022 + commit: 4b50f37af26a66cced81895ba9b6d71b382ff022 config: description: Configure the connection to Camunda BPM process engine MCP Server env: diff --git a/servers/cloud-run-mcp/server.yaml b/servers/cloud-run-mcp/server.yaml index 4cb1f03b..02c48c86 100644 --- a/servers/cloud-run-mcp/server.yaml +++ b/servers/cloud-run-mcp/server.yaml @@ -11,7 +11,7 @@ about: icon: https://avatars.githubusercontent.com/u/2810941?v=4 source: project: https://github.com/GoogleCloudPlatform/cloud-run-mcp - commit: 307962b22a48a06805076c02d462b537f50d3824 + commit: 307962b22a48a06805076c02d462b537f50d3824 config: description: Configure the connection to Google Cloud Run env: diff --git a/servers/effect-mcp/server.yaml b/servers/effect-mcp/server.yaml index ecbc5306..29662645 100644 --- a/servers/effect-mcp/server.yaml +++ b/servers/effect-mcp/server.yaml @@ -11,4 +11,4 @@ about: icon: https://avatars.githubusercontent.com/u/77678942?v=4 source: project: https://github.com/tim-smart/effect-mcp - commit: 05c19d789d4c4cbd9b881240f815ee8b7fa96ca6 + commit: 05c19d789d4c4cbd9b881240f815ee8b7fa96ca6 diff --git a/servers/hdx/server.yaml b/servers/hdx/server.yaml index a7c3a74a..26f4c882 100644 --- a/servers/hdx/server.yaml +++ b/servers/hdx/server.yaml @@ -11,7 +11,7 @@ about: icon: https://raw.githubusercontent.com/dividor/hdx-mcp/main/assets/hdx_mcp_icon_transparent_512.png source: project: https://github.com/dividor/hdx-mcp - commit: c625bf9ae120ed93a36aa7ac9352bdc41f6d9546 + commit: c625bf9ae120ed93a36aa7ac9352bdc41f6d9546 config: description: Configure the connection to Humanitarian Data Exchange MCP Server secrets: diff --git a/servers/hostinger-mcp-server/server.yaml b/servers/hostinger-mcp-server/server.yaml index a75b9113..8e7526ba 100644 --- a/servers/hostinger-mcp-server/server.yaml +++ b/servers/hostinger-mcp-server/server.yaml @@ -11,7 +11,7 @@ about: icon: https://avatars.githubusercontent.com/u/2630767?v=4 source: project: https://github.com/hostinger/api-mcp-server - commit: 5cf6a59b5f165a35458b8c064de70e9554ca9e65 + commit: 5cf6a59b5f165a35458b8c064de70e9554ca9e65 config: description: Configure the connection to Hostinger API MCP Server secrets: diff --git a/servers/maestro-mcp-server/server.yaml b/servers/maestro-mcp-server/server.yaml index 3c1cead5..c9c45046 100644 --- a/servers/maestro-mcp-server/server.yaml +++ b/servers/maestro-mcp-server/server.yaml @@ -15,7 +15,7 @@ about: source: project: https://github.com/maestro-org/maestro-mcp-server branch: main - commit: df54020d17b0b6c3b2a03c7a328c644b9f49d970 + commit: df54020d17b0b6c3b2a03c7a328c644b9f49d970 config: description: Configure the connection to Maestro MCP Server secrets: diff --git a/servers/mcp-code-interpreter/server.yaml b/servers/mcp-code-interpreter/server.yaml index fa8b5742..5633e50e 100644 --- a/servers/mcp-code-interpreter/server.yaml +++ b/servers/mcp-code-interpreter/server.yaml @@ -11,7 +11,7 @@ about: icon: https://raw.githubusercontent.com/akuadane/mcp-code-interpreter/refs/heads/main/asset/logo.png source: project: https://github.com/akuadane/mcp-code-interpreter - commit: 209ddfca8c7a20cd44834a6217dfca358b532f90 + commit: 209ddfca8c7a20cd44834a6217dfca358b532f90 run: volumes: - notebooks:/app/notebooks diff --git a/servers/mcp-github-pr-issue-analyser/server.yaml b/servers/mcp-github-pr-issue-analyser/server.yaml index f335b776..c884e3ac 100644 --- a/servers/mcp-github-pr-issue-analyser/server.yaml +++ b/servers/mcp-github-pr-issue-analyser/server.yaml @@ -15,7 +15,7 @@ about: source: project: https://github.com/saidsef/mcp-github-pr-issue-analyser branch: main - commit: eaa15813df0afcc8cf0142b02a1fae0fe0b4e889 + commit: eaa15813df0afcc8cf0142b02a1fae0fe0b4e889 config: description: Configure the connection to MCP GitHub PRs Issues Analyser env: diff --git a/servers/mcp-hackernews/server.yaml b/servers/mcp-hackernews/server.yaml index 54c598d5..efd44837 100644 --- a/servers/mcp-hackernews/server.yaml +++ b/servers/mcp-hackernews/server.yaml @@ -11,4 +11,4 @@ about: icon: https://news.ycombinator.com/y18.svg source: project: https://github.com/AayushBahukhandi/hackernews-mcp - commit: b3d01052c2bc1f01d890b4e5d0d22a55fe5dadcd + commit: b3d01052c2bc1f01d890b4e5d0d22a55fe5dadcd diff --git a/servers/mcp-reddit/server.yaml b/servers/mcp-reddit/server.yaml index 397faf73..e46a91ce 100644 --- a/servers/mcp-reddit/server.yaml +++ b/servers/mcp-reddit/server.yaml @@ -11,7 +11,7 @@ about: icon: https://avatars.githubusercontent.com/u/135265106?v=4 source: project: https://github.com/KrishnaRandad2023/mcp-reddit - commit: 2c9b356a32d14f2c1708415966ce289133477f74 + commit: 2c9b356a32d14f2c1708415966ce289133477f74 config: description: Configure the connection to Mcp reddit secrets: diff --git a/servers/omi/server.yaml b/servers/omi/server.yaml index 859223ac..877a685a 100644 --- a/servers/omi/server.yaml +++ b/servers/omi/server.yaml @@ -11,7 +11,7 @@ about: icon: https://avatars.githubusercontent.com/u/162546372?v=4 source: project: https://github.com/BasedHardware/omi - commit: e4b42efc1e94a08a76228e0928e1a3245431d7b2 + commit: e4b42efc1e94a08a76228e0928e1a3245431d7b2 directory: mcp config: description: Configure the connection to omi-mcp diff --git a/servers/openapi/server.yaml b/servers/openapi/server.yaml index ae81d46b..239402a4 100644 --- a/servers/openapi/server.yaml +++ b/servers/openapi/server.yaml @@ -12,7 +12,7 @@ about: source: project: https://github.com/lepoco/openapi.client branch: main - commit: 30bc5dfc95c789c0dadecf4816dcbf641b49aa3b + commit: 30bc5dfc95c789c0dadecf4816dcbf641b49aa3b config: description: Configure the connection to OpenAPI Toolkit for MCP env: diff --git a/servers/opine-mcp-server/server.yaml b/servers/opine-mcp-server/server.yaml index db5bf0ea..062e1780 100644 --- a/servers/opine-mcp-server/server.yaml +++ b/servers/opine-mcp-server/server.yaml @@ -12,7 +12,7 @@ about: icon: https://app.tryopine.com/_next/image?url=%2Flogomark.png&w=32&q=75 source: project: https://github.com/cody-docker/opine-mcp-server - commit: 63e0c626850dad818491a04c84f28e575e530322 + commit: 63e0c626850dad818491a04c84f28e575e530322 config: description: Configure the connection to Opine MCP Server secrets: diff --git a/servers/pia/server.yaml b/servers/pia/server.yaml index 9fc6dce2..096ef2b1 100644 --- a/servers/pia/server.yaml +++ b/servers/pia/server.yaml @@ -13,7 +13,7 @@ about: icon: http://programintegrity.org/wp-content/uploads/2025/08/docker-mcp-pia-icon-512.png source: project: https://github.com/Program-Integrity-Alliance/pia-mcp-local - commit: f04a7520f5a5d3d8db6f7deb7f0a093a60681506 + commit: f04a7520f5a5d3d8db6f7deb7f0a093a60681506 config: description: Configure the connection to Program Integrity Alliance (PIA) MCP Server. You can get a key here https://mcp.programintegrity.org/register secrets: diff --git a/servers/playwright-mcp-server/server.yaml b/servers/playwright-mcp-server/server.yaml index 09c644af..8474e503 100644 --- a/servers/playwright-mcp-server/server.yaml +++ b/servers/playwright-mcp-server/server.yaml @@ -11,7 +11,7 @@ about: icon: https://avatars.githubusercontent.com/u/10337030?v=4 source: project: https://github.com/executeautomation/mcp-playwright - commit: 51b2725f06f6df703f797f4025cac4c5f3a71f05 + commit: 51b2725f06f6df703f797f4025cac4c5f3a71f05 run: volumes: - '{{playwright-mcp-server.data}}:{{playwright-mcp-server.data}}' diff --git a/servers/postman/server.yaml b/servers/postman/server.yaml index d3dddadf..acdb3806 100644 --- a/servers/postman/server.yaml +++ b/servers/postman/server.yaml @@ -12,7 +12,7 @@ about: source: project: https://github.com/postmanlabs/postman-mcp-server branch: main - commit: 61a7c68190159e60cdb65923f44f8c096c9da638 + commit: 61a7c68190159e60cdb65923f44f8c096c9da638 config: description: Configure the connection to Postman MCP server secrets: diff --git a/servers/ref/server.yaml b/servers/ref/server.yaml index 534cf5c3..2772377d 100644 --- a/servers/ref/server.yaml +++ b/servers/ref/server.yaml @@ -12,7 +12,7 @@ about: icon: https://avatars.githubusercontent.com/u/210568548?v=4 source: project: https://github.com/ref-tools/ref-tools-mcp - commit: ccd03425dcd3d7745c9ec97f8b999f19306b821f + commit: ccd03425dcd3d7745c9ec97f8b999f19306b821f config: description: Configure the connection to Ref secrets: diff --git a/servers/ros2/server.yaml b/servers/ros2/server.yaml index 499aee61..1c8c7e2e 100644 --- a/servers/ros2/server.yaml +++ b/servers/ros2/server.yaml @@ -11,5 +11,5 @@ about: icon: https://avatars.githubusercontent.com/u/85994630?v=4 source: project: https://github.com/wise-vision/mcp_server_ros_2 - commit: ce7405d791788f19c6e601d0e7a36cd647ee6c2d + commit: ce7405d791788f19c6e601d0e7a36cd647ee6c2d diff --git a/servers/schogini-mcp-image-border/server.yaml b/servers/schogini-mcp-image-border/server.yaml index bedbb829..02053c99 100644 --- a/servers/schogini-mcp-image-border/server.yaml +++ b/servers/schogini-mcp-image-border/server.yaml @@ -11,4 +11,4 @@ about: icon: https://d1yei2z3i6k35z.cloudfront.net/7429984/669a56c4ca69e_SCHOGINI-LOGO-ROUND.png source: project: https://github.com/schogini/schogini_mcp_image_border - commit: fc8aa52cec0f5ac9aeff2e57c16ffecd21bb12f7 + commit: fc8aa52cec0f5ac9aeff2e57c16ffecd21bb12f7 diff --git a/servers/securenote-link-mcp-server/server.yaml b/servers/securenote-link-mcp-server/server.yaml index a24e90c5..7986059d 100644 --- a/servers/securenote-link-mcp-server/server.yaml +++ b/servers/securenote-link-mcp-server/server.yaml @@ -11,5 +11,5 @@ about: icon: https://avatars.githubusercontent.com/u/5723207?v=5 source: project: https://github.com/jackalterman/securenote-link-MCP-server - commit: a184102de77ebae58533e45b56764d4a5fab0a8a + commit: a184102de77ebae58533e45b56764d4a5fab0a8a diff --git a/servers/sequa/server.yaml b/servers/sequa/server.yaml index 7b1ae418..e31a4b0f 100644 --- a/servers/sequa/server.yaml +++ b/servers/sequa/server.yaml @@ -14,7 +14,7 @@ about: source: project: https://github.com/sequa-ai/sequa-mcp branch: main - commit: e569815854166db5f71c2e722408f8957fb9e804 + commit: e569815854166db5f71c2e722408f8957fb9e804 config: description: Configure the connection to Sequa.AI secrets: diff --git a/servers/simplechecklist/server.yaml b/servers/simplechecklist/server.yaml index ca5b2bbf..ec38efbb 100644 --- a/servers/simplechecklist/server.yaml +++ b/servers/simplechecklist/server.yaml @@ -29,7 +29,7 @@ about: icon: https://raw.githubusercontent.com/DevMayur/SimpleCheckList/main/icon.png source: project: https://github.com/DevMayur/SimpleCheckList - commit: 176694570a11e21304bef0dee8e6345e654022e8 + commit: 176694570a11e21304bef0dee8e6345e654022e8 run: command: - --mode=backend diff --git a/servers/sqlite-mcp-server/server.yaml b/servers/sqlite-mcp-server/server.yaml index 2928fb34..51529d0a 100644 --- a/servers/sqlite-mcp-server/server.yaml +++ b/servers/sqlite-mcp-server/server.yaml @@ -130,4 +130,4 @@ about: icon: https://adamic.tech/assets/images/logo.web source: project: https://github.com/neverinfamous/sqlite-mcp-server - commit: bd3d25248d36685fc049e090d28458cabf6ad617 + commit: bd3d25248d36685fc049e090d28458cabf6ad617 diff --git a/servers/stackhawk/server.yaml b/servers/stackhawk/server.yaml index ddb79abc..13abd0b1 100644 --- a/servers/stackhawk/server.yaml +++ b/servers/stackhawk/server.yaml @@ -14,7 +14,7 @@ about: source: project: https://github.com/stackhawk/stackhawk-mcp branch: feature/image-entrypoint - commit: a330ddfc85aa880346b4555cb168c6ef28562ad3 + commit: a330ddfc85aa880346b4555cb168c6ef28562ad3 config: description: Configure the connection to StackHawk secrets: diff --git a/servers/task-orchestrator/server.yaml b/servers/task-orchestrator/server.yaml index 8ba58840..fb3d0314 100644 --- a/servers/task-orchestrator/server.yaml +++ b/servers/task-orchestrator/server.yaml @@ -12,7 +12,7 @@ about: icon: https://avatars.githubusercontent.com/u/5747775?v=4 source: project: https://github.com/jpicklyk/task-orchestrator - commit: 919f3762d13c37543a3e604d658f0e8aced8f3e8 + commit: 919f3762d13c37543a3e604d658f0e8aced8f3e8 run: volumes: - mcp-task-data:/app/data diff --git a/servers/thingsboard/server.yaml b/servers/thingsboard/server.yaml index 4ebd70d4..704db9c2 100644 --- a/servers/thingsboard/server.yaml +++ b/servers/thingsboard/server.yaml @@ -21,7 +21,7 @@ about: icon: https://avatars.githubusercontent.com/u/24291394?v=4 source: project: https://github.com/thingsboard/thingsboard-mcp - commit: adac2d247c408487ef1f99ebb65f8889792dc632 + commit: adac2d247c408487ef1f99ebb65f8889792dc632 config: description: Configure the connection to ThingsBoard secrets: diff --git a/servers/vuln-nist-mcp-server/server.yaml b/servers/vuln-nist-mcp-server/server.yaml index cd9aaeb6..0e816c49 100644 --- a/servers/vuln-nist-mcp-server/server.yaml +++ b/servers/vuln-nist-mcp-server/server.yaml @@ -14,4 +14,4 @@ about: icon: https://raw.githubusercontent.com/HaroldFinchIFT/vuln-nist-mcp-server/refs/heads/main/nvd_logo.png source: project: https://github.com/HaroldFinchIFT/vuln-nist-mcp-server - commit: 71a45579c7dfcbdd0e639dfb6640801371bf07b6 + commit: 71a45579c7dfcbdd0e639dfb6640801371bf07b6 From 524c6a24326b1a59ee842e635d3187edc7a00da4 Mon Sep 17 00:00:00 2001 From: Jacob Howard Date: Thu, 16 Oct 2025 13:11:23 -0600 Subject: [PATCH 41/67] ci: grandfather existing servers that violate naming validation Signed-off-by: Jacob Howard --- cmd/validate/main.go | 11 +++++++++++ cmd/validate/main_test.go | 14 ++++++++++++++ 2 files changed, 25 insertions(+) diff --git a/cmd/validate/main.go b/cmd/validate/main.go index 1e0459da..c4b193ef 100644 --- a/cmd/validate/main.go +++ b/cmd/validate/main.go @@ -25,6 +25,13 @@ import ( "gopkg.in/yaml.v3" ) +// legacyNameExceptions enumerates catalog entries added before current naming rules. +var legacyNameExceptions = map[string]bool{ + "SQLite": true, + "osp_marketing_tools": true, + "youtube_transcript": true, +} + func main() { name := flag.String("name", "", "Name of the mcp server, name is guessed if not provided") flag.Parse() @@ -76,6 +83,10 @@ func run(name string) error { func isNameValid(name string) error { // check if name has only letters, numbers, and hyphens if !regexp.MustCompile(`^[a-z0-9-]+$`).MatchString(name) { + if legacyNameExceptions[name] { + fmt.Printf("⚠️ Name %s is grandfathered and bypasses naming rules.\n", name) + return nil + } return fmt.Errorf("name is not valid. It must be a lowercase string with only letters, numbers, and hyphens") } diff --git a/cmd/validate/main_test.go b/cmd/validate/main_test.go index f303de72..bd32636e 100644 --- a/cmd/validate/main_test.go +++ b/cmd/validate/main_test.go @@ -88,6 +88,20 @@ func Test_isNameValid(t *testing.T) { }, wantError: true, }, + { + name: "legacy uppercase name", + args: args{ + name: "SQLite", + }, + wantError: false, + }, + { + name: "legacy underscore name", + args: args{ + name: "youtube_transcript", + }, + wantError: false, + }, } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { From d3ed9f7a1adbc5fece13b82ccb3351ea37d3adda Mon Sep 17 00:00:00 2001 From: Jacob Howard Date: Thu, 16 Oct 2025 16:06:30 -0600 Subject: [PATCH 42/67] validate: don't require secret prefix name match The gateway no longer enforces that servers' names match their secret prefixes, so we'll loosen the rule here to just require a prefix.name formatting, with some slightly tighter enforcement around characters (which is compatible with all existing servers). Two servers required grandfathering due to legacy naming. Signed-off-by: Jacob Howard --- cmd/validate/main.go | 30 +++++++++++++++++++++++------- 1 file changed, 23 insertions(+), 7 deletions(-) diff --git a/cmd/validate/main.go b/cmd/validate/main.go index c4b193ef..6263947c 100644 --- a/cmd/validate/main.go +++ b/cmd/validate/main.go @@ -115,21 +115,37 @@ func isDirectoryValid(name string) error { return nil } +// secretNamePattern validates that secret names match the expected prefix.name +// format requirement. +var secretNamePattern = regexp.MustCompile(`^[A-Za-z0-9_-]+\.[A-Za-z0-9._-]+$`) + +// legacySecretNameExceptions enumerates secrets defined before the current +// naming rules were introduced. +var legacySecretNameExceptions = map[string]map[string]bool{ + "nasdaq-data-link": { + "nasdaq_data_link_api_key": true, + }, + "sec-edgar": { + "sec_edgar_user_agent": true, + }, +} + // check if the secrets are valid -// secrets must be prefixed with the name of the server func areSecretsValid(name string) error { - // read the server.yaml file server, err := readServerYaml(name) if err != nil { return err } - // check if the server.yaml file has a valid secrets - if len(server.Config.Secrets) > 0 { - for _, secret := range server.Config.Secrets { - if !strings.HasPrefix(secret.Name, name+".") { - return fmt.Errorf("secret %s is not valid. It must be prefixed with the name of the server", secret.Name) + // Ensure that all secrets match the expected format. We no longer require + // that the prefix matches the server name. + for _, secret := range server.Config.Secrets { + if !secretNamePattern.MatchString(secret.Name) { + if legacySecretNameExceptions[name][secret.Name] { + fmt.Printf("⚠️ Secret %s for %s is grandfathered and bypasses naming rules.\n", secret.Name, name) + continue } + return fmt.Errorf("secret %s is not valid. It must use prefix.name format with alphanumeric characters, hyphen, period, or underscore", secret.Name) } } From 3b35ae141bbe78f5d34a82bd4b5ad09c8daefbe8 Mon Sep 17 00:00:00 2001 From: Jacob Howard Date: Thu, 16 Oct 2025 16:20:09 -0600 Subject: [PATCH 43/67] validate: add OAuth dynamic tools exception for github-official Signed-off-by: Jacob Howard --- cmd/validate/main.go | 25 +++++++++++++++++-------- 1 file changed, 17 insertions(+), 8 deletions(-) diff --git a/cmd/validate/main.go b/cmd/validate/main.go index 6263947c..135d532c 100644 --- a/cmd/validate/main.go +++ b/cmd/validate/main.go @@ -25,13 +25,6 @@ import ( "gopkg.in/yaml.v3" ) -// legacyNameExceptions enumerates catalog entries added before current naming rules. -var legacyNameExceptions = map[string]bool{ - "SQLite": true, - "osp_marketing_tools": true, - "youtube_transcript": true, -} - func main() { name := flag.String("name", "", "Name of the mcp server, name is guessed if not provided") flag.Parse() @@ -79,6 +72,13 @@ func run(name string) error { return nil } +// legacyNameExceptions enumerates catalog entries added before current naming rules. +var legacyNameExceptions = map[string]bool{ + "SQLite": true, + "osp_marketing_tools": true, + "youtube_transcript": true, +} + // check if the name is a valid func isNameValid(name string) error { // check if name has only letters, numbers, and hyphens @@ -331,6 +331,11 @@ func hasValidTools(server servers.Server) error { return nil } +// Some special entries bypass the dynamic tools requirement. +var oauthDynamicToolExceptions = map[string]bool{ + "github-official": true, +} + // check if servers with OAuth have dynamic tools enabled func isOAuthDynamicValid(name string) error { server, err := readServerYaml(name) @@ -341,7 +346,11 @@ func isOAuthDynamicValid(name string) error { // If server has OAuth configuration, it must have dynamic tools enabled if len(server.OAuth) > 0 { if server.Dynamic == nil || !server.Dynamic.Tools { - return fmt.Errorf("server with OAuth must have 'dynamic: tools: true' configuration") + if oauthDynamicToolExceptions[name] { + fmt.Printf("⚠️ OAuth dynamic rule bypassed for %s (legacy configuration).\n", name) + } else { + return fmt.Errorf("server with OAuth must have 'dynamic: tools: true' configuration") + } } } From 94002b101588d91de4769149d34ca38c7fd1d1e2 Mon Sep 17 00:00:00 2001 From: Jacob Howard Date: Thu, 16 Oct 2025 16:37:37 -0600 Subject: [PATCH 44/67] servers: remove branch specs that already referenced commits Signed-off-by: Jacob Howard --- servers/cdata-connectcloud/server.yaml | 1 - servers/cyreslab-ai-shodan/server.yaml | 1 - servers/exa/server.yaml | 1 - servers/neon/server.yaml | 1 - servers/perplexity-ask/server.yaml | 1 - 5 files changed, 5 deletions(-) diff --git a/servers/cdata-connectcloud/server.yaml b/servers/cdata-connectcloud/server.yaml index f76b9dd5..0e1a12a3 100644 --- a/servers/cdata-connectcloud/server.yaml +++ b/servers/cdata-connectcloud/server.yaml @@ -11,7 +11,6 @@ about: icon: https://avatars.githubusercontent.com/u/24947354?v=4 source: project: https://github.com/CDataSoftware/connectcloud-mcp-server - branch: 00fe03b372819d143f266fd49e53d98181f4dd12 commit: 00fe03b372819d143f266fd49e53d98181f4dd12 config: description: Configure the connection to CData Connect Cloud diff --git a/servers/cyreslab-ai-shodan/server.yaml b/servers/cyreslab-ai-shodan/server.yaml index bf8a5f14..cfaa9303 100644 --- a/servers/cyreslab-ai-shodan/server.yaml +++ b/servers/cyreslab-ai-shodan/server.yaml @@ -11,7 +11,6 @@ about: icon: https://avatars.githubusercontent.com/u/178556137?s=200&v=4 source: project: https://github.com/Cyreslab-AI/shodan-mcp-server - branch: 935f7044f60570cf2d094d94596eeea7872fb6be commit: 935f7044f60570cf2d094d94596eeea7872fb6be config: secrets: diff --git a/servers/exa/server.yaml b/servers/exa/server.yaml index 2b2f4b05..74465aa1 100644 --- a/servers/exa/server.yaml +++ b/servers/exa/server.yaml @@ -12,7 +12,6 @@ about: icon: https://avatars.githubusercontent.com/u/77906174?s=200&v=4 source: project: https://github.com/exa-labs/exa-mcp-server - branch: 6ebf32f550168af016837efe31960c6548c831aa commit: 6ebf32f550168af016837efe31960c6548c831aa config: secrets: diff --git a/servers/neon/server.yaml b/servers/neon/server.yaml index bbbd7cbd..a7ff3a87 100644 --- a/servers/neon/server.yaml +++ b/servers/neon/server.yaml @@ -11,7 +11,6 @@ about: icon: https://avatars.githubusercontent.com/u/183852044?s=200&v=4 source: project: https://github.com/neondatabase-labs/mcp-server-neon - branch: dbfa184afd9fc677c0d6b007a62b33194e883821 commit: dbfa184afd9fc677c0d6b007a62b33194e883821 config: secrets: diff --git a/servers/perplexity-ask/server.yaml b/servers/perplexity-ask/server.yaml index 540ae772..12f8e3c0 100644 --- a/servers/perplexity-ask/server.yaml +++ b/servers/perplexity-ask/server.yaml @@ -12,7 +12,6 @@ about: icon: https://avatars.githubusercontent.com/u/110299016?s=200&v=4 source: project: https://github.com/ppl-ai/modelcontextprotocol - branch: f0a927c250e04b389ff5c34f6a2a85ad625668e8 commit: f0a927c250e04b389ff5c34f6a2a85ad625668e8 dockerfile: perplexity-ask/Dockerfile config: From a4ab7c3ef7d3e40a42673cf726d4619cfa50494a Mon Sep 17 00:00:00 2001 From: Jacob Howard Date: Thu, 16 Oct 2025 16:41:01 -0600 Subject: [PATCH 45/67] servers: remove sec-edgar since it's switched from MIT to AGPL Signed-off-by: Jacob Howard --- servers/sec-edgar/server.yaml | 22 ---------------------- 1 file changed, 22 deletions(-) delete mode 100644 servers/sec-edgar/server.yaml diff --git a/servers/sec-edgar/server.yaml b/servers/sec-edgar/server.yaml deleted file mode 100644 index f0a4e68d..00000000 --- a/servers/sec-edgar/server.yaml +++ /dev/null @@ -1,22 +0,0 @@ -name: sec-edgar -image: mcp/sec-edgar -type: server -meta: - category: finance - tags: - - sec - - edgar - - finance - - data -about: - title: SEC EDGAR - description: MCP server to interact with the US SEC EDGAR database, developed by the community and maintained by Stefano Amorelli. - icon: https://raw.githubusercontent.com/stefanoamorelli/sec-edgar-mcp/refs/heads/main/sec-edgar-mcp-logo.png -source: - project: https://github.com/stefanoamorelli/sec-edgar-mcp - commit: edaf734b113f070a4e2c86636ae3c7307206fc5a -config: - secrets: - - name: sec_edgar_user_agent - env: SEC_EDGAR_USER_AGENT - example: "Your Name (your.email@domain.com)" From 9c07dc561ce060c3d96110b2c375d4daa430f266 Mon Sep 17 00:00:00 2001 From: Jacob Howard Date: Thu, 16 Oct 2025 16:58:41 -0600 Subject: [PATCH 46/67] validate: support other icon types that will render okay in the GUI Signed-off-by: Jacob Howard --- cmd/validate/main.go | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/cmd/validate/main.go b/cmd/validate/main.go index 135d532c..e74b5267 100644 --- a/cmd/validate/main.go +++ b/cmd/validate/main.go @@ -229,11 +229,18 @@ func isIconValid(name string) error { return nil } - // Check content type for SVG support + // Check content type for SVG, favicon, and WebP support contentType := resp.Header.Get("Content-Type") - if contentType == "image/svg+xml" { + switch contentType { + case "image/svg+xml": fmt.Println("✅ Icon is valid (SVG)") return nil + case "image/x-icon": + fmt.Println("✅ Icon is valid (favicon)") + return nil + case "image/webp": + fmt.Println("✅ Icon is valid (WebP)") + return nil } img, format, err := image.DecodeConfig(resp.Body) From a73ea5b4686070cf133f08ecfb3e7facf33a22cb Mon Sep 17 00:00:00 2001 From: Jacob Howard Date: Thu, 16 Oct 2025 17:03:40 -0600 Subject: [PATCH 47/67] servers: fix kong commit pin to reference PR with Dockerfile Signed-off-by: Jacob Howard --- servers/kong/server.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/servers/kong/server.yaml b/servers/kong/server.yaml index d9395696..192d1104 100644 --- a/servers/kong/server.yaml +++ b/servers/kong/server.yaml @@ -13,7 +13,7 @@ about: source: project: https://github.com/Kong/mcp-konnect branch: refs/pull/7/merge - commit: 28f5c76d86427628299ce9d3eefe7c7ce4f7d617 + commit: 1710e9d575c58b0426085756f3796fd46e9db076 config: description: Configure the connection to Kong Konnect secrets: From dd742916bbbacd8b978867b9f18c43d0cc73bfa1 Mon Sep 17 00:00:00 2001 From: Jacob Howard Date: Thu, 16 Oct 2025 17:04:51 -0600 Subject: [PATCH 48/67] servers: remove mcp-meta-analysis-r The image for this server is no longer available and it's not in the catalog anyway. Signed-off-by: Jacob Howard --- servers/mcp-meta-analysis-r/server.yaml | 66 ------------------------- 1 file changed, 66 deletions(-) delete mode 100644 servers/mcp-meta-analysis-r/server.yaml diff --git a/servers/mcp-meta-analysis-r/server.yaml b/servers/mcp-meta-analysis-r/server.yaml deleted file mode 100644 index 7e697848..00000000 --- a/servers/mcp-meta-analysis-r/server.yaml +++ /dev/null @@ -1,66 +0,0 @@ -name: mcp-meta-analysis-r -image: mmrech/mcp-meta-analysis-r:latest -type: server -meta: - category: data-science - tags: - - statistics - - meta-analysis - - research - - healthcare - - r-statistics - - data-science - - clinical-trials -about: - title: Meta-Analysis MCP Server - description: | - A professional MCP server for conducting meta-analyses with automated statistical validation, R integration, and publication-ready outputs. - - Features: - • Guided workflow for meta-analysis from data import to report generation - • Support for multiple effect measures (OR, RR, MD, SMD, HR) - • Automated statistical validation and data quality checks - • Forest plots and funnel plots with customizable styles - • Publication bias assessment (Egger's test, Begg's test, trim-and-fill) - • Heterogeneity analysis (I², Q-test, τ²) - • Support for CSV, Excel, and RevMan data formats - • Comprehensive report generation (HTML/PDF/Word) - • Session-based workflow management - • Containerized R environment with meta, metafor packages - - Perfect for researchers, clinicians, and data scientists conducting systematic reviews and meta-analyses. - icon: 📊 -source: - project: https://github.com/matheus-rech/mcp-meta-analysis-with-r - commit: 2548fb699229f281dbb6df06d7854cf0aa8e6afc -run: - volumes: - - '{{meta-analysis.sessions_path}}:/app/user_sessions' - - '{{meta-analysis.logs_path}}:/app/logs' -config: - description: Configure paths for session data and logs - env: - - name: NODE_ENV - example: production - value: 'production' - - name: LOG_LEVEL - example: info - value: 'info' - - name: USE_DOCKER - example: 'false' - value: 'true' - description: Use Docker for R execution (set to false if R is installed locally) - parameters: - type: object - properties: - sessions_path: - type: string - description: Directory path where session data will be stored - default: /Users/local-test/meta-analysis-sessions - logs_path: - type: string - description: Directory path where logs will be stored - default: /Users/local-test/meta-analysis-logs - required: - - sessions_path - - logs_path From 5d687e1c31daaf751f96369a452a905deaab5e84 Mon Sep 17 00:00:00 2001 From: Jacob Howard Date: Thu, 16 Oct 2025 17:10:05 -0600 Subject: [PATCH 49/67] servers: fix aks icon URL to use permalink Signed-off-by: Jacob Howard --- servers/aks/server.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/servers/aks/server.yaml b/servers/aks/server.yaml index a71f34a8..06dd2b44 100644 --- a/servers/aks/server.yaml +++ b/servers/aks/server.yaml @@ -11,7 +11,7 @@ meta: about: title: Azure Kubernetes Service (AKS) description: Azure Kubernetes Service (AKS) official MCP server - icon: https://raw.githubusercontent.com/Azure/AKS/master/blog/assets/images/400x400.png + icon: https://raw.githubusercontent.com/Azure/AKS/1c3979cf6729c78cfff2c0c78cb0aa657e1bbf7a/blog/assets/images/400x400.png source: project: https://github.com/Azure/aks-mcp commit: c3020f2402b4713da07942e7dcc688a3a1804c3f From c4a29b7bf6997e18818495b46f21d341bc205686 Mon Sep 17 00:00:00 2001 From: Jacob Howard Date: Thu, 16 Oct 2025 17:30:05 -0600 Subject: [PATCH 50/67] validate: use warning icons in non-error cases Signed-off-by: Jacob Howard --- cmd/validate/main.go | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/cmd/validate/main.go b/cmd/validate/main.go index e74b5267..a8b9272c 100644 --- a/cmd/validate/main.go +++ b/cmd/validate/main.go @@ -209,23 +209,23 @@ func isIconValid(name string) error { } if server.About.Icon == "" { - fmt.Println("🛑 No icon found") + fmt.Println("⚠️ No icon found") return nil } // fetch the image and check the size resp, err := http.Get(server.About.Icon) if err != nil { - fmt.Println("🛑 Icon could not be fetched") + fmt.Println("⚠️ Icon could not be fetched") return nil } defer resp.Body.Close() if resp.StatusCode != 200 { - fmt.Printf("🛑 Icon could not be fetched, status code: %d, url: %s\n", resp.StatusCode, server.About.Icon) + fmt.Printf("⚠️ Icon could not be fetched, status code: %d, url: %s\n", resp.StatusCode, server.About.Icon) return nil } if resp.ContentLength > 2*1024*1024 { - fmt.Println("🛑 Icon is too large. It must be less than 2MB") + fmt.Println("⚠️ Icon is too large. It must be less than 2MB") return nil } @@ -248,12 +248,12 @@ func isIconValid(name string) error { return err } if format != "png" { - fmt.Println("🛑 Icon is not a png or svg. It must be a png or svg") + fmt.Println("⚠️ Icon is not a png or svg. It must be a png or svg") return nil } if img.Width > 512 || img.Height > 512 { - fmt.Println("🛑 Icon is too large. It must be less than 512x512") + fmt.Println("⚠️ Icon is too large. It must be less than 512x512") return nil } From c315a15629923c939ca6873603f619392c8937b0 Mon Sep 17 00:00:00 2001 From: Jacob Howard Date: Thu, 16 Oct 2025 17:30:20 -0600 Subject: [PATCH 51/67] validate: allow JPEG icons Signed-off-by: Jacob Howard --- cmd/validate/main.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cmd/validate/main.go b/cmd/validate/main.go index a8b9272c..5b2093e4 100644 --- a/cmd/validate/main.go +++ b/cmd/validate/main.go @@ -247,7 +247,7 @@ func isIconValid(name string) error { if err != nil { return err } - if format != "png" { + if format != "png" && format != "jpeg" { fmt.Println("⚠️ Icon is not a png or svg. It must be a png or svg") return nil } From 667063d43e4e457b87fd01f53f95888671feccfa Mon Sep 17 00:00:00 2001 From: Jacob Howard Date: Thu, 16 Oct 2025 19:50:22 -0600 Subject: [PATCH 52/67] validate: clarify reason for bypassing OAuth dynamic tool requirements Signed-off-by: Jacob Howard --- cmd/validate/main.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cmd/validate/main.go b/cmd/validate/main.go index 5b2093e4..8d478582 100644 --- a/cmd/validate/main.go +++ b/cmd/validate/main.go @@ -354,7 +354,7 @@ func isOAuthDynamicValid(name string) error { if len(server.OAuth) > 0 { if server.Dynamic == nil || !server.Dynamic.Tools { if oauthDynamicToolExceptions[name] { - fmt.Printf("⚠️ OAuth dynamic rule bypassed for %s (legacy configuration).\n", name) + fmt.Printf("⚠️ OAuth dynamic rule bypassed for %s (special configuration).\n", name) } else { return fmt.Errorf("server with OAuth must have 'dynamic: tools: true' configuration") } From 7035476b49c34c87f728a3409198e9c5f0960e6f Mon Sep 17 00:00:00 2001 From: Jacob Howard Date: Thu, 16 Oct 2025 20:02:10 -0600 Subject: [PATCH 53/67] servers: remove dead getter code Signed-off-by: Jacob Howard --- pkg/servers/server.go | 7 ------- 1 file changed, 7 deletions(-) diff --git a/pkg/servers/server.go b/pkg/servers/server.go index b87b0eb1..23164b35 100644 --- a/pkg/servers/server.go +++ b/pkg/servers/server.go @@ -75,13 +75,6 @@ func (s *Server) GetBranch() string { return s.Source.Branch } -func (s *Server) GetRevision() string { - if s.Source.Commit != "" { - return s.Source.Commit - } - return s.GetBranch() -} - func (s *Server) GetDockerfileUrl() string { revision := s.Source.Commit if revision == "" { From 27bebb012f65e3febb2168a6d0f45f3f6a5a963c Mon Sep 17 00:00:00 2001 From: Jacob Howard Date: Fri, 17 Oct 2025 09:53:31 -0600 Subject: [PATCH 54/67] servers: fix openapi-schema build by adding description Signed-off-by: Jacob Howard --- servers/openapi-schema/server.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/servers/openapi-schema/server.yaml b/servers/openapi-schema/server.yaml index 08f5b52d..d56219a3 100644 --- a/servers/openapi-schema/server.yaml +++ b/servers/openapi-schema/server.yaml @@ -18,9 +18,9 @@ run: volumes: - '{{openapi-schema.SchemaPath|or:[]|volume|into}}' config: + description: Expose OpenAPI schema information to Large Language Models parameters: type: object properties: SchemaPath: type: string - From d5b83ed2c62eaaa6bc3d6f49fa915235f8e0a2dd Mon Sep 17 00:00:00 2001 From: Jacob Howard Date: Fri, 17 Oct 2025 10:06:50 -0600 Subject: [PATCH 55/67] servers: add commit pins for remaining local servers Signed-off-by: Jacob Howard --- servers/browserbase/server.yaml | 1 + servers/cylera-mcp-server/server.yaml | 1 + servers/pulumi/server.yaml | 1 + 3 files changed, 3 insertions(+) diff --git a/servers/browserbase/server.yaml b/servers/browserbase/server.yaml index 8f7a0d3d..b5a85061 100644 --- a/servers/browserbase/server.yaml +++ b/servers/browserbase/server.yaml @@ -14,6 +14,7 @@ about: icon: https://avatars.githubusercontent.com/u/132273001?s=200&v=4 source: project: https://github.com/browserbase/mcp-server-browserbase + commit: b7ec6f6cf0b2224a3ca9952ac158eaa8e600f929 dockerfile: Dockerfile config: description: Configure Browserbase API credentials for browser automation diff --git a/servers/cylera-mcp-server/server.yaml b/servers/cylera-mcp-server/server.yaml index 39a6f0bd..3d7c696c 100644 --- a/servers/cylera-mcp-server/server.yaml +++ b/servers/cylera-mcp-server/server.yaml @@ -12,6 +12,7 @@ about: icon: https://github.com/Cylera/cylera-mcp-server/blob/main/assets/cylera_logo.png?raw=true source: project: https://github.com/Cylera/cylera-mcp-server + commit: d8034893525a78d5e4bfca65dd291e7d498f8f0e config: description: Configure the connection to the official MCP Server for Cylera. secrets: diff --git a/servers/pulumi/server.yaml b/servers/pulumi/server.yaml index 02fcc417..6d5c95f9 100644 --- a/servers/pulumi/server.yaml +++ b/servers/pulumi/server.yaml @@ -12,6 +12,7 @@ about: icon: https://avatars.githubusercontent.com/u/21992475?s=200&v=4 source: project: https://github.com/pulumi/mcp-server + commit: bb10e6c60943f25b200fc0e7c221f2d1e259aff6 run: command: - stdio From 3f20505899812b1f4babb01f94e35ec9d9e62518 Mon Sep 17 00:00:00 2001 From: Jacob Howard Date: Fri, 17 Oct 2025 10:19:36 -0600 Subject: [PATCH 56/67] validate: require commit pins for local servers Signed-off-by: Jacob Howard --- cmd/validate/main.go | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/cmd/validate/main.go b/cmd/validate/main.go index 8d478582..bcfde595 100644 --- a/cmd/validate/main.go +++ b/cmd/validate/main.go @@ -43,6 +43,10 @@ func run(name string) error { return err } + if err := isCommitPinnedIfNecessary(name); err != nil { + return err + } + if err := areSecretsValid(name); err != nil { return err } @@ -115,6 +119,32 @@ func isDirectoryValid(name string) error { return nil } +var commitSHA1Pattern = regexp.MustCompile(`^[a-f0-9]{40}$`) + +// isCommitPinnedIfNecessary ensures that every local server is pinned to a specific commit. +func isCommitPinnedIfNecessary(name string) error { + server, err := readServerYaml(name) + if err != nil { + return err + } + + if server.Type != "server" { + fmt.Println("✅ Commit pin not required (non-local server)") + return nil + } + + if server.Source.Commit == "" { + return fmt.Errorf("local server must specify source.commit to pin the audited revision") + } + + if !commitSHA1Pattern.MatchString(strings.ToLower(server.Source.Commit)) { + return fmt.Errorf("source.commit must be a 40-character lowercase SHA1 (got %q)", server.Source.Commit) + } + + fmt.Println("✅ Commit is pinned") + return nil +} + // secretNamePattern validates that secret names match the expected prefix.name // format requirement. var secretNamePattern = regexp.MustCompile(`^[A-Za-z0-9_-]+\.[A-Za-z0-9._-]+$`) From 6a6beb9ab4906ee3220fd93aa567da1bd4db3506 Mon Sep 17 00:00:00 2001 From: Jacob Howard Date: Fri, 17 Oct 2025 11:02:53 -0600 Subject: [PATCH 57/67] servers: update brave commit pin The previous version didn't build. Signed-off-by: Jacob Howard --- servers/brave/server.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/servers/brave/server.yaml b/servers/brave/server.yaml index 93b49527..dbfdebba 100644 --- a/servers/brave/server.yaml +++ b/servers/brave/server.yaml @@ -12,7 +12,7 @@ about: icon: https://avatars.githubusercontent.com/u/12301619?s=200&v=4 source: project: https://github.com/brave/brave-search-mcp-server - commit: 4d6f4a7323b0f564fc82d0b291cc49e201ef62ae + commit: 985fb2b8b07ecea0b882a062c1cc336c5cdc7217 config: description: Configure the Brave Search API connection secrets: From f5bcbc0cf2740a4577a842dbb1e5bd836e616063 Mon Sep 17 00:00:00 2001 From: Jacob Howard Date: Fri, 17 Oct 2025 11:08:32 -0600 Subject: [PATCH 58/67] servers: update heroku commit pin We weren't referencing the PR branch correctly. Signed-off-by: Jacob Howard --- servers/heroku/server.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/servers/heroku/server.yaml b/servers/heroku/server.yaml index 6c2e2f76..8eeb826f 100644 --- a/servers/heroku/server.yaml +++ b/servers/heroku/server.yaml @@ -12,7 +12,7 @@ about: source: project: https://github.com/heroku/heroku-mcp-server branch: refs/pull/24/merge - commit: 7f956f759cb8b604b98096f701d56d0e22d47c5d + commit: f4949381035a04cb862b323ed024762bd2bb12aa config: secrets: - name: heroku.api_key From 2d73ae967cd3ceb81becad9a952eb28614202205 Mon Sep 17 00:00:00 2001 From: Jacob Howard Date: Fri, 17 Oct 2025 14:35:56 -0600 Subject: [PATCH 59/67] build: require local servers have commit pin Signed-off-by: Jacob Howard --- cmd/build/main.go | 20 +------------------- 1 file changed, 1 insertion(+), 19 deletions(-) diff --git a/cmd/build/main.go b/cmd/build/main.go index 56c88638..1c378de6 100644 --- a/cmd/build/main.go +++ b/cmd/build/main.go @@ -12,7 +12,6 @@ import ( "strings" "github.com/docker/mcp-registry/internal/mcp" - "github.com/docker/mcp-registry/pkg/github" "github.com/docker/mcp-registry/pkg/servers" ) @@ -117,26 +116,9 @@ func buildDockerEnv(additionalEnv ...string) []string { } func buildMcpImage(ctx context.Context, server servers.Server) error { - projectURL := server.Source.Project - branch := server.Source.Branch commit := server.Source.Commit - client := github.New() - - repository, err := client.GetProjectRepository(ctx, projectURL) - if err != nil { - return err - } - - if branch == "" { - branch = repository.GetDefaultBranch() - } - if commit == "" { - var err error - commit, err = client.GetCommitSHA1(ctx, projectURL, branch) - if err != nil { - return err - } + return fmt.Errorf("local server %s must specify source.commit before building", server.Name) } gitURL := server.GetContext() From b303c8430bf25159af08558ba30a2118116c9185 Mon Sep 17 00:00:00 2001 From: Tuna Date: Fri, 17 Oct 2025 21:26:43 -0700 Subject: [PATCH 60/67] Update Browserbase logo --- servers/browserbase/server.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/servers/browserbase/server.yaml b/servers/browserbase/server.yaml index b5a85061..9ebb633a 100644 --- a/servers/browserbase/server.yaml +++ b/servers/browserbase/server.yaml @@ -11,7 +11,7 @@ meta: about: title: Browserbase description: Allow LLMs to control a browser with Browserbase and Stagehand for AI-powered web automation, intelligent data extraction, and screenshot capture. - icon: https://avatars.githubusercontent.com/u/132273001?s=200&v=4 + icon: https://avatars.githubusercontent.com/u/189776885?s=200&v=4 source: project: https://github.com/browserbase/mcp-server-browserbase commit: b7ec6f6cf0b2224a3ca9952ac158eaa8e600f929 From 69fdd64c1ad964e400a4a197986b73868cd1ed72 Mon Sep 17 00:00:00 2001 From: Sundeep Gottipati Date: Fri, 17 Oct 2025 23:39:18 -0700 Subject: [PATCH 61/67] Add remote server contribution guide and wizard MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This commit adds comprehensive support for contributing remote MCP servers to the registry. ## Key Changes ### New `task remote-wizard` Command - Interactive wizard for creating remote server entries - Auto-generates server.yaml, tools.json (empty), and readme.md - Supports both OAuth and non-OAuth configurations - OAuth settings auto-generated from server name: - Provider: server name - Secret: {server-name}.personal_access_token - Env: {SERVER_NAME}_PERSONAL_ACCESS_TOKEN - Supports streamable-http and sse transport types ### Updated CONTRIBUTING.md - Clarified distinction between local and remote servers - Added dedicated section for remote server contributions - Included examples for both OAuth (linear) and non-OAuth (cloudflare-docs) servers - Step-by-step guide using the new wizard - Comparison table showing key differences ### Example Remote Server - Added pulumi-remote server created with task remote-wizard - Demonstrates the wizard output structure - Shows OAuth configuration with auto-generated fields 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude --- CONTRIBUTING.md | 170 ++++++++++++++++- Taskfile.yml | 4 + cmd/remote-wizard/main.go | 297 ++++++++++++++++++++++++++++++ servers/pulumi-remote/readme.md | 1 + servers/pulumi-remote/server.yaml | 20 ++ servers/pulumi-remote/tools.json | 1 + 6 files changed, 492 insertions(+), 1 deletion(-) create mode 100644 cmd/remote-wizard/main.go create mode 100644 servers/pulumi-remote/readme.md create mode 100644 servers/pulumi-remote/server.yaml create mode 100644 servers/pulumi-remote/tools.json diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 5c4a2039..40228d4c 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -3,6 +3,28 @@ Thank you for your interest in contributing to the official Docker MCP Registry. This document outlines how to contribute to this project. +## 📦 Types of MCP Servers + +There are two types of MCP servers you can add to the registry: + +### 🏠 Local Servers (Containerized) +Local servers run in Docker containers on your machine. They: +- Require a Dockerfile in the source repository +- Are built and hosted as Docker images +- Run locally with full container isolation +- Can benefit from Docker-built images with enhanced security features (signatures, provenance, SBOMs, automatic updates) + +**This guide primarily covers local servers.** If you're adding a local server, follow the instructions starting from "Step-by-Step Guide" below. + +### 🌐 Remote Servers (Hosted) +Remote servers are hosted externally and accessed via HTTP(S). They: +- Don't require a Dockerfile (already deployed somewhere) +- Use `streamable-http` or `sse` transport protocols +- Often require OAuth authentication +- Have dynamic tool discovery + +**If you're adding a remote server,** skip to the [Adding a Remote MCP Server](#adding-a-remote-mcp-server) section below. + ## Prerequisites - Go v1.24+ @@ -20,7 +42,7 @@ This document outlines how to contribute to this project. - Every pull request requires a review from the Docker team before merging. - Once approved, all of your commits will be squashed into a single commit with your PR title. -## 📋 Step-by-Step Guide +## 📋 Step-by-Step Guide for Local Servers ### 1️⃣ Fork this repository @@ -180,6 +202,152 @@ Upon approval your entry will be processed and it will be available in 24 hours - [Docker Desktop's MCP Toolkit](https://www.docker.com/products/docker-desktop/) - [Docker Hub `mcp` namespace](https://hub.docker.com/u/mcp) (for MCP servers built by Docker) +--- + +## 🌐 Adding a Remote MCP Server + +Remote MCP servers are already hosted externally and don't require Docker image building. They communicate via HTTP(S) protocols. + +### Prerequisites for Remote Servers + +- A publicly accessible MCP server endpoint (e.g., `https://mcp.example.com/mcp`) +- Knowledge of the transport protocol (`streamable-http` or `sse`) +- A documentation URL for your server +- OAuth configuration details (if authentication is required) + +### Step-by-Step Guide for Remote Servers + +#### 1️⃣ Fork this repository + +Fork the repository to your own GitHub account and clone it locally. + +#### 2️⃣ Create your remote server entry using `task remote-wizard` + +The easiest way to create a remote server configuration is using the wizard: + +```bash +task remote-wizard +``` + +The wizard will guide you through: +1. **Basic Information**: Server name and category +2. **Server Details**: Title, description, icon URL, and documentation URL +3. **Remote Configuration**: Transport type (streamable-http or sse) and server URL +4. **OAuth Configuration**: Simple yes/no question + +If OAuth is enabled, the wizard automatically generates: +- **Provider**: Uses your server name (e.g., `linear`) +- **Secret**: `{server-name}.personal_access_token` (e.g., `linear.personal_access_token`) +- **Environment Variable**: `{SERVER_NAME}_PERSONAL_ACCESS_TOKEN` (e.g., `LINEAR_PERSONAL_ACCESS_TOKEN`) + +This will create a directory under `servers/` with three files: +- `server.yaml` - Server configuration +- `tools.json` - Empty array (for dynamic tool discovery) +- `readme.md` - Documentation link + +#### 3️⃣ Review the generated files + +The wizard has created all necessary files for you. The `tools.json` file is always an empty array `[]` for remote servers because they use dynamic tool discovery. The `readme.md` file contains your documentation link. + +#### 4️⃣ Example remote server structure + +Your remote server directory should look like this: + +``` +servers/my-remote-server/ +├── server.yaml # Server configuration +├── tools.json # Always [] for remote servers +└── readme.md # Documentation link (required) +``` + +Example `server.yaml` for a remote server **with OAuth** (like `servers/linear`): + +```yaml +name: linear +type: remote +dynamic: + tools: true +meta: + category: productivity + tags: + - productivity + - project-management + - remote +about: + title: Linear + description: Track issues and plan sprints + icon: https://www.google.com/s2/favicons?domain=linear.app&sz=64 +remote: + transport_type: streamable-http + url: https://mcp.linear.app/mcp +oauth: + - provider: linear + secret: linear.personal_access_token + env: LINEAR_PERSONAL_ACCESS_TOKEN +``` + +Example `server.yaml` for a remote server **without OAuth** (like `servers/cloudflare-docs`): + +```yaml +name: cloudflare-docs +type: remote +meta: + category: documentation + tags: + - documentation + - cloudflare + - remote +about: + title: Cloudflare Docs + description: Access the latest documentation on Cloudflare products + icon: https://www.cloudflare.com/favicon.ico +remote: + transport_type: sse + url: https://docs.mcp.cloudflare.com/sse +``` + +**Note:** Remote servers without OAuth don't need the `oauth` field or `dynamic.tools` field in their configuration. + +#### 5️⃣ Test your remote server locally + +You can test your remote server configuration by importing it into Docker Desktop: + +```bash +task catalog -- my-remote-server +docker mcp catalog import $PWD/catalogs/my-remote-server/catalog.yaml +``` + +Now you can configure and test your remote server in the MCP Toolkit on Docker Desktop. + +When done testing, reset the catalog: + +```bash +docker mcp catalog reset +``` + +#### 6️⃣ Open a pull request + +Create a pull request with your remote server files. Make sure to: +- Include all required files (`server.yaml`, `tools.json`, and `readme.md`) +- Verify that your server URL is publicly accessible +- Test OAuth configuration if applicable +- Ensure the documentation URL in `readme.md` is valid + +### Key Differences: Local vs Remote Servers + +| Feature | Local Server | Remote Server | +|---------|-------------|---------------| +| **Type** | `type: server` | `type: remote` | +| **Requires Dockerfile** | ✅ Yes | ❌ No | +| **Image Building** | ✅ Required | ❌ Not needed | +| **Source Repository** | Required with `source.project` and `source.commit` | Not required | +| **Remote Configuration** | ❌ Not applicable | ✅ Required: `remote.transport_type` and `remote.url` | +| **Authentication** | Config secrets | OAuth (typically) | +| **Tool Discovery** | Static (from container) | Dynamic (`dynamic.tools: true`) | +| **Hosting** | Docker container locally | External HTTP(S) endpoint | + +--- + ## 📜 Code of Conduct This project follows a Code of Conduct. Please review it in diff --git a/Taskfile.yml b/Taskfile.yml index 6098d96f..186265ec 100644 --- a/Taskfile.yml +++ b/Taskfile.yml @@ -17,6 +17,10 @@ tasks: desc: Run the wizard cmd: go run ./cmd/wizard {{.CLI_ARGS}} + remote-wizard: + desc: Run the remote server wizard + cmd: go run ./cmd/remote-wizard {{.CLI_ARGS}} + validate: desc: Validate a server cmd: go run ./cmd/validate {{.CLI_ARGS}} diff --git a/cmd/remote-wizard/main.go b/cmd/remote-wizard/main.go new file mode 100644 index 00000000..8013a5b5 --- /dev/null +++ b/cmd/remote-wizard/main.go @@ -0,0 +1,297 @@ +package main + +import ( + "fmt" + "log" + "os" + "path/filepath" + "strings" + + "github.com/charmbracelet/huh" + "github.com/charmbracelet/lipgloss" + "github.com/docker/mcp-registry/pkg/servers" + "gopkg.in/yaml.v3" +) + +var ( + transportTypes = []string{ + "streamable-http", + "sse", + } + + titleStyle = lipgloss.NewStyle(). + Foreground(lipgloss.Color("#4ECDC4")). + Bold(true). + Padding(1, 2) + + headerStyle = lipgloss.NewStyle(). + Foreground(lipgloss.Color("#4ECDC4")). + Bold(true). + Margin(1, 0). + Padding(1, 4) +) + +type RemoteWizardData struct { + ServerName string + Category string + Title string + Description string + Icon string + TransportType string + URL string + DocsURL string + UseOAuth bool +} + +func main() { + fmt.Print(titleStyle.Render("🐳 MCP Remote Server Registry Wizard")) + fmt.Print(headerStyle.Render("Welcome! Let's add your remote MCP server to the registry.")) + fmt.Println() + fmt.Println() + + var data RemoteWizardData + + // Basic Information Form + basicForm := huh.NewForm( + huh.NewGroup( + huh.NewInput(). + Title("Server Name"). + Description("Enter the name for your MCP server (e.g., 'my-awesome-server')"). + Value(&data.ServerName). + Validate(func(s string) error { + if strings.TrimSpace(s) == "" { + return fmt.Errorf("server name is required") + } + if strings.Contains(s, " ") { + return fmt.Errorf("server name cannot contain spaces") + } + exists, err := checkLocalServerExists(s) + if err != nil { + return err + } + if exists { + return fmt.Errorf("server name %s already exists", s) + } + return nil + }), + + huh.NewInput(). + Title("Category"). + Description("Enter the category that best describes your MCP server\n\t\t(e.g., ai, database, devops, productivity, search, communication, etc.)"). + Value(&data.Category). + Validate(func(s string) error { + if strings.TrimSpace(s) == "" { + return fmt.Errorf("category is required") + } + return nil + }), + ).Title("📋 Basic Information"), + ).WithTheme(huh.ThemeCharm()) + + if err := basicForm.Run(); err != nil { + log.Fatal(err) + } + + // Server Details Form + detailsForm := huh.NewForm( + huh.NewGroup( + huh.NewInput(). + Title("Server Title"). + Description("Enter a descriptive title for your MCP server"). + Value(&data.Title). + Validate(func(s string) error { + if strings.TrimSpace(s) == "" { + return fmt.Errorf("title is required") + } + return nil + }), + + huh.NewText(). + Title("Description"). + Description("Enter a detailed description of what your MCP server does"). + Value(&data.Description). + Validate(func(s string) error { + if strings.TrimSpace(s) == "" { + return fmt.Errorf("description is required") + } + return nil + }), + + huh.NewInput(). + Title("Icon URL"). + Description("Enter an icon URL (e.g., https://example.com/icon.png or use Google's favicon service)"). + Value(&data.Icon). + Validate(func(s string) error { + if strings.TrimSpace(s) == "" { + return fmt.Errorf("icon URL is required") + } + return nil + }), + + huh.NewInput(). + Title("Documentation URL"). + Description("Enter the URL to your server's documentation (will be saved in readme.md)"). + Value(&data.DocsURL). + Validate(func(s string) error { + if strings.TrimSpace(s) == "" { + return fmt.Errorf("documentation URL is required") + } + if !strings.HasPrefix(s, "http://") && !strings.HasPrefix(s, "https://") { + return fmt.Errorf("URL must start with http:// or https://") + } + return nil + }), + ).Title("📝 Server Details"), + ).WithTheme(huh.ThemeCharm()) + + if err := detailsForm.Run(); err != nil { + log.Fatal(err) + } + + // Remote Configuration Form + remoteForm := huh.NewForm( + huh.NewGroup( + huh.NewSelect[string](). + Title("Transport Type"). + Description("Select the transport protocol your remote server uses"). + Options(huh.NewOptions(transportTypes...)...). + Value(&data.TransportType), + + huh.NewInput(). + Title("Server URL"). + Description("Enter the full URL of your remote MCP server (e.g., https://mcp.example.com/mcp)"). + Value(&data.URL). + Validate(func(s string) error { + if strings.TrimSpace(s) == "" { + return fmt.Errorf("server URL is required") + } + if !strings.HasPrefix(s, "http://") && !strings.HasPrefix(s, "https://") { + return fmt.Errorf("URL must start with http:// or https://") + } + return nil + }), + ).Title("🌐 Remote Configuration"), + ).WithTheme(huh.ThemeCharm()) + + if err := remoteForm.Run(); err != nil { + log.Fatal(err) + } + + // OAuth Configuration Form + oauthForm := huh.NewForm( + huh.NewGroup( + huh.NewConfirm(). + Title("Use OAuth?"). + Description("Does your server require OAuth authentication?"). + Value(&data.UseOAuth), + ).Title("🔐 Authentication"), + ).WithTheme(huh.ThemeCharm()) + + if err := oauthForm.Run(); err != nil { + log.Fatal(err) + } + + // Generate and save the configuration + if err := generateAndSave(&data); err != nil { + log.Fatal(err) + } + + fmt.Print(headerStyle.Render("✅ Success! Your remote MCP server configuration has been generated.")) + fmt.Println() + fmt.Printf("📁 Generated files in servers/%s/:\n", data.ServerName) + fmt.Printf(" - server.yaml (server configuration)\n") + fmt.Printf(" - tools.json (empty, for dynamic tool discovery)\n") + fmt.Printf(" - readme.md (documentation link)\n") + fmt.Println() + fmt.Println("🚀 Next steps:") + fmt.Println("1. Review the generated server.yaml file") + fmt.Println("2. Test your server: task catalog -- " + data.ServerName) + fmt.Println("3. Import to Docker Desktop: docker mcp catalog import $PWD/catalogs/" + data.ServerName + "/catalog.yaml") + fmt.Println("4. Reset catalog when done: docker mcp catalog reset") + fmt.Println("5. Create a pull request to add it to the registry") +} + +func generateAndSave(data *RemoteWizardData) error { + // Build the server configuration + config := servers.Server{ + Name: data.ServerName, + Type: "remote", + Dynamic: &servers.Dynamic{ + Tools: true, + }, + Meta: servers.Meta{ + Category: data.Category, + Tags: []string{data.Category, "remote"}, + }, + About: servers.About{ + Title: data.Title, + Description: data.Description, + Icon: data.Icon, + }, + Remote: servers.Remote{ + TransportType: data.TransportType, + URL: data.URL, + }, + } + + // Add OAuth configuration if needed + if data.UseOAuth { + config.OAuth = []servers.OAuthProvider{ + { + Provider: data.ServerName, + Secret: fmt.Sprintf("%s.personal_access_token", data.ServerName), + Env: fmt.Sprintf("%s_PERSONAL_ACCESS_TOKEN", strings.ToUpper(strings.ReplaceAll(data.ServerName, "-", "_"))), + }, + } + } + + // Create directory + serverDir := filepath.Join("servers", data.ServerName) + if err := os.MkdirAll(serverDir, 0755); err != nil { + return fmt.Errorf("failed to create directory: %w", err) + } + + // Marshal to YAML + yamlData, err := yaml.Marshal(&config) + if err != nil { + return fmt.Errorf("failed to marshal YAML: %w", err) + } + + // Write server.yaml file + configPath := filepath.Join(serverDir, "server.yaml") + if err := os.WriteFile(configPath, yamlData, 0644); err != nil { + return fmt.Errorf("failed to write config file: %w", err) + } + + // Create empty tools.json file (always empty for remote servers with dynamic tools) + toolsPath := filepath.Join(serverDir, "tools.json") + if err := os.WriteFile(toolsPath, []byte("[]"), 0644); err != nil { + return fmt.Errorf("failed to write tools file: %w", err) + } + + // Create readme.md file with documentation link + readmePath := filepath.Join(serverDir, "readme.md") + readmeContent := fmt.Sprintf("Docs: %s\n", data.DocsURL) + if err := os.WriteFile(readmePath, []byte(readmeContent), 0644); err != nil { + return fmt.Errorf("failed to write readme file: %w", err) + } + + return nil +} + +func checkLocalServerExists(name string) (bool, error) { + entries, err := os.ReadDir("servers") + if err != nil { + return false, err + } + + for _, entry := range entries { + if entry.IsDir() { + if entry.Name() == name { + return true, nil + } + } + } + + return false, nil +} diff --git a/servers/pulumi-remote/readme.md b/servers/pulumi-remote/readme.md new file mode 100644 index 00000000..1bd37a37 --- /dev/null +++ b/servers/pulumi-remote/readme.md @@ -0,0 +1 @@ +Docs: https://www.pulumi.com/docs/iac/guides/ai-integration/mcp-server/ diff --git a/servers/pulumi-remote/server.yaml b/servers/pulumi-remote/server.yaml new file mode 100644 index 00000000..cc6832bf --- /dev/null +++ b/servers/pulumi-remote/server.yaml @@ -0,0 +1,20 @@ +name: pulumi-remote +type: remote +dynamic: + tools: true +meta: + category: devops + tags: + - devops + - remote +about: + title: Pulumi + description: Create, deploy, and manage cloud infrastructure using your favorite language. + icon: https://www.google.com/s2/favicons?domain=pulumi.com&sz=64 +remote: + transport_type: streamable-http + url: https://mcp.ai.pulumi.com/mcp +oauth: + - provider: pulumi-remote + secret: pulumi-remote.personal_access_token + env: PULUMI_REMOTE_PERSONAL_ACCESS_TOKEN diff --git a/servers/pulumi-remote/tools.json b/servers/pulumi-remote/tools.json new file mode 100644 index 00000000..0637a088 --- /dev/null +++ b/servers/pulumi-remote/tools.json @@ -0,0 +1 @@ +[] \ No newline at end of file From 459036290f696b2742fa273d7422223223f074bd Mon Sep 17 00:00:00 2001 From: Sundeep Gottipati Date: Fri, 17 Oct 2025 23:42:11 -0700 Subject: [PATCH 62/67] Update CONTRIBUTING.md section headings MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Remove "This guide primarily covers local servers" note - Rename "Step-by-Step Guide for Local Servers" to "Adding a Local MCP Server" 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude --- CONTRIBUTING.md | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 40228d4c..4873b3a4 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -14,8 +14,6 @@ Local servers run in Docker containers on your machine. They: - Run locally with full container isolation - Can benefit from Docker-built images with enhanced security features (signatures, provenance, SBOMs, automatic updates) -**This guide primarily covers local servers.** If you're adding a local server, follow the instructions starting from "Step-by-Step Guide" below. - ### 🌐 Remote Servers (Hosted) Remote servers are hosted externally and accessed via HTTP(S). They: - Don't require a Dockerfile (already deployed somewhere) @@ -42,7 +40,7 @@ Remote servers are hosted externally and accessed via HTTP(S). They: - Every pull request requires a review from the Docker team before merging. - Once approved, all of your commits will be squashed into a single commit with your PR title. -## 📋 Step-by-Step Guide for Local Servers +## 🏠 Adding a Local MCP Server ### 1️⃣ Fork this repository From d339595339ae681c2f08421fa0fbdb61e6d96d98 Mon Sep 17 00:00:00 2001 From: Sundeep Gottipati Date: Fri, 17 Oct 2025 23:45:33 -0700 Subject: [PATCH 63/67] Remove 'Step-by-Step Guide' heading and 'Key Differences' section MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Remove 'Step-by-Step Guide for Remote Servers' subsection heading - Remove 'Key Differences: Local vs Remote Servers' comparison table Simplifies the documentation structure. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude --- CONTRIBUTING.md | 19 +------------------ 1 file changed, 1 insertion(+), 18 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 4873b3a4..ab3a8ebc 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -213,9 +213,7 @@ Remote MCP servers are already hosted externally and don't require Docker image - A documentation URL for your server - OAuth configuration details (if authentication is required) -### Step-by-Step Guide for Remote Servers - -#### 1️⃣ Fork this repository +### 1️⃣ Fork this repository Fork the repository to your own GitHub account and clone it locally. @@ -331,21 +329,6 @@ Create a pull request with your remote server files. Make sure to: - Test OAuth configuration if applicable - Ensure the documentation URL in `readme.md` is valid -### Key Differences: Local vs Remote Servers - -| Feature | Local Server | Remote Server | -|---------|-------------|---------------| -| **Type** | `type: server` | `type: remote` | -| **Requires Dockerfile** | ✅ Yes | ❌ No | -| **Image Building** | ✅ Required | ❌ Not needed | -| **Source Repository** | Required with `source.project` and `source.commit` | Not required | -| **Remote Configuration** | ❌ Not applicable | ✅ Required: `remote.transport_type` and `remote.url` | -| **Authentication** | Config secrets | OAuth (typically) | -| **Tool Discovery** | Static (from container) | Dynamic (`dynamic.tools: true`) | -| **Hosting** | Docker container locally | External HTTP(S) endpoint | - ---- - ## 📜 Code of Conduct This project follows a Code of Conduct. Please review it in From eab8cb0e35f41beebba771d9764af867e41c20ec Mon Sep 17 00:00:00 2001 From: Sundeep Gottipati Date: Fri, 17 Oct 2025 23:47:47 -0700 Subject: [PATCH 64/67] Add server enable and OAuth authorize steps MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Add `docker mcp server enable` step after catalog import - Add optional `docker mcp oauth authorize` step for OAuth servers - Update wizard output to include these steps - Wizard conditionally shows OAuth authorize step based on OAuth selection 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude --- CONTRIBUTING.md | 7 +++++++ cmd/remote-wizard/main.go | 13 +++++++++---- 2 files changed, 16 insertions(+), 4 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index ab3a8ebc..e4de1880 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -311,6 +311,13 @@ You can test your remote server configuration by importing it into Docker Deskto ```bash task catalog -- my-remote-server docker mcp catalog import $PWD/catalogs/my-remote-server/catalog.yaml +docker mcp server enable my-remote-server +``` + +For OAuth-enabled servers, authorize the server: + +```bash +docker mcp oauth authorize my-remote-server ``` Now you can configure and test your remote server in the MCP Toolkit on Docker Desktop. diff --git a/cmd/remote-wizard/main.go b/cmd/remote-wizard/main.go index 8013a5b5..8359e569 100644 --- a/cmd/remote-wizard/main.go +++ b/cmd/remote-wizard/main.go @@ -205,10 +205,15 @@ func main() { fmt.Println() fmt.Println("🚀 Next steps:") fmt.Println("1. Review the generated server.yaml file") - fmt.Println("2. Test your server: task catalog -- " + data.ServerName) - fmt.Println("3. Import to Docker Desktop: docker mcp catalog import $PWD/catalogs/" + data.ServerName + "/catalog.yaml") - fmt.Println("4. Reset catalog when done: docker mcp catalog reset") - fmt.Println("5. Create a pull request to add it to the registry") + fmt.Println("2. Test your server:") + fmt.Println(" task catalog -- " + data.ServerName) + fmt.Println(" docker mcp catalog import $PWD/catalogs/" + data.ServerName + "/catalog.yaml") + fmt.Println(" docker mcp server enable " + data.ServerName) + if data.UseOAuth { + fmt.Println(" docker mcp oauth authorize " + data.ServerName + " (for OAuth)") + } + fmt.Println("3. Reset catalog when done: docker mcp catalog reset") + fmt.Println("4. Create a pull request to add it to the registry") } func generateAndSave(data *RemoteWizardData) error { From a7cdfbf15fa8221f7e8590a7cf5d5856c41678d0 Mon Sep 17 00:00:00 2001 From: Sundeep Gottipati Date: Fri, 17 Oct 2025 23:49:56 -0700 Subject: [PATCH 65/67] Update testing instructions to use gateway run MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Change testing instructions from "configure and test your remote server in the MCP Toolkit on Docker Desktop" to "start the gateway with docker mcp gateway run and test tool calls to the remote server" 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude --- CONTRIBUTING.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index e4de1880..d1531aed 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -320,7 +320,7 @@ For OAuth-enabled servers, authorize the server: docker mcp oauth authorize my-remote-server ``` -Now you can configure and test your remote server in the MCP Toolkit on Docker Desktop. +Now you can start the gateway with `docker mcp gateway run` and test tool calls to the remote server. When done testing, reset the catalog: From ff211046faa26f73364a3e7fad599f2bbd97dc6b Mon Sep 17 00:00:00 2001 From: Sundeep Gottipati Date: Wed, 22 Oct 2025 08:23:01 -0700 Subject: [PATCH 66/67] Add Next.js DevTools MCP server --- servers/next-devtools-mcp/server.yaml | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 servers/next-devtools-mcp/server.yaml diff --git a/servers/next-devtools-mcp/server.yaml b/servers/next-devtools-mcp/server.yaml new file mode 100644 index 00000000..2f29ba91 --- /dev/null +++ b/servers/next-devtools-mcp/server.yaml @@ -0,0 +1,15 @@ +name: next-devtools-mcp +image: mcp/next-devtools-mcp +type: server +meta: + category: devtools + tags: + - devtools + - nextjs +about: + title: Next.js DevTools MCP + description: next-devtools-mcp is a Model Context Protocol (MCP) server that provides Next.js development tools and utilities for AI coding assistants. + icon: https://avatars.githubusercontent.com/u/14985020?s=200&v=4 +source: + project: https://github.com/kgprs/next-devtools-mcp + commit: 9ed2aab35ef34d7e19707cf19fb49d6bfc1936f5 From 14d3e97ba0580e0a5b91af112dc8a1118bb20b52 Mon Sep 17 00:00:00 2001 From: Jonas Scholz Date: Thu, 23 Oct 2025 08:19:14 +0200 Subject: [PATCH 67/67] fix browserbase icon --- servers/browserbase/server.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/servers/browserbase/server.yaml b/servers/browserbase/server.yaml index 9ebb633a..bc9b546c 100644 --- a/servers/browserbase/server.yaml +++ b/servers/browserbase/server.yaml @@ -11,7 +11,7 @@ meta: about: title: Browserbase description: Allow LLMs to control a browser with Browserbase and Stagehand for AI-powered web automation, intelligent data extraction, and screenshot capture. - icon: https://avatars.githubusercontent.com/u/189776885?s=200&v=4 + icon: https://avatars.githubusercontent.com/u/158221360?s=200&v=4 source: project: https://github.com/browserbase/mcp-server-browserbase commit: b7ec6f6cf0b2224a3ca9952ac158eaa8e600f929