sokkan (ninabot-ch/sokkan) is an MCP server listed on the M8ven Trust Index. It scores 74 out of 100, grade C. It declares 13 tools. No publisher has claimed this listing.

C
Warning
74/100

sokkan

The helm, not the autopilot — self-hosted cockpit for parallel Claude Code sessions, with your project memory auto-injected at spawn.

Warning. Serious findings were identified. Review the full report before connecting. Grades reflect the full trust pyramid: code, verification depth, and reputation. New projects cap at C until adoption is earned.

How we verified

Code Verified⚡ Live Monitored: not connected

Verified is a snapshot. Live keeps it current, and builds your track record.

⚡ Connect GitHub → continuous verification on every pushwhy connect →

Who stands behind it

ninabot-ch

Source: github_repo_search

Is this your MCP?

Claim it to get a verified publisher badge, a free copy of our full audit findings, and direct contact for any high-priority issues we find. Or connect your repo for our deepest verification, Live Monitored: read-only, revoke anytime. What we access →

Install from

The grade above is for the source repository. Registries can serve a different version, so we mark the ones we were not able to read.

// key findings
🚨
Secret credentials may flow to a network call
2 flows detected: SOKKAN_OIDC_CLIENT_SECRET, SOKKAN_PROVISIONER_TOKEN. We can’t prove the destination matches the brand the credential belongs to.
🚨
Reads files from sensitive locations
Touches: id_ed25519
🔐
You'll be asked for 13 credentials: SOKKAN_OBS_ALERT_TOKEN, SOKKAN_ASSISTANT_LLM_TOKEN, ANTHROPIC_API_KEY, SOKKAN_ASSISTANT_LLM_FALLBACK_TOKEN, SOKKAN_LOCAL_TOKEN, SOKKAN_FLEET_TOKEN, SOKKAN_INFER_TOKEN, CLAUDE_CODE_OAUTH_TOKEN, SOKKAN_GRAFANA_PASSWORD, SOKKAN_OIDC_CLIENT_SECRET, SOKKAN_PROVISIONER_TOKEN, SOKKAN_SESSION_SECRET, SOKKAN_TOKEN
These are read from process.env at runtime. Make sure you trust where they’ll be sent.
// tools this server exposes13 tools

These names and descriptions are the publisher's own, read from the source code. We print them as written. Our assessment is the findings above, not this list.

create_card

