프로토타입 · 미리 보기: 공식 레지스트리의 모든 서버를 담고 있으며 30분마다 동기화해요. Google로 로그인하면 리뷰를 쓸 수 있어요.
PopNx MCPAI를 쓰는 사람을 위한 MCP 서버 · 쉬운 말로 설명해요

Sato Kit

제작자: satohubai버전 0.1.0i★ 0i내 컴퓨터에서 실행
레지스트리 이름ai.satohub/kit

설치 방법

개요

제작자가 쓴 설명(영어 원문)

Prepare -> execute for onchain agent actions: policy pre-flight, simulation, receipt log.

할 수 있는 일

이 서버는 아직 쉬운 말로 된 요약을 쓰지 못했어요. 아래는 레지스트리에서 읽어 온 사실이에요.

  • 연결 방식: 내 컴퓨터에서 실행
  • 전송 방식: stdio
  • 카테고리: 암호화폐 및 블록체인

설치

쓰고 있는 AI 앱을 고른 다음 설정을 복사하세요.

검사 3/3 통과 · 내 컴퓨터에서 실행돼요

먼저: 어떤 AI를 쓰시나요?

쓰는 앱을 고르면 아래에 단계가 나옵니다.

Claude에 연결할 수 있지만 먼저 준비가 필요해요

먼저 컴퓨터에 Node.js를 설치하세요 (한 번만) · 컴퓨터용 Claude 앱(Windows 또는 Mac)에서만 되고 웹이나 모바일은 안 돼요

  1. Node.js 설치

    한 번만 하면 Node.js가 필요한 모든 서버에 쓸 수 있어요

    Node.js 다운로드 페이지 열기 ↗

  2. 컴퓨터용 Claude 앱 설정 파일 열기

    SettingsDeveloperEdit Config

  3. 이 설정을 붙여 넣고 저장

    {
      "mcpServers": {
        "kit": {
          "command": "npx",
          "args": [
            "-y",
            "@satohub/kit",
            "mcp"
          ]
        }
      }
    }
  4. Claude를 끄고 다시 열기

  5. 해 보기

    Sato Kit을 써서 나에게 무엇을 해 줄 수 있는지 알려 주고, 하나 해 봐

    ✓ Claude가 Sato Kit을 쓰고 있다고 하거나 답에 Sato Kit 도구 이름이 나오면 연결된 거예요

메뉴 이름은 2026년 11월 11일에 Anthropic 도움말에서 확인 · 앱 버전에 따라 화면이 조금 다를 수 있어요

ChatGPT는 아직 Sato Kit에 연결할 수 없어요

Sato Kit는 내 컴퓨터에 설치해서 쓰지만 ChatGPT는 웹에서 도는 서버만 연결할 수 있어요

대신 이렇게 할 수 있어요

A · Sato Kit에 연결되는 앱 쓰기

  • 먼저 컴퓨터에 Node.js를 설치하세요 (한 번만) · 컴퓨터용 Claude 앱(Windows 또는 Mac)에서만 되고 웹이나 모바일은 안 돼요
  • 먼저 컴퓨터에 Node.js를 설치하세요 (한 번만)
  • 먼저 컴퓨터에 Node.js를 설치하세요 (한 번만)
  • 먼저 컴퓨터에 Node.js를 설치하세요 (한 번만)

B · 암호화폐 및 블록체인에서 ChatGPT에 연결되는 다른 서버

같은 분류에서 많이 쓰는 것 중 키 없이 주소만으로 연결되는 것을 골랐어요

Claude Code에 연결할 수 있지만 먼저 준비가 필요해요

먼저 컴퓨터에 Node.js를 설치하세요 (한 번만)

  1. Node.js 설치

    한 번만 하면 Node.js가 필요한 모든 서버에 쓸 수 있어요

    Node.js 다운로드 페이지 열기 ↗

  2. 터미널 열기

    Mac: Command+스페이스를 누르고 Terminal 입력 · Windows: PowerShell 열기

  3. 이 명령을 붙여 넣고 Enter

    claude mcp add kit -- npx -y @satohub/kit mcp
  4. Claude Code에서 /mcp 입력

    Sato Kit이 목록에 있고 연결됨으로 보이면 돼요

  5. 해 보기

    Sato Kit을 써서 나에게 무엇을 해 줄 수 있는지 알려 주고, 하나 해 봐

    ✓ Claude Code가 Sato Kit을 쓰고 있다고 하거나 답에 Sato Kit 도구 이름이 나오면 연결된 거예요

메뉴 이름은 2026년 11월 11일에 Anthropic 도움말에서 확인 · 앱 버전에 따라 화면이 조금 다를 수 있어요

Cursor에 연결할 수 있지만 먼저 준비가 필요해요

먼저 컴퓨터에 Node.js를 설치하세요 (한 번만)

  1. Node.js 설치

    한 번만 하면 Node.js가 필요한 모든 서버에 쓸 수 있어요

    Node.js 다운로드 페이지 열기 ↗

  2. 이 버튼으로 Cursor 열기

    Cursor에서 열기

    Cursor가 설치를 확인하면 Install을 누르세요

  3. Cursor에서 AI 채팅을 Agent 모드로 열기

  4. 해 보기

    Sato Kit을 써서 나에게 무엇을 해 줄 수 있는지 알려 주고, 하나 해 봐

    ✓ Cursor가 Sato Kit을 쓰고 있다고 하거나 답에 Sato Kit 도구 이름이 나오면 연결된 거예요

메뉴 이름은 2026년 11월 11일에 Cursor 도움말에서 확인 · 앱 버전에 따라 화면이 조금 다를 수 있어요

VS Code에 연결할 수 있지만 먼저 준비가 필요해요

먼저 컴퓨터에 Node.js를 설치하세요 (한 번만)

  1. Node.js 설치

    한 번만 하면 Node.js가 필요한 모든 서버에 쓸 수 있어요

    Node.js 다운로드 페이지 열기 ↗

  2. 이 버튼으로 VS Code 열기

    VS Code에서 열기

    VS Code가 설치를 확인하면 Install을 누르세요

  3. VS Code에서 AI 채팅을 Agent 모드로 열기

  4. 해 보기

    Sato Kit을 써서 나에게 무엇을 해 줄 수 있는지 알려 주고, 하나 해 봐

    ✓ VS Code가 Sato Kit을 쓰고 있다고 하거나 답에 Sato Kit 도구 이름이 나오면 연결된 거예요

메뉴 이름은 2026년 11월 11일에 VS Code 도움말에서 확인 · 앱 버전에 따라 화면이 조금 다를 수 있어요

Windsurf, Zed, Gemini CLI 같은 다른 MCP 앱은 추가 방법이 저마다 달라요. 앱 목록에서 확인하세요

MCP를 쓰는 앱 모두 보기 →

JSON 설정은 아래 “개발자용”에 있어요

막혔나요? Sato Kit을 쓰는 사람에게 물어보세요💬 토론 →
개발자용: 터미널 명령과 JSON 설정

컴퓨터에 설치

Claude Code

claude mcp add kit -- npx -y @satohub/kit mcp

Claude Desktop (claude_desktop_config.json)

{
  "mcpServers": {
    "kit": {
      "command": "npx",
      "args": [
        "-y",
        "@satohub/kit",
        "mcp"
      ]
    }
  }
}

Cursor (~/.cursor/mcp.json)

{
  "mcpServers": {
    "kit": {
      "command": "npx",
      "args": [
        "-y",
        "@satohub/kit",
        "mcp"
      ]
    }
  }
}

VS Code (mcp.json)

{
  "servers": {
    "kit": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "@satohub/kit",
        "mcp"
      ]
    }
  }
}

이 설정은 제작자의 레지스트리 정보로 만들었어요. README와 다르면 README를 따르세요.

한눈에 보기

주간 다운로드i
104/주
확인된 도메인
✓ satohub.ai
연결 방식
내 컴퓨터에서 실행
최신 버전i
0.1.0
레지스트리 공개i
2026년 9월 30일
코드 마지막 변경i
2026년 10월 9일
제작자
satohubai
패키지
npm: @satohub/kit
웹사이트
satohub.ai
레지스트리 상태
활성

어떤 앱에서 쓸 수 있나요

이 서버의 연결 방식과 각 앱의 공식 문서를 바탕으로 했어요. 2026년 11월 10일 확인.

내 컴퓨터에서 실행하는 앱

ClaudeGooseLM StudioMsty StudioCherry StudioCursorVS Code + GitHub CopilotVisual StudioWindsurf (Devin Desktop)ZedKiroClineContinueJetBrains AI AssistantClaude CodeCodex CLIGemini CLIOpenCodenodecodeWarpLibreChatRaycast

모든 앱과 장단점 →

할 수 있는 일

내 컴퓨터에서 실행돼요. 설치하면 AI 앱에 도구 목록이 나타나요.

기본 점검i

누구나 볼 수 있는 정보를 점검했고, 코드는 읽지 않았어요. 해당하지 않는 항목은 개수에서 뺐어요. · 2026년 11월 11일 점검

  • ✓ 통과

    제작자와 저장소 일치

    레지스트리 이름이 도메인 satohub.ai 기준으로 확인되었어요(레지스트리가 도메인 소유를 확인해요)

  • ✓ 통과

    계속 관리되고 있음

    코드 마지막 변경: 33일 전

  • ✓ 통과

    라이선스 있음

    MIT 사용

  • – 해당 없음

    엔드포인트 응답

    내 컴퓨터에서 실행되는 서버라 인터넷 엔드포인트가 없어요

  • – 해당 없음

    OAuth로 로그인

    내 컴퓨터에서 실행되며, 대신 로컬 설정을 사용해요

  • … 아직 점검 안 함

    도구 설명에 숨겨진 지시 없음

    내 컴퓨터에서 실행돼요. 도구 목록은 인터넷 엔드포인트가 있는 서버에서만 읽을 수 있어요

토론

질문하고, 팁을 나누고, 안 되는 점을 알려 주세요. "도움이 됨"이 많은 순서예요.

아직 글이 없어요. 처음으로 질문하거나 공유해 보세요.

이곳의 글은 사용자가 쓴 것으로, PopNx 팀의 글이 아니에요.

Google로 로그인하고 글쓰기

사용자 리뷰

아직 리뷰가 없어요

Google로 로그인하고 리뷰 쓰기

암호화폐 및 블록체인 카테고리의 다른 서버와 비교i

  • 이 카테고리의 다른 서버 1640개 중 0%보다 스타가 많아요
  • 이 카테고리의 다른 서버 1640개 중 54%보다 최근에 레지스트리에 공개됐어요
  • 기본 점검 결과가 이 카테고리의 다른 서버 1640개 중 100%와 같거나 더 좋아요

레지스트리에서 이 카테고리의 활성 서버 전체와 비교했어요. 스타는 게시자가 저장소를 소유한 경우에만 세요.

자주 묻는 질문

Sato Kit, 안전한가요?

해당하는 기본 점검 3개 중 3개를 통과했어요. 코드는 읽지 않았어요. 키나 토큰을 넣기 전에 서버가 어떤 권한을 요구하는지 확인하고, 꼭 필요한 권한만 있는 키를 쓰세요.

어떤 키나 코드가 필요한가요?

레지스트리에 필수 키가 나와 있지 않아요. 다만 처음 쓸 때 로그인을 요구하는 서버도 있어요.

내 컴퓨터에서 실행되나요, 클라우드에서 실행되나요?

내 컴퓨터에서 실행돼요. AI 앱이 필요할 때 실행하고, 데이터는 제작자의 서버를 거치지 않아요(서버 자체가 온라인 서비스를 호출하는 경우는 제외).

아직 관리되고 있나요?

GitHub 저장소는 마지막으로 33일 전 변경됐고, 최신 버전(0.1.0)은 42일 전 레지스트리에 올라왔어요.

어떤 앱에서 쓸 수 있나요?

Claude Desktop, Claude Code, Cursor, VS Code처럼 MCP를 지원하는 앱에서 쓸 수 있어요. 내 컴퓨터에 Node.js도 있어야 해요.

대신 쓸 수 있는 건 뭐가 있나요?

같은 카테고리에는: Solana MCP by Vybe, Oracle3 prediction-market arbitrage checks, Polymarket Paper Trader

대안

같은 카테고리에서 다른 제작자가 만든 서버예요. 스타 순으로 정렬했어요.

카드 보는 법:↓ 주간 다운로드i★ GitHub 스타i세 기둥: 리뷰 · 점검 · 사용 정도i업데이트 = 최신 버전을 레지스트리에 공개한 날i

Solana MCP by Vybe

Solana MCP developer toolkit: wallets, trades, markets, PnL, transfers, onchain, swaps & API tools.

제작자: vybenetwork널리 사용됨★ 2.6천 저장소 전체의 별6개월 전 업데이트

클라우드에서 실행

Oracle3 prediction-market arbitrage checks

Kalshi and Polymarket data, venue fees, no-arbitrage checks and paper execution for AI agents.

제작자: YichengYang-Ethan성장 중↓ 35/주★ 56841일 전 업데이트

내 컴퓨터에서 실행

Polymarket Paper Trader

Polymarket paper trading for AI agents: $10k paper money, real order books, official fees.

제작자: agent-next성장 중↓ 226/주★ 50326일 전 업데이트

내 컴퓨터에서 실행

제작자의 README

README 열기

제작자의 저장소에서 쓰인 그대로 가져왔어요. PopNx MCP가 검토하거나 보증한 내용이 아니에요. HTML, 이미지, 스크립트는 제거했어요. 링크를 누르면 이 사이트를 벗어나요.

@satohub/kit

0.1.1 preview.

Sato Kit wraps the tools agents already use (viem, signers, x402) with a prepare -> execute contract: an action prepares an unsigned intent, a policy pre-flight explains any refusal, the transaction is simulated, and execute({ intent_id }) hands it to your signer and appends a hash-chained sato.receipt/v1 line.

What it is not: not a wallet, not a custodian, not an agent framework, and not a guarantee. It never holds funds and ships no keys.

  • Fork by default. A policy's network defaults to fork; mainnet needs an explicit opt-in.
  • Pre-flight vs enforcement. The kit's policy check runs before an intent is returned and says which rule refused and why. It does not enforce anything once a key is in play. Enforcement lives in the signer (e.g. a CDP policy compiled from the same file).
  • `scan.payto_changed`. The scan block of policy.json records payto_changed (caution | refuse | off), but it is enforced only by hosts that implement it. The offline guard in satohub-core (scanRecipient) does not enforce it today: a changed x402 payTo needs the payee's earlier value, which the offline check is not given.
  • Swaps are venue-neutral. Any venue is accepted. Sato Swap is the labelled default and its fee is disclosed on every response, with a no-Sato-fee quote alongside; venue: "direct" skips Sato entirely.

Contracts (sato.action/v1, sato.policy/v1, sato.receipt/v1) live in src/spec (see VENDORED.md).

Install

npm install @satohub/kit viem

npx -y @satohub/kit@0.1 --help

Node 20 or later. viem is a peer; every framework SDK below is an optional peer, installed only if you use its subpath.

Honest limits

  • Pre-flight, not enforcement. evaluatePreflight runs before an intent is returned and names each refused rule with its limit and the observed value. Once a key is in play the kit enforces nothing: enforcement is the signer's (a CDP, Privy or Turnkey policy compiled from the same policy.json, OWS's policy engine, or a Safe's owners). viemLocalSigner enforces only its mainnet refusal.
  • x402 execution scope. x402.prepare reads what an x402 resource asks to be paid and returns a priced, policy-checked intent. execute does not send x402 payments: it sends EVM transactions, EIP-712 typed data (Safe proposals) and Solana transactions only. Pay through your x402 client.
  • AgentKit's own analytics call. AgentKit's @CreateAction decorator posts an invocation event to cca-lite.coinbase.com on every invoke. Actions consumed through fromAgentKitProvider still make that call; the kit neither blocks nor adds to it.
  • Unknown prices refuse. When a USD value cannot be read, a max_usd_* rule refuses with unknown_price rather than guessing.
  • Simulation is not a promise. A passing simulation says what the chain answered at that block.

Action reference

Generated from the registered descriptors by node scripts/gen-actions-doc.mjs (after npm run build); test/readme-actions.test.ts fails when this table drifts from the registry. "custody" is the descriptor's own answer to three sato.custody/v1 questions. toolset says whether the tool is in the default MCP profile or only under --toolsets all.

Registered actions
action idtool namekindeffectscustodychainstoolset
chain.readchain_readreadreadreads key: no; key leaves: no; moves funds: neverethereum, sepolia, base, base-sepolia, arbitrum, arbitrum-sepolia, optimism, optimism-sepolia, polygondefault, all
swap.quoteswap_quotereadquotereads key: no; key leaves: no; moves funds: neverethereum, base, arbitrum, optimism, polygondefault, all
swap.prepareswap_preparepreparequote, sign, broadcastreads key: no; key leaves: no; moves funds: with_approvalethereum, base, arbitrum, optimism, polygondefault, all
x402.preparex402_preparepreparesign, payreads key: no; key leaves: no; moves funds: with_approvalbase, base-sepolia, ethereum, sepolia, polygon, arbitrum, optimism, solana, solana-devnetdefault, all
erc8004.lookuperc8004_lookupreadreadreads key: no; key leaves: no; moves funds: neverethereum, base, arbitrum, optimism, polygonall
tx.simulatetx_simulatereadsimulatereads key: no; key leaves: no; moves funds: neverethereum, sepolia, base, base-sepolia, arbitrum, arbitrum-sepolia, optimism, optimism-sepolia, polygonall
token.approvals.listtoken_approvals_listreadreadreads key: no; key leaves: no; moves funds: neverethereum, sepolia, base, base-sepolia, arbitrum, arbitrum-sepolia, optimism, optimism-sepolia, polygonall
token.approvals.revoketoken_approvals_revokepreparesign, broadcastreads key: no; key leaves: no; moves funds: with_approvalethereum, sepolia, base, base-sepolia, arbitrum, arbitrum-sepolia, optimism, optimism-sepolia, polygonall
erc8004.registererc8004_registerpreparesign, broadcastreads key: no; key leaves: no; moves funds: with_approvalethereum, base, arbitrum, optimism, polygonall
bridge.quotebridge_quotereadquotereads key: no; key leaves: no; moves funds: neverethereum, base, arbitrum, optimism, polygonall
bridge.preparebridge_preparepreparequote, sign, broadcastreads key: no; key leaves: no; moves funds: with_approvalethereum, base, arbitrum, optimism, polygonall
safe.infosafe_inforeadreadreads key: no; key leaves: no; moves funds: neverethereum, sepolia, base, base-sepolia, arbitrum, optimism, polygonall
safe.proposesafe_proposepreparesignreads key: no; key leaves: no; moves funds: with_approvalethereum, sepolia, base, base-sepolia, arbitrum, optimism, polygonall
solana.readsolana_readreadreadreads key: no; key leaves: no; moves funds: neversolana, solana-devnetall
solana.transfersolana_transferpreparesign, broadcastreads key: no; key leaves: no; moves funds: with_approvalsolana, solana-devnetall
solana.swap.quotesolana_swap_quotereadquotereads key: no; key leaves: no; moves funds: neversolanaall
solana.swap.preparesolana_swap_preparepreparequote, sign, broadcastreads key: no; key leaves: no; moves funds: with_approvalsolanaall
Meta tools
tool namekindeffectstoolset
executeexecutesign, broadcastdefault, all
statusmetareaddefault, all
actions_searchmetareaddefault, all
actions_describemetareaddefault, all

Default MCP profile, in order: chain_read, swap_quote, swap_prepare, x402_prepare, execute, status, actions_search, actions_describe.

Actions consumed from an AgentKit provider (fromAgentKitProvider) are not in this table: they are built at runtime from the provider you pass, and appear under toolset all.

Entry points

importwhat it gives you
@satohub/kitcreateKit, coreActions, the tool surface, config loader, everything below re-exported
@satohub/kit/specthe vendored contracts: sato.action/v1, sato.policy/v1, sato.receipt/v1, id rules, descriptor lint
@satohub/kit/policyevaluatePreflight; compilers compileCdpPolicy, compilePrivyPolicy, compileTurnkeyPolicy
@satohub/kit/signersviemLocalSigner, owsSigner, cdpSigner, solanaLocalSigner, humanApprove
@satohub/kit/intentintent store, HMAC intent ids (loadOrCreateIntentSecret, verifyIntentId)
@satohub/kit/receiptsthe hash-chained sato.receipt/v1 log
@satohub/kit/actionsevery core action, descriptor and builder
@satohub/kit/ai-sdksatoKitTools(kit, opts) for the Vercel AI SDK
@satohub/kit/agentkitsatoKitActionProvider(kit, opts) and fromAgentKitProvider(provider, { chain })
@satohub/kit/claude-agent-sdkcreateSatoKitSdkServer(kit, opts) + requireApprovalHook()
@satohub/kit/openai-agentssatoKitOpenAITools(kit, opts)
@satohub/kit/langchainsatoKitLangChainTools(kit, opts)
@satohub/kit/elizasatoKitElizaPlugin(kit, opts) (compatibility adapter, see below)
@satohub/kit/mcpthe local MCP server (stdio)
@satohub/kit/clithe sato-kit CLI as a function
@satohub/kit/sato-osattachToSatoOs, proposeIntent
@satohub/kit/goatfromGoatPlugin(plugin, { chain }) — consume an existing GOAT plugin with the kit's guarantees
Signers
  • viemLocalSigner — a key in this process. Fork/testnet by default; refuses mainnet chain ids unless allowMainnet: true (not recommended). generate: true makes a throwaway in-memory key.
  • owsSigner — a structural adapter over an Open Wallet Standard account; OWS's policy engine enforces. See src/signers/OWS.md.
  • cdpSigner — a structural adapter over a Coinbase CDP server account; CDP enforces its policies. Pass a compiled policy as nativePolicy to carry it with the signer (the adapter does not register it).
  • solanaLocalSigner — local Solana signing for devnet and tests only; refuses any non-devnet payload and a mainnet-beta RPC, with no mainnet switch.
  • humanApprove(signer, approve) — wraps any signer so a person approves each summary before it signs.
Policy compilers

compileCdpPolicy, compilePrivyPolicy and compileTurnkeyPolicy turn one sato.policy/v1 into the provider's native policy document. Each result lists what did not compile (not_compiled) with the reason, so a rule the provider cannot express is never silently dropped.

CLI
sato-kit read <action> --input '<json>'      run a read-only action

sato-kit prepare --input ' ' build an intent; nothing is signed sato-kit execute --intent hand one prepared intent to the signer sato-kit mcp [--toolsets default|all] local MCP server over stdio sato-kit doctor check config, Sato Status and template drift

Config comes from the working directory: policy.json (absent means the default policy, network fork), .sato/ (intents, intent secret, receipts), SATO_RPC_URL_ per chain, and SATO_SIGNER=viem-local-fork (fork network only) for a local signer.

MCP server

npx -y @satohub/kit@0.1 mcp runs a stdio MCP server (registry name ai.satohub/kit). The default profile is the eight tools listed above; --toolsets all adds every other registered action. Tools that sign carry anthropic/requiresUserInteraction in _meta.

Sato Status

status and sato-kit doctor read the nightly per-action results (sato.action-status/v1) published by the templates repo. When that file cannot be read, the answer says so; nothing is filled in.

Recommended .gitignore

The file intent store and the intent HMAC secret live under .sato/ by default (intents/, intent.key, mode 0600). Keep them out of version control:

.sato/

License: MIT. The bundled Onchain Action Descriptor code (dist/spec) is Apache-2.0, copyright 2026 Prime Signal LLC: see LICENSE-ODA and NOTICE.

sato-kit doctor: template drift

In a repo made by create-sato-agent (one with sato.create.json), doctor also sends sato.create.json and sato.lock.json to https://satohub.ai/api/create/drift (3 s timeout) and prints the changes it returns: a newer template version that passed its checks, a custody change in a stored Sato Check profile for a pinned package, or a pinned package version that fails the templat

앞부분만 보여 드려요. 나머지는 저장소에서 읽어 보세요