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.
Documentation
KanseiLink 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 smarter1. 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-serverWorks with Claude Code, Cursor, Cline, Zed, Windsurf — any MCP client.
Add to your config (`claude_desktop_config.json`, `.cursor/mcp.json`, etc.):
{
"mcpServers": {
"kansei-link": {
"command": "npx",
"args": ["-y", "@kansei-link/mcp-server"]
}
}
}Or with Claude Code CLI:
claude mcp add -s user kansei-link -- npx -y @kansei-link/mcp-serverWrapped: 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):
npx -y @kansei-link/mcp-server kansei-link-install-hooksThis 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:
npx -y @kansei-link/mcp-server kansei-link-wrapped # current month (JA)
npx -y @kansei-link/mcp-server kansei-link-wrapped --lang en # English
npx -y @kansei-link/mcp-server kansei-link-wrapped --share # opt-in: get your rankThe 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 so your agent gets the answer on the first try.
| Count | Description | |
|---|---|---|
| Services | 11,000+ | MCP servers and SaaS APIs across 23 categories (2,257 MCP-verified via handshake) |
| Recipes | 200 | Multi-service workflow compositions (standup, PR review, incident response, onboarding...) |
| API Guides | 199 | Auth setup, endpoints, rate limits, pitfalls, and workarounds |
| Trust Scores | Weekly | Based on automated health probes + real agent usage data |
All data ships inside the npm package as a local SQLite DB. Zero API calls needed. No server dependency, no signup.
Without vs. With KanseiLink
| Without KanseiLink | With KanseiLink |
|---|---|
| `web_search` "freee API auth" | `search_services({ intent: "send invoice" })` |
| `web_fetch` docs landing page (SPA, mostly nav) | `lookup({ service_id: "freee" })` |
| `web_fetch` endpoint reference | Agent has auth flow, pitfalls, workarounds |
| `web_fetch` auth guide | in ~950 tokens |
| Trial-and-error on wrong params | First try succeeds |
| ~16,800 tokens burned | 89–97% saved |
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:
npx -y @kansei-link/mcp-server kansei-link-install-skillThis 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 @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`:
{
"hooks": {
"PostToolUse": [{
"matcher": "mcp__.*",
"hooks": [{ "type": "command", "command": "npx -y @kansei-link/mcp-server kansei-link-report-hook" }]
}]
}
}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)
search_services --> lookup --> (execute your API call) --> report| Tool | Modes | Description |
|---|---|---|
| `search_services` | -- | Find services by intent (FTS5 + trigram + category boost) |
| `lookup` | 8 modes | Get tips, detail, insights, recipes, combinations, history, feedback, voices |
| `report` | 4 modes | Report outcomes, submit feedback, record events, share your voice |
Admin Tools (2 additional)
| Tool | Modes | Description |
|---|---|---|
| `inspect` | 8 modes | Colony health: inspection queue, anomaly verification, update proposals, snapshots |
| `analyze` | 4 modes | Analytics: token savings, cost audit, AEO reports and articles |
Lookup Modes
| Mode | Trigger | Example |
|---|---|---|
| tips (default) | `service_id` alone | `lookup({ service_id: "freee" })` |
| detail | `detail: true` | `lookup({ service_id: "freee", detail: true })` |
| insights | `insights: true` | `lookup({ service_id: "freee", insights: true })` |
| recipe | `goal` | `lookup({ goal: "onboard employee" })` |
| combinations | `service` (fuzzy name) | `lookup({ service: "freee" })` |
| history | `period` | `lookup({ service_id: "freee", period: "30d" })` |
| feedback | `feedback_status` | `lookup({ feedback_status: "open" })` |
| voices | `mode: "voices"` | `lookup({ mode: "voices", service_id: "freee" })` |
Report Modes
| Mode | Trigger | Example |
|---|---|---|
| outcome | `success` (boolean) | `report({ service_id: "freee", success: true })` |
| feedback | `subject` + `body` | `report({ subject: "...", body: "..." })` |
| event | `event_type` | `report({ event_type: "api_change", event_date: "2025-01-15", title: "..." })` |
| voice | `question_id` | `report({ question_id: "best_feature", response_text: "...", service_id: "freee" })` |
Example Workflows
Find and integrate a service:
search_services({ intent: "send invoice to clients", compact: true })
--> lookup({ service_id: "freee" }) // tips: auth, pitfalls, workarounds
--> lookup({ service_id: "freee", detail: true }) // full connection guide
--> (execute your API call)
--> report({ service_id: "freee", success: true, task_type: "create_invoice" })Multi-service workflow:
lookup({ goal: "create invoice and notify via slack", services: ["freee", "slack"] })
--> Step-by-step recipe with coverage scoringShare your honest opinion:
report({
service_id: "stripe",
question_id: "biggest_frustration",
response_text: "Webhook signature verification docs are unclear for non-Node runtimes"
})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
Agent KanseiLink MCP Server SQLite (local, zero-config)
|
+-- search_services -> FTS5 + trigram (CJK) + LIKE + category detection
+-- lookup -> tips / detail / insights / recipe / combinations /
| history / feedback / voices (auto-detected)
+-- report -> outcome / feedback / event / voice (auto-detected)
+-- inspect -> queue / submit / propose / review / snapshot / evaluate
+-- analyze -> token_savings / cost / aeo_report / aeo_articleFor 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 full service DB ships inside the npm package. No API calls needed.
- 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.
1. Verify the skill was installed:
ls ~/.claude/skills/kansei-link/SKILL.mdIf absent, run `npx -y @kansei-link/mcp-server kansei-link-install-skill`.
2. Restart Claude Code. Skills are indexed on session start.
3. Check that the MCP is registered under the name `kansei-link`:
claude mcp add -s user kansei-link -- npx -y @kansei-link/mcp-serversearch_services returns nothing for a service I know exists.
1. Try category filter: `search_services({ intent: "...", category: "accounting" })`.
2. Try the English equivalent — most entries are indexed bilingually, but some only in EN.
3. 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.
1. Start with `lookup({ service_id: "..." })` — it returns known OAuth pitfalls and refresh-token workarounds.
2. Report the failure: `report({ service_id: "...", success: false, error_type: "auth_error", workaround: "..." })` — your fix helps the next agent.
Contributing
git clone https://github.com/kansei-link/kansei-mcp-server.git
cd kansei-mcp-server
npm install
npm run build
npm start # start stdio serverPRs welcome. If you find a service that's missing or has wrong info, the fastest path is:
report({ subject: "Fix: ServiceX auth is OAuth2 not API key", body: "..." })Links
- npm
- Website
- MCP Registry: `io.github.kansei-link/kansei-mcp-server`
- Glama
License
MIT — Synapse Arrows PTE. LTD.
Frequently asked questions
What is kansei-mcp-server?
kansei-mcp-server is 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.
How do I install kansei-mcp-server?
Open the GitHub repository and follow its README. Most MCP servers are added to your client's MCP config, then called by your agent.
Is kansei-mcp-server open source?
Yes — it is hosted on GitHub at https://github.com/kansei-link/kansei-mcp-server and has 1 stars.
Related MCP tools
Cut AI token costs 95%+ on code exploration. The leading MCP server for precise, symbol-level GitHub code retrieval via tree-sitter AST. Works with Claude Code, Cursor & any MCP client. 313B+ tokens saved.
Open-source coding agent memory. Records issues, attempts, fixes and decisions, then warns your agent before it repeats an approach that already failed. Native MCP server for Claude Code, Cursor, Antigravity and Codex. 100% local, no cloud, no telemetry. MIT.
The go-to web for your AI coding agent — local-first search, fetch, crawl & research over MCP. No API keys, no cloud, $0/query. Public beta.
Open-source cross-agent memory layer for coding agents via MCP. Compatible with Claude Code, Codex, Cursor, Windsurf, Gemini CLI, Antigravity, OpenClaw, Hermes Agent, Oh-my-Pi, Pi, Copilot, Kiro, OpenCode, and Trae.
Give your AI agents persistent, collective memory — with deduplicating absorb, supersession lineage, semantic search, and a graph UI. Speaks MCP.
AI Skills, MCP Tools, and CLI for Unity Engine. Full AI develop and test loop. Use cli for quick setup. Efficient token usage, advanced tools. Any C# method may be turned into a tool by a single line. Works with Claude Code, Gemini, Copilot, Cursor and any other absolutely for free.
Run your own MCP server? See who uses it and what to fix.
Measure it with TrackMCP