プロトタイプ · プレビュー版:公式レジストリのすべてのサーバーを掲載し、30分ごとに同期しています。レビューとアカウント機能は今後のステップで始まります。
PopNx MCPAIを使う人のためのMCPサーバー · やさしい言葉で解説

NeoSatoshi Card Recognition

作者:Cookiebreedバージョン 0.7.0i★ –iパソコンで動く
レジストリ名io.github.Cookiebreed/card-recognition-mcp

インストール

概要

作者による説明(英語の原文)

Identify trading and football cards in a photo, search and correct them, with Cardmarket prices.

PopNx MCPの3つの柱

この3つを1つのスコアにまとめることはしません。意見、測定、人気はそれぞれ別のものだからです。

できること

このサーバーのやさしい解説はまだ書いていません。以下はレジストリから読み取った事実です。

  • 接続方法: パソコンで動く
  • トランスポート: stdio
  • カテゴリ: 会計・財務・税務
  • 入力が必要なもの:NEOSATOSHI_API_KEY

インストール

使っているAIアプリを選んで、設定をコピーしてください。

インストールの前に

  • 基本チェック:1項目中1項目に合格
  • あなたのパソコンで、あなたのユーザーと同じ権限(ファイル、ネットワーク、アプリ)で動きます。
  • 自分で入力するもの: NEOSATOSHI_API_KEY, NEOSATOSHI_ALLOWED_DIRS

「秘密」と表示された値は、あなたのアカウントの鍵です。絶対に人に教えたり、チャットに貼り付けたりしないでください。

必要なもの

  • npmNode.jsのインストール(npxコマンドに必要)

どのアプリを使っていますか?

上でアプリを選んでください。選んだアプリを覚えておくので、次からはボタンに「…にインストール」と表示されます。

Claude Desktop → Settings → Developer → Edit Config を開き、claude_desktop_config.json にこれを貼り付けます

{
  "mcpServers": {
    "card-recognition": {
      "command": "npx",
      "args": [
        "-y",
        "neosatoshi-card-mcp"
      ],
      "env": {
        "NEOSATOSHI_API_KEY": "your-value",
        "NEOSATOSHI_ALLOWED_DIRS": "your-value"
      }
    }
  }
}

ターミナルでこれを実行します

claude mcp add card-recognition --env NEOSATOSHI_API_KEY=your-value --env NEOSATOSHI_ALLOWED_DIRS=your-value -- npx -y neosatoshi-card-mcp

動かす前に、空欄の値を入力してください。

Cursorで開く

または、設定を自分でコピーする

プロジェクトの .cursor/mcp.json、または ~/.cursor/mcp.json に貼り付けます

{
  "mcpServers": {
    "card-recognition": {
      "command": "npx",
      "args": [
        "-y",
        "neosatoshi-card-mcp"
      ],
      "env": {
        "NEOSATOSHI_API_KEY": "your-value",
        "NEOSATOSHI_ALLOWED_DIRS": "your-value"
      }
    }
  }
}

ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。

VS Codeで開く

または、設定を自分でコピーする

プロジェクトの .vscode/mcp.json に貼り付けます

{
  "servers": {
    "card-recognition": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "neosatoshi-card-mcp"
      ],
      "env": {
        "NEOSATOSHI_API_KEY": "your-value",
        "NEOSATOSHI_ALLOWED_DIRS": "your-value"
      }
    }
  }
}

ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。

これはパソコンで動くサーバーですが、ChatGPTがつなげるのはインターネット上のサーバーだけです。ほかのアプリを選んでください。

選んだアプリは、この端末のCookieに保存されます。アカウントは不要です。

自分で入力する値

  • NEOSATOSHI_API_KEY 秘密 env
    Your NeoSatoshi API key. Optional: without it the public demo key is used (10 detections per day per network).
  • NEOSATOSHI_ALLOWED_DIRS env
    Optional list of directories the server may read images from, separated by ':' (';' on Windows). Unset means any readable image file.

この設定は、作者のレジストリ登録情報から作成しています。READMEと違う場合は、READMEに従ってください。

できること

パソコンで動くサーバーです。インストールすると、ツール一覧がAIアプリに表示されます。

基本チェックi

