프로토타입 · 미리 보기: 공식 레지스트리의 모든 서버를 담고 있으며 30분마다 동기화해요. 리뷰와 계정 기능은 다음 단계에서 열려요.
PopNx MCPAI를 쓰는 사람을 위한 MCP 서버 · 쉬운 말로 설명해요

AgentFeed on Algorand

제작자: seekdaseek버전 0.2.0i★ –i내 컴퓨터에서 실행
레지스트리 이름io.github.seekdaseek/agentfeed-algo

설치

개요

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

Cross-exchange liquidation tape, paid per call in USDC on Algorand. Free catalog, no key needed.

PopNx MCP의 세 기둥

이 세 가지는 절대 하나의 점수로 합치지 않아요. 의견, 측정, 인기는 서로 다른 것이니까요.

할 수 있는 일

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

  • 연결 방식: 내 컴퓨터에서 실행
  • 전송 방식: stdio
  • 카테고리: 기타
  • 입력해야 할 값: ALGO_PAYER_MNEMONIC

설치

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

설치하기 전에

  • 기본 점검: 1개 중 1개 통과
  • 내 컴퓨터에서 내 사용자 계정의 권한(파일, 네트워크, 앱)으로 실행돼요.
  • 직접 입력할 값: ALGO_PAYER_MNEMONIC, AGENTFEED_ALGO_URL, ALGO_NETWORK

비밀로 표시된 값은 내 계정의 열쇠예요. 절대 다른 사람과 공유하거나 채팅에 붙여 넣지 마세요.

필요한 것

  • npmNode.js 설치(npx 명령어용)

어떤 앱을 쓰세요?

위에서 앱을 고르세요. 기억해 두었다가 다음부터는 버튼에 “…에 설치”라고 표시해요.

Claude Desktop → Settings → Developer → Edit Config를 열고 claude_desktop_config.json에 이 내용을 붙여 넣으세요

{
  "mcpServers": {
    "agentfeed-algo": {
      "command": "npx",
      "args": [
        "-y",
        "@seekdaseek/agentfeed-algo"
      ],
      "env": {
        "ALGO_PAYER_MNEMONIC": "your-value",
        "AGENTFEED_ALGO_URL": "your-value",
        "ALGO_NETWORK": "your-value"
      }
    }
  }
}

터미널에서 이 명령어를 실행하세요

claude mcp add agentfeed-algo --env ALGO_PAYER_MNEMONIC=your-value --env AGENTFEED_ALGO_URL=your-value --env ALGO_NETWORK=your-value -- npx -y @seekdaseek/agentfeed-algo

실행하기 전에 빈 값을 채워 주세요.

Cursor에서 열기

또는 설정을 직접 복사하기

프로젝트의 .cursor/mcp.json 또는 ~/.cursor/mcp.json에 붙여 넣으세요

{
  "mcpServers": {
    "agentfeed-algo": {
      "command": "npx",
      "args": [
        "-y",
        "@seekdaseek/agentfeed-algo"
      ],
      "env": {
        "ALGO_PAYER_MNEMONIC": "your-value",
        "AGENTFEED_ALGO_URL": "your-value",
        "ALGO_NETWORK": "your-value"
      }
    }
  }
}

브라우저가 앱을 열지 물어본 다음, 앱이 설정을 보여 주고 확인을 요청해요. 키 값은 비워 두니 직접 입력하세요.

VS Code에서 열기

또는 설정을 직접 복사하기

프로젝트의 .vscode/mcp.json에 붙여 넣으세요

{
  "servers": {
    "agentfeed-algo": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "@seekdaseek/agentfeed-algo"
      ],
      "env": {
        "ALGO_PAYER_MNEMONIC": "your-value",
        "AGENTFEED_ALGO_URL": "your-value",
        "ALGO_NETWORK": "your-value"
      }
    }
  }
}

브라우저가 앱을 열지 물어본 다음, 앱이 설정을 보여 주고 확인을 요청해요. 키 값은 비워 두니 직접 입력하세요.

