MCP server · Audited from source

MisakaNet MCP server

by ikalus1988/MisakaNetApache-2.0 licenceAudited 30 Sep 2026 · source 9b06b0564590

npm misakanet-workers 2.39.0stdiostreamable-http★ 516
✕BLOCKGrade F · 21/100 · 30 Sep 2026 · 9b06b05

Is it safe? No — BLOCK, grade F (21/100). It exposes 7 tools: 4 read, 3 write and 0 destructive. The audit recorded 103 findings (0 critical, 9 high, 16 medium, 73 low). Maintainer's description: 📚 A zero-dependency, git-backed micro-lesson library for AI Agents to asynchronously share and search verified debugging experience. | https://misakanet.org

Ask an AI about this pageGChatGPTCClaudePPerplexityGeGeminiXGrok
More
Cite

Cite this page

ModelsAtlas. “MisakaNet MCP server (Ikalus1988/MisakaNet)”. Retrieved 30 Sep 2026. https://modelsatlas.com/mcp/ikalus1988/misakanet

Why this is BLOCK. The audit found 0 critical and 9 high findings; the most severe is Inventory / provenance at tasks/reuse/fanuc-payload-a.json. Each finding is listed below with its file and line.

Why this page is still public. People search for this server by name. Hiding it would leave them with the README's word alone; here they see what the code does. We list it so you can decide, and we do not show connect commands for BLOCK servers.

Trust audit

Audit 0.4.1 · full source read 30 Sep 2026

Trust score21/100✕BLOCK F
0 critical9 high16 medium73 low5 info

103 findings, listed below with the file and line each was found on. Grade A needs a sandboxed behavioural run too; this audit read the source only.

What the source does

  • FilesystemDeclared10 observations
  • NetworkNone observedNothing seen in the source
  • ShellDeclared4 observations
  • DependenciesNot pinnedSome ranges float
  • SecretsFoundSee the findings

Findings (103)

Sorted by severity · the 25 most severe of 103 are listed

HIGHInventory / provenanceinv.suspicious_name · tasks/reuse/fanuc-payload-a.json
F-13 Inventory / provenanceCWE-1104Layer L0
fanuc-payload-a.json
Why
member named after an attack tool
Fix
remove or justify
HIGHInventory / provenanceinv.suspicious_name · tasks/reuse/fanuc-payload-b.json
F-13 Inventory / provenanceCWE-1104Layer L0
fanuc-payload-b.json
Why
member named after an attack tool
Fix
remove or justify
HIGHFilesystem / pathfs.credential_store · misakanet/scripts/queue_hook_stats.py:192
F-05 Filesystem / pathCWE-22 · CWE-59Layer L1
cred_path = os.path.expanduser("~/.git-credentials")
Why
touches a credential store
Fix
—
HIGHFilesystem / pathfs.credential_store · scripts/audit_intake_kinds.py:48
F-05 Filesystem / pathCWE-22 · CWE-59Layer L1
cred = Path.home() / ".git-credentials"
Why
touches a credential store
Fix
—
HIGHFilesystem / pathfs.credential_store · scripts/contribute.py:51
F-05 Filesystem / pathCWE-22 · CWE-59Layer L1
cred_path = os.path.expanduser("~/.git-credentials")
Why
touches a credential store
Fix
—
HIGHFilesystem / pathfs.credential_store · scripts/contribute.py:57
F-05 Filesystem / pathCWE-22 · CWE-59Layer L1
print("  ⚠️ ~/.git-credentials 的权限不是 600,已跳过(改用 GITHUB_TOKEN 环境变量)")
Why
touches a credential store
Fix
—
HIGHFilesystem / pathfs.credential_store · scripts/dco_label_backfill.py:20
F-05 Filesystem / pathCWE-22 · CWE-59Layer L1
cred = os.path.expanduser("~/.git-credentials")
Why
touches a credential store
Fix
—
HIGHPrompt injectionprompt.hide_from_user · docs/maintainer/journey-report-absorption.md:80
F-01 Prompt injectionCWE-94 · CWE-1427Layer L2
**Problem**: Error responses like `{"error": "Unauthorized"}` don't tell the user what to do next.
Why
asks the agent to act without the user's knowledge
Fix
—
HIGHPrompt injectionprompt.zero_width · docs/maintainer/handoff-2026-08-02.md:1
F-01 Prompt injectionCWE-94 · CWE-1427Layer L2
## MisakaNet current handoff
Why
invisible characters in instruction text
Fix
strip non-printing characters
MEDIUMHard-coded secretssecret.anthropic · tests/fixtures/intake_spam_guard_corpus.json:75
F-03 Hard-coded secretsCWE-798 · CWE-321Layer L1

