MCPサーバー

Benefits City

io.github.entradox/benefits-city
金融・投資 公開・接続可能 MCP 2025-11-25

このMCPでできること

Searches, compares, and tracks expiration dates and requirements for US bank, savings, and credit-card signup bonuses.

benefits_api_docs
Read this server's documentation
Use when you need field definitions, ordering guarantees or the error format before calling another tool.
読み取り専用 外部アクセスあり
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {}}
出力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['docs'], 'properties': {'docs': {'type': 'string'}}, 'additionalProperties': False}
benefits_examples
Get runnable example calls
Use to copy a working example call instead of guessing tool arguments.
読み取り専用 外部アクセスあり
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {}}
出力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['examples'], 'properties': {'examples': {'type': 'array', 'items': {'type': 'object', 'required': ['title', 'tool', 'arguments'], 'properties': {'tool': {'type': 'string'}, 'title': {'type': 'string'}, 'arguments': {'type': 'object', 'additionalProperties': {}}}, 'additionalProperties': False}}}, 'additionalProperties': False}
compare_bonuses
Compare 2-4 bonuses side by side
Use when a user is choosing between specific offers. Returns each offer's key fields plus a summary naming the highest bonus and the earliest expiry.
読み取り専用 外部アクセスあり
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['ids'], 'properties': {'ids': {'type': 'array', 'items': {'type': 'string'}, 'maxItems': 4, 'minItems': 2, 'description': "2 to 4 bonus ids to compare, e.g. ['chase-total-checking-400', 'sofi-checking-savings-400']."}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['bonuses', 'summary'], 'properties': {'bonuses': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'bank_or_issuer', 'product_name', 'bonus_type', 'bonus_amount_usd', 'bonus_max_usd', 'bonus_points', 'annual_fee_usd', 'requirements', 'min_deposit_usd', 'direct_deposit_required', 'expiry_date', 'states_available', 'application_url', 'source_url', 'last_verified_date', 'offer_history', 'verification', 'status', 'eligibility', 'sponsored', 'apply_url', 'disclosure_url'], 'properties': {'id': {'type': 'string'}, 'status': {'enum': ['active', 'expired', 'needs_review'], 'type': 'string'}, 'apply_url': {'type': ['string', 'null']}, 'sponsored': {'type': 'boolean'}, 'bonus_type': {'enum': ['bank_account', 'credit_card', 'savings'], 'type': 'string'}, 'source_url': {'type': ['string', 'null']}, 'eligibility': {'anyOf': [{'type': 'object', 'required': ['new_to_bank', 'once_per_lifetime', 'cooldown_months', 'issuer_rules'], 'properties': {'new_to_bank': {'type': ['boolean', 'null']}, 'issuer_rules': {'type': 'array', 'items': {'type': 'string'}}, 'cooldown_months': {'type': ['number', 'null']}, 'once_per_lifetime': {'type': ['boolean', 'null']}}, 'additionalProperties': False}, {'type': 'null'}]}, 'expiry_date': {'type': ['string', 'null']}, 'bonus_points': {'type': ['number', 'null']}, 'product_name': {'type': 'string'}, 'requirements': {'type': 'array', 'items': {'type': 'string'}}, 'verification': {'anyOf': [{'type': 'object', 'required': ['method', 'verified_at', 'sources'], 'properties': {'method': {'enum': ['issuer_page', 'aggregator_consensus'], 'type': 'string'}, 'sources': {'type': 'array', 'items': {'type': 'string'}}, 'verified_at': {'type': 'string'}}, 'additionalProperties': False}, {'type': 'null'}]}, 'bonus_max_usd': {'type': ['number', 'null']}, 'offer_history': {'type': 'array', 'items': {'type': 'object', 'required': ['amount_usd', 'valid_from', 'valid_to'], 'properties': {'valid_to': {'type': ['string', 'null']}, 'amount_usd': {'type': 'number'}, 'valid_from': {'type': ['string', 'null']}}, 'additionalProperties': False}}, 'annual_fee_usd': {'type': ['number', 'null']}, 'bank_or_issuer': {'type': 'string'}, 'disclosure_url': {'type': 'string'}, 'application_url': {'type': ['string', 'null']}, 'min_deposit_usd': {'type': ['number', 'null']}, 'bonus_amount_usd': {'type': 'number'}, 'states_available': {'anyOf': [{'type': 'string'}, {'type': 'array', 'items': {'type': 'string'}}]}, 'last_verified_date': {'type': ['string', 'null']}, 'direct_deposit_required': {'type': 'boolean'}}, 'additionalProperties': False}}, 'summary': {'type': 'object', 'required': ['highest_bonus_usd', 'earliest_expiry'], 'properties': {'earliest_expiry': {'type': ['string', 'null']}, 'highest_bonus_usd': {'type': 'string'}}, 'additionalProperties': False}}, 'additionalProperties': False}
expiring_soon
List bonuses expiring soon
Use when timing matters — a user asking what is about to end, or whether to act now. Offers with no stated end date are never included here.
読み取り専用 外部アクセスあり
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'days': {'type': 'integer', 'default': 30, 'maximum': 365, 'minimum': 1, 'description': 'Lookahead window in days (default 30).'}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['bonuses'], 'properties': {'bonuses': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'bank_or_issuer', 'product_name', 'bonus_type', 'bonus_amount_usd', 'bonus_max_usd', 'bonus_points', 'annual_fee_usd', 'requirements', 'min_deposit_usd', 'direct_deposit_required', 'expiry_date', 'states_available', 'application_url', 'source_url', 'last_verified_date', 'offer_history', 'verification', 'status', 'eligibility', 'sponsored', 'apply_url', 'disclosure_url'], 'properties': {'id': {'type': 'string'}, 'status': {'enum': ['active', 'expired', 'needs_review'], 'type': 'string'}, 'apply_url': {'type': ['string', 'null']}, 'sponsored': {'type': 'boolean'}, 'bonus_type': {'enum': ['bank_account', 'credit_card', 'savings'], 'type': 'string'}, 'source_url': {'type': ['string', 'null']}, 'eligibility': {'anyOf': [{'type': 'object', 'required': ['new_to_bank', 'once_per_lifetime', 'cooldown_months', 'issuer_rules'], 'properties': {'new_to_bank': {'type': ['boolean', 'null']}, 'issuer_rules': {'type': 'array', 'items': {'type': 'string'}}, 'cooldown_months': {'type': ['number', 'null']}, 'once_per_lifetime': {'type': ['boolean', 'null']}}, 'additionalProperties': False}, {'type': 'null'}]}, 'expiry_date': {'type': ['string', 'null']}, 'bonus_points': {'type': ['number', 'null']}, 'product_name': {'type': 'string'}, 'requirements': {'type': 'array', 'items': {'type': 'string'}}, 'verification': {'anyOf': [{'type': 'object', 'required': ['method', 'verified_at', 'sources'], 'properties': {'method': {'enum': ['issuer_page', 'aggregator_consensus'], 'type': 'string'}, 'sources': {'type': 'array', 'items': {'type': 'string'}}, 'verified_at': {'type': 'string'}}, 'additionalProperties': False}, {'type': 'null'}]}, 'bonus_max_usd': {'type': ['number', 'null']}, 'offer_history': {'type': 'array', 'items': {'type': 'object', 'required': ['amount_usd', 'valid_from', 'valid_to'], 'properties': {'valid_to': {'type': ['string', 'null']}, 'amount_usd': {'type': 'number'}, 'valid_from': {'type': ['string', 'null']}}, 'additionalProperties': False}}, 'annual_fee_usd': {'type': ['number', 'null']}, 'bank_or_issuer': {'type': 'string'}, 'disclosure_url': {'type': 'string'}, 'application_url': {'type': ['string', 'null']}, 'min_deposit_usd': {'type': ['number', 'null']}, 'bonus_amount_usd': {'type': 'number'}, 'states_available': {'anyOf': [{'type': 'string'}, {'type': 'array', 'items': {'type': 'string'}}]}, 'last_verified_date': {'type': ['string', 'null']}, 'direct_deposit_required': {'type': 'boolean'}}, 'additionalProperties': False}}}, 'additionalProperties': False}
get_bonus
Get one bonus offer in full
Use before recommending an offer, to read its exact requirements, minimum deposit, direct-deposit rules, expiry date, state availability and the date its terms were last verified. Quote the requirements rather than paraphrasing money amounts.
読み取り専用 外部アクセスあり
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['id'], 'properties': {'id': {'type': 'string', 'description': "Bonus id, e.g. 'chase-total-checking-400'. Use search_bonuses to find ids."}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['bonus'], 'properties': {'bonus': {'type': 'object', 'required': ['id', 'bank_or_issuer', 'product_name', 'bonus_type', 'bonus_amount_usd', 'bonus_max_usd', 'bonus_points', 'annual_fee_usd', 'requirements', 'min_deposit_usd', 'direct_deposit_required', 'expiry_date', 'states_available', 'application_url', 'source_url', 'last_verified_date', 'offer_history', 'verification', 'status', 'eligibility', 'sponsored', 'apply_url', 'disclosure_url'], 'properties': {'id': {'type': 'string'}, 'status': {'enum': ['active', 'expired', 'needs_review'], 'type': 'string'}, 'apply_url': {'type': ['string', 'null']}, 'sponsored': {'type': 'boolean'}, 'bonus_type': {'enum': ['bank_account', 'credit_card', 'savings'], 'type': 'string'}, 'source_url': {'type': ['string', 'null']}, 'eligibility': {'anyOf': [{'type': 'object', 'required': ['new_to_bank', 'once_per_lifetime', 'cooldown_months', 'issuer_rules'], 'properties': {'new_to_bank': {'type': ['boolean', 'null']}, 'issuer_rules': {'type': 'array', 'items': {'type': 'string'}}, 'cooldown_months': {'type': ['number', 'null']}, 'once_per_lifetime': {'type': ['boolean', 'null']}}, 'additionalProperties': False}, {'type': 'null'}]}, 'expiry_date': {'type': ['string', 'null']}, 'bonus_points': {'type': ['number', 'null']}, 'product_name': {'type': 'string'}, 'requirements': {'type': 'array', 'items': {'type': 'string'}}, 'verification': {'anyOf': [{'type': 'object', 'required': ['method', 'verified_at', 'sources'], 'properties': {'method': {'enum': ['issuer_page', 'aggregator_consensus'], 'type': 'string'}, 'sources': {'type': 'array', 'items': {'type': 'string'}}, 'verified_at': {'type': 'string'}}, 'additionalProperties': False}, {'type': 'null'}]}, 'bonus_max_usd': {'type': ['number', 'null']}, 'offer_history': {'type': 'array', 'items': {'type': 'object', 'required': ['amount_usd', 'valid_from', 'valid_to'], 'properties': {'valid_to': {'type': ['string', 'null']}, 'amount_usd': {'type': 'number'}, 'valid_from': {'type': ['string', 'null']}}, 'additionalProperties': False}}, 'annual_fee_usd': {'type': ['number', 'null']}, 'bank_or_issuer': {'type': 'string'}, 'disclosure_url': {'type': 'string'}, 'application_url': {'type': ['string', 'null']}, 'min_deposit_usd': {'type': ['number', 'null']}, 'bonus_amount_usd': {'type': 'number'}, 'states_available': {'anyOf': [{'type': 'string'}, {'type': 'array', 'items': {'type': 'string'}}]}, 'last_verified_date': {'type': ['string', 'null']}, 'direct_deposit_required': {'type': 'boolean'}}, 'additionalProperties': False}}, 'additionalProperties': False}
search_bonuses
Search bank and credit card signup bonuses
Use when a user wants to find a US bank account, savings, or credit card signup bonus, or asks which offers are worth opening. Returns matching offers sorted by bonus value, highest first.
読み取り専用 外部アクセスあり
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'limit': {'type': 'integer', 'default': 25, 'maximum': 100, 'minimum': 1, 'description': 'Max results to return.'}, 'query': {'type': 'string', 'description': "Keyword matched against bank/issuer and product name, e.g. 'Chase' or 'Sapphire'."}, 'state': {'type': 'string', 'description': "2-letter US state code, e.g. 'TX'. Nationwide offers always match; regional offers match only their states."}, 'bonus_type': {'enum': ['bank_account', 'credit_card', 'savings'], 'type': 'string', 'description': 'Restrict to bank account bonuses, credit card signup bonuses, or savings account bonuses.'}, 'min_bonus_amount_usd': {'type': 'number', 'minimum': 0, 'description': 'Minimum bonus value in USD. For credit cards this is the estimated USD value of the points/miles bonus.'}, 'direct_deposit_required': {'type': 'boolean', 'description': 'Filter on whether the bonus requires a qualifying direct deposit.'}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['bonuses'], 'properties': {'bonuses': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'bank_or_issuer', 'product_name', 'bonus_type', 'bonus_amount_usd', 'bonus_max_usd', 'bonus_points', 'annual_fee_usd', 'requirements', 'min_deposit_usd', 'direct_deposit_required', 'expiry_date', 'states_available', 'application_url', 'source_url', 'last_verified_date', 'offer_history', 'verification', 'status', 'eligibility', 'sponsored', 'apply_url', 'disclosure_url'], 'properties': {'id': {'type': 'string'}, 'status': {'enum': ['active', 'expired', 'needs_review'], 'type': 'string'}, 'apply_url': {'type': ['string', 'null']}, 'sponsored': {'type': 'boolean'}, 'bonus_type': {'enum': ['bank_account', 'credit_card', 'savings'], 'type': 'string'}, 'source_url': {'type': ['string', 'null']}, 'eligibility': {'anyOf': [{'type': 'object', 'required': ['new_to_bank', 'once_per_lifetime', 'cooldown_months', 'issuer_rules'], 'properties': {'new_to_bank': {'type': ['boolean', 'null']}, 'issuer_rules': {'type': 'array', 'items': {'type': 'string'}}, 'cooldown_months': {'type': ['number', 'null']}, 'once_per_lifetime': {'type': ['boolean', 'null']}}, 'additionalProperties': False}, {'type': 'null'}]}, 'expiry_date': {'type': ['string', 'null']}, 'bonus_points': {'type': ['number', 'null']}, 'product_name': {'type': 'string'}, 'requirements': {'type': 'array', 'items': {'type': 'string'}}, 'verification': {'anyOf': [{'type': 'object', 'required': ['method', 'verified_at', 'sources'], 'properties': {'method': {'enum': ['issuer_page', 'aggregator_consensus'], 'type': 'string'}, 'sources': {'type': 'array', 'items': {'type': 'string'}}, 'verified_at': {'type': 'string'}}, 'additionalProperties': False}, {'type': 'null'}]}, 'bonus_max_usd': {'type': ['number', 'null']}, 'offer_history': {'type': 'array', 'items': {'type': 'object', 'required': ['amount_usd', 'valid_from', 'valid_to'], 'properties': {'valid_to': {'type': ['string', 'null']}, 'amount_usd': {'type': 'number'}, 'valid_from': {'type': ['string', 'null']}}, 'additionalProperties': False}}, 'annual_fee_usd': {'type': ['number', 'null']}, 'bank_or_issuer': {'type': 'string'}, 'disclosure_url': {'type': 'string'}, 'application_url': {'type': ['string', 'null']}, 'min_deposit_usd': {'type': ['number', 'null']}, 'bonus_amount_usd': {'type': 'number'}, 'states_available': {'anyOf': [{'type': 'string'}, {'type': 'array', 'items': {'type': 'string'}}]}, 'last_verified_date': {'type': ['string', 'null']}, 'direct_deposit_required': {'type': 'boolean'}}, 'additionalProperties': False}}}, 'additionalProperties': False}
追加
benefits_examples
2026年10月4日2:40
追加
benefits_api_docs
2026年10月4日2:40
追加
compare_bonuses
2026年10月4日2:40
追加
expiring_soon
2026年10月4日2:40
追加
get_bonus
2026年10月4日2:40
追加
search_bonuses
2026年10月4日2:40