Prototyp · Vorschau: alle Server aus der offiziellen Registry, alle 30 Minuten synchronisiert. Bewertungen und Benutzerkonten folgen in einem späteren Schritt.
PopNx MCPMCP-Server für alle, die KI nutzen · in einfachen Worten erklärt

Businessmcp

von businessmcpVersion 3.0.0i★ –iLäuft in der Cloud
Name in der Registrycom.businessmcp/businessmcp

Installieren

Überblick

Beschreibung vom Entwickler (englisches Original)

Your whole business as one MCP server: analytics, CRM, SEO, ads, revenue. Scoped per data class.

Die drei Säulen von PopNx MCP

Diese drei werden nie zu einer Punktzahl zusammengefasst: Meinungen, Messungen und Beliebtheit sind verschiedene Dinge.

Was du damit machen kannst

Für diesen Server haben wir noch keine Zusammenfassung in einfacher Sprache geschrieben. Unten stehen die Fakten, die wir aus der Registry gelesen haben.

  • Verbindung: Läuft in der Cloud
  • Transport: Streamable HTTP
  • Kategorie: Marketing & Social Media

Installation

Wähle die KI-App, die du nutzt, und kopiere die Einstellungen.

Bevor du installierst

  • Basischecks: 1 von 1 bestanden
  • Läuft auf dem Server des Entwicklers: Was du fragst, läuft über dessen Server.
  • Die Registry nennt keinen Schlüssel zum Eintragen.

Du brauchst

Welche App nutzt du?

Wähle oben deine App. Wir merken sie uns, damit der Button beim nächsten Mal „In … installieren“ anzeigt.

Funktioniert in Claude im Web, auf dem Desktop und auf dem Handy:

  1. Öffne Settings → Connectors
  2. Tippe auf Add custom connector
  3. Füge die Adresse unten ein und tippe auf Add
  4. Wenn eine Anmeldung verlangt wird, melde dich beim Dienst des Entwicklers an
SettingsConnectors1+ Add2https://…3
https://businessmcp.com/api/mcp

Führe das in deinem Terminal aus

claude mcp add --transport http businessmcp https://businessmcp.com/api/mcp

In Cursor öffnen

Oder kopier die Einstellungen selbst

In .cursor/mcp.json in deinem Projekt oder in ~/.cursor/mcp.json einfügen

{
  "mcpServers": {
    "businessmcp": {
      "url": "https://businessmcp.com/api/mcp"
    }
  }
}

Dein Browser fragt, ob er die App öffnen darf, dann zeigt die App die Einstellungen und bittet dich um Bestätigung. Schlüsselwerte bleiben leer, damit du sie selbst einträgst.

In VS Code öffnen

Oder kopier die Einstellungen selbst

In .vscode/mcp.json in deinem Projekt einfügen

{
  "servers": {
    "businessmcp": {
      "type": "http",
      "url": "https://businessmcp.com/api/mcp"
    }
  }
}

Dein Browser fragt, ob er die App öffnen darf, dann zeigt die App die Einstellungen und bittet dich um Bestätigung. Schlüsselwerte bleiben leer, damit du sie selbst einträgst.

ChatGPT verbindet sich nur mit Servern im Internet:

  1. Öffne ChatGPT im Web → Settings → Connectors (Apps)
  2. Tippe auf Create oder Add (bei manchen Tarifen musst du zuerst Developer mode unter Advanced einschalten)
  3. Füge die Adresse unten ein, gib ihr einen Namen und speichere
  4. Wenn eine Anmeldung verlangt wird, melde dich beim Dienst des Entwicklers an
SettingsConnectors1+ Create2https://…3
https://businessmcp.com/api/mcp

Menünamen können sich je nach Tarif und mit der Zeit leicht unterscheiden.

Deine Auswahl bleibt in einem Cookie auf diesem Gerät; kein Konto nötig.

Diese Einstellungen werden aus dem Registry-Eintrag des Entwicklers erzeugt. Wenn in der README etwas anderes steht, folge der README.

Was er kann

Die Tool-Liste dieses Servers haben wir noch nicht gelesen; wir prüfen die Endpunkte reihum.

Basischecksi

