Open-source B2B and marketplace ecommerce; new stores include an MCP server for AI agents.
earnrate
개요
제작자가 쓴 설명(영어 원문)
Which credit card earns the most at a merchant, from your cards or every card, and why.
PopNx MCP의 세 기둥
이 세 가지는 절대 하나의 점수로 합치지 않아요. 의견, 측정, 인기는 서로 다른 것이니까요.
- 사용자 의견i아직 리뷰가 없어요리뷰는 다음 단계에서 계정 기능과 함께 열려요
- 우리의 기본 점검i3개 중 3개 통과공개된 정보로 점검했으며, 코드는 아직 스캔하지 않았어요
- 사용 정도i아직 측정 안 함★ –
할 수 있는 일
이 서버는 아직 쉬운 말로 된 요약을 쓰지 못했어요. 아래는 레지스트리에서 읽어 온 사실이에요.
- 연결 방식: 컴퓨터 또는 클라우드
- 전송 방식: stdio, Streamable HTTP
- 카테고리: 온라인 쇼핑몰 및 결제
- 입력해야 할 값: ANTHROPIC_API_KEY
설치
쓰고 있는 AI 앱을 고른 다음 설정을 복사하세요.
설치하기 전에
- 기본 점검: 3개 중 3개 통과
- 제작자의 서버에서 실행돼요. 내가 요청한 내용은 제작자의 서버를 거쳐요.
- 직접 입력할 값:
EARNRATE_WALLET,EARNRATE_LLM,EARNRATE_LLM_MODEL,EARNRATE_LLM_MAX_CALLS,EARNRATE_MERCHANT_CACHE,ANTHROPIC_API_KEY
비밀로 표시된 값은 내 계정의 열쇠예요. 절대 다른 사람과 공유하거나 채팅에 붙여 넣지 마세요.
필요한 것
어떤 앱을 쓰세요?
위에서 앱을 고르세요. 기억해 두었다가 다음부터는 버튼에 “…에 설치”라고 표시해요.
웹, 데스크톱, 모바일의 Claude에서 쓸 수 있어요:
- Settings → Connectors 열기
- Add custom connector 누르기
- 아래 주소를 붙여 넣고 Add 누르기
- 로그인하라고 하면 제작자의 서비스에 로그인하기
https://mcp.earnrate.dev또는 내 컴퓨터에서 실행하기
Claude Desktop → Settings → Developer → Edit Config를 열고 claude_desktop_config.json에 이 내용을 붙여 넣으세요
{
"mcpServers": {
"earnrate": {
"command": "npx",
"args": [
"-y",
"earnrate",
"mcp"
],
"env": {
"EARNRATE_WALLET": "your-value",
"EARNRATE_LLM": "your-value",
"EARNRATE_LLM_MODEL": "your-value",
"EARNRATE_LLM_MAX_CALLS": "your-value",
"EARNRATE_MERCHANT_CACHE": "your-value",
"ANTHROPIC_API_KEY": "your-value"
}
}
}
}터미널에서 이 명령어를 실행하세요
claude mcp add --transport http earnrate https://mcp.earnrate.dev또는 내 컴퓨터에서 실행하기
claude mcp add earnrate --env EARNRATE_WALLET=your-value --env EARNRATE_LLM=your-value --env EARNRATE_LLM_MODEL=your-value --env EARNRATE_LLM_MAX_CALLS=your-value --env EARNRATE_MERCHANT_CACHE=your-value --env ANTHROPIC_API_KEY=your-value -- npx -y earnrate mcp실행하기 전에 빈 값을 채워 주세요.
또는 설정을 직접 복사하기
프로젝트의 .cursor/mcp.json 또는 ~/.cursor/mcp.json에 붙여 넣으세요
{
"mcpServers": {
"earnrate": {
"url": "https://mcp.earnrate.dev"
}
}
}또는 내 컴퓨터에서 실행하기
또는 설정을 직접 복사하기
프로젝트의 .cursor/mcp.json 또는 ~/.cursor/mcp.json에 붙여 넣으세요
{
"mcpServers": {
"earnrate": {
"command": "npx",
"args": [
"-y",
"earnrate",
"mcp"
],
"env": {
"EARNRATE_WALLET": "your-value",
"EARNRATE_LLM": "your-value",
"EARNRATE_LLM_MODEL": "your-value",
"EARNRATE_LLM_MAX_CALLS": "your-value",
"EARNRATE_MERCHANT_CACHE": "your-value",
"ANTHROPIC_API_KEY": "your-value"
}
}
}
}브라우저가 앱을 열지 물어본 다음, 앱이 설정을 보여 주고 확인을 요청해요. 키 값은 비워 두니 직접 입력하세요.
또는 설정을 직접 복사하기
프로젝트의 .vscode/mcp.json에 붙여 넣으세요
{
"servers": {
"earnrate": {
"type": "http",
"url": "https://mcp.earnrate.dev"
}
}
}또는 내 컴퓨터에서 실행하기
또는 설정을 직접 복사하기
프로젝트의 .vscode/mcp.json에 붙여 넣으세요
{
"servers": {
"earnrate": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"earnrate",
"mcp"
],
"env": {
"EARNRATE_WALLET": "your-value",
"EARNRATE_LLM": "your-value",
"EARNRATE_LLM_MODEL": "your-value",
"EARNRATE_LLM_MAX_CALLS": "your-value",
"EARNRATE_MERCHANT_CACHE": "your-value",
"ANTHROPIC_API_KEY": "your-value"
}
}
}
}브라우저가 앱을 열지 물어본 다음, 앱이 설정을 보여 주고 확인을 요청해요. 키 값은 비워 두니 직접 입력하세요.
ChatGPT는 인터넷에 있는 서버에만 연결할 수 있어요:
- 웹에서 ChatGPT 열기 → Settings → Connectors (Apps)
- Create 또는 Add 누르기(일부 요금제는 먼저 Advanced에서 Developer mode를 켜야 해요)
- 아래 주소를 붙여 넣고 이름을 정한 뒤 저장하기
- 로그인하라고 하면 제작자의 서비스에 로그인하기
https://mcp.earnrate.dev메뉴 이름은 요금제나 시기에 따라 조금 다를 수 있어요.
선택한 앱은 이 기기의 쿠키에만 저장돼요. 계정은 필요 없어요.
직접 입력할 값
EARNRATE_WALLETenvPath to your wallet file. Default: ~/.earnrate/wallet.yamlEARNRATE_LLMenvSet to on to let Claude classify merchants earnrate doesn't know. Off by default.EARNRATE_LLM_MODELenvThe Claude model for merchant lookups, when EARNRATE_LLM is on.EARNRATE_LLM_MAX_CALLSenvMost Claude merchant lookups per session, when EARNRATE_LLM is on.EARNRATE_MERCHANT_CACHEenvWhere Claude's merchant answers are saved. Default: ~/.earnrate/merchant-cache.json- Your own Anthropic key, used only when EARNRATE_LLM is on.
이 설정은 제작자의 레지스트리 정보로 만들었어요. README와 다르면 README를 따르세요.
할 수 있는 일
서버가 도구 목록을 보여 주기 전에 로그인을 요구해요.
기본 점검i
누구나 볼 수 있는 정보를 점검했고, 코드는 읽지 않았어요. 해당하지 않는 항목은 개수에서 뺐어요. · 2026년 11월 7일 점검
- ✓ 통과
제작자와 저장소 일치
레지스트리 이름이 GitHub 계정 cwasley 기준으로 확인되었고, 이 계정이 저장소를 소유하고 있어요
- … 아직 점검 안 함
계속 관리되고 있음
아직 GitHub에서 이 저장소를 읽어 오지 않았어요
- … 아직 점검 안 함
라이선스 있음
아직 GitHub에서 이 저장소를 읽어 오지 않았어요
- ✓ 통과
엔드포인트 응답
139ms 만에 응답(HTTP 401)
- ✓ 통과
OAuth로 로그인
OAuth 로그인을 지원한다고 밝혀서, AI 앱이 로그인 화면으로 안내해 줘요
- … 아직 점검 안 함
도구 설명에 숨겨진 지시 없음
아직 점검하지 않았어요. 엔드포인트를 점검할 때 도구 목록을 읽어요
온라인 쇼핑몰 및 결제 카테고리의 다른 서버와 비교i
- 이 카테고리의 다른 서버 1749개 중 0%보다 스타가 많아요
- 이 카테고리의 다른 서버 1749개 중 90%보다 최근에 레지스트리에 공개됐어요
- 기본 점검 결과가 이 카테고리의 다른 서버 1749개 중 100%와 같거나 더 좋아요
레지스트리에서 이 카테고리의 활성 서버 전체와 비교했어요. 스타는 게시자가 저장소를 소유한 경우에만 세요.
자주 묻는 질문
earnrate, 안전한가요?
해당하는 기본 점검 3개 중 3개를 통과했어요. 코드는 읽지 않았어요. 키나 토큰을 넣기 전에 서버가 어떤 권한을 요구하는지 확인하고, 꼭 필요한 권한만 있는 키를 쓰세요.
어떤 키나 코드가 필요한가요?
입력해야 할 값: ANTHROPIC_API_KEY
내 컴퓨터에서 실행되나요, 클라우드에서 실행되나요?
둘 다 가능해요. 내 컴퓨터에 설치해도 되고, 클라우드 버전에 연결해도 돼요.
아직 관리되고 있나요?
GitHub 저장소는 마지막으로 – 변경됐고, 최신 버전(0.2.14)은 어제 레지스트리에 올라왔어요.
어떤 앱에서 쓸 수 있나요?
Claude Desktop, Claude Code, Cursor, VS Code처럼 MCP를 지원하는 앱에서 쓸 수 있어요. URL로 연결되기 때문에, 원격 MCP 서버를 지원하는 앱(예: 개발자 모드의 ChatGPT)에서도 쓸 수 있어요.
대신 쓸 수 있는 건 뭐가 있나요?
같은 카테고리에는: Spree Commerce: open-source B2B and marketplace ecommerce, Stripe MCP, MCP Cn Commerce
대안
같은 카테고리에서 다른 제작자가 만든 서버예요. 스타 순으로 정렬했어요.
카드 보는 법:★ GitHub 스타i세 기둥: 리뷰 · 점검 · 사용 정도i업데이트 = 최신 버전을 레지스트리에 공개한 날i
Stripe MCP
MCP server integrating with Stripe - tools for customers, products, payments, and more.
MCP Cn Commerce
8 read-only MCP platform entries; support is operation-specific; merchant live acceptance pending
제작자의 README
README 열기
제작자의 저장소에서 쓰인 그대로 가져왔어요. PopNx MCP가 검토하거나 보증한 내용이 아니에요. HTML, 이미지, 스크립트는 제거했어요. 링크를 누르면 이 사이트를 벗어나요.
earnrate
I wanted a ghost card: one card that always charges the best of my cards. The card networks won't allow one, so I built the next best thing.
earnrate is the best-card decision layer for people and AI agents. Give it a merchant, and it tells you which credit card earns the most there, from your own cards or from every card it knows, and why. Save your cards and it tracks your caps and chosen categories. It's valuation-aware and transparent about its assumptions. It never sees a card number.
- Runs on your machine, in your browser at earnrate.dev (which you can add to your phone's Home Screen and use offline), or in Claude as a connector at
https://mcp.earnrate.dev, with nothing to install. No account and no affiliate links; the hosted server counts requests by tool name, nothing about what you ask. See the privacy page. - U.S. cards and U.S. merchants, for now.
Status: early, and it works: the engine, CLI, optional Claude merchant lookup, MCP server and the hosted Claude connector. See the benchmark (run 2026-11-03) for how it compares to an existing card-picking MCP server.
Try it
Needs Node 22 or later.
npm install -g earnrate
earnrate restaurants # the best cards earnrate knows, no setup earnrate trader joes --cards amex-gold,chase-prime-visa # just these cards earnrate whole foods 80 # add an amount to see the dollars back
You never have to enter your cards: with none, every answer covers every card earnrate knows. To have earnrate remember yours, track caps and welcome bonuses, and give a cheat sheet for your own wallet, save them:
earnrate cards sapphire # find your cards' IDs
earnrate add chase-sapphire-preferred earnrate add amex-gold earnrate whole foods 80
Adding a card tells you anything else it needs to earn correctly, such as the categories you picked on Cash+, Amazon Prime for Prime Visa's 5%, or which rotating categories you've activated. earnrate update and earnrate memberships set those. Memberships and point values (earnrate values) can be saved without any cards, and every answer uses them. Using an AI assistant instead? Add earnrate to it and ask; name your cards or save them there.
With the example wallet, it prints:
Whole Foods Market · $80
Use Blue Cash Preferred: 6% back, about $4.80. High confidence.
- Blue Cash Preferred 6% $4.80 6% cash back on supermarkets. ...
- Prime Visa 5% $4.00 5% cash back on Whole Foods Market, with Amazon Prime. ...
- Amex Gold 4% $3.20 4x Amex Membership Rewards on supermarkets. ... Valued at 1¢ per point: 4% back.
- 6 more cards (--all lists them)
Amex Gold beats Blue Cash Preferred here if Amex Membership Rewards (MR) points are worth more than 1.5¢ (you value them at 1¢).
Assumes Whole Foods Market codes as supermarkets (MCC 5411). Values points at: Amex Membership Rewards (MR) at 1¢, SoFi Member Rewards at 1¢, Chase Ultimate Rewards (UR) at 1¢.
Options: --online or --in-store, --valuation flat|points-heavy, --all, --json, --date, --country. Run earnrate --help for details. To keep the wallet somewhere else, set EARNRATE_WALLET to its path.
earnrate cheatsheet prints the card to use for each everyday kind of purchase this quarter (groceries, dining, gas, Amazon, Costco, travel, streaming, drugstores, everything else), with your caps, picks and activations as they are now. --cards uses cards you name instead, and --every-card picks from every card to show what's worth getting. It's also in the My wallet tab on earnrate.dev.
earnrate todo lists what your saved cards need this quarter, soonest first: bonuses to activate (with Chase's deadline), categories to pick, caps running low and welcome bonuses to finish. --ics earnrate.ics also writes the dates as a calendar file with reminders. My wallet on earnrate.dev shows the same list as "To do now", with an "Add the dates to your calendar" button.
earnrate missed lists the stores earnrate didn't recognize when you asked here, most asked about first. They're kept only on your computer; open an issue to suggest one for the data.
Your wallet
The wallet is a YAML file (~/.earnrate/wallet.yaml) listing your cards by ID, which is each card's file name in data/cards/. earnrate add, update, remove, memberships and values write it for you and keep your comments, or you can edit it by hand. Only the cards are required:
version: 1 # the file's format; earnrate writes it
valuations: UR: 1.5 # cents per point; leave out to use earnrate's defaults memberships: [amazon-prime] # unlocks Prime Visa's 5% cards:
- id: chase-sapphire-preferred
- id: chase-prime-visa
- id: chase-freedom-flex activated: [q4-2026-grocery] # rotating 5% categories you've activated
- id: usbank-cash-plus chosen: # categories you picked for the quarter period: 2026-Q4 picks: five-percent: [tv-internet-streaming, movie-theaters] two-percent: [gas-ev-charging]
Rule IDs for activated and the choice slots for chosen are in each card's file; membership IDs (such as bofa-rewards-premier for a BofA Rewards tier) are in data/memberships.yaml, and earnrate memberships lists them. earnrate values UR=1.5 saves what a program's points are worth to you; every answer uses it. Add costco if you have a Costco membership: Costco Anywhere needs one, and spending answers count its $65 a year unless you have it, hold the card or spend at Costco. Currencies and their default values are in data/currencies.yaml. Spending caps fill up as you record purchases from an AI assistant or import a statement with --apply, and reset with each period.
Merchants earnrate doesn't know
earnrate ships with a curated list of merchants. For anything else it falls back to each card's base rate and says so. Pass --llm (or set EARNRATE_LLM=on) to have Claude guess the category instead:
- It uses your own
ANTHROPIC_API_KEYand sends only the merchant text you typed. Amounts, cards and wallet contents never leave your machine. - Each answer is saved in
~/.earnrate/merchant-cache.json, so a merchant is only looked up once. - The answer is labeled as Claude's guess, shows its reasoning, and is never higher than medium confidence.
- Curated merchants never reach Claude.
Welcome bonuses
When you're working toward a card's sign-up bonus, tell earnrate when the account opened:
earnrate update chase-sapphire-preferred --bonus-opened 2026-10-01 --bonus-spent 400
Or tell your AI assistant ("I opened my Sapphire Preferred on October 1"), or check "I'm working on this card's welcome bonus" in My wallet on earnrate.dev. --no-bonus stops tracking it. In the wallet file it looks like this:
- id: chase-sapphire-preferred
bonus: { opened: 2026-10-01, spend: 5000, by: 2026-12-31, points: 75000 }
While the bonus is open and you're behind an even pace to the deadline, that card wins wherever it's accepted, and the answer says how much is left, the weekly pace to finish on time, what the bonus is worth at your point values, and what using it costs compared with your best earner. On pace, it's the pick only where it earns as much as your best card, and it's mentioned where it comes within a point; otherwise your best card wins. Spend counts up as you record purchases from an AI assistant or import a statement with --apply; refunds count down. Once it's met or the deadline passes, the card goes back to the normal ranking. With two open bonuses, one behind pace comes first, then the one needing more spend per day.
spend, by and the reward (points, or dollars for cash back) default to the card's published offer once earnrate has one; set them when your offer was different.
First-year rates
Some cards earn more for a stretch after the account opens: Discover it Cash Back's Cashback Match doubles every rate for the first 365 days, and BofA Customized Cash pays 6% in its choice category for the first year. earnrate uses them only for purchases inside that window, so it needs the opening date:
earnrate update discover-it-cash-back --opened 2026-03-04
In the wallet file that's opened: 2026-03-04 on the card; a tracked welcome bonus's opened counts too. Without a date, earnrate never assumes the card is new: it ranks it at its standard rates and says when a first-year rate would change the answer. The to-do list says when a first-year rate ends this quarter.
Paying abroad
Many cards charge a foreign transaction fee, often 3%, on every purchase outside the U.S., which can wipe out what they earn. Give the country with --country (two letters, like FR) and earnrate ranks each card after its fee, says what a card with a fee nets, and points out cards that earn extra abroad:
earnrate restaurants --country GB
earnrate best groceries --country JP # every card earnrate knows
Each card's fee comes from its issuer's rates-and-fees table, and earnrate cards shows it. The cheat sheet has an "Abroad" line, on earnrate.dev a "Paying outside the U.S." box does the same, and in Claude, mention where you're paying.
Spend bonuses
Some cards pay a bonus once a year after you spend a set amount on them, like the IHG One Rewards cards' "10,000 bonus points after you spend $15,000 on purchases each calendar year". earnrate cards ihg lists each card's, with what it pays besides points (status, Elite Night Credits, free nights). Only the points are valued.
Every purchase on the card counts. Once earnrate knows how much you've spent on the card this year, an answer adds the bonus points to the purchase that reaches the total and says so, and earnrate todo lists a bonus once you're at least 75% of the way there. Without that tracking, a spend bonus never changes an answer: earnrate doesn't guess at spending it wasn't told about. Spending counts up as you record purchases from an AI assistant or import a statement with --apply. You can also set it in the card's settings on earnrate.dev, or in the wallet file:
- id: chase-ihg-one-rewards-premier
milestone_usage: spend-15k: { period: '2026', spent: 11200 } # spend-40k counts the same purchases
earnrate simulate adds a bonus's points to a card's yearly rewards when the year's spending on it reaches the total.
Store credits
Some cards give dollars back for spending at a named store, up to a limit each period: Amex Platinum's $75 a quarter at lululemon, Amex Gold's $7 a month at Dunkin', Blue Cash Preferred's $10 a month on Disney+, Hulu or ESPN subscriptions. The purchase still earns the card's rate; the credit comes on top. Asking about the store with no cards saved lists the cards with a credit there first, "With a store credit", in dollars ("$75 back each quarter, then 1x Amex Membership Rewards"), then the usual ranking by rate. A search for a kind of purchase ("clothing") doesn't.
With a saved wallet, a credit counts only once you mark it enrolled (these all need enrolling with the issuer), and only while some is left this period. Given an amount, its dollars count toward that card's return and can make it the pick; without one, the answer shows what's left. Reco
앞부분만 보여 드려요. 나머지는 저장소에서 읽어 보세요