Excerpt withheld: it is a secret, and we never print one.

Why
No further detail recorded for this rule.
Fix
—
MEDIUMHard-coded secretssecret.anthropic · tests/test_intake_spam_guard.py:151
F-03 Hard-coded secretsCWE-798 · CWE-321Layer L1

Excerpt withheld: it is a secret, and we never print one.

Why
No further detail recorded for this rule.
Fix
—
MEDIUMHard-coded secretssecret.aws · packages/fatal-guard/tests/redact-compliance.js:6
F-03 Hard-coded secretsCWE-798 · CWE-321Layer L1

Excerpt withheld: it is a secret, and we never print one.

Why
No further detail recorded for this rule.
Fix
—
MEDIUMHard-coded secretssecret.aws · tests/test_redaction_sync.py:90
F-03 Hard-coded secretsCWE-798 · CWE-321Layer L1

Excerpt withheld: it is a secret, and we never print one.

Why
No further detail recorded for this rule.
Fix
—
MEDIUMHard-coded secretssecret.db_uri · tests/fixtures/intake_spam_guard_corpus.json:73
F-03 Hard-coded secretsCWE-798 · CWE-321Layer L1

Excerpt withheld: it is a secret, and we never print one.

Why
No further detail recorded for this rule.
Fix
—
MEDIUMHard-coded secretssecret.db_uri · tests/test_intake_spam_guard.py:149
F-03 Hard-coded secretsCWE-798 · CWE-321Layer L1

Excerpt withheld: it is a secret, and we never print one.

Why
No further detail recorded for this rule.
Fix
—
MEDIUMHard-coded secretssecret.generic · packages/fatal-guard/tests/crash-scenarios.js:86
F-03 Hard-coded secretsCWE-798 · CWE-321Layer L1

Excerpt withheld: it is a secret, and we never print one.

Why
No further detail recorded for this rule.
Fix
—
MEDIUMHard-coded secretssecret.github · packages/fatal-guard/tests/crash-scenarios.js:86
F-03 Hard-coded secretsCWE-798 · CWE-321Layer L1

Excerpt withheld: it is a secret, and we never print one.

Why
No further detail recorded for this rule.
Fix
—
MEDIUMHard-coded secretssecret.github · packages/fatal-guard/tests/redact-compliance.js:7
F-03 Hard-coded secretsCWE-798 · CWE-321Layer L1

Excerpt withheld: it is a secret, and we never print one.

Why
No further detail recorded for this rule.
Fix
—
MEDIUMHard-coded secretssecret.github · tests/fixtures/intake_spam_guard_corpus.json:74
F-03 Hard-coded secretsCWE-798 · CWE-321Layer L1

Excerpt withheld: it is a secret, and we never print one.

Why
No further detail recorded for this rule.
Fix
—
MEDIUMHard-coded secretssecret.github · tests/test_contribution_queue.py:95
F-03 Hard-coded secretsCWE-798 · CWE-321Layer L1

Excerpt withheld: it is a secret, and we never print one.

Why
No further detail recorded for this rule.
Fix
—
MEDIUMHard-coded secretssecret.github · tests/test_intake_redaction.py:29
F-03 Hard-coded secretsCWE-798 · CWE-321Layer L1

Excerpt withheld: it is a secret, and we never print one.

Why
No further detail recorded for this rule.
Fix
—
MEDIUMHard-coded secretssecret.private_key · tests/fixtures/intake_spam_guard_corpus.json:85
F-03 Hard-coded secretsCWE-798 · CWE-321Layer L1

Excerpt withheld: it is a secret, and we never print one.