Wir prüfen Informationen, die jeder sehen kann; den Code haben wir nicht gelesen. Checks, die nicht zutreffen, werden nicht mitgezählt. · Geprüft am 7. Nov. 2026

  • ✓ Bestanden

    Entwickler passt zum Repo

    Der Registry-Name wurde über die Domain businessmcp.com bestätigt (die Registry prüft, wem die Domain gehört)

  • … Noch nicht geprüft

    Wird noch gepflegt

    Dieses Repo haben wir noch nicht von GitHub gelesen

  • … Noch nicht geprüft

    Hat eine Lizenz

    Dieses Repo haben wir noch nicht von GitHub gelesen

  • … Noch nicht geprüft

    Endpunkt antwortet

    Noch nicht geprüft; wir prüfen die Endpunkte reihum

  • … Noch nicht geprüft

    Anmeldung mit OAuth

    Noch nicht geprüft; wir prüfen die Endpunkte reihum

  • … Noch nicht geprüft

    Keine versteckten Anweisungen in Tool-Beschreibungen

    Noch nicht geprüft; wir lesen die Tool-Liste, wenn wir den Endpunkt prüfen

Im Vergleich mit anderen in Marketing & Social Mediai

  • Mehr Sterne als 0 % der anderen 2969 Server in dieser Kategorie
  • Neuer in der Registry veröffentlicht als 36 % der anderen 2969 Server in dieser Kategorie
  • Basischecks gleich gut wie oder besser als bei 100 % der anderen 2969 Server in dieser Kategorie

Verglichen mit allen aktiven Servern dieser Kategorie in der Registry. Sterne zählen nur, wenn dem Herausgeber das Repo gehört.

Häufige Fragen

Ist Businessmcp sicher?

Er hat 1 von 1 zutreffenden Basischecks bestanden. Den Code haben wir nicht gelesen. Bevor du einen Schlüssel oder Token hinzufügst, sieh nach, welche Zugriffe der Server verlangt, und nutze einen Schlüssel, der nur die Berechtigungen hat, die du brauchst.

Welche Schlüssel oder Codes braucht er?

Die Registry nennt keinen erforderlichen Schlüssel, manche Server bitten dich aber bei der ersten Nutzung, dich anzumelden.

Läuft er auf meinem Computer oder in der Cloud?

Er läuft in der Cloud des Entwicklers. Du verbindest dich übers Internet, ohne etwas zu installieren, aber was du sendest, läuft über die Server des Entwicklers.

Wird er noch gepflegt?

Das GitHub-Repo wurde zuletzt – geändert, und die neueste Version (3.0.0) kam vor 2 Monaten in die Registry.

Welche Apps können ihn nutzen?

Apps, die MCP unterstützen, etwa Claude Desktop, Claude Code, Cursor und VS Code. Er verbindet sich per URL, also funktionieren auch Apps, die Remote-MCP-Server akzeptieren, zum Beispiel ChatGPT im Entwicklermodus.

Was kann ich stattdessen nutzen?

In derselben Kategorie: MCP YouTube Transcript, Google Analytics MCP, BibiGPT YouTube Video Summarizer

Alternativen

Server derselben Kategorie von anderen Entwicklern, sortiert nach Sternen.

So liest du eine Karte:★ GitHub-SterneiDrei Säulen: Bewertungen · Checks · NutzungiAktualisiert = neueste Version in der Registry veröffentlichti

Google Analytics MCP

von surendranb

GA4 MCP server for AI agents: schema discovery, server-side aggregation, analysis-ready defaults.

Läuft auf deinem Computer★ 244MITAktualisiert vor 9 Tagen
Installieren

README vom Entwickler

README öffnen

Unverändert aus dem Repo des Entwicklers übernommen. PopNx MCP hat den Inhalt weder geprüft noch empfiehlt es ihn. HTML, Bilder und Skripte wurden entfernt. Links führen von dieser Website weg.

mcp-gateway

Hardening utilities for an MCP gateway — a server that fronts other people's MCP servers.

These are extracted from BusinessMCP's production gateway, which lets a workspace connect third-party MCP servers and re-expose them through one governed endpoint. Fronting someone else's server means fetching a URL a user supplied, on your infrastructure, and that has a small number of ways to go badly wrong. This is what we run.

MIT. No dependencies for the two core modules — two Node builtins and nothing else.

npm install @modelcontextprotocol/client   # only if you use the transport helper

1. The SSRF guard, and the bypass that survived a passing test suite

A gateway takes a URL from a user and fetches it. Without a guard that is a direct path to http://169.254.169.254/ and your cloud credentials.

The obvious implementation checks the host against a list of reserved ranges. Ours did, including IPv4-mapped IPv6:

const mapped = v.match(/^::ffff:(\d+\.\d+\.\d+\.\d+)$/)   // ← the bug

That regex never fired in production. The WHATWG URL parser — new URL(), what every caller actually uses — normalizes IPv6 hosts to their canonical form, and the canonical form of an IPv4-mapped address is hex:

new URL('http://[::ffff:169.254.169.254]/').hostname

// '::ffff:a9fe:a9fe'

The dotted spelling the regex matched is a shape no caller can produce. The unit test passed because it called the guard with the dotted string directly. It was green, and it was meaningless: the guard was only ever exercised through an input the real code path could not generate.

Every one of these reached the fetch:

URLURL.hostnameActually
http://[::ffff:169.254.169.254]/::ffff:a9fe:a9fecloud metadata
http://[::ffff:127.0.0.1]/::ffff:7f00:1loopback
http://[::127.0.0.1]/::7f00:1loopback (IPv4-compatible)
http://[64:ff9b::169.254.169.254]/64:ff9b::a9fe:a9fecloud metadata (NAT64)
http://[2002:a9fe:a9fe::]/2002:a9fe:a9fe::cloud metadata (6to4)

Adding more prefixes to the list is not the fix. IPv6 has several mechanisms that embed an IPv4 address, and matching text means playing whack-a-mole against a normalizer you do not control. This guard decodes the address to its eight 16-bit groups and checks numerically, unwrapping every embedding it knows (::ffff: mapped, :: compatible, 64:ff9b:: NAT64, 2002:: 6to4) and recursing into the inner IPv4. Undecodable input fails closed — an address you cannot parse is one you cannot vouch for.

import { isPublicHttpUrl, isBlockedIp } from '@businessmcp/mcp-gateway'

await isPublicHttpUrl('http://[::ffff:169.254.169.254]/') // false await isPublicHttpUrl('https://api.example.com/mcp') // true, after resolving every A/AAAA isBlockedIp('::ffff:a9fe:a9fe') // true

isPublicHttpUrl resolves the hostname and requires every returned address to be public, which is a best-effort DNS-rebinding defence. It is not a complete one: a rebind between this check and the socket connect is a real TOCTOU window, and closing it means pinning the resolved IP into the connection. We accept that residual risk and think you should know about it rather than discover it.

There is a second trap this does not solve for you. Validating a host once and then calling fetch(url, { redirect: 'follow' }) is a bypass: the server 302s to http://127.0.0.1/ and the follow is never checked. Follow redirects manually and re-validate every hop.

2. Classify upstream failures — never swallow them

The version of this code that shipped first wrapped every upstream call in catch {} and dropped the server from the tool list. Auth failure, unsupported transport, timeout, blocked host and "server is fine, returned nothing" were indistinguishable — which is to say invisible. Users saw tools silently missing, with no explanation anywhere in the product.

import { classifyUpstreamError, describeFailure } from '@businessmcp/mcp-gateway'

const failure = classifyUpstreamError(err) // { reason: 'auth_required' | 'transport_unsupported' | 'timeout' // | 'blocked_host' | 'unreachable', detail: string }

describeFailure(failure) // a sentence you can show a user

The reason is also what makes a retry decision honest: only a handshake-shaped failure is worth retrying on another transport. An auth rejection fails identically either way.

3. Namespace tool names without collisions

Aggregating N servers means prefixing their tools. MCP caps names at 64 characters, so prefixing plus truncation can map two different upstream tools to the same string — and then a lookup by name dispatches the call to the wrong server.

import { namespacedToolName } from '@businessmcp/mcp-gateway'

namespacedToolName('stripe', 'create_payment_intent') // 'ext_stripe_create_payment_intent'

When truncation is needed a short hash of the full name is appended, so two long names stay distinct.

4. Transport fallback

MCP's 2026-07-28 revision dropped legacy HTTP+SSE for *servers*, but plenty of servers you connect *to* still only speak it. withUpstream tries streamable HTTP, falls back to SSE, and tells you which worked so you can persist it and skip the probe next time.

import { withUpstream } from '@businessmcp/mcp-gateway'

const res = await withUpstream( { url, headers, transport: knownTransport }, (client) => client.listTools(), { onTransportResolved: (t) => save(t) }, ) if (!res.ok) log(describeFailure(res.failure))

Requires @modelcontextprotocol/client as a peer dependency. The other modules do not.


Honest limits

  • Utilities, not a framework. There is no gateway here — no aggregation, no auth, no policy layer. Those are meaningfully coupled to how you store connections, and a fake abstraction over that would be worse than none.
  • No external audit. This is what we run in production. That is a reason to take it seriously and not a substitute for review.
  • The aggregation and inspection layers are deliberately not included, partly because they are coupled to our database and partly because they have no test coverage. Everything shipped here is from the tested side.
  • DNS-rebinding TOCTOU is open, as described above.

Development

This package is generated from the BusinessMCP monorepo, where these modules are in active production use. Fixes should go there and be regenerated — a patch applied only here would be overwritten, and two hand-maintained copies of a security guard is the exact failure that produced the bypass in section 1.

Issues and reports are welcome here regardless.

npm install

npx vitest run npx tsc --noEmit

PopNx fragen