kansei-mcp-serverBLOCK
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.
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
- Measure — auto-installed hooks track every session: total tokens, cache split, error loops, stuck time. Nothing leaves your machine.
- Reduce — SaaS lookup eliminates trial-and-error on API integrations. Error-resolution intelligence (coming soon) prevents repeat failures across the community.
- 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
8ee16fbba9c8OBSERVED · 2026-10-11Connect
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 mcp add mcp-server -- npx -y @kansei-link/[email protected]
Exposed tools (29)
24 read · 5 write · 0 destructive.
| Tool | Risk | Description |
|---|---|---|
agent_voice | read | Share 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. |
analyze | read | |
analyze_token_savings | read | |
audit_cost | read | |
check_updates | read | |
evaluate_design | read | Rate a service |
find_combinations | read | |
generate_aeo_article | read | |
generate_aeo_report | read | |
get_insights | read | |
get_inspection_queue | read | |
get_recipe | read | |
get_service_detail | read | |
get_service_history | read | Get time-series metrics history for a service. Shows trends, regressions, competitive position changes, and event correlations. Use for consulting reports. |
get_service_tips | read | |
inspect | read | |
list_pending_updates | read | |
lookup | read | |
propose_update | write | |
read_agent_voices | read | Read 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_feedback | read | |
record_event | read | Record 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. |
report | read | |
report_outcome | read | |
review_update | write | |
search_services | read | |
submit_feedback | write | |
submit_inspection | write | |
take_snapshot | write | Capture daily metrics snapshot for time-series analysis. Run daily to build historical data for consulting reports. |
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.
| Layer | What it checks | Result |
|---|---|---|
| L0 | Provenance & inventory | FAIL |
| L1 | Static analysis of the code | FAIL |
| L2 | Instruction surface (what it tells the agent) | PASS |
| L3 | Class-specific surface | PASS |
| L4 | Behavioural (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)
smoke-hook-payload.mjs
const pct = new Function(`${pctSrc}; return pct;`)(); const ms = new Function(`${msSrc}; return ms;`)();untrusted.ts
console.log(`✅ pack-gate PASS (${files.size} files) — 配布物に synthetic実名/secret/claim/内部成果物 なし`);"Beacon (live chat) data accessible through same API."
try { const r = await fetch(`http://127.0.0.1:${PORT}/health`); if (r.ok) { health = await r.json(); break; } } catch { /* boot */ }try { stats = await fetch(`http://127.0.0.1:${PORT}/api/dashboard/stats`).then((r) => r.json()); } catch { /* noop */ }const BASE = `http://127.0.0.1:${PORT}`;writeFileSync("growth-mvp/canary-20.csv", "" + csvRows.map((r) => r.join(",")).join("\n"));const csv = m.slice(m.indexOf('"') + 1, m.lastIndexOf('";')).replace(/\\n/g, "\n").replace(/^/, "");const raw = m[1].replace(/^/, "").replace(/\\n/g, "\n");
readFileSync(join(ROOT, "growth-mvp", "canary-20.csv"), "utf8").replace(/^/, "").trim().split("\n").length === 21 && // header+20const csv = readFileSync(join(ROOT, "growth-mvp", "canary-20.csv"), "utf8").replace(/^/, "").trim().split("\n").slice(1);<span class="prop">"SLACK_BOT_TOKEN"</span>: <span class="string">"xoxb-your-token-here"</span>,
<span class="prop">"SLACK_BOT_TOKEN"</span>: <span class="string">"xoxb-your-token-here"</span>,
Authorization: Bearer xoxb-your-token
review-evidence-c70c131.zip
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("|") },const sha = (s) => crypto.createHash("sha1").update(String(s)).digest("hex").slice(0, 16);pricingHref = '../../pricing.html'; // en/insights/ → pricing.html (wrong, EN has its own)
`> See [scripts/reconnaissance/README.md](../../../scripts/reconnaissance/README.md).`
return `../../../${repoRelativePath}`;auth.handlePremiumContent(makeReq({ query: { article: "../../etc/passwd " } }), badId);const DB_PATH = resolve(import.meta.dirname, "../../kansei-link.db");
<span class="comment"># Open http://127.0.0.1:6274 in browser</span>
Gates applied: no_behavioural_pass.
8ee16fbba9c8full audit observations/trust-audit/mcp-server/kansei-link__kansei-mcp-server.json · Report an issue / request a re-scanAudit history
Every audit this server has had. A grade with a past is a grade somebody is still checking.
| Date | Source | Verdict | Grade | Score | Change |
|---|---|---|---|---|---|
| 2026-10-11 | 8ee16fbba9c8 | BLOCK | F | 47 | first audit |
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.