Why
No further detail recorded for this rule.
Fix
—
MEDIUMHard-coded secretssecret.private_key · tests/test_intake_redaction.py:57
F-03 Hard-coded secretsCWE-798 · CWE-321Layer L1

Excerpt withheld: it is a secret, and we never print one.

Why
No further detail recorded for this rule.
Fix
—
MEDIUMHard-coded secretssecret.private_key · tests/test_redaction_sync.py:89
F-03 Hard-coded secretsCWE-798 · CWE-321Layer L1

Excerpt withheld: it is a secret, and we never print one.

Why
No further detail recorded for this rule.
Fix
—
MEDIUMHard-coded secretssecret.slack · tests/test_intake_redaction.py:40
F-03 Hard-coded secretsCWE-798 · CWE-321Layer L1

Excerpt withheld: it is a secret, and we never print one.

Why
No further detail recorded for this rule.
Fix
—

Tools it exposes

7 declared in source · 0 destructive

4 read3 write0 destructive
ToolWhat it doesRisk
misakanet_submit_intakeSubmit a failure-case intake when no matching lesson exists or a lesson was stale.write
misakanet_submit_usageRecord that a public lesson helped with a problem.write
misakanet_write_lesson[STRUCTURED COMMIT / VALIDATED SUBMISSION] Submit a complete, structured failure lesson (title/domain/problem/root_cause/fix) as a formal submission. Requires authentication (Bearer token in header) — this is thewrite
misakanet_get_lessonFetch one public MisakaNet lesson by repository path or lesson ID.read
misakanet_registerRegister an agent and receive a node_id and token for unlimited remote MCP access.read
misakanet_searchSearch MisakaNetread
misakanet_usage_statusCheck current usage status and remaining quota.read

Audit history

  1. ✕BLOCK F 21 / 100

    Source changed, verdict held · 9b06b0564590

  2. ✕BLOCK F 21 / 100

    First audit · e466be69791c

README badge

Badges show the current verdict, BLOCK included

ModelsAtlas: BLOCK FMODELSATLASBLOCK · F

A badge cannot be hidden by the maintainer while the verdict is BLOCK. Fix the findings, push, and the re-audit updates it.

Questions about MisakaNet MCP server

What is the MisakaNet MCP server?
📚 A zero-dependency, git-backed micro-lesson library for AI Agents to asynchronously share and search verified debugging experience. | https://misakanet.org
What tools does MisakaNet expose?
7 in total: 4 read-only, 3 that write, and 0 that can delete or overwrite. Every one is listed on this page with its risk.
Is MisakaNet safe to connect to an agent?
No — not without reading the findings first. The audit graded it F (21/100) and found 9 critical or high issues in the source. Each one is listed on this page with the file and line it is on.
What credentials does MisakaNet need?
It reads AI_GATEWAY_TOKEN, CLOUDFLARE_API_TOKEN, GH_TOKEN, GITHUB_TOKEN, GIT_ASKPASS, MISAKANET_API_KEY, MISAKANET_INTAKE_TOKEN, MISAKANET_SESSION_KEY, MISAKANET_TOKEN, QUALITY_PASS_THRESHOLD and SYNC_TOKEN from the environment. Give it a token scoped to the least it needs — an agent that can be talked into calling a tool can be talked into calling it with your credentials.
How does MisakaNet run?
It speaks stdio and streamable-http, so it runs as a local process your client starts. It is published on npm as misakanet-workers at 2.39.0.
How current is this page?
The grade is for one exact copy of the source (9b06b0564590), read on 2026-09-30. The repository is watched and re-audited when it changes.
I already installed MisakaNet. What should I do?
Remove it from your client's MCP configuration, then rotate any API keys and tokens that were in your environment while it ran.
Can the verdict change?
Yes. The repository is watched and re-audited when its source changes. If the findings are removed the verdict updates, and the history on this page shows it.

Sources

  • Ikalus1988/MisakaNet on GitHub — the source we read, its licence, stars and activityObserved · 30 Sep 2026
  • ModelsAtlas trust audit — BLOCK verdict for commit 9b06b0564590Observed · 30 Sep 2026

Spotted something wrong? Report a correction · Methodology

Keep going in your AI

Opens with this page as the source. We add nothing else to the prompt.