이 서버는 내 컴퓨터에서 실행되는데, ChatGPT는 인터넷에 있는 서버에만 연결할 수 있어요. 다른 앱을 고르세요.

선택한 앱은 이 기기의 쿠키에만 저장돼요. 계정은 필요 없어요.

직접 입력할 값

  • ALGO_PAYER_MNEMONIC 비밀 env
    25 word mnemonic for the Algorand account that pays. Optional: the catalog tool needs no key.
  • AGENTFEED_ALGO_URL env
    Override the endpoint. Defaults to https://algo.ochinimus.app
  • ALGO_NETWORK env
    mainnet or testnet. Defaults to mainnet.

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

할 수 있는 일

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

기본 점검i

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

  • ✓ 통과

    제작자와 저장소 일치

    레지스트리 이름이 GitHub 계정 seekdaseek 기준으로 확인되었고, 이 계정이 저장소를 소유하고 있어요

  • … 아직 점검 안 함

    계속 관리되고 있음

    아직 GitHub에서 이 저장소를 읽어 오지 않았어요

  • … 아직 점검 안 함

    라이선스 있음

    아직 GitHub에서 이 저장소를 읽어 오지 않았어요

  • – 해당 없음

    엔드포인트 응답

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

  • – 해당 없음

    OAuth로 로그인

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

  • … 아직 점검 안 함

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

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

기타 카테고리의 다른 서버와 비교i

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

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

자주 묻는 질문

AgentFeed on Algorand, 안전한가요?

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

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

입력해야 할 값: ALGO_PAYER_MNEMONIC

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

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

아직 관리되고 있나요?

GitHub 저장소는 마지막으로 – 변경됐고, 최신 버전(0.2.0)은 2개월 전 레지스트리에 올라왔어요.

어떤 앱에서 쓸 수 있나요?

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

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

같은 카테고리에는: Spec Driven Development, Remote Desktop Commander, Aiterm MCP

대안

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

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

Spec Driven Development

제작자: formulahendry

MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.

내 컴퓨터에서 실행★ 440MIT14개월 전 업데이트
설치

Remote Desktop Commander

제작자: desktop-commander

Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.

클라우드에서 실행★ 211그저께 업데이트
설치

Aiterm MCP

제작자: kitepon

Persistent terminals and one launcher for Claude, Codex, Grok, Cursor, and Antigravity harnesses.

내 컴퓨터에서 실행오늘 업데이트
설치

제작자의 README

README 열기

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

agentfeed-algo

A paid x402 data API on Algorand. It sells a cross venue liquidation tape per call in USDC, and it tells you when it does not know.

Built for the Algorand Foundation Global x402 Challenge.

Live on Algorand mainnet

https://algo.ochinimus.app

network algorand:wGHE2Pwdvd7S12BL5FaOP20EGYesN73ktiC1qzkkit8= asset USDC, ASA 31566704 facilitator https://facilitator.goplausible.xyz catalog https://algo.ochinimus.app/catalog manifest https://algo.ochinimus.app/.well-known/x402

Free to inspect, paid to read. Call any route without payment and you get a 402 whose body carries the route, the price, the asset and what the payment unlocks, with the payment challenge itself base64 in the PAYMENT-REQUIRED header. The tape behind it has recorded over 900 symbols on Binance, Bybit and OKX since July 8 2026, and over the seven full days before September 16 2026 it averaged about 73,000 liquidation rows a day.

What it sells

Five endpoints, priced in USDC, paid per request over x402 with no account, no API key and no signup. They are published under /v2.

The five paths these routes were first published under, the /v1 ones, still answer. Same handlers, same paywall, same prices, each with its own resource URL. An agent holding an old URL is not broken by the move. Nothing advertises /v1 any more, though: the catalog, the manifest, the landing page and the MCP server list only /v2, and nothing new should be built against the old paths.

Liquidation volume for one symbol over a window, split by exchange and by whether longs or shorts were liquidated, at 0.02 USDC. A cascade score, which measures whether that volume arrived as a single burst or spread evenly, at 0.05. The full symbol universe the tape saw in a window, so a caller can tell coverage from silence, at 0.10. Per exchange reporting integrity, at 0.03.

The fifth route sells history. It returns the complete recorded liquidation history for one symbol across all three exchanges, from that symbol's first observation on this tape through to now, bucketed hourly or daily, at 5.00. No other route here looks back further than seven days, and that is the whole difference: a liquidation record cannot be backfilled after the fact, so depth is the part that is genuinely scarce. Coverage is stated per symbol rather than per tape, because a symbol first appears whenever it first liquidated, which can be weeks after the tape itself began, and the payload carries that symbol's own coverage start so our start date is never mistaken for the market's.

Calling every route once costs 5.2 USDC. The live figure is published at /catalog as sweep_price_usdc and is computed from the catalog rather than typed, so if this line ever disagrees with it, the endpoint is right and this file is stale.

Global x402 Challenge qualification

Entered as a Composite project: five endpoints under one payTo address.

Every route carries the required x402-global-challenge tag and declares a Bazaar discovery extension, so an agent that has never heard of this service can find it, read what each route costs, and construct a valid request from the listing alone. Both are applied in compileCatalog and buildRoutes rather than written per route, so neither can be forgotten on one endpoint, and the tests that check them iterate over every route the service answers on rather than sampling one, so a route that lost either would fail the suite.

The tag rides in accepts[].extra, which is where the leaderboard reads it, not in resource.tags. It travels there alongside the asset decimals and the feePayer the facilitator advertises, because ExactAvmScheme merges that extra rather than replacing it.

Settlement runs through the GoPlausible facilitator on Algorand mainnet, and payments have completed end to end. The current count, the distinct payers behind it and the settled total are whatever the ledger says rather than whatever this file says, so read them with agentfeed-algo ledger instead of trusting a number typed here.

Use it from an agent

The endpoint is a URL, which is invisible to the thing meant to pay for it. So this ships an MCP server too.

npx -y -p @seekdaseek/agentfeed-algo agentfeed-algo-mcp

Or in an MCP client config, as a server named agentfeed-algo running npx -y @seekdaseek/agentfeed-algo with the binary agentfeed-algo-mcp, and one environment variable, ALGO_PAYER_MNEMONIC, holding the mnemonic for an Algorand account that has USDC and is opted in to asset 31566704.

Six tools. Four are paid, one for each of the short window routes. Two are free: catalog lists everything sold and what it costs, and payer_status reports your balances and anything blocking payment. Both work with no key at all, so you can install this, look at what exists, and decide afterwards whether to fund anything. The history route is listed by the catalog tool, with its price and its path, but it has no tool of its own.

Payment comes from your own account. There is no key of ours in the loop and no account to create.

An unmeasured response comes back as a tool error rather than as data. The HTTP layer already refuses to bill it, but an agent reading a tool result needs the same signal, and a hole that looks like an answer is worse than no answer.

The thing that makes it worth paying for

Every response carries its own status, and there are three of them.

Measured means we asked and got an answer.

Absent means we asked and the market had none. No liquidations in the window is a real finding about a quiet market, and a buyer can act on it.

Unmeasured means our own lookup failed. A rate limit, a locked database, a query that threw. This is not a finding, it is the absence of one.

An unmeasured response returns 503 and is never billed, even though payment was already verified by the time we find out. That costs us the sale on purpose. Once an agent is paying per call, the worst product you can sell is a zero you invented, because the caller has no way to tell it from a real one. A feed that says when it does not know is worth more per call than one that always answers.

Running it

npm install

npm test node bin/agentfeed-algo.mjs catalog

Configuration is environment driven. Copy the example and fill it in.

cp .env.example .env

node bin/agentfeed-algo.mjs doctor node bin/agentfeed-algo.mjs serve

Doctor checks the config, the catalog and the facilitator, and prints a line per check. Serve refuses to start if any of them failed.

Mainnet is never an accident

The deployment above runs on mainnet. Getting there takes two deliberate variables, ALGO_NETWORK set to mainnet and ALGO_ALLOW_MAINNET set to yes, and an unset config falls back to testnet rather than forward to mainnet.

That is on purpose. One mistyped variable should not be enough to start taking real money, and a service that quietly defaults into handling funds will eventually take payments to an address nobody checked.

On mainnet the preflight also refuses a localhost resource URL, a plaintext facilitator, a testnet asset id, and any warning at all. On testnet warnings are allowed through. The asymmetry is the point: on mainnet a misconfiguration sends money somewhere with no undo.

The payTo address is checksummed, not pattern matched

An Algorand address is base32 over a 32 byte public key plus a 4 byte SHA-512/256 checksum. A regular expression that checks length and alphabet will happily accept two transposed characters. The checksum will not, and there is a test that transposes a pair to prove it.

This is the one field where a typo costs real money silently, so it gets a real decoder rather than a pattern.

Prices are BigInt, always

USDC has six decimals. Every price in this service is a BigInt count of microUSDC and never a float. A price with more precision than the asset can express is an error rather than something to quietly shorten, so toMicroUsdc("0.0000001") throws instead of becoming zero.

The x402 price field is passed as an asset amount, carrying the asset id explicitly, so a decimal can never be interpreted against the wrong token.

Who is paying

The challenge asks entrants for proof of who is paying, and a leaderboard total cannot answer that. Ten agents paying twenty times each and one agent paying two hundred times produce the same total and are completely different businesses.

So every verify and every settle, successful or not, is appended to a local ledger, and the summary leads with concentration rather than with the total.

node bin/agentfeed-algo.mjs ledger

One note about the hooks that feed it. The shape of the context object x402 hands to onAfterSettle was not something I had observed when this was written, so rather than assert a shape I had not seen, the extractor tries the plausible field paths, and when it cannot find a payer it records the context's top level keys instead of writing a null. The first real settlement, on 2026-08-05, taught us the shape in the ledger where somebody would read it: the context carries paymentPayload, requirements, declaredExtensions, transportContext and result, with the payer and the transaction id under result. The extractor still tries the other paths, because that costs nothing and the shape is upstream's to change.

Architecture

The catalog is one array and everything derives from it. The x402 routes config, the public manifest at /.well-known/x402, the free /catalog listing, the CLI output and the tests all read the same source, so a price cannot be changed in one place and stale in another.

The tape store is injected. Tests run against an array in memory and never open a file, which is also why a missing tape degrades to unmeasured rather than to a crash.

The facilitator client is injected. Tests never touch the network.

Tests

npm test

No network, no wall clock, no sleeps. The end to end suites start the real Express app on an ephemeral port and drive it over real HTTP, including with the paywall engaged, so the 402 path is proven rather than assumed.

The route tests go through HTTP as well, and that is not decoration. A handler level test cannot see a query parameter the server never passes, and one that was never passed is exactly how the history route came to ignore its bucket parameter: the handler validated bucket and defaulted it to hourly, its own tests passed, and the server was calling it without the parameter at all. So bucket=day was quietly answered hourly, and an invalid bucket was answered hourly and billed, when the handler would have refused it as unmeasured and charged nothing. The seam between the router and the handler is where that lived, so that is where the tests for it sit now.

Symbols are exchange pairs, and a coverage gap is not a quiet market

The tape stores SOLUSDT, not SOL. A caller who asks for SOL and gets zero rows must not be told "no liquidations for SOL", because that is a finding and it is false; the truth is that we never carried a symbol by that name.

So resolution happens first. A bare symbol is tried against USDT, USD and USDC suffixes, the resolved pair and the resolution method are both returned, and a symbol this tape does not carry comes back unmeasured with the reason symbol_not_covered. Unmeasured is not billed, so a coverage gap costs the caller nothing and never enters their reasoning as a market fact.

A symbol the tape does carry, with an empty window, is absent. That one is a real finding about a quiet market and is billed normally.

The facilitator advertises a different network identifier than the client library

Worth knowing before you debug this yourself. CAIP-2 caps the chain reference at 32 characters, and the @x402/avm package constants follow that. The GoPlausible facilitator advertises Algorand with the full 44 character base64 genesis hash instead, padding included, while advertising Solana correctly truncated in the same

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

PopNx에게 묻기