Atlas / MCP servers / kansei-link / kansei-mcp-server

kansei-mcp-serverBLOCK

mcp/kansei-link/kansei-mcp-server

Local-first MCP navigator for AI agents. 11,000+ SaaS services, 200 workflow recipes, 89-97% token savings. Works with Claude Code, Cursor, Cline, Zed, Windsurf.

Verdict
BLOCK
Grade
F
Trust score
47 /100
Exposed tools
29 24r · 5w · 0d
Transport
stdio · streamable-http
License
MIT
Stars
1
01

Overview

From the repository's own README, as read at the audited commit. Badges and raw HTML are left out.

[](https://www.npmjs.com/package/@kansei-link/mcp-server) [](https://www.npmjs.com/package/@kansei-link/mcp-server) [](https://github.com/kansei-link/kansei-mcp-server)

Reduce your AI agent's token waste with collective intelligence.

Your agent burns tokens on three things: searching for SaaS docs it could look up locally, retrying errors other agents already solved, and re-reading context it already processed. KanseiLink tackles the first two — and measures all three so you know exactly where your tokens go.

Measured savings: 89–97% on SaaS integration research (avg ~16,800 tokens without → ~950 with KanseiLink, across 7 services).

How It Works

Install MCP → agent wastes fewer tokens (lookup + collective intelligence)
↓
usage data stays local (opt-in: anonymous scalars only)
↓
collective intelligence grows → everyone's agent gets smarter
  1. Measure — auto-installed hooks track every session: total tokens, cache split, error loops, stuck time. Nothing leaves your machine.
  2. Reduce — SaaS lookup eliminates trial-and-error on API integrations. Error-resolution intelligence (coming soon) prevents repeat failures across the community.
  3. Compare — opt-in monthly "Wrapped" report shows where your tokens went and how you rank among measured users.

If KanseiLink saves your agent tokens, give it a star ⭐ — 700+ developers install it from npm every month, and stars are how the next one finds it.

Quick Start

npx @kansei-link/mcp-server

Works with Claude Code, Cursor, Cline, Zed, Windsurf — any MCP client.

Add to your config (`cla

Read from source at commit 8ee16fbba9c8OBSERVED · 2026-10-11
Advertisement
02

Connect

Built from this server's own package name, version and transport as found in its source — not copied from anyone's documentation, so it cannot drift against a page we do not control. Replace the environment placeholders with a token scoped to the least it needs.

claude-code (npm)
claude mcp add mcp-server -- npx -y @kansei-link/[email protected]
03

Exposed tools (29)

24 read · 5 write · 0 destructive.

ToolRiskDescription
agent_voicereadShare your honest experience with a service. Answer structured questions that help SaaS companies understand how agents actually choose, use, and struggle with their APIs. Your voice shapes the future of these services.
analyzeread
analyze_token_savingsread
audit_costread
check_updatesread
evaluate_designreadRate a service
find_combinationsread
generate_aeo_articleread
generate_aeo_reportread
get_insightsread
get_inspection_queueread
get_reciperead
get_service_detailread
get_service_historyreadGet time-series metrics history for a service. Shows trends, regressions, competitive position changes, and event correlations. Use for consulting reports.
get_service_tipsread
inspectread
list_pending_updatesread
lookupread
propose_updatewrite
read_agent_voicesreadRead aggregated agent opinions about a service. Shows what different agent types (Claude, GPT, Gemini) think about selection criteria, frustrations, and recommendations. Essential for consulting reports.
read_feedbackread
record_eventreadRecord an external event (API change, law amendment, outage, etc.) that may impact service metrics. Used to correlate metric changes with real-world causes in consulting reports.
reportread
report_outcomeread
review_updatewrite
search_servicesread
submit_feedbackwrite
submit_inspectionwrite
take_snapshotwriteCapture daily metrics snapshot for time-series analysis. Run daily to build historical data for consulting reports.
04

Trust audit

BLOCKgrade F · trust 47/100 Do not install this without reading the findings. The audit found something that could harm you or your machine.

LayerWhat it checksResult
L0Provenance & inventoryFAIL
L1Static analysis of the codeFAIL
L2Instruction surface (what it tells the agent)PASS
L3Class-specific surfacePASS
L4Behavioural (sandbox)SKIPPED

What the source does

Filesystem
declared (6 observation(s))
Network
declared (13 observation(s))
Shell
declared (6 observation(s))
Dependencies
not all pinned
Secrets in source
found

Findings (25)

HIGHInventory / provenance · inv.suspicious_name · CWE-1104
scripts/smoke-hook-payload.mjs
smoke-hook-payload.mjs
Why it matters. member named after an attack tool
Fix. remove or justify
HIGHCode injection · code.eval_exec · CWE-78, CWE-94, CWE-95
scripts/smoke-dashboard-null-render.mjs:42
const pct = new Function(`${pctSrc}; return pct;`)(); const ms = new Function(`${msSrc}; return ms;`)();
Why it matters. evaluates text as code
Fix. remove; use a parser or a dispatch table
MEDIUMInventory / provenance · inv.binary · CWE-1104
src/utils/untrusted.ts
untrusted.ts
Why it matters. a compiled or binary member cannot be reviewed from source
Fix. ship source, or explain the binary in the README
MEDIUMInformation disclosure · disclose.log_secret · CWE-209, CWE-532
scripts/pack-gate.mjs:110
console.log(`✅ pack-gate PASS (${files.size} files) — 配布物に synthetic実名/secret/claim/内部成果物 なし`);
MEDIUMNetwork egress · net.beacon_words · CWE-200, CWE-319
scripts/add-global-api-guides.mjs:699
"Beacon (live chat) data accessible through same API."
MEDIUMNetwork egress · net.raw_ip · CWE-200, CWE-319
scripts/restore-drill.mjs:90
try { const r = await fetch(`http://127.0.0.1:${PORT}/health`); if (r.ok) { health = await r.json(); break; } } catch { /* boot */ }
MEDIUMNetwork egress · net.raw_ip · CWE-200, CWE-319
scripts/restore-drill.mjs:95
try { stats = await fetch(`http://127.0.0.1:${PORT}/api/dashboard/stats`).then((r) => r.json()); } catch { /* noop */ }
MEDIUMNetwork egress · net.raw_ip · CWE-200, CWE-319
scripts/smoke-auth-magiclink.mjs:28
const BASE = `http://127.0.0.1:${PORT}`;
MEDIUMObfuscation / stealth · obf.zero_width · CWE-506, CWE-94
growth-mvp/build-canary-active.mjs:62
writeFileSync("growth-mvp/canary-20.csv", "" + csvRows.map((r) => r.join(",")).join("\n"));
MEDIUMObfuscation / stealth · obf.zero_width · CWE-506, CWE-94
growth-mvp/build-selection.mjs:10
const csv = m.slice(m.indexOf('"') + 1, m.lastIndexOf('";')).replace(/\\n/g, "\n").replace(/^/, "");
MEDIUMObfuscation / stealth · obf.zero_width · CWE-506, CWE-94
scripts/generate-profiles.mjs:59
const raw = m[1].replace(/^/, "").replace(/\\n/g, "\n");
MEDIUMObfuscation / stealth · obf.zero_width · CWE-506, CWE-94
scripts/smoke-canary-consistency.mjs:34
readFileSync(join(ROOT, "growth-mvp", "canary-20.csv"), "utf8").replace(/^/, "").trim().split("\n").length === 21 && // header+20
MEDIUMObfuscation / stealth · obf.zero_width · CWE-506, CWE-94
scripts/smoke-canary-consistency.mjs:38
const csv = readFileSync(join(ROOT, "growth-mvp", "canary-20.csv"), "utf8").replace(/^/, "").trim().split("\n").slice(1);
MEDIUMHard-coded secrets · secret.slack · CWE-798, CWE-321
public/en/insights/slack-mcp-deep-dive-2026.html:639
<span class="prop">"SLACK_BOT_TOKEN"</span>: <span class="string">"xoxb-your-token-here"</span>,
MEDIUMHard-coded secrets · secret.slack · CWE-798, CWE-321
public/insights/slack-mcp-deep-dive-2026.html:718
<span class="prop">"SLACK_BOT_TOKEN"</span>: <span class="string">"xoxb-your-token-here"</span>,
MEDIUMHard-coded secrets · secret.slack · CWE-798, CWE-321
public/services/slack/index.html:207
Authorization: Bearer xoxb-your-token
LOWInventory / provenance · inv.binary · CWE-1104
scripts/fixtures/codex-review-5/review-evidence-c70c131.zip
review-evidence-c70c131.zip
Why it matters. a compiled or binary member cannot be reviewed from source
Fix. ship source, or explain the binary in the README
LOWInsecure crypto · crypto.weak_hash · CWE-327, CWE-338
scripts/migrate-believable-20260816.cjs:31
dupKey: (r) => [r.service_id, r.agent_type, r.question_id, r.response_choice, crypto.createHash("sha1").update(String(r.response_text || "")).digest("hex").slice(0, 12)].join("|") },
LOWInsecure crypto · crypto.weak_hash · CWE-327, CWE-338
scripts/migrate-believable-delta.cjs:45
const sha = (s) => crypto.createHash("sha1").update(String(s)).digest("hex").slice(0, 16);
LOWFilesystem / path · fs.traversal · CWE-22, CWE-59
scripts/add-pricing-nav.mjs:53
pricingHref = '../../pricing.html'; // en/insights/ → pricing.html (wrong, EN has its own)
LOWFilesystem / path · fs.traversal · CWE-22, CWE-59
scripts/reconnaissance/reporters/markdown.mjs:33
`> See [scripts/reconnaissance/README.md](../../../scripts/reconnaissance/README.md).`
LOWFilesystem / path · fs.traversal · CWE-22, CWE-59
scripts/reconnaissance/reporters/markdown.mjs:160
return `../../../${repoRelativePath}`;
LOWFilesystem / path · fs.traversal · CWE-22, CWE-59
scripts/smoke-tier-enforcement.mjs:264
auth.handlePremiumContent(makeReq({ query: { article: "../../etc/passwd " } }), badId);
LOWFilesystem / path · fs.traversal · CWE-22, CWE-59
src/crawler/check-stalled-runs.ts:28
const DB_PATH = resolve(import.meta.dirname, "../../kansei-link.db");
LOWNetwork egress · net.raw_ip · CWE-200, CWE-319
public/en/insights/cloudflare-workers-mcp-deployment-guide-2026.html:458
<span class="comment"># Open http://127.0.0.1:6274 in browser</span>

Gates applied: no_behavioural_pass.

Audited 2026-10-11 · audit v0.4.1 · source sha 8ee16fbba9c8full audit observations/trust-audit/mcp-server/kansei-link__kansei-mcp-server.json · Report an issue / request a re-scan
05

Audit history

Every audit this server has had. A grade with a past is a grade somebody is still checking.

DateSourceVerdictGradeScoreChange
2026-10-118ee16fbba9c8BLOCKF47first audit
06

Questions

What is the kansei-mcp-server MCP server?

Local-first MCP navigator for AI agents. 11,000+ SaaS services, 200 workflow recipes, 89-97% token savings. Works with Claude Code, Cursor, Cline, Zed, Windsurf.

What tools does kansei-mcp-server expose?

29 in total: 24 read-only, 5 that write, and 0 that can delete or overwrite. Every one is listed on this page with its risk.

Is kansei-mcp-server safe to connect to an agent?

No — not without reading the findings first. The audit graded it F (47/100) and found 2 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 kansei-mcp-server need?

It reads ACCESS_TOKEN_SECRET, ANTHROPIC_API_KEY, AUDIT_MAX_TOKENS, CLAIM_DETAIL_KEY, CLAIM_DOMAIN_HMAC_KEY, CRAWLER_SECRET, DUALRUN_BELIEVABLE_SECRET, DUALRUN_CANONICAL_SECRET, GEMINI_API_KEY, GITHUB_TOKEN, GOOGLE_AI_API_KEY and KANSEI_ADMIN_KEY 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 kansei-mcp-server run?

It speaks stdio and streamable-http, so it runs as a local process your client starts. It is published on npm as @kansei-link/mcp-server at 1.2.4.

How current is this page?

The grade is for one exact copy of the source (8ee16fbba9c8), read on 2026-10-11. The repository is watched and re-audited when it changes.

Advertisement