Crée une carte sur le board SOKKAN (apparaît dans l'onglet Board).

move_card

Déplace une carte du board vers une autre colonne.

open_preview

Pousse le WIP de cette session dans l'onglet Preview de SOKKAN.

list_tags

Liste les tags valides pour les cartes/sessions.

list_board

Retourne les cartes du board groupées par colonne (Backlog/Doing/Review/Done).

query_metrics

Exécute une requête PromQL instantanée sur le Prometheus de la flotte et renvoie le résultat (séries + valeurs). Ex: 'histogram_quantile(0.95, sum(rate(http_request_duration_seconds_bucket[5m])) by (le))'.

query_logs

Interroge les logs via LogQL (Loki) sur les `since_minutes` dernières minutes. Ex: '{container="api"} |= "error"'. Renvoie les lignes les plus récentes d'abord.

list_dashboards

Liste les dashboards Grafana existants (titre + uid + url).

create_dashboard

Crée (ou écrase) un dashboard Grafana. `panels` = liste d'objets {title, expr, unit?} où expr est une requête PromQL. Ex pour surveiller une API : [{"title":"p95 latency","expr":"histogram_quantile(0.95, ...)", "unit":"s"}, {"title":"5xx rate","expr":"sum(rate(...{status=~\\"5..\\"}[5m]))"}]. Renvoi

memory_search

Recherche sémantique dans la mémoire SOKKAN (notes Claude Code).

memory_get

Retourne le corps complet d'une note mémoire par son nom (sans .md).

memory_links

Navigation du graphe memoire : liens sortants ([[wikilinks]] de la note) et entrants (notes qui la citent), avec leurs descriptions. Permet a une session de suivre le graphe sans relire les fichiers.

memory_write

Écrit une note mémoire — LE chemin d'écriture de la mémoire projet.

// environment variables
To run this server yourself, you supply these values. They go in your own MCP client configuration and stay on your machine. The secret label means the value is sensitive, not that the server mishandles it.
configSOKKAN_API
configCLAUDE_CONFIG_DIR
configSOKKAN_AGENT_CWD
configSOKKAN_PROJECT_DIR
configSOKKAN_REINDEX_S
🔐 secretSOKKAN_OBS_ALERT_TOKEN
configSOKKAN_FEATURE_PREVIEWExtra tabs for bare-metal installs (dev-server previews, tmux terminal mode)
configSOKKAN_FEATURE_TMUX
configSOKKAN_FEATURE_ASSISTANT
configSOKKAN_FEATURE_MISSIONS_LINK
configSOKKAN_FEATURE_MAGNITUDEMagnitude tab (local-model registry & bench)
configSOKKAN_DEMO_BANNER
configSOKKAN_PUBLIC_URLOrigin against (or the request host). There is no CORS
configTMUX_PANE
configSOKKAN_MEMORY_DB
configSOKKAN_DATA_DIR
configSOKKAN_MEMORY_DIR
configSOKKAN_PRIORITY_BOOST
configSOKKAN_PYTHON
configSOKKAN_AGENT_MODEL
configSOKKAN_ASSISTANT_DAILY_LIMIT
configSOKKAN_ASSISTANT_LLM_URL
🔐 secretSOKKAN_ASSISTANT_LLM_TOKEN
configSOKKAN_ASSISTANT_LLM_API
configSOKKAN_ASSISTANT_LLM_MODEL
🔐 secretANTHROPIC_API_KEYBYOK key the claude CLI uses
configSOKKAN_ASSISTANT_LLM_FALLBACK_URL
🔐 secretSOKKAN_ASSISTANT_LLM_FALLBACK_TOKEN
configSOKKAN_ASSISTANT_LLM_FALLBACK_API
configSOKKAN_ASSISTANT_LLM_FALLBACK_MODEL
configSOKKAN_VERSION
configSOKKAN_TIER
configSOKKAN_AUDIT_DB
configSOKKAN_AUTH_MODElocal · oidc (Authentik/Keycloak/…) · cf-access
configSOKKAN_DEV_USER
configSOKKAN_OWNER_EMAILIdentity in UI + audit journal
configSOKKAN_OWNER_NAME
🔐 secretSOKKAN_LOCAL_TOKENLogin token; empty = open access (trusted networks only)
configSOKKAN_BOARD_DB
configSOKKAN_SPAWN_TMUX
configSOKKAN_PROJECT_WD
configSOKKAN_CF_TEAM
configSOKKAN_CF_AUD
configSOKKAN_FLEET_URL
🔐 secretSOKKAN_FLEET_TOKEN
configSOKKAN_IAM_DB
configSOKKAN_DEFAULT_ROLEauthenticated email that is not in the users table gets
configSOKKAN_PROM
configSOKKAN_INFRA_NODES
configSOKKAN_ORG_NAME
configSOKKAN_INFER_MODEL
configSOKKAN_INFER_BASE_URL
🔐 secretSOKKAN_INFER_TOKEN
🔐 secretCLAUDE_CODE_OAUTH_TOKEN
configSOKKAN_MAGNITUDE_SHIM_URL, e.g. http://gpu-box:8790).
configSOKKAN_NOTIFY_HITL_DELAY_S
configSOKKAN_LOKI
configSOKKAN_GRAFANA_URL
configSOKKAN_GRAFANA_PUBLIC_URL
configSOKKAN_GRAFANA_USER
🔐 secretSOKKAN_GRAFANA_PASSWORD
configSOKKAN_OIDC_ISSUER
configSOKKAN_OIDC_CLIENT_ID
🔐 secretSOKKAN_OIDC_CLIENT_SECRET
configSOKKAN_OIDC_SCOPES
configSOKKAN_REPOS
configSOKKAN_SHOT_DIR
configSOKKAN_CHROMIUM
configSOKKAN_PREVIEW_ALLOW_PRIVATEcloud-metadata addresses are refused unless =1.
configSOKKAN_PREVIEW_ENVS
configSOKKAN_PREVIEW_TRIGGER
configSOKKAN_PROVISIONER_URL
🔐 secretSOKKAN_PROVISIONER_TOKEN
🔐 secretSOKKAN_SESSION_SECRET
configSOKKAN_TTYD
configSOKKAN_DIST_BASE
configSOKKAN_UPDATE_CHECK
configSOKKAN_USAGE_DB
configSOKKAN_TZ
configSOKKAN_CLI_CONFIG
configSOKKAN_URL
🔐 secretSOKKAN_TOKEN
configMAGNITUDE_HOME
configMAGNITUDE_LLAMA_TAG
configMAGNITUDE_CTXprompt tokens, so serve with a 64k context (=65536) and a
configMAGNITUDE_KVquantized KV cache (=q8_0) when VRAM is tight — a 24 GB class-L
configMAGNITUDE_SERVER_ARGS
configPROCESSOR_IDENTIFIER
configML_SERVICE_URLOptional remote embedding endpoint; empty = local ONNX (multilingual MiniLM)
configFASTEMBED_CACHE_PATH
// quality suggestions

Tool annotations

No tools have read-only/destructive annotations

Add readOnlyHint or destructiveHint annotations to every tool so hosts can warn users before invoking.

All four hints declared on every tool

13/13 tools missing one or more hints — create_card (missing: readOnlyHint, destructiveHint, idempotentHint, openWorldHint); move_card (missing: readOnlyHint, destructiveHint, idempotentHint, openWorldHint); open_preview (missing: readOnlyHint, destructiveHint, idempotentHint, openWorldHint), +10 more. OpenAI's directory rejects tools where any of the four hints are missing or non-boolean.

For every tool, set all four hints (readOnlyHint, destructiveHint, idempotentHint, openWorldHint) to explicit true/false values that match the handler’s actual behaviour.

Tool test coverage

4/13 tools referenced in tests (31%)

Write tests that reference each tool by name so every tool has at least one test.

No access to sensitive paths

Reads sensitive paths: id_ed25519

Remove reads of sensitive system paths. If you genuinely need them, document why in the README.

Claim the listing to review these findings one by one and send us a correction where you disagree, straight to the team. Claiming also means we tell you when the grade moves, and reach you first if we find anything urgent.

// full audit trail
The findings above are the summary. The full trail, every check we ran, each deduction, the network hosts observed and the dependency advisories, goes to verified publishers, along with an alert whenever a new one lands. Verified publishers can also review each finding and dispute it in one click. Publisher corrections have sharpened several of our checks this month, because the maintainer knows the codebase better than any scanner.
// improvement guidance — verified publishers only
We have 4 concrete improvements we can share with the publisher of this MCP. Each comes with specific guidance to raise the trust score.
// embed badge in your README
[![M8ven Verified](https://m8ven.ai/badge/mcp/ninabot-ch/sokkan?variant=verified)](https://m8ven.ai/mcp/ninabot-ch/sokkan)
Shows verification status without the grade. Want the grade badge instead? Remove ?variant=verified from the URL.
commit: bb2075c6cc59007e7c6c309fb9a4fe2c90429e4f
code hash: fd45432a5463326010c687d09005274de700885a0553a719ed199570a6fc02f9
view raw JSON →
Check MCPs from inside your assistant
Tool Check · MCP

Vetting this one by hand? Tool Check is an MCP that scores other MCPs. Add it once and ask Claude, ChatGPT, or any MCP client to grade a server, surface CVEs, check the publisher, and suggest safer alternatives — before you install.

https://m8ven.ai/api/mcp/tool-check
check_toolsearch_toolscompare_toolsrecommend_alternativescheck_publisherreport_concern
How to add it →Free · no account needed · works in any MCP client