Servidor MCP

Benefits City

io.github.entradox/benefits-city
Finanzas e inversión Público y accesible MCP 2025-11-25

Qué hace este 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.
Solo lectura Acceso externo
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {}}
Esquema de salida
{'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.
Solo lectura Acceso externo
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {}}
Esquema de salida
{'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.
Solo lectura Acceso externo
Esquema de entrada
{'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}
Esquema de salida
{'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.
Solo lectura Acceso externo
Esquema de entrada
{'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}
Esquema de salida
{'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.
Solo lectura Acceso externo
Esquema de entrada
{'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}
Esquema de salida
{'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.
Solo lectura Acceso externo
Esquema de entrada
{'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}
Esquema de salida
{'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}
Añadido
benefits_examples
4 de October de 2026 a las 02:40
Añadido
benefits_api_docs
4 de October de 2026 a las 02:40
Añadido
compare_bonuses
4 de October de 2026 a las 02:40
Añadido
expiring_soon
4 de October de 2026 a las 02:40
Añadido
get_bonus
4 de October de 2026 a las 02:40
Añadido
search_bonuses
4 de October de 2026 a las 02:40