Skip to main content
Glama
kansei-link

KanseiLink MCP Server

by kansei-link

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

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.

Related MCP server: Relay

Quick Start

npx @kansei-link/mcp-server

Works 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-server

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):

npx -y @kansei-link/mcp-server kansei-link-install-hooks

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:

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 rank

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 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 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-skill

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 @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 scoring

Share 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_article

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 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

  1. Verify the skill was installed:

    ls ~/.claude/skills/kansei-link/SKILL.md

    If 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-server
  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: "..." }).

  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 server

PRs 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: "..." })

License

MIT — Synapse Arrows PTE. LTD.

Available Tools

5 tools
analyzeAnalyzeC
Read-only
Inspect

Analytics and reporting. Analyze token savings, audit agent costs, generate AEO reports and articles.

ParametersJSON Schema
NameRequiredDescriptionDefault
modeNoExplicit 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.
servicesNo[token_savings] List of service IDs to analyze (e.g., ['freee', 'kintone']). Omit to analyze the top 10 most-used services.
taskNo[token_savings] Optional task context (e.g., 'create invoice in freee') to tailor the analysis.
cost_service_idNo[cost] Audit a specific service, or omit for all services.
period_daysNo[cost] Analysis period in days (default: 30).
top_nNo[cost] Max recommendations to return (default: 10, max 50). Sorted by priority (high first) then by monthly_savings_usd desc.
min_priorityNo[cost] Minimum priority level to include. 'high' returns only impactful recs; 'low' returns everything.
aeo_service_idNo[aeo_report] Filter by service ID. Triggers aeo_report mode when present (without article params).
categoryNo[token_savings/aeo_report] Filter by category (e.g., 'accounting', 'hr', 'crm'). Triggers token_savings when used alone.
aeo_top_nNo[aeo_report] Number of top services to return (default: 20).
include_recommendationsNo[aeo_report] Include improvement recommendations per service (default: true).
quarterNo[aeo_article] Report period label (e.g., 'Q2 2026', '2026年上半期').
formatNo[aeo_article] Output format: 'markdown' for blog/press, 'json' for API/embed.
article_top_nNo[aeo_article] Number of services in the overall ranking table (default: 20).
categoriesNo[aeo_article] Focus categories for deep-dive sections. Omit for default set.
article_typeNo[aeo_article] Article type hint. Triggers aeo_article mode when present.
target_keywordNo[aeo_article] Target keyword for the article. Triggers aeo_article mode when present.
modelNo[cost] Model name hint for cost mode detection.
periodNo[cost] Period hint for cost mode detection.

TDQS

C2.9/5.0
Behavior2/5

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.

Conciseness4/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
modeNoExplicit mode override. Auto-detected from params if omitted.
queue_statusNo[queue] Filter by status (default: open)
queue_severityNo[queue] Filter by severity (default: all)
queue_service_idNo[queue] Filter by specific service ID
queue_limitNo[queue] Max results (default: 10)
inspection_idNo[submit/queue] Inspection ID. With verdict → submit mode. Alone → queue lookup.
verdictNo[submit] Your finding: confirmed, false_alarm, resolved, or partially_resolved
findingsNo[submit] What you found during inspection (PII auto-masked)
tested_workaroundNo[submit] Workaround you tested, if any
workaround_worksNo[submit] Did the tested workaround work?
check_service_idNo[check_updates] Service name or ID to check for changes. Triggers check_updates mode.
since_daysNo[check_updates] How many days back to look (default: 30)
propose_service_idNo[propose] Service ID to propose changes for
fieldNo[propose] Single field to update (shorthand). Allowed: description, category, tags, mcp_endpoint, mcp_status, api_url, api_auth_method, namespace.
new_valueNo[propose] New value for the field (used with field shorthand)
changesNo[propose] Object of field->new_value pairs (alternative to field+new_value)
reasonNo[propose] Why this change is needed
evidence_urlNo[propose] URL to source (API docs, changelog)
change_typeNo[propose] Type of change (default: update)
agent_idNo[propose/review] Agent identifier for attribution
update_idNo[review] Proposal ID to review. With approved → review mode.
approvedNo[review] true = approve, false = reject
reviewerNo[review] Who is reviewing (default: michie)
review_noteNo[review] Optional review comment
pending_statusNo[pending] Filter by status. Triggers pending mode when present.
pending_service_idNo[pending] Filter by service ID
pending_limitNo[pending] Max results (default: 20)
snapshot_service_idNo[snapshot] Service to snapshot. Triggers snapshot mode. Omit value to snapshot ALL.
snapshot_dateNo[snapshot] Date to snapshot (YYYY-MM-DD, default: today)
evaluate_service_idNo[evaluate] Service to evaluate. Triggers evaluate mode.
api_quality_scoreNo[evaluate] API design quality: RESTful conventions, naming, status codes (0.0-1.0)
doc_completeness_scoreNo[evaluate] Documentation quality: completeness, accuracy, examples (0.0-1.0)
auth_stability_scoreNo[evaluate] Auth reliability: token refresh, expiry handling, OAuth flow (0.0-1.0)
error_clarity_scoreNo[evaluate] Error response quality: clear codes, actionable messages (0.0-1.0)
evaluate_notesNo[evaluate] Free-text notes on design strengths/weaknesses

TDQS

B3.2/5.0
Behavior2/5

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.

Conciseness4/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines3/5

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.

lookupLookupA
Read-only
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
service_idNoService ID (from search_services)
goalNoWorkflow goal — triggers recipe mode (e.g., 'onboard employee')
servicesNoYour available service IDs — for recipe coverage calculation
serviceNoFuzzy service name — triggers combinations mode
periodNoTime period — triggers history mode
compare_withNoCompetitor service_id for comparison — triggers history mode
detailNoGet full connection guide (auth, endpoints, rate limits)
insightsNoGet aggregated usage data (success rate, trends, errors)
modeNoExplicit mode override
feedback_statusNo[feedback] Filter by status. Triggers feedback mode when present.
feedback_typeNo[feedback] Filter by feedback type
feedback_limitNo[feedback] Max results (default 20)
voice_question_filterNo[voices] Filter by question_id
voice_agent_typeNo[voices] Filter by agent type (claude, gpt, gemini)

TDQS

A4.6/5.0
Behavior5/5

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.

Conciseness4/5

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.

Completeness4/5

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.

Parameters5/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
modeNoExplicit mode selection. Auto-detected from params if omitted: success → outcome, question_id → voice, event_type → event, subject+body → feedback.
service_idNoService ID. Required for outcome and voice modes. Optional for feedback and event.
agent_idNoYour agent identifier (optional, for follow-up). Used in feedback and voice modes.
agent_typeNoAgent platform type (claude, gpt, gemini, copilot, llama, deepseek, other). Used in outcome mode (auto-inferred from model_name if omitted) and voice mode.
successNo[outcome] Whether the operation succeeded.
latency_msNo[outcome] Response time in milliseconds.
error_typeNo[outcome] Error category if failed (e.g., 'auth_error', 'timeout', 'rate_limit', 'schema_mismatch').
workaroundNo[outcome] How you resolved the issue, if any. Helps future agents.
contextNo[outcome] Additional context about the usage (PII will be auto-masked).
is_retryNo[outcome] Whether this is a retry of a previously failed call.
estimated_usersNo[outcome] Approximate number of end-users your agent serves.
model_nameNo[outcome] LLM model used (e.g., 'claude-sonnet-4', 'gpt-4o').
task_typeNo[outcome] Operation performed (e.g., 'create_invoice', 'search_contacts').
input_tokensNo[outcome] Input/prompt token count.
output_tokensNo[outcome] Output/completion token count.
cost_usdNo[outcome] Actual cost in USD (estimated from tokens if omitted).
feedback_typeNo[feedback] Type of feedback: suggestion, missing_data, correction, feature_request, workaround_tip, bug_report, praise, other.
subjectNo[feedback] Short summary of your feedback (1 line).
bodyNo[feedback] Your feedback in detail. Write freely.
priorityNo[feedback] How important: low, normal, high, critical. Default: normal.
event_dateNo[event] When the event occurred or takes effect (YYYY-MM-DD).
event_typeNo[event] Category: api_change, api_deprecation, law_amendment, pricing_change, outage, security_incident, feature_launch, competitor_move, mcp_update, other.
titleNo[event] Short event title (e.g., 'freee API v3 deprecation').
descriptionNo[event] Details about the event and expected impact.
impact_expectedNo[event] Expected impact: positive, negative, neutral, unknown.
question_idNo[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_choiceNo[voice] Quick rating where applicable (e.g., 'strongly_yes', 'excellent', 'ready').
response_textNo[voice] Your honest answer in your own words.
confidenceNo[voice] How confident are you in this assessment? high, medium, low.

TDQS

A4.5/5.0
Behavior4/5

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.

Conciseness4/5

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.

Completeness5/5

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.

Parameters5/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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 ServicesA
Read-only
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
intentYesWhat you want to accomplish (e.g., 'send invoice', 'manage employees', 'track attendance')
categoryNoFilter 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_readyNoFilter by agent readiness: 'verified' (🟢 battle-tested, success rate ≥80%), 'connectable' (🟡 API/MCP exists but unproven), 'info_only' (⚪ no API). Omit for all.
limitNoMax results to return (default: 5)
compactNoReturn minimal fields for token efficiency. Default: false

TDQS

A4.2/5.0
Behavior4/5

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.

Conciseness4/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines5/5

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

A3.8/5.0
Disambiguation5/5

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.

Naming Consistency3/5

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.

Tool Count5/5

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.

Completeness5/5

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

ActivityActive
ResponsivenessUnresponsive

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

Related MCP Servers

  • A
    license
    Not graded
    quality
    F
    maintenance
    Tool 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
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables AI agents to access a unified catalog of tools from various APIs (OpenAPI, GraphQL, MCP, Google Discovery) through the MCP protocol.
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables 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.
    74
    70
    Apache 2.0

Latest Blog Posts

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