Skip to main content
Glama
new-village

furunavi-mcp-community

by new-village

furunavi-mcp-community

ふるさと納税サイト「ふるなび」を扱う非公式のMCPサーバーです。MVPとして、返礼品検索、詳細取得、ブラウザログイン、お気に入り追加を提供します。

ふるなび運営会社とは無関係です。個人利用を前提とし、サイトの利用規約・robots・アクセス制限を尊重してください。寄附申込みや決済は実装していません。

MCP tools

Tool

用途

ログイン

furunavi_search_products

キーワード検索

不要

furunavi_get_product

返礼品IDによる詳細取得

不要

furunavi_auth_status

セッション保存状況

不要

furunavi_auth_login

ブラウザで対話ログイン

操作が必要

furunavi_auth_clear

保存セッション削除

不要

furunavi_add_favorite

お気に入り追加(冪等)

必要

Related MCP server: openfoodfacts-mcp-server

Setup

npm公開版を利用する場合:

npm install -g furunavi-mcp-community
npx playwright install chromium

ソースから開発する場合:

git clone https://github.com/new-village/furunavi-mcp-community.git
cd furunavi-mcp-community
npm install
npx playwright install chromium
npm run build

Claude Desktop / Claude Code等の設定例:

{
  "mcpServers": {
    "furunavi": {
      "command": "npx",
      "args": ["-y", "furunavi-mcp-community"]
    }
  }
}

Login

パスワードをMCPへ渡さず、利用者がふるなびの画面で直接ログインします。

node dist/index.js auth
node dist/index.js auth --status
node dist/index.js auth --clear

保存先は ~/.config/furunavi-mcp-community/storage-state.json(mode 0600)です。FURUNAVI_MCP_CONFIG_DIR で変更できます。

リモート・コンテナ環境

headedブラウザを表示できる端末でログインしてください。Remote SSHやヘッドレスサーバーではブラウザ画面を操作できないため、同一ユーザーの設定ディレクトリを安全に移送・マウントする必要があります。storage-stateには認証Cookieが含まれるため、Gitへ追加したり共有したりしないでください。

Development

npm test
npm run typecheck
npm run build
npm run lint
npm audit --omit=dev
npm pack --dry-run

Node.js 20以上を使用します。HTML構造変更により解析処理が壊れる可能性があるため、公開前には実サイトsmoke testを実行してください。

Available Tools

6 tools
furunavi_add_favoriteA

ログイン済みセッションを使い、指定返礼品をお気に入りに追加します。

ParametersJSON Schema
NameRequiredDescriptionDefault
productIdYes

TDQS

A3.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided; description only says 'add' without disclosing idempotency, duplicate handling, error behavior, or side effects.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence conveying purpose and condition, no redundancy.

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?

Adequate for a simple one-parameter tool but lacks details on login requirement, error cases, and output.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%; description mentions 'designated gift' but does not elaborate on productId's origin or format beyond schema.

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 verb 'add', resource 'favorite', and condition 'using logged-in session'. Distinguishes from sibling auth and search tools.

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 mentions prerequisite of a logged-in session, implying when to use (after login) but no explicit when-not or alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

furunavi_auth_clearA

保存済みのふるなびログインセッションを削除します。

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.5/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden. It only states the deletion action without disclosing side effects, irreversibility, or impact on subsequent operations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single sentence in Japanese that clearly communicates the action. No wasted words, effectively front-loaded.

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?

For a simple tool with no parameters and no output schema, the description is adequate but lacks context about implications, such as needing to re-login after clearing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has zero parameters, so the baseline is 4. The description adds no parameter information, but none is needed.

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 the action (deletes) and the resource (saved furunavi login session). It is specific and distinguishes from sibling tools like furunavi_auth_status or furunavi_search_products.

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 guidance on when to use this tool versus alternatives. It does not mention prerequisites, such as requiring an active login, or when it is appropriate to clear the session.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

furunavi_auth_loginA

ブラウザを開き、利用者自身の操作でふるなびへログインしてセッションを安全に保存します。

ParametersJSON Schema
NameRequiredDescriptionDefault
headlessNo
timeoutSecondsNo

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided; description covers opening a browser, user interaction, and saving session. Mentions headless and timeout parameters implicitly, but doesn't disclose behavior for already authenticated states or error conditions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence clearly communicates the tool's action and expected user involvement. No redundant information; front-loaded with key action.

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 interactive login complexity and no output schema, the description lacks details on prerequisites, the login UI, cancellation, error handling, or post-login state. Leaves significant gaps for effective agent use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%. The description does not explain the parameters individually. It implies headless=false but doesn't describe timeoutSeconds or its effect. Parameter meaning relies on user inference.

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 it opens a browser, logs into Furunavi via user interaction, and saves a session. It distinguishes from sibling tools like furunavi_auth_status (status check) and furunavi_auth_clear (clear session).

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?

The description implies usage as an initial login step but lacks explicit guidance on when to use or not use it. No mention of prerequisites or alternatives like furunavi_auth_status to check if already logged in.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

furunavi_auth_statusA

ふるなびのログインセッション保存状況を確認します。

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided; description only states purpose. It does not disclose return format, side effects (e.g., network calls), or what happens if session is not saved. Lacks details that would help an agent predict behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence, front-loaded, no wasted words. Highly concise and clear.

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?

For a simple tool with no parameters or output schema, the description is adequate but leaves out expected output format or error conditions. Could be more helpful by describing the return value (e.g., boolean, status text).

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

No parameters in schema, so description does not need to add parameter details. Baseline for 0 parameters is 4; the description correctly implies no arguments needed.

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 the tool checks the login session save status of Furunavi (furunavi_auth_status). It uses a specific verb (確認します) and resource, distinguishing it from siblings like furunavi_auth_login and furunavi_auth_clear.

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?

No explicit guidance on when to use this tool versus siblings. While the purpose implies it is for checking session status before/after login/clear operations, there is no mention of prerequisites or context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

furunavi_get_productC

返礼品IDから詳細情報を取得します。

ParametersJSON Schema
NameRequiredDescriptionDefault
productIdYes

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden but only states it gets information. It does not mention whether the operation is read-only, requires authentication, or has any side effects.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise at one sentence, but it sacrifices helpfulness. It is appropriately size but lacks front-loaded critical details.

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 no output schema and no annotations, the description does not cover return format or error conditions. For a simple get operation, it is minimally adequate but incomplete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description merely restates the parameter (返礼品ID) without adding meaning beyond the schema. With 0% schema description coverage, it fails to compensate, leaving the parameter underspecified.

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 the action (取得する) and the resource (詳細情報) from a product ID. It is explicit about the input and distinguishes itself from sibling tools like search_products or auth tools.

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 guidance is provided on when to use this tool versus alternatives such as furunavi_search_products or furunavi_add_favorite. The description lacks conditions or exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

furunavi_search_productsC

キーワードでふるなびの返礼品を検索します。

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo
limitNo
keywordYes

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, and the description does not disclose behavioral traits such as whether authentication is required, rate limits, or side effects. It only states the basic search action without additional safety or operational context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence, which is concise but lacks structured detail. It earns its place by being short but sacrifices completeness.

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?

Despite having 3 parameters and no output schema, the description fails to clarify return value format, pagination behavior, or sorting. For a search tool, this is insufficient for proper agent interaction.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 0% schema description coverage, the description should explain parameters beyond their names. It only implies the 'keyword' parameter, leaving 'page' and 'limit' (defaults, effects) unaddressed, adding minimal value over the schema.

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 the tool searches Furunavi's return gifts by keyword, distinguishing it from siblings like get_product (single product) and auth tools.

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?

The description provides no guidance on when to use this tool versus alternatives (e.g., furunavi_get_product) or prerequisites like authentication. Usage context is only implied by the sibling list.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 6 tool updatesv0.1.2
    • First observedfurunavi_add_favorite
    • First observedfurunavi_auth_clear
    • First observedfurunavi_auth_login
    • First observedfurunavi_auth_status
    • First observedfurunavi_get_product
    • First observedfurunavi_search_products

TDQS

A3.6/5.0

Scored across 6 tools

Disambiguation5/5

Each tool has a clearly distinct purpose: authentication management (status, login, clear), product search, product detail retrieval, and adding favorites. No overlapping functionality.

Naming Consistency4/5

All tools share the 'furunavi_' prefix and use snake_case. However, the structure varies: some combine domain and action (e.g., furunavi_auth_login) while others use verb-noun (e.g., furunavi_search_products), creating minor inconsistency.

Tool Count5/5

With 6 tools covering authentication, search, product details, and favorites, the count is well-scoped for the domain. Each tool serves a necessary function without bloat.

Completeness4/5

Core operations are present (auth CRUD, search, get product, add favorite). Missing features like removing favorites or listing favorites are minor gaps that agents can work around.

Maintenance

ActivitySlowing
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers