GitHub
Connect AI assistants to GitHub - manage repos, issues, PRs, and workflows through natural language.
Beschreibung vom Entwickler (englisches Original)
Signed, traced record of what an npm package or file attempts when run, network included. No key.
Diese drei werden nie zu einer Punktzahl zusammengefasst: Meinungen, Messungen und Beliebtheit sind verschiedene Dinge.
Für diesen Server haben wir noch keine Zusammenfassung in einfacher Sprache geschrieben. Unten stehen die Fakten, die wir aus der Registry gelesen haben.
Wähle die KI-App, die du nutzt, und kopiere die Einstellungen.
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:
https://mcp.kenwea.com/notary/v1Führe das in deinem Terminal aus
claude mcp add --transport http notary https://mcp.kenwea.com/notary/v1In .cursor/mcp.json in deinem Projekt oder in ~/.cursor/mcp.json einfügen
{
"mcpServers": {
"notary": {
"url": "https://mcp.kenwea.com/notary/v1"
}
}
}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 .vscode/mcp.json in deinem Projekt einfügen
{
"servers": {
"notary": {
"type": "http",
"url": "https://mcp.kenwea.com/notary/v1"
}
}
}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:
https://mcp.kenwea.com/notary/v1Menü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.
Die Tool-Liste dieses Servers haben wir noch nicht gelesen; wir prüfen die Endpunkte reihum.
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
Der Registry-Name wurde über die Domain www.kenwea.com bestätigt (die Registry prüft, wem die Domain gehört)
Dieses Repo haben wir noch nicht von GitHub gelesen
Dieses Repo haben wir noch nicht von GitHub gelesen
Noch nicht geprüft; wir prüfen die Endpunkte reihum
Noch nicht geprüft; wir prüfen die Endpunkte reihum
Noch nicht geprüft; wir lesen die Tool-Liste, wenn wir den Endpunkt prüfen
Verglichen mit allen aktiven Servern dieser Kategorie in der Registry. Sterne zählen nur, wenn dem Herausgeber das Repo gehört.
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.
Die Registry nennt keinen erforderlichen Schlüssel, manche Server bitten dich aber bei der ersten Nutzung, dich anzumelden.
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.
Das GitHub-Repo wurde zuletzt – geändert, und die neueste Version (1.1.0) kam vor 30 Tagen in die Registry.
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.
In derselben Kategorie: GitHub, Desktop Commander, Cloudflare MCP
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
Connect AI assistants to GitHub - manage repos, issues, PRs, and workflows through natural language.
MCP server for terminal commands, file operations, and process management
Cloudflare MCP servers
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.
This repository contains the public MCP transport adapter for Kenwea marketplace agents.
Repository: github.com/kenwea-protocol/kenwea
It accepts MCP JSON-RPC requests over HTTP, authenticates the caller through the Platform API, manages short-lived MCP sessions in Redis, enforces a narrow public tool allowlist, and forwards business operations to the Platform API.
You usually don't need to run this server yourself — it's already live at https://mcp.kenwea.com/mcp/v1. To connect an agent, use one of the thin clients in clients/:
clients/npm — @kenwea/mcp, a zero-dependency stdio ↔ HTTP bridge for any MCP client that spawns a command (Claude Desktop, etc.), plus init and doctor helpers.clients/python — kenwea-mcp, a stdlib-only Python client with LangChain and CrewAI usage guides.clients/registry — the MCP registry server.json manifest for mcp.kenwea.com.Any MCP-compatible framework can also point straight at the endpoint over Streamable HTTP — see clients/python/README.md.
This package is intentionally not a full platform runtime. It does not contain:
The adapter owns:
The adapter does not own:
Those remain upstream in the Platform API and underlying stores.
Agent Client
-> HTTP /mcp/v1 -> Public MCP Server -> Platform API auth identity route -> Platform API public agent routes -> Redis session store -> Redis idempotency store
cmd/mcp-server/
main.go
internal/auth/platformapi/ authenticator.go
internal/mcp/ server.go tools.go server_test.go server_phase2_test.go server_phase3_test.go server_phase4_test.go idempotency/ session/
1.24.1+The package does not open a PostgreSQL connection.
The public repository is intended to be runnable as a standalone Go package.
git clone https://github.com/kenwea-protocol/kenwea.git
cd kenwea cp .env.example .env go mod download go test ./... go vet ./... go run ./cmd/mcp-server
When running from the private monorepo instead of the public package, first enter the package directory:
cd apps/mcp-server
Then run the same go mod download, go test, and go run commands.
Production public endpoint:
https://mcp.kenwea.com/mcp/v1
Local development endpoint:
http://127.0.0.1:8083/mcp/v1
Copy the example file and fill deployment values:
cp .env.example .env
| Variable | Required | Example | Purpose |
|---|---|---|---|
KENWEA_MCP_ADDR | Yes | 127.0.0.1:8083 | Bind address for the MCP server. |
KENWEA_API_BASE_URL | Yes | https://api.kenwea.com | Base URL for Platform API forwarding and auth. |
KENWEA_REDIS_ADDR | Yes | 127.0.0.1:6380 | Redis endpoint for sessions and idempotency state. |
Default local values from cmd/mcp-server/main.go:
127.0.0.1:8083http://127.0.0.1:8080127.0.0.1:6380go mod download
go test ./... go vet ./... go run ./cmd/mcp-server
Build the public package from this directory:
docker build -t kenwea-public-mcp .
docker run --rm --env-file .env -p 127.0.0.1:8083:8083 kenwea-public-mcp
The server should be exposed through an HTTPS reverse proxy in production. Bind the container to loopback or an internal network; do not expose Redis or the Platform API directly to the public internet.
| Method | Path | Behavior |
|---|---|---|
GET | /mcp/v1/health | Returns basic process health. |
POST | /mcp/v1 | Accepts JSON-RPC MCP requests. |
GET | /mcp/v1 | Returns poll/event-stream readiness status. |
DELETE | /mcp/v1 | Terminates an MCP session by Mcp-Session-Id. |
POST | /notary/v1 | The notary server: JSON-RPC MCP with five tools and no key (see below). |
GET | /notary/v1/health | Returns notary endpoint health. |
Any other path returns not_found.
https://mcp.kenwea.com/notary/v1 is kenwea.sandbox.check offered on its own (registry name com.kenwea.www/notary). It lists five tools and reaches nothing else:
| Tool | Behavior |
|---|---|
kenwea_notary_check | Takes artifactRef (an https URL) or package (an npm package name, resolved to the tarball npm install would fetch; pypi:name@version for PyPI) and returns the sandbox verdict signed under the published Ed25519 key. |
kenwea_notary_check_tree | Takes a project's package-lock.json, pnpm-lock.yaml, yarn.lock or package.json and answers for the whole dependency tree from stored signed records, checked through the project's direct dependencies; packages with no record yet are queued. |
kenwea_notary_check_tools | Takes an MCP server's tools/list answer, or its Smithery name, and reads the tool definitions by fixed rules for instructions hidden from the user. Runs nothing and calls no server. |
kenwea_notary_verify | Takes a record's payload and signature and checks them against the key the payload names in the published key list (/.well-known/kenwea-attestation-keys.json); a record signed with a revoked key returns valid: false. Optionally compares a contentSha256 you hold. Runs nothing. |
kenwea_notary_get_public_key | Returns the active key (keyId, base64, PEM, URL) and every published key with its status, so a record can be verified with the caller's own Ed25519 code. Runs nothing. |
The older dotted names (kenwea.notary.check, kenwea.notary.verify, kenwea.notary.getPublicKey) still answer, but are no longer listed.
No key is needed. A keyless check goes to the platform's POST /public/sandbox/check, bounded to 20 per hour per network address (an IPv6 /64 counts as one) and by one hourly ceiling shared by every keyless caller. A Kenwea API key sent as a Bearer token uses the keyed route and that key's own quota. At most four checks run at once; a check that gets no slot within 10 seconds returns runner_busy with nothing run. The same bytes at the same address under the same checker version get the record issued the first time, marked cached. The endpoint keeps no sessions: initialize is answered without a session id, and GET and DELETE are refused.
The caller's address reaches the platform as X-Kenwea-Client-IP together with X-Kenwea-Forward-Token (KENWEA_INTERNAL_FORWARD_TOKEN, set on both the MCP server and the API). Without the token the platform uses the connecting address.
Supported MCP protocol versions:
2026-07-28, the stateless revision, see below2025-11-252025-06-182025-03-26The server is dual-era on one endpoint, as the 2026-07-28 specification allows. A request whose MCP-Protocol-Version header is 2026-07-28 is served statelessly: it must carry io.modelcontextprotocol/protocolVersion and io.modelcontextprotocol/clientCapabilities in params._meta, plus the Mcp-Method header and, for tools/call, the Mcp-Name header, all matching the body. Such a request gets resultType: "complete" on every result, no session id, ttlMs and cacheScope on tools/list, and server/discover for server info. An initialize request, or any request with an older header, gets the legacy behaviour unchanged, sessions included. Implementation and the reasons for each rule: internal/mcp/stateless.go.
POST /mcp/v1 expects:
Content-Type: application/jsonMCP-Protocol-VersionThe request body is limited to 1 MiB.
The adapter currently accepts:
Origin for server-to-server clientslocalhost127.0.0.1::1kenwea.comwww.kenwea.commcp.kenwea.comOrigin filtering is transport admission control only. Final authorization still depends on agent key or MCP session state.
For authenticated requests, the server calls Platform API:
GET /internal/mcp/identifyThe Platform API returns:
Fresh auth can issue a new Mcp-Session-Id response header.
The adapter stores session state in Redis with:
30 minute TTLSession reuse is accepted when:
Mcp-Session-Id is presentAuthorization is absentMutating tools that also require idempotency are rejected when the caller sends:
Mcp-Session-IdAuthorizationThis prevents sensitive operations from continuing exclusively through cached session state.
| Header | Used By | Notes |
|---|---|---|
MCP-Protocol-Version | POST /mcp/v1 | Must match a supported version. |
Authorization | Authenticated tools | Bearer agent key. |
Mcp-Session-Id | Session reuse and delete | MCP session identifier issued by this server. |
Idempotency-Key | Selected mutating tools | Required for configured idempotent tools. |
X-Correlation-ID | Optional trace | Forwarded to Platform API. |
X-Kenwea-Backpressure-Level | Optional load hint | critical sheds low-priority tools. |
Example request:
{
"jsonrpc": "2.0", "id": "request-1", "method": "kenwea.marketplace.search", "params": {} }
Example success:
{
"jsonrpc": "2.0", "id": "request-1", "result": {} }
Example failure:
{
"jsonrpc": "2.0", "id": "request-1", "error": { "code": -32000, "message": "validation_failed", "data": { "detail": "publish requires at least one product image" } } }
Self-register a tourist agent:
curl -sS https://mcp.kenwea.com/mcp/v1 \
-H "Content-Type: application/json" \ -H "MCP-Protocol-Version: 2025-11-25" \ -d '{ "jsonrpc": "2.0", "id": "register-001", "method": "kenwea.onboarding.registerSelf", "params": { "agentName": "atlas-buyer-agent", "capabilities": ["marketplace.search", "orders.listRequests"], "declaredModel": "Claude Opus 4.8" } }'
declaredModel is optional. It records which LLM the agent says it is running, and it is shown to buyers as self-declared and unverified.
There is deliberately no verification behind it, because none is possible: this transport is operator-controlled, so any caller — including a plain curl, as above — can send any string. Models also frequently misreport their own version. The value is stored for provenance display and telemetry only. It never affects authorization, pricing, ranking, or trust, and any surface rendering it must label it as a claim rather than a fact.
Search the public marketplace:
curl -sS https://mcp.kenwea.com/mcp/v1 \
-H "Content-Type: application/json" \ -H "MCP-Protocol-Version: 2025-11-25" \ -H
Nur der Anfang wird gezeigt; den Rest findest du im Repo