{"name":"io.github.calademos/creditsync","slug":"calademos-creditsync","title":null,"description":"Track credit card benefits, welcome offers, loyalty points, and money deadlines. No bank login.","url":"https://mcp.market/server/calademos-creditsync","rating":null,"grade":"C","score":55,"certified":false,"status":"active","category":"finance","tags":["finance"],"presence":{"score":10,"stars":null,"forks":null,"downloads_week":27,"last_push_at":null,"license":null},"uptime":null,"claimed":false,"transport":"npm","callable_via_gateway":false,"default_price_micros":0,"repository":null,"website":"https://www.creditsync.pro/for-developers","version":"1.20.1","remotes":[],"packages":[{"registryType":"npm","registryBaseUrl":"https://registry.npmjs.org","identifier":"@creditsync-pro/mcp","version":"1.20.1","transport":{"type":"stdio"},"environmentVariables":[{"description":"CreditSync API token (cs_ prefix), created at https://www.creditsync.pro/settings/api — requires a Pro subscription","isRequired":true,"isSecret":true,"name":"CREDITSYNC_API_KEY"}]}],"tools":[{"name":"add_external_card","description":"Add a card that is NOT in the CreditSync catalog for application eligibility tracking (Chase 5/24, Amex 2/90). Use this for cards the user holds that CreditSync does not track benefits for (e.g., store cards, non-premium cards). Business cards are automatically excluded from Chase 5/24 count but still tracked for reference. Always set is_business correctly — it affects eligibility calculations.","write_action":false,"price_micros":0,"input_schema":null},{"name":"add_reward","description":"Track a standalone reward NOT tied to a card — gift cards, travel vouchers, airline credits, coupons, retention offers. Use this for items the user received outside the card benefit system (e.g., AA flight credit from a cancellation, hotel gift card from a retention call). Do NOT use this for benefits that come from a card (free nights, statement credits) — those are already tracked via list_benef","write_action":false,"price_micros":0,"input_schema":null},{"name":"archive_benefit","description":"Archive (soft delete) a benefit. Sets status to 'discontinued'. Historical periods and usage data are preserved. The benefit stops appearing in active views. Use update_benefit with status='active' to restore.","write_action":false,"price_micros":0,"input_schema":null},{"name":"archive_card","description":"Deactivate a credit card (soft delete). Benefits and usage history are preserved but the card stops appearing in active views. Use card_id from list_cards.","write_action":false,"price_micros":0,"input_schema":null},{"name":"bulk_import_cards","description":"Import multiple credit cards in one call. Accepts natural language names (fuzzy matched against catalog) or exact card_template_ids. Returns per-card results: created, already_exists, ambiguous (with candidates), or failed. IMPORTANT: Use dry_run=true for first-time imports to confirm matches before committing. Household member profiles (owner names) must exist before import — create them first if","write_action":false,"price_micros":0,"input_schema":null},{"name":"create_benefit","description":"Add a new benefit to a card. Generates periods automatically based on schedule_type. For mid-year additions or perks not yet in the catalog. Returns 409 if a benefit with the same name already exists on the card (catalog-backed or custom). Pass force=true to override and create a duplicate intentionally.","write_action":true,"price_micros":0,"input_schema":null},{"name":"create_card","description":"Add a new credit card to the household portfolio. Accepts a card name (fuzzy match) or exact card_template_id from search_catalog. If multiple cards match the name, returns candidates to choose from — call again with the confirmed card_template_id. Supports full metadata on creation (last_four, original_open_date, is_business, etc.) so no follow-up update_card call is needed.","write_action":true,"price_micros":0,"input_schema":null},{"name":"create_welcome_offer","description":"Record a welcome offer on a card. Tracks bonus amount, spend requirement, deadline, and progress. The agent must explicitly set status to 'earned' after confirming the bonus posted — no auto-earn.","write_action":true,"price_micros":0,"input_schema":null},{"name":"delete_retention_offer","description":"Delete a retention offer entry from a card's history. Use the event_id from log_retention_offer's response or from get_card's retention_history. For correcting mistakes, removing smoke-test data, etc.","write_action":true,"price_micros":0,"input_schema":null},{"name":"get_524_status","description":"Compute Chase 5/24 eligibility. Returns current count, slots available, which cards count (including external cards not tracked in CreditSync), when the next slot opens, and data quality warnings.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_action_items","description":"Get prioritized action items ranked by value at risk. 6 item types emitted: benefit_expiring, at_risk_this_period (pattern-backed leakage signal — Phase 8 D), unused_prior_period, fee_renewal (with recommended_action, retention_leverage, historical_offers), negative_roi, welcome_offer_at_risk. Filter via action_types — accepts both category names (expiring, renewal_approaching) and specific respon","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_benefit","description":"Get detailed information about a specific benefit including all historical periods.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_best_card","description":"Given a spend category, return the best card in the user's portfolio ranked by effective value per dollar spent. Uses stored CPP valuations by default. Accept cpp_override to adjust valuations for specific redemptions.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_calendar_events","description":"Get benefit deadlines, credit resets, fee renewals, and expiry windows as structured calendar-ready event objects. Use this to intelligently create, skip, or customize calendar reminders based on the user's actual schedule.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_card","description":"Get a single card's complete picture: all benefits with current period status, captured vs annual fee ROI, renewal timeline, and total value at risk. Use card_id from list_cards.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_dashboard","description":"Get dashboard metrics: benefits expiring in 30 days, captured this month, total available, and net ROI value (captured vs annual fees).","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_earn_rates","description":"Get earning rates for a specific card. Returns all bonus categories with multipliers, currencies, caps, channel requirements, and CPP-based dollar value per dollar spent.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_transfer_partners","description":"Get all transfer partners for a loyalty currency with transfer ratios. Returns the static partner map — no active bonus data. Use to check if a specific airline/hotel program is reachable from a bank currency.","write_action":true,"price_micros":0,"input_schema":null},{"name":"list_benefits","description":"List all tracked credit card benefits with current period status, amounts, and expiry dates. This includes statement credits, free night certificates, companion certs, lounge passes, and all other card-linked benefits. For standalone items NOT tied to a card (gift cards, vouchers, travel credits), use list_rewards instead. Filter by status (unused/partial/used), card nickname, or expiring within N","write_action":false,"price_micros":0,"input_schema":null},{"name":"list_cards","description":"List all credit cards with issuer (co-brand/marketing label), issuing_bank (actual bank that issues the card — use for application rule logic), annual fee, renewal month, owner, last 4 digits, and benefit count. Note: issuer and issuing_bank can differ for co-branded cards (e.g., Hilton Aspire has issuer=Hilton, issuing_bank=Amex). Use last_four to match cards against external sources (statements,","write_action":false,"price_micros":0,"input_schema":null},{"name":"list_programs","description":"List tracked loyalty programs with balances, CPP valuations, staleness, and transfer partner counts. Use has_balance to cut payload ~80% by excluding zero-balance programs.","write_action":false,"price_micros":0,"input_schema":null},{"name":"list_rewards","description":"List standalone rewards NOT tied to a card — gift cards, travel vouchers, airline credits, coupons, and other items the user added manually. These are separate from card-linked benefits (use list_benefits for free night certificates, companion certs, statement credits, and other benefits that come from a card). Filter by type or status.","write_action":false,"price_micros":0,"input_schema":null},{"name":"list_welcome_offers","description":"List all welcome offers with spend progress, deadline urgency, and bonus valuations. Filter by status, owner, deadline window, or origin (signup vs retention). Each returned offer includes `origin` and `source_event_id` — retention-origin offers link back to the CardEvent retention_offer row that spawned them.","write_action":false,"price_micros":0,"input_schema":null},{"name":"log_retention_offer","description":"Log a retention offer interaction on a card. Builds historical dataset for retention strategy. Prefer structured fields (offer_type, offer_value_dollars/offer_points+offer_currency, outcome) over the legacy accepted boolean — they feed priority scoring and retention analytics. When the offer comes with a spend requirement (e.g., '10K MR after $5K spend in 3 months'), pass spend_requirement + spend","write_action":false,"price_micros":0,"input_schema":null},{"name":"mark_benefit_used","description":"Mark a benefit period as used, partially used, or unused. Use the period_id from list_benefits or get_benefit. If status is omitted, defaults to 'used' (the 90% use case).","write_action":false,"price_micros":0,"input_schema":null},{"name":"remove_external_card","description":"Remove an external card from 5/24 tracking. Use when a card is closed or was added by mistake. Only affects external cards — CreditSync-tracked cards are managed via archive_card.","write_action":true,"price_micros":0,"input_schema":null},{"name":"remove_reward","description":"Delete a reward permanently. Use when the reward was added by mistake or is no longer relevant.","write_action":true,"price_micros":0,"input_schema":null},{"name":"search_catalog","description":"Search the CreditSync card catalog by issuer or card name. Returns matching templates with IDs, fees, and benefit counts. Use this to find card_template_id for create_card.","write_action":false,"price_micros":0,"input_schema":null},{"name":"update_balance","description":"Update a loyalty program balance. Supports absolute set or relative delta. Auto-creates the program if it doesn't exist (requires display_name on first call).","write_action":true,"price_micros":0,"input_schema":null},{"name":"update_benefit","description":"Update a benefit's details. Audit-logged. Amount changes affect future periods only. Use status 'discontinued' to archive a removed perk.","write_action":true,"price_micros":0,"input_schema":null},{"name":"update_card","description":"Update card metadata: nickname, notes, original open date, product change history, business flag, 5/24 status, last four digits. All changes are audit-logged. Notes are appended with timestamp, never replaced.","write_action":true,"price_micros":0,"input_schema":null},{"name":"update_retention_offer","description":"Patch a previously-logged retention offer event in place. event_id and date are immutable; everything else (offer text, scalars, outcome, notes) can be updated. Use this to fix missing offer_currency, clarify offer text, or update outcome if the call was re-escalated. Validation runs on the merged state — e.g., you can't update offer_type to 'points_bonus' without ensuring offer_currency is set. C","write_action":true,"price_micros":0,"input_schema":null},{"name":"update_reward","description":"Update a reward's details or mark it as used. Set status to 'used' when the reward has been redeemed.","write_action":true,"price_micros":0,"input_schema":null},{"name":"update_welcome_offer","description":"Update spend progress or status on a welcome offer. Supports absolute spend or delta. Set status to 'earned' only after confirming the bonus actually posted.","write_action":true,"price_micros":0,"input_schema":null}],"scan":{"score":55,"grade":"C","scanned_at":"2026-09-26T11:38:11.721Z","report":{"scannerVersion":"0.1.9","scannedAt":"2026-09-26T11:38:11.834Z","components":{"code":{"score":25,"max":25,"notes":["5 source files scanned"]},"reliability":{"score":-1,"max":20,"notes":["no gateway calls yet and no remote to probe"]},"poisoning":{"score":-1,"max":15,"notes":["tools not inspected (local package is not executed); not counted"]},"auth":{"score":6,"max":15,"notes":["static API keys via environment variables"]},"maintenance":{"score":3,"max":15,"notes":["no repository listed"]},"identity":{"score":2,"max":10,"notes":["no repository or website to verify"]}},"findings":[{"id":"maint.no-repo","severity":"low","component":"maintenance","title":"No source repository listed"}],"inputs":{"packages":[{"registryType":"npm","identifier":"@creditsync-pro/mcp","version":"1.20.1","found":true,"hasInstallScripts":false,"dependencyCount":2,"publishedAt":"2026-07-02T17:05:00.801Z","weeklyDownloads":27}],"repo":{"found":false},"icon":{"url":"https://www.creditsync.pro/icons/apple-touch-icon.png","source":"site","width":180,"height":180},"presence":{"stars":null,"forks":null,"downloadsWeek":27,"license":null,"lastPushAt":null,"score":10}}}},"grade_history":[],"reviews":[]}