誰でも見られる情報をチェックしており、コードは読んでいません。当てはまらない項目は数に入れていません。 · 2026年11月7日にチェック

  • ✓ 合格

    作者とリポジトリが一致

    レジストリ名は、リポジトリを所有するGitHubアカウント Cookiebreed で確認済みです

  • … 未チェック

    今もメンテナンスされている

    このリポジトリはまだGitHubから読み取っていません

  • … 未チェック

    ライセンスがある

    このリポジトリはまだGitHubから読み取っていません

  • – 対象外

    エンドポイントが応答する

    これはパソコンで動くため、インターネット上のエンドポイントはありません

  • – 対象外

    OAuthでサインイン

    パソコンで動き、代わりにローカルの設定を使います

  • … 未チェック

    ツールの説明に隠れた指示がない

    パソコンで動くサーバーです。ツール一覧を読み取れるのは、インターネット上のエンドポイントがある場合だけです

会計・財務・税務のほかのサーバーとの比較i

  • このカテゴリのほかの1734件のうち0%よりスターが多い
  • このカテゴリのほかの1734件のうち92%より最近レジストリに公開
  • 基本チェックの結果が、このカテゴリのほかの1734件のうち100%と同じかそれ以上

レジストリでこのカテゴリにある有効なすべてのサーバーと比較しています。スターは、公開者がリポジトリの所有者である場合だけ数えます。

よくある質問

NeoSatoshi Card Recognitionは安全ですか?

当てはまる基本チェック1項目のうち1項目に合格しました。コードは読んでいません。キーやトークンを追加する前に、サーバーがどんなアクセスを求めているかを確認し、必要な権限だけを持つキーを使ってください。

どんなキーやコードが必要ですか?

入力が必要なもの:NEOSATOSHI_API_KEY

パソコンで動きますか、それともクラウドですか?

あなたのパソコンで動きます。必要なときにAIアプリが起動し、データは作者のサーバーを通りません(サーバー自体がオンラインサービスを呼び出す場合を除きます)。

今もメンテナンスされていますか?

GitHubリポジトリの最終更新は–、最新バージョン(0.7.0)がレジストリに届いたのは3 日前です。

どのアプリで使えますか?

Claude Desktop、Claude Code、Cursor、VS CodeなどのMCP対応アプリで使えます。パソコンにNode.jsも必要です。

代わりに使えるものは?

同じカテゴリには:Finance Toolkit, SolidInvoice, Korea Tax Calculator

代わりの候補

同じカテゴリで、ほかの作者が作ったサーバー。スターの多い順。

カードの見方:★ GitHubスターi3つの柱:レビュー · チェック · 利用状況i更新=最新バージョンをレジストリに公開した日i

Finance Toolkit

作者:JerBouma

500+ transparent financial methods calculated from raw statements, not third-party endpoints.

パソコンでもクラウドでも★ 5,496MIT今日更新
インストール

SolidInvoice

作者:SolidInvoice

Create and send invoices and quotes, manage clients, and track payments in SolidInvoice.

クラウドで動く★ 981MIT8 日前更新
インストール

作者のREADME

READMEを開く

作者のリポジトリから書かれたとおりにコピーしたものです。PopNx MCPは内容を確認・推奨していません。HTML、画像、スクリプトは取り除いています。リンクはこのサイトの外へ移動します。

NeoSatoshi Card Recognition MCP server

MCP server for the NeoSatoshi card recognition API: lets Claude, Cursor, Codex and other MCP clients identify Pokémon, One Piece, Disney Lorcana, Yu-Gi-Oh!, Magic: The Gathering, Star Wars: Unlimited, Digimon Card Game and football (soccer) cards in a photo (binder pages work, football one card per photo) and get set, number, rarity, Cardmarket ID and daily prices as JSON (football: player, release and parallel), and search the card catalog.

  • Transport: stdio
  • npm package: neosatoshi-card-mcp, binary neosatoshi-card-mcp
  • Node.js 18 or newer

Tools

recognize_cards
ArgumentTypeDescription
image_pathstringLocal .jpg, .jpeg or .png, at most 12 MB (football 4 MB). ~ is expanded.
image_urlstringPublic https:// URL of a JPEG or PNG. Forwarded to the API as is; the server never downloads it.
image_base64stringBase64 JPEG or PNG, a data:image/...;base64, prefix is accepted.
tcgenumpokemon (default), onepiece, lorcana, yugioh, magic, star_wars_unlimited, digimon, football

| include_images | boolean | Also return the catalog image of up to 10 recognised cards (from our CDN, at most 4 MB together), so the assistant can compare them with the photo. Default false. |

Give exactly one of image_path, image_url, image_base64. The result has a short text summary per card, the full API response as JSON text, and the same response as structuredContent. API errors come back as tool errors with the API's error code and message.

Example summary line:

1. Cinderace ex | Scarlet & Violet Black Star Promos (PR-SV) #163 | Promo | en | Cardmarket 796939 | trend 3.59 EUR | confidence 0.85 | 5 alternatives

Digimon line (alternative arts share the card number; the printing id and its variant follow the set):

1. WarGreymon | RELEASE SPECIAL BOOSTER Ver.1.0 [BT01-03] (BT1) #BT1-025 | BT1-025_P1 Alternative Art | SR | en | Cardmarket 620026 | trend 16.85 EUR | TCGplayer 9.54 USD | confidence 1

Digimon Card Game (digimon), English and Japanese: recognised by card number and name. When the picture cannot tell the alternative arts apart, print_unconfirmed is true, card_id is dg-c- without a price, and the printings come as alternatives, each with its price, to pick with correct_card. Cardmarket prices (EUR) for English and Japanese printings, TCGplayer (USD) for English only. Older Digimon products (the 1999 card game, the 2000 trading cards) are not recognised.

Football line (no prices yet, the parallel is a suggestion a person should confirm):

1. Niklas Beste | 2025-26 Topps Chrome Bundesliga #BA-NBE | Base Cards Autograph Variation | Sport-Club Freiburg | parallel Gold Wave Refractor /50 (suggested, confirm it) | serial 37 | 2 alternatives | no price yet

When the client sends a progress token (Claude Code, Claude Desktop and most clients do), the detection is streamed and each card is reported as soon as it is recognised: on an 8 card Lorcana page the first card came after about 8 seconds, all eight after 11.

The API identifies cards; it does not grade condition (a PSA, BGS or CGC slab, for football also SGC, comes back with the grade read from the label). One card usually takes about 4 seconds, about 10 to 12 seconds on the first request after a quiet period; a binder page with 9 cards about 17 seconds; a football card about 6 to 25 seconds. The client waits up to 120 seconds.

recognize_folder
ArgumentTypeDescription
folderstringLocal folder with the photos (not its subfolders). ~ is expanded.
tcgenumOne game per folder. Default pokemon.
max_filesintegerAt most this many photos, in name order. Default 20, at most 100.
outputenumcsv (default), json (API format) or both, written as a new file into the folder.

One detection per photo, one credit per detected card. Existing files are never overwritten. It stops early on errors that would fail every photo (no credits, invalid key, demo limit). CSV columns: file, card_index, name, tcg, language, set_name, set_code, number, rarity, cardmarket_id, cardmarket_trend_eur, cardmarket_avg30_eur, tcgplayer_market_usd, confidence, graded, season, subset, parallel, request_id. Cells that start with =, +, - or @ get a leading ' so a spreadsheet does not run them.

search_cards

Search the card catalog; results are full card objects like a detection returns (set, number, rarity, Cardmarket product ID, daily prices, images), at most 10, with has_more but no total. With request_id and card_index from recognize_cards it is a free correction search (5 per detected card within 24 hours, at most 5 results). Without them it is the paid card search: 0.5 credits when it returns a card.

Football: {"tcg": "football", "q": "kane chrome 2023"}, only q (the player, optionally with set or season words), no language, set or number, no prices yet. Each result carries ref for get_card.

correct_card

Correct a detected card to the right catalog card (card_id from a correction search or from the card's alternatives). Free, within 24 hours, 3 times per card, only for the key that made the detection.

get_card

One card by its card_id, for example to refresh a price. 0.5 credits when the card exists. For a wrong detection use search_cards with request_id and correct_card instead, both free.

Football: pass ref from the search_cards result (same key, within 24 hours). The card then comes with all parallels of its subset and their print runs. Without a valid ref the call is refused and free.

export_cards

The cards of up to 20 detections (request_ids of recognize_cards or recognize_folder, within 48 hours) as the same file the NeoSatoshi website exports, built by the website's own export code: your condition for new cards, corrections made with correct_card, your saved presets, price rules and templates apply.

  • format csv/json (default csv): the custom export. preset (a saved preset id), or fields and json_mode (api = the documented card shape, custom = your fields).
  • format tcgpowertools: the TCGPowerTools CSV for Cardmarket (your TCGPowerTools rules and saved comment; comment).
  • format shopify: the Shopify product CSV, prices in the store currency (store_currency, else read from your connected store; variant_mode).
  • format ebay: the eBay Seller Hub CSV for one site (marketplace, e.g. EBAY_DE; one_row_per_card).
  • For the last three: price_source, min_price, markup_percent and rounding, like the buttons of the website's pricing step (a markup or rounding replaces your saved price rules; markup_percent 0 = none). save_to_folder writes a new file into an allowed folder (never overwrites), otherwise

the file comes back in the answer (up to 100 KB). Free, own key only (demo detections keep no cards), not for football yet. The answer names cards it left out (skipped) and cards whose price depends on a special version (warnings).

list_export_presets

Your saved export presets (plus the built-in recommended CSV) and every field id export_cards takes. Free.

list_supported_games

Games, card languages, tcg values, limits and card search prices. No API call, no cost.

Cost

CallOwn keyDemo key
recognize_cards1 credit per detected card, nothing without a card10 per day per network
search_cards (card search), get_card0.5 credits when a card comes back10 searches, 3 lookups per day per network, never charged
search_cards with request_id, correct_cardfreefree
export_cards, list_export_presetsfree, 200 exports per daynot available (demo detections keep no cards)

Configuration

VariableRequiredDescription
NEOSATOSHI_API_KEYnoYour API key from https://neosatoshi.com/dashboard/settings/settings#api-keys (any paid plan). Without it the public demo key is used: 10 detections per day per network.
NEOSATOSHI_ALLOWED_DIRSnoDirectories image_path may read from, separated by : (; on Windows). Unset means any readable image file. Set it to limit what an assistant can send.

Setup

Claude Code
claude mcp add neosatoshi-cards -e NEOSATOSHI_API_KEY=your_key -- npx -y neosatoshi-card-mcp

With a directory restriction:

claude mcp add neosatoshi-cards -e NEOSATOSHI_API_KEY=your_key -e NEOSATOSHI_ALLOWED_DIRS="$HOME/Pictures/cards" -- npx -y neosatoshi-card-mcp

Leave out -e NEOSATOSHI_API_KEY=... to try it with the demo key.

Claude Desktop, one click

Download neosatoshi-card-mcp.mcpb and open it: Claude Desktop installs the extension and asks for the optional API key and an optional allowed folder. Node.js comes with Claude Desktop.

Build it yourself with npm run build:mcpb (needs the dev dependencies).

Claude Desktop, by hand

Add to claude_desktop_config.json (macOS: ~/Library/Application Support/Claude/claude_desktop_config.json, Windows: %APPDATA%\Claude\claude_desktop_config.json):

{

"mcpServers": { "neosatoshi-cards": { "command": "npx", "args": ["-y", "neosatoshi-card-mcp"], "env": { "NEOSATOSHI_API_KEY": "your_key", "NEOSATOSHI_ALLOWED_DIRS": "/Users/you/Pictures/cards" } } } }

Cursor

~/.cursor/mcp.json (global) or .cursor/mcp.json (project):

{

"mcpServers": { "neosatoshi-cards": { "command": "npx", "args": ["-y", "neosatoshi-card-mcp"], "env": { "NEOSATOSHI_API_KEY": "your_key" } } } }

Codex CLI

~/.codex/config.toml:

[mcp_servers.neosatoshi-cards]

command = "npx" args = ["-y", "neosatoshi-card-mcp"] env = { NEOSATOSHI_API_KEY = "your_key" }

From source
cd mcp-server

npm install npm run build node dist/index.js # speaks MCP on stdin/stdout

Point any client at node /absolute/path/to/mcp-server/dist/index.js instead of npx.

Security

  • Files: only regular files are read. Directories, devices, sockets and pipes are refused. Symlinks are resolved first and the real target is checked. Only .jpg, .jpeg and .png whose content starts with JPEG or PNG magic bytes are accepted, at most 12 MB (football 4 MB).
  • NEOSATOSHI_ALLOWED_DIRS is checked against the resolved real path, so ../ and symlinks cannot escape it. Entries that do not exist grant nothing.
  • Network: the server only calls https://europe-west1-neosatoshi.cloudfunctions.net/detectApi and .../cardsApi, and with include_images our card image CDN https://d1m1gwcombja0u.cloudfront.net (other image hosts are skipped).
  • Writing: only recognize_folder writes, and only new files named neosatoshi_cards_ - .csv / .json into the folder it read (same NEOSATOSHI_ALLOWED_DIRS check). image_url is passed to the API, which fetches and validates it; the server itself never fetches URLs.
  • No shell execution.
  • The API key is only sent in the Authorization header. It is never logged or returned, and it is scrubbed from error messages.

Development

npm install

npm test # builds, then runs node:test (file safety and tool tests with a fake fetch, no live API calls)

Publishing notes

  • server.json is for the official MCP registry (https://registry.modelcontextprotocol.io). Its name matches the mcpName in package.json (io.github.Cookiebreed/card-recognition-mcp); the registry checks GitHub ownership for io.github.* names.
  • smithery.yaml is for Smithery.
  • mcpb/manifest.json and `sc

冒頭だけを表示しています。続きはリポジトリで読めます

PopNxに聞く