KanseiLink MCP Server
The KanseiLink MCP Server is a local-first MCP navigator that helps AI agents find, evaluate, and integrate SaaS APIs and MCP services efficiently — saving 89-97% of tokens compared to trial-and-error — using a local SQLite database of 11,000+ pre-evaluated services.
Search for Services: Find services by describing your intent (e.g., "send invoice"), with filters for category and agent readiness (verified, connectable, info_only).
Look Up Service Details: Retrieve rich information about a specific service:
Tips: Auth setup, known pitfalls, and workarounds
Detail: Full connection guide with endpoints and rate limits
Insights: Aggregated usage data, success rates, and trends
Recipe: Step-by-step multi-service workflow compositions
Combinations: Compatible service pairings
Feedback / Voices: Community-submitted feedback and qualitative agent experiences
Report Outcomes & Feedback: Contribute data back to the community:
Outcome: Report API call success/failure, error type, latency, cost, and workarounds
Feedback: Submit suggestions, corrections, or tips
Event: Record API changes, deprecations, or outages
Voice: Share qualitative opinions on auth, docs, and frustrations (PII auto-masked)
Inspect Colony Health (admin): View anomalies, check changelogs, propose/review data updates (PR-style), take daily metric snapshots, and evaluate API design quality.
Analyze Usage & Savings: Generate token savings reports, cost audits, Agent Experience Optimization (AEO) reports, and AEO articles in markdown or JSON.
Auto-invocation: Install a skill to have Claude Code automatically call KanseiLink on relevant prompts, with a PostToolUse hook to auto-capture success/failure after MCP calls.
Works with Claude Code, Cursor, Cline, Zed, Windsurf, and other MCP-compliant clients. Operates fully locally with no external API calls and telemetry disabled by default.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@KanseiLink MCP Serverfind a Japanese SaaS tool for managing HR and payroll"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
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 smarterMeasure — 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.
Related MCP server: Relay
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 |
|
|
|
|
| Agent has auth flow, pitfalls, workarounds |
| 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 stringnever 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) --> reportTool | Modes | Description |
| -- | Find services by intent (FTS5 + trigram + category boost) |
| 8 modes | Get tips, detail, insights, recipes, combinations, history, feedback, voices |
| 4 modes | Report outcomes, submit feedback, record events, share your voice |
Admin Tools (2 additional)
Tool | Modes | Description |
| 8 modes | Colony health: inspection queue, anomaly verification, update proposals, snapshots |
| 4 modes | Analytics: token savings, cost audit, AEO reports and articles |
Lookup Modes
Mode | Trigger | Example |
tips (default) |
|
|
detail |
|
|
insights |
|
|
recipe |
|
|
combinations |
|
|
history |
|
|
feedback |
|
|
voices |
|
|
Report Modes
Mode | Trigger | Example |
outcome |
|
|
feedback |
|
|
event |
|
|
voice |
|
|
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
reportcall 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
Verify the skill was installed:
ls ~/.claude/skills/kansei-link/SKILL.mdIf absent, run
npx -y @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:claude mcp add -s user kansei-link -- npx -y @kansei-link/mcp-server
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: "..." }).
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
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
MCP Registry:
io.github.kansei-link/kansei-mcp-server
License
MIT — Synapse Arrows PTE. LTD.
Available Tools
5 toolsanalyzeAnalyzeCRead-onlyInspect
Analytics and reporting. Analyze token savings, audit agent costs, generate AEO reports and articles.
| Name | Required | Description | Default |
|---|---|---|---|
| mode | No | Explicit mode selection. Auto-detected from params if omitted: category → token_savings, cost_service_id → cost, aeo_service_id → aeo_report, article_type/target_keyword → aeo_article. | |
| services | No | [token_savings] List of service IDs to analyze (e.g., ['freee', 'kintone']). Omit to analyze the top 10 most-used services. | |
| task | No | [token_savings] Optional task context (e.g., 'create invoice in freee') to tailor the analysis. | |
| cost_service_id | No | [cost] Audit a specific service, or omit for all services. | |
| period_days | No | [cost] Analysis period in days (default: 30). | |
| top_n | No | [cost] Max recommendations to return (default: 10, max 50). Sorted by priority (high first) then by monthly_savings_usd desc. | |
| min_priority | No | [cost] Minimum priority level to include. 'high' returns only impactful recs; 'low' returns everything. | |
| aeo_service_id | No | [aeo_report] Filter by service ID. Triggers aeo_report mode when present (without article params). | |
| category | No | [token_savings/aeo_report] Filter by category (e.g., 'accounting', 'hr', 'crm'). Triggers token_savings when used alone. | |
| aeo_top_n | No | [aeo_report] Number of top services to return (default: 20). | |
| include_recommendations | No | [aeo_report] Include improvement recommendations per service (default: true). | |
| quarter | No | [aeo_article] Report period label (e.g., 'Q2 2026', '2026年上半期'). | |
| format | No | [aeo_article] Output format: 'markdown' for blog/press, 'json' for API/embed. | |
| article_top_n | No | [aeo_article] Number of services in the overall ranking table (default: 20). | |
| categories | No | [aeo_article] Focus categories for deep-dive sections. Omit for default set. | |
| article_type | No | [aeo_article] Article type hint. Triggers aeo_article mode when present. | |
| target_keyword | No | [aeo_article] Target keyword for the article. Triggers aeo_article mode when present. | |
| model | No | [cost] Model name hint for cost mode detection. | |
| period | No | [cost] Period hint for cost mode detection. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, and the description does not contradict that. However, the description adds no behavioral context beyond the annotation, such as required permissions, rate limits, or side effects. For a read-only analytics tool, this is acceptable but minimal.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short (two sentences) and front-loaded with a generic lead followed by specifics. It is efficient but the first sentence 'Analytics and reporting' is vague. Could be slightly improved by leading with the specific actions.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 19 parameters and 4 distinct modes with no output schema, the description is too high-level. It does not explain the modes or common use cases, leaving the agent to rely solely on the schema. For a complex tool, more context is needed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema documentation covers 100% of parameters with detailed descriptions. The tool description adds no extra parameter information. With full schema coverage, baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states four specific analytical functions (token savings, cost audit, AEO reports, articles), which is more specific than a generic verb. However, it does not differentiate from sibling tools like 'report', leaving some ambiguity about when to use this tool versus 'report'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus siblings (inspect, lookup, report, search_services). The description only lists capabilities without context for tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
inspectInspectBInspect
Internal admin tool for colony health. Inspect anomalies, manage update proposals, take snapshots, and evaluate MCP design patterns. Modes: queue (view anomalies), submit (verify anomaly), check_updates (service changelog), propose (PR-model data update), review (approve/reject proposal), pending (view proposal queue), snapshot (capture daily metrics), evaluate (rate API design quality). Mode is auto-detected from params or set explicitly.
| Name | Required | Description | Default |
|---|---|---|---|
| mode | No | Explicit mode override. Auto-detected from params if omitted. | |
| queue_status | No | [queue] Filter by status (default: open) | |
| queue_severity | No | [queue] Filter by severity (default: all) | |
| queue_service_id | No | [queue] Filter by specific service ID | |
| queue_limit | No | [queue] Max results (default: 10) | |
| inspection_id | No | [submit/queue] Inspection ID. With verdict → submit mode. Alone → queue lookup. | |
| verdict | No | [submit] Your finding: confirmed, false_alarm, resolved, or partially_resolved | |
| findings | No | [submit] What you found during inspection (PII auto-masked) | |
| tested_workaround | No | [submit] Workaround you tested, if any | |
| workaround_works | No | [submit] Did the tested workaround work? | |
| check_service_id | No | [check_updates] Service name or ID to check for changes. Triggers check_updates mode. | |
| since_days | No | [check_updates] How many days back to look (default: 30) | |
| propose_service_id | No | [propose] Service ID to propose changes for | |
| field | No | [propose] Single field to update (shorthand). Allowed: description, category, tags, mcp_endpoint, mcp_status, api_url, api_auth_method, namespace. | |
| new_value | No | [propose] New value for the field (used with field shorthand) | |
| changes | No | [propose] Object of field->new_value pairs (alternative to field+new_value) | |
| reason | No | [propose] Why this change is needed | |
| evidence_url | No | [propose] URL to source (API docs, changelog) | |
| change_type | No | [propose] Type of change (default: update) | |
| agent_id | No | [propose/review] Agent identifier for attribution | |
| update_id | No | [review] Proposal ID to review. With approved → review mode. | |
| approved | No | [review] true = approve, false = reject | |
| reviewer | No | [review] Who is reviewing (default: michie) | |
| review_note | No | [review] Optional review comment | |
| pending_status | No | [pending] Filter by status. Triggers pending mode when present. | |
| pending_service_id | No | [pending] Filter by service ID | |
| pending_limit | No | [pending] Max results (default: 20) | |
| snapshot_service_id | No | [snapshot] Service to snapshot. Triggers snapshot mode. Omit value to snapshot ALL. | |
| snapshot_date | No | [snapshot] Date to snapshot (YYYY-MM-DD, default: today) | |
| evaluate_service_id | No | [evaluate] Service to evaluate. Triggers evaluate mode. | |
| api_quality_score | No | [evaluate] API design quality: RESTful conventions, naming, status codes (0.0-1.0) | |
| doc_completeness_score | No | [evaluate] Documentation quality: completeness, accuracy, examples (0.0-1.0) | |
| auth_stability_score | No | [evaluate] Auth reliability: token refresh, expiry handling, OAuth flow (0.0-1.0) | |
| error_clarity_score | No | [evaluate] Error response quality: clear codes, actionable messages (0.0-1.0) | |
| evaluate_notes | No | [evaluate] Free-text notes on design strengths/weaknesses |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate non-read-only and non-idempotent behavior. The description lists write modes (submit, propose, review, snapshot) but does not disclose side effects, required permissions, or rate limits. Minimal additional value beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with purpose, lists all 8 modes concisely, and ends with auto-detection note. It is efficient given the complexity of 35 parameters, though a bullet list could improve readability.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers modes and parameter usage adequately due to rich schema, but lacks details on return values, error handling, and prerequisites. No output schema means agents must infer response structure.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so baseline is 3. The description adds high-level mode context and auto-detection hints, but does not deepen understanding of individual parameters beyond what schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool is for colony health inspection with multiple modes (queue, submit, propose, review, etc.). It distinguishes from sibling tools like analyze, lookup, report, and search_services by specifying internal admin tasks, but does not explicitly contrast them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides guidance on mode auto-detection and explicit parameter usage. However, it lacks explicit when-to-use vs alternatives (siblings) and does not mention prerequisites or failure scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
lookupLookupARead-onlyInspect
Get everything you need about a service before using it. Default: tips (auth setup, pitfalls, workarounds). Add detail: true for full connection guide, insights: true for usage data. Pass goal: 'workflow description' to find multi-service recipes. This is step 2 of the standard KanseiLink flow: search_services → lookup → (execute) → report.
| Name | Required | Description | Default |
|---|---|---|---|
| service_id | No | Service ID (from search_services) | |
| goal | No | Workflow goal — triggers recipe mode (e.g., 'onboard employee') | |
| services | No | Your available service IDs — for recipe coverage calculation | |
| service | No | Fuzzy service name — triggers combinations mode | |
| period | No | Time period — triggers history mode | |
| compare_with | No | Competitor service_id for comparison — triggers history mode | |
| detail | No | Get full connection guide (auth, endpoints, rate limits) | |
| insights | No | Get aggregated usage data (success rate, trends, errors) | |
| mode | No | Explicit mode override | |
| feedback_status | No | [feedback] Filter by status. Triggers feedback mode when present. | |
| feedback_type | No | [feedback] Filter by feedback type | |
| feedback_limit | No | [feedback] Max results (default 20) | |
| voice_question_filter | No | [voices] Filter by question_id | |
| voice_agent_type | No | [voices] Filter by agent type (claude, gpt, gemini) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint=true and openWorldHint=false. The description adds behavioral traits by detailing mode triggering (e.g., service triggers combinations, period triggers history) and default output focus (tips on auth setup, pitfalls). No contradictions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, dense paragraph with front-loaded purpose. It efficiently packs mode explanations and flow context, though breaking into bullets could improve readability.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity (14 params, multiple modes, no output schema), the description covers usage well but omits details about return values or response structure, leaving some incompleteness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 100% schema description coverage, baseline is 3. The description adds significant value by explaining parameter interactions and mode triggers (e.g., 'triggers recipe mode', 'triggers history mode'), going beyond mere listing.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Get everything you need about a service before using it' and positions it as step 2 of a specific flow (search_services → lookup → execute → report), effectively distinguishing it from sibling tools like analyze, inspect, report, and search_services.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains the default behavior (tips) and how to switch modes via parameters (detail, insights, goal, etc.), and places it in a workflow. It lacks explicit 'when not to use' guidance but is otherwise clear about usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
reportReportAInspect
Contribute data back to the KanseiLink community. Report success/failure after using a service (5 seconds, helps everyone), submit feedback, record API change events, or share your qualitative experience. PII is auto-masked. This is step 4 of the standard flow: search_services → lookup → (execute) → report.
| Name | Required | Description | Default |
|---|---|---|---|
| mode | No | Explicit mode selection. Auto-detected from params if omitted: success → outcome, question_id → voice, event_type → event, subject+body → feedback. | |
| service_id | No | Service ID. Required for outcome and voice modes. Optional for feedback and event. | |
| agent_id | No | Your agent identifier (optional, for follow-up). Used in feedback and voice modes. | |
| agent_type | No | Agent platform type (claude, gpt, gemini, copilot, llama, deepseek, other). Used in outcome mode (auto-inferred from model_name if omitted) and voice mode. | |
| success | No | [outcome] Whether the operation succeeded. | |
| latency_ms | No | [outcome] Response time in milliseconds. | |
| error_type | No | [outcome] Error category if failed (e.g., 'auth_error', 'timeout', 'rate_limit', 'schema_mismatch'). | |
| workaround | No | [outcome] How you resolved the issue, if any. Helps future agents. | |
| context | No | [outcome] Additional context about the usage (PII will be auto-masked). | |
| is_retry | No | [outcome] Whether this is a retry of a previously failed call. | |
| estimated_users | No | [outcome] Approximate number of end-users your agent serves. | |
| model_name | No | [outcome] LLM model used (e.g., 'claude-sonnet-4', 'gpt-4o'). | |
| task_type | No | [outcome] Operation performed (e.g., 'create_invoice', 'search_contacts'). | |
| input_tokens | No | [outcome] Input/prompt token count. | |
| output_tokens | No | [outcome] Output/completion token count. | |
| cost_usd | No | [outcome] Actual cost in USD (estimated from tokens if omitted). | |
| feedback_type | No | [feedback] Type of feedback: suggestion, missing_data, correction, feature_request, workaround_tip, bug_report, praise, other. | |
| subject | No | [feedback] Short summary of your feedback (1 line). | |
| body | No | [feedback] Your feedback in detail. Write freely. | |
| priority | No | [feedback] How important: low, normal, high, critical. Default: normal. | |
| event_date | No | [event] When the event occurred or takes effect (YYYY-MM-DD). | |
| event_type | No | [event] Category: api_change, api_deprecation, law_amendment, pricing_change, outage, security_incident, feature_launch, competitor_move, mcp_update, other. | |
| title | No | [event] Short event title (e.g., 'freee API v3 deprecation'). | |
| description | No | [event] Details about the event and expected impact. | |
| impact_expected | No | [event] Expected impact: positive, negative, neutral, unknown. | |
| question_id | No | [voice] Which question to answer: selection_criteria, would_recommend, biggest_frustration, best_feature, switching_likelihood, auth_experience, doc_quality, error_handling, compared_to_competitor, mcp_readiness, free_voice. | |
| response_choice | No | [voice] Quick rating where applicable (e.g., 'strongly_yes', 'excellent', 'ready'). | |
| response_text | No | [voice] Your honest answer in your own words. | |
| confidence | No | [voice] How confident are you in this assessment? high, medium, low. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Discloses PII auto-masking, auto-detection of mode, and time estimate (5 seconds). Annotations are minimal (readOnlyHint false, idempotentHint false), so description adds necessary context about mutability. No output schema mentioned, but the reporting action is well-explained.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Description is a single paragraph that front-loads purpose and flow. It covers all modes efficiently but could benefit from bullet points for readability. No wasted sentences, but length is justified by complexity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 29 parameters across 4 modes and no output schema, the description thoroughly explains each mode, parameter groups, auto-detection, and flow context. It provides complete guidance for an agent to use the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, but description adds significant value beyond schema by grouping parameters per mode (e.g., [outcome], [feedback]) and explaining auto-detection rules. This helps agents select correct parameters for each mode.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the tool's purpose: 'Contribute data back to the KanseiLink community' with four distinct modes (outcome, feedback, event, voice). It distinguishes itself from sibling tools (analyze, inspect, lookup, search_services) by being step 4 of a standard flow for reporting after execution.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly positions the tool as step 4 in the flow: 'search_services → lookup → (execute) → report.' Mentions auto-detection of mode and required parameters per mode. Lacks explicit when-not-to-use statements, but the context is clear enough.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_servicesSearch ServicesARead-onlyInspect
Before attempting ANY SaaS API integration, call this tool. Agents waste 3-5x more tokens on trial-and-error with stale training data — this returns verified, current service evaluations so you succeed on the first try. If the user mentions ANY SaaS service (freee, SmartHR, kintone, Slack, Notion, MoneyForward...) or says 'use kanseilink', always call this. Covers 900+ services with real agent success data. Strongest in Japanese SaaS with growing global coverage.
| Name | Required | Description | Default |
|---|---|---|---|
| intent | Yes | What you want to accomplish (e.g., 'send invoice', 'manage employees', 'track attendance') | |
| category | No | Filter by category: crm, project_management, communication, accounting, hr, ecommerce, legal, marketing, groupware, productivity, storage, support, payment, logistics, reservation, data_integration, bi_analytics, security, developer_tools, ai_ml, database, devops, design | |
| agent_ready | No | Filter by agent readiness: 'verified' (🟢 battle-tested, success rate ≥80%), 'connectable' (🟡 API/MCP exists but unproven), 'info_only' (⚪ no API). Omit for all. | |
| limit | No | Max results to return (default: 5) | |
| compact | No | Return minimal fields for token efficiency. Default: false |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations state readOnlyHint=true (safe read) and openWorldHint=false. The description adds behavioral context: it returns verified, current evaluations to avoid trial-and-error, mentions 'real agent success data,' and notes strength in Japanese SaaS. No contradiction with annotations. However, the exact output format is not detailed, and without an output schema, the description could be more explicit about what is returned.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the most critical instruction ('Before attempting...call this tool') and is generally clear. It is somewhat verbose with a claim about token efficiency, but each sentence adds value. Slightly wordy, but effective and well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema and 5 parameters, the description covers the tool's purpose and usage well but lacks detail on return fields and filtering behavior beyond parameter descriptions. It mentions 'service evaluations' and 'success data' but does not specify structure or pagination. Adequate but not thorough.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% (all 5 parameters have descriptions). The description does not add significant meaning beyond the schema; it focuses on when to use the tool rather than parameter specifics. Baseline 3 is appropriate as the schema already explains parameters adequately.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly states the tool's purpose: 'Before attempting ANY SaaS API integration, call this tool.' It specifies it returns verified, current service evaluations for 900+ services, making the goal unmistakable. While it doesn't directly contrast with sibling names (analyze, inspect, lookup, report), the strong call-to-action and service-specific focus clearly distinguish it from generic analysis tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit usage guidance: 'Before attempting ANY SaaS API integration, call this tool' and 'If the user mentions ANY SaaS service...or says 'use kanseilink', always call this.' This tells the agent precisely when to invoke the tool, though it does not mention when not to use it or suggest alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
TDQS
Each tool has a clear, distinct purpose: search_services for finding services, lookup for service details, report for submitting feedback, analyze for generating analytics, and inspect for admin tasks. There is no overlap or ambiguity.
Tool names are all lowercase and use underscores, but they mix single-word verbs (analyze, inspect, lookup, report) with a verb-noun compound (search_services). This inconsistency in pattern could be confusing, though each name is still descriptive.
Five tools is well-scoped for the server's purpose: search, detail lookup, feedback, analytics, and admin. Each tool earns its place and the count is neither too few nor too many.
The tool set covers the entire advertised workflow (search_services → lookup → report) plus analytics and admin capabilities. There are no obvious gaps; inspect even includes proposal management for updates.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Pay-per-use tool marketplace for AI agents. Search, price-check, and call APIs via MCP.
Zero-setup MCP gateway securely connecting AI to your tools with authentication and workflows
MCP layer for local businesses: discover, query, book, and transact with verified SMB AI agents.
Let AI agents query data and act across all your business apps via MCP.
Related MCP Servers
- AlicenseNot gradedqualityFmaintenanceTool search engine for AI agents. One API call to discover the best MCP server for any task. 900+ services indexed with 4-dimensional value ranking.MIT
- AlicenseNot gradedqualityDmaintenanceEnables AI agents to access a unified catalog of tools from various APIs (OpenAPI, GraphQL, MCP, Google Discovery) through the MCP protocol.MIT

SandBaseofficial
AlicenseNot gradedqualityBmaintenanceEnables AI assistants to discover and invoke 2,000+ models and APIs—including web search, social media, scraping, image/video generation, and audio—through a single local MCP bridge using OAuth, with no per-API keys.7470Apache 2.0- FlicenseNot gradedqualityCmaintenancePay-per-use tool marketplace for AI agents. Search, price-check, and call APIs via MCP.-
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/kansei-link/kansei-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server