KanseiLink MCP Server
[npm version] [npm downloads] [GitHub stars]
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
- 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
Add by URL — the hosted server, always on the current data. No key, no sign-up.
Cursor, Windsurf, Cline, Zed — any client that takes a URL (.cursor/mcp.json and the like):
Claude Desktop: Settings → Connectors → Add custom connector → https://mcp.kansei-link.com/mcp.
What the hosted server keeps about a call is one line of counts — tool name, service id, outcome — never your text. The full list is in SECURITY.md → What the server can see.
Offline, or no network calls at all — the npm package runs locally on a small public copy of the catalogue (one card per service, recipes, API guides) and sends nothing:
Works with Claude Code, Claude Desktop, Cursor, Cline, Zed, Windsurf — any MCP client.
Wrapped: Your Monthly Agent Fuel-Efficiency Report
KanseiLink measures — locally, on your machine — how many tokens your
agent sessions consume and how much of that KanseiLink saved you, then
renders a monthly "Wrapped" share card.
1. Install the measurement hooks (one command, idempotent, backs up
your settings first):
This adds a Stop/SessionEnd hook that parses each session transcript
and writes token totals + KanseiLink call stats to
~/.kansei-link/usage/. Nothing is uploaded.
2. See your report any time:
The report separates measured numbers (your total tokens, KanseiLink
call counts and response sizes — parsed from your own transcripts) from
estimated ones (the avoided web-research cost, based on the 2026-04-16
freee/kintone/smarthr benchmark) — labels shown on every surface.
It also shows where your agent got stuck: failed tool calls, retry
chains (2+ consecutive failures of the same tool), the tokens burned
while stuck, and your worst-failing tools.
--share submits only scalar monthly aggregates (anonymous id + token
counts, never content) and returns how you rank among measured users
("top X% saver"). Below 20 measured users for the month, you get the
cohort size instead of a rank.
Disable measurement anytime: export KANSEI_USAGE_HOOK=off, or
kansei-link-install-hooks --remove.
SaaS Integration Intelligence
The core reason agents waste tokens on SaaS APIs: they search docs, guess auth flows, and recover from errors — every single time. KanseiLink ships a local SQLite DB built from the public copy of its catalogue so your agent gets the answer on the first try; the full picture (scores, probes, history) lives on the hosted server and on the site.
The npm package ships the public copy of the data (one card per service, recipes, API guides, the last 90 days of the changelog — since 1.3.0) and builds a local SQLite DB from it. No API calls are needed to search or look up a service, no server dependency, no signup. What is not in the copy — internal scores, probe results, agent voices, raw registry dumps — stays on the hosted server; when a lookup misses, the tool points you to https://kansei-link.com/services/<id>/ and to ask.
Without vs. With KanseiLink
Claude Code: install the skill (auto-invocation)
Installing the MCP alone doesn't teach Claude Code when to call KanseiLink. The bundled skill fixes that:
This copies a SKILL.md to ~/.claude/skills/kansei-link/. Claude Code auto-discovers it and fires the skill on phrases like "connect to Stripe", "Slack MCPある?", "send invoice via freee" — no need to say "use KanseiLink".
Optional: PostToolUse hook
Auto-capture success/failure after every MCP call (agents tend to forget reporting).
Consent (v1.2, BREAKING). Installing the hook alone no longer transmits
anything. All central transmission is governed by one consent gate
(~/.kansei-link/consent.json), with this priority:
DO_NOT_TRACK=1 / explicit OFF → explicit ON (KANSEI_REPORT_HOOK=on) →
Live Updates consent (npx -y -p @kansei-link/mcp-server kansei-link-live-updates --enable) →
default OFF (Local Mode, zero transmission). Existing hook users are OFF
until they re-consent. Manage: kansei-link-live-updates --status|--enable|--disable,
kansei-link-privacy --status|--reset-id.
What this hook sends when enabled (and what it never sends). A small
pseudonymous event to KanseiLink's hosted endpoint after each MCP tool call. The payload is a fixed
7-field set, frozen by a snapshot test (scripts/smoke-hook-payload.mjs):
- sent: service slug (or MCP server name), success/failure, tool name,
error category (e.g.
auth_error), a fixed context string
- never sent: prompts, tool inputs/outputs, page/customer/record names,
API keys, file paths, free text of any kind. No account or machine
identifier is attached.
Installing the hook does NOT opt you in — transmission requires the consent gate above (Live Updates consent, or an explicit KANSEI_REPORT_HOOK=on). Disable anytime: kansei-link-live-updates --disable or export KANSEI_REPORT_HOOK=off.
Add to ~/.claude/settings.json:
Disable anytime: export KANSEI_REPORT_HOOK=off
Tools (5)
v1.0 consolidates the tool surface from 25 individual tools into 5 unified tools with mode auto-detection.
Standard Flow (3 tools — all you need)
Admin Tools (2 additional)
Lookup Modes
Report Modes
Example Workflows
Find and integrate a service:
Multi-service workflow:
Share your honest opinion:
Categories (23)
CRM, Project Management, Communication, Accounting, HR, E-commerce, Legal, Marketing, Groupware, Productivity, Storage, Support, Payment, Logistics, Reservation, Data Integration, BI/Analytics, Security, Developer Tools, AI/ML, Database, Design, DevOps
Architecture
For SaaS Companies
KanseiLink doubles as an Agent Readiness Index (ARI) evaluation platform. Real agents using real APIs generate objective telemetry — success rates, latency, error patterns, and resolution paths — that no survey or benchmark can replicate.
What we can show you:
- Agent success rate for your API over time
- Error patterns and how agents work around them
- Agent Voice: why agents choose (or avoid) your service
- Category ranking vs competitors
- Impact of API changes (before/after analysis)
This data comes from the same MCP that saves individual developers tokens — the collective intelligence that helps agents is the same signal that evaluates services.
See kansei-link.com or reach out.
Privacy & Data Handling
KanseiLink is privacy-preserving by default:
- Local-first: the public copy of the catalogue ships inside the npm package (since 1.3.0; before that, the full seed). No API calls needed for search / lookup.
- Measurement stays local: the usage hook writes to
~/.kansei-link/usage/ on your machine. Nothing is uploaded unless you opt in with --share, which sends only scalar aggregates (token counts), never content.
- PII auto-masking: every
report call scrubs emails, phone numbers, IP addresses, and Japanese names before storage.
- Agent identity anonymized: only the agent type (claude / gpt / gemini) is retained — never the user ID.
- No telemetry by default: the local stdio server does not phone home.
See SECURITY.md for full details.
Troubleshooting
The skill isn't firing — Claude Code doesn't call KanseiLink when I ask about SaaS.
- Verify the skill was installed:
If absent, run
npx -y -p @kansei-link/mcp-server kansei-link-install-skill.
- Restart Claude Code. Skills are indexed on session start.
- Check that the MCP is registered under the name
kansei-link:
(or the npx form above for the offline copy)
search_services returns nothing for a service I know exists.
- Try category filter:
search_services({ intent: "...", category: "accounting" }).
- Try the English equivalent — most entries are indexed bilingually, but some only in EN.
- If the service truly isn't there, submit feedback:
report({ subject: "Missing: ServiceX", body: "..." }).
Auth error when calling a SaaS endpoint after KanseiLink suggests it.
- Start with
lookup({ service_id: "..." }) — it returns known OAuth pitfalls and refresh-token workarounds.
- Report the failure:
report({ service_id: "...", success: false, error_type: "auth_error", workaround: "..." }) — your fix helps the next agent.
Contributing
PRs welcome. If you find a service that's missing or has wrong info, the fastest path is:
Links
License
MIT — Synapse Arrows PTE. LTD.