Agro API MCP by usefulapi
Read satellite, NDVI, weather and soil data; create and delete fields in Agro API.
제작자가 쓴 설명(영어 원문)
Live weather anywhere, with the radar drawn as text characters, not an image.
이 세 가지는 절대 하나의 점수로 합치지 않아요. 의견, 측정, 인기는 서로 다른 것이니까요.
이 서버는 아직 쉬운 말로 된 요약을 쓰지 못했어요. 아래는 레지스트리에서 읽어 온 사실이에요.
쓰고 있는 AI 앱을 고른 다음 설정을 복사하세요.
필요한 것
어떤 앱을 쓰세요?
위에서 앱을 고르세요. 기억해 두었다가 다음부터는 버튼에 “…에 설치”라고 표시해요.
웹, 데스크톱, 모바일의 Claude에서 쓸 수 있어요:
https://echorune.net/mcp터미널에서 이 명령어를 실행하세요
claude mcp add --transport http echorune-radar https://echorune.net/mcp프로젝트의 .cursor/mcp.json 또는 ~/.cursor/mcp.json에 붙여 넣으세요
{
"mcpServers": {
"echorune-radar": {
"url": "https://echorune.net/mcp"
}
}
}브라우저가 앱을 열지 물어본 다음, 앱이 설정을 보여 주고 확인을 요청해요. 키 값은 비워 두니 직접 입력하세요.
프로젝트의 .vscode/mcp.json에 붙여 넣으세요
{
"servers": {
"echorune-radar": {
"type": "http",
"url": "https://echorune.net/mcp"
}
}
}브라우저가 앱을 열지 물어본 다음, 앱이 설정을 보여 주고 확인을 요청해요. 키 값은 비워 두니 직접 입력하세요.
ChatGPT는 인터넷에 있는 서버에만 연결할 수 있어요:
https://echorune.net/mcp메뉴 이름은 요금제나 시기에 따라 조금 다를 수 있어요.
선택한 앱은 이 기기의 쿠키에만 저장돼요. 계정은 필요 없어요.
이 설정은 제작자의 레지스트리 정보로 만들었어요. README와 다르면 README를 따르세요.
아직 이 서버의 도구 목록을 읽지 않았어요. 엔드포인트는 차례대로 돌아가며 점검해요.
누구나 볼 수 있는 정보를 점검했고, 코드는 읽지 않았어요. 해당하지 않는 항목은 개수에서 뺐어요. · 2026년 11월 8일 점검
게시자(luoshu-echorune)가 저장소 소유자(eirik-rune)가 아니에요. 다른 사람이 등록했을 수 있어요
아직 GitHub에서 이 저장소를 읽어 오지 않았어요
아직 GitHub에서 이 저장소를 읽어 오지 않았어요
아직 점검하지 않았어요. 엔드포인트는 차례대로 돌아가며 점검해요
아직 점검하지 않았어요. 엔드포인트는 차례대로 돌아가며 점검해요
아직 점검하지 않았어요. 엔드포인트를 점검할 때 도구 목록을 읽어요
레지스트리에서 이 카테고리의 활성 서버 전체와 비교했어요. 스타는 게시자가 저장소를 소유한 경우에만 세요.
해당하는 기본 점검 1개 중 0개를 통과했어요. 코드는 읽지 않았어요. 키나 토큰을 넣기 전에 서버가 어떤 권한을 요구하는지 확인하고, 꼭 필요한 권한만 있는 키를 쓰세요.
레지스트리에 필수 키가 나와 있지 않아요. 다만 처음 쓸 때 로그인을 요구하는 서버도 있어요.
제작자의 클라우드에서 실행돼요. 설치 없이 인터넷으로 연결하지만, 보내는 내용은 제작자의 서버를 거쳐요.
GitHub 저장소는 마지막으로 – 변경됐고, 최신 버전(1.0.0)은 3개월 전 레지스트리에 올라왔어요.
Claude Desktop, Claude Code, Cursor, VS Code처럼 MCP를 지원하는 앱에서 쓸 수 있어요. URL로 연결되기 때문에, 원격 MCP 서버를 지원하는 앱(예: 개발자 모드의 ChatGPT)에서도 쓸 수 있어요.
같은 카테고리에는: Agro API MCP by usefulapi, FieldClimate MCP by usefulapi, Exely MCP by usefulapi
같은 카테고리에서 다른 제작자가 만든 서버예요. 스타 순으로 정렬했어요.
카드 보는 법:★ GitHub 스타i세 기둥: 리뷰 · 점검 · 사용 정도i업데이트 = 최신 버전을 레지스트리에 공개한 날i
Read satellite, NDVI, weather and soil data; create and delete fields in Agro API.
Read weather station data, sensors, farms, fields and crop zones in FieldClimate.
Read hotel bookings, rooms, cancellation rules and daily occupancy in Exely.
제작자의 저장소에서 쓰인 그대로 가져왔어요. PopNx MCP가 검토하거나 보증한 내용이 아니에요. HTML, 이미지, 스크립트는 제거했어요. 링크를 누르면 이 사이트를 벗어나요.
An LLM-friendly weather service. Every answer comes as text and as PNG, and people and models can read both. One HTTP request, no API key, no account. The text renders in a terminal, in a prompt or in a log line; the picture is sized for a phone screen, in the reader's language:
Frozen 2026-11-05 at 14:15 UTC, while it was raining in all three. Live: echorune.net/saopaulo.png · echorune.net/武汉.png · echorune.net/sapporo/ja.png · full length: São Paulo · 武汉 · 札幌
Measured 2026-11-04, in English, with the next 24 hours and 5 days included: 2.4 KB for Taipei under a clear sky, 5.2 KB for Shanghai in rain, and 1.3 KB for Reykjavik, where we have no radar and the reply says so in one line instead of drawing an empty grid.
curl echorune.net/wuhan
Radar is normally a picture, and plenty of LLM agents still take only text. So when such an agent asks *"is it about to rain on me, and from which direction?"*, what comes back is a sentence somebody else already summarised, and the two-dimensional structure is gone. A character grid keeps it: where the rain is, how strong it is, and which way it is moving -- about 600 tokens for 48x24.
# Wuhan, Wuhan Shi, Hubei, CN weather scene
now: MODERATE_RAIN 16C humidity 100% wind 3km/h precip 3.59mm/h feels 18C today 12~22C wind NE 3km/h AQI(CN) 52 good sunrise 06:40 sunset 17:32 Rain intensity gradually increases. After 46 minute, shifts to moderate rain, but after one hour, the rain stops
rain curve (next 2h, 6min/bucket): ▄▂▁▂▄▄▄▆▇▄▄▂▁ ▂▂▄█▄▁ ├────┼────┼────┼────┤ 0 30 60 90 120min peak 8.83mm/h in 104min chance per 30min: 100% 97% 84% 98%
radar: predict 22:16 obs age: 6min ok obs at: 14:11Z ~6km/char, [><]=Wuhan, Wuhan Shi, Hubei, CN
░░░░░ ░░░░░▒░░░░░░░░░ ░░░░░░ ░░░░ ░░░ ░ ░░░░ ░░░░░░░░░░░░░ ░░░░░░░ ░░░░░░░░░░░ ░░░░ ░░░░░░▒░░░░░░░░░░▒▒▒▓▓▒▒▒▒▒░░░░▒░░░░░░░░░░ ░░░░░░░░░░░░▒░░░░░░▒▒░▒▓▓▓▓▓▓▓▒▒▒░░░░░░░░░░▒▒░░░ ░░░░░░░░▒▒▒▒░▒░░░░░░░░░░><░░░░░░░ ░░░░░▒▒▒▒░░░ ░░░░░░░░▒▓▓▒▒░░░▓▓▒▒░░░ ░░▒░░░ ░░▒▒░░░░░ ░▒▒░▒▒░░░░▒▒▒▒░░▓▓▓▒░░░░░░░░░ ░░░░░▒▒▒ ░░▒▒▒▒▓▒▓▒░░░░░░░░░░░░░▒▒░░░░░ ░░░░░░▒▓▓▓▓ ░░▒▒▒▓██▓▓▓▓▓▓▒░░░░░ ░░░░▒▓▓▓▒░▓▓▓▓▓ ▒▒▓▒▓▒▓▓▓█▓█▓▓▓▓▒░░░░░░░░░▓▓▓▓█░░░░░▓▓▓▓▓▒▓▒▒▒▒▒ ░▒▒▒▓▓▓▓▓█▓█▓▓▓▓▓▓▒▒▓▓▓▒▓▓▓▓▓▓█▒▒░░░░░░▒░▓▓▓▓▒░░ ░░▒▒░▓▓▓▓▓▓▓▓▓██▓█▓▓▓▓▒▒░▒░░░░▒▒▒▒▒░░░░▒▒░▒▒░░░░ ░░▒▒░▒▒▒▒▓▓▓▓▒▓▓▓▓▓▓▓▓▓░▒▒░░░▒▒▓▓▒▓▓▓▒▒▒▒▒░░░▒▒▒ ░░░░░▒▓▒▒░░▒▓▓░░░░▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒▓▓▒░░░░░░░▒▒░░ ░░░░░░▒▓▓▓▒░░░░░░░▓▓▓▓▓███▓▓▓▓▓▓▓▓▓▓▒░░░░░░░░░░░ ░░░░░░░░░▒░ ░░░▓██▓▓███▓▓▓░░▒▓▓▓▒▒░░░░░░░░ → E ~20 km/h echo motion, upstream forecast legend: · drizzle ░ light ▒ moderate ▓ heavy █ storm blank=no echo
next 24h (local time, every 3h): 22:00 16C LIGHT_RAIN rain 98% 0.6mm/h AQI 52 01:00 16C PARTLY_CLOUDY_NIGHT AQI 55 04:00 16C LIGHT_RAIN rain 60% AQI 52 07:00 16C PARTLY_CLOUDY_DAY AQI 52 10:00 19C PARTLY_CLOUDY_DAY AQI 50 13:00 23C PARTLY_CLOUDY_DAY AQI 47 16:00 24C CLEAR_DAY AQI 47 19:00 21C CLEAR_NIGHT AQI 53
next 5 days (AQI: the day's highest): 11-05 Thu 12~22C MODERATE_RAIN rain 70% AQI 55 good 11-06 Fri 16~24C PARTLY_CLOUDY_DAY AQI 55 good 11-07 Sat 14~19C MODERATE_RAIN rain 70% AQI 53 good 11-08 Sun 13~17C CLOUDY AQI 32 excellent 11-09 Mon 11~16C PARTLY_CLOUDY_DAY AQI 35 excellent
picture: https://echorune.net/wuhan.png data: Caiyun Weather caiyunapp.com | runemap (github.com/eirik-rune/runemap)
*Frozen sample: Wuhan, 2026-11-05 22:17 UTC+8, in moderate rain -- two minutes after the Chinese picture above.* Deliberately not live -- a pasted "live" reading starts lying six minutes after it is pasted. What freezing protects is the weather, not the format: this sample sat unchanged from 2026-07-29 while the header, the radar line and the legend all moved, so anyone following it would have compared their real answer against fields we no longer print. It is re-frozen when the format changes. Run the curl above for today.
The same weather as one picture: echorune.net/wuhan.png (or /wuhan/zh.png, /wuhan/ja.png), sized for a phone screen, in one request like the text. A name written in Chinese or Japanese picks the language by itself: /武汉.png comes back in Chinese. Han characters alone read as Chinese unless the phone asks for Japanese, so for a Japanese picture write the name in kana or ask for it, as the Sapporo one above was: /sapporo/ja.png. A QR code at the bottom opens the latest picture for the same place, so whoever receives a forwarded copy can get a fresh one. Every text reply links it on its second-to-last line, so an agent can hand it on without knowing the route.
The radar map also comes on its own: echorune.net/wuhan/radar.png, 800x800, the map the text grid is drawn from, with towns, the motion arrow and a legend. A model reads the phone picture too, but an image input is scaled down to fit, and inside a 1080-wide page the map ends up a few hundred pixels across; the square one arrives at full size. The MCP tool attaches it to every reply; an agent with a shell can download either picture and look.
If you are an agent, or you run one, you can keep this instead of remembering a URL:
npx skills add https://github.com/eirik-rune/runemap --skill echorune-radar
On a machine with no agent installed -- CI, a container, an agent's own automation -- that command opens an interactive picker and, with no terminal attached, exits 0 having installed nothing. Name the agents and it never asks:
npx skills add https://github.com/eirik-rune/runemap --skill echorune-radar --agent '*' -y
That installs skills/echorune-radar/SKILL.md, which is also served live at curl echorune.net/skill.md -- one file, not a copy of one. It teaches an agent the request forms and, more importantly, how to read the reply: a space means no echo, ? means *outside radar coverage*. Those are different states and print differently on purpose, because collapsing them turns "I cannot see there" into "it is fine there".
No key, no account, no SDK. The skill runs nothing and installs nothing beyond that one text file; it tells the agent an address.
Point your client at the URL. There is nothing to install and no key to get:
https://echorune.net/mcp # remote MCP server, streamable HTTP
One tool, get_weather, taking a place (any language, or lon,lat) and an optional language. It returns exactly what curl returns -- the text, and the radar map as an image (/ /radar.png) for a model that can see -- because the tool calls the same routes rather than re-implementing them: a second renderer would agree today and drift by Thursday. When the map is not ready yet the reply says so in a line instead of the image.
Listed in the official MCP registry as io.github.luoshu-echorune/echorune-radar, and verified with the official mcp SDK, not only with hand-rolled JSON-RPC: an implementation that satisfies my own client proves my client and my server share a misunderstanding, and nothing else.
curl echorune.net # your location, guessed from your IP curl echorune.net/bangkok # by name curl echorune.net/bangkok/zh # language suffix: en (default) | zh | ja curl echorune.net/100.50,13.75 # by coordinate (lon first) curl -o bkk.png echorune.net/bangkok.png # the same, as one picture curl echorune.net/help # full door plate curl echorune.net/healthz
Path style exists for a reason: & is a shell operator, so ?q=x&lang=zh has to be quoted, and that is where agent-generated curl commands die most often. A path needs no quotes. The query form keeps working forever, with no redirect to it: LLM agents do not follow 301 by default.
Coordinates are lon,lat -- longitude first, the order Caiyun and Dark Sky take, and the order this service's own first line has always printed. It used to guess instead, swapping when a value exceeded 90; the guess fell silent exactly where both numbers are <= 90, which is the Americas and Europe, so /-74.0,40.7 meaning New York answered 200 with a map of the Southern Ocean. A latitude outside -90..90 is a 400 now, carrying the convention and a corrected command to copy. Nobody can do better than that: someone who really means that stretch of ocean types the same bytes, so the place name in the first line is what shows a reader where the answer came from.
IP to coordinate is a local lookup (DB-IP City Lite, CC-BY, ~0.5ms), never a third-party call; the label then comes from GeoNames in either language, so the two capabilities compose instead of overlapping. A guess says it is a guess and prints the one-line escape. The access log stores only the first three octets.
The service above renders any point on demand. To render one yourself, without the service, bring your own caiyunapp.com token:
CAIYUN_TOKEN=xxx python3 scripts/scene_at.py --lat 18.7883 --lon 98.9853 --lang zh
Flags: --lang en|zh, --label NAME (shown in the headline), --tz HOURS (default lon/15), --code XX (2-char marker drawn at the point).
Radar PNGs are cached in ~/.cache/runemap (30 min; radar index 5 min; current weather is never cached). Override the path with RUNEMAP_CACHE.
Agents ask "is it raining in Bangkok", not "100.50,13.75". So names work too:
python3 scripts/build_geo.py # once: builds ~/geonames/geo.sqlite (~65MB) CAIYUN_TOKEN=xxx python3 scripts/serve.py # binds 127.0.0.1:8788
curl 'localhost:8788/scene?q=bangkok&lang=zh' curl 'localhost:8788/scene?q=%E9%A1%BA%E5%BE%B7' # county level, Chinese name curl 'localhost:8788/scene?lat=18.7883&lon=98.9853' # label reverse-looked-up
Backed by GeoNames cities1000 (CC-BY 4.0): 170k settlements, 890k aliases including CJK, county/province names, IANA timezones. Fully offline, ~1ms per lookup, no rate limit. Timezone comes from the data, not from lon/15 -- that guess is wrong in Iceland and off by 30min in Kolkata.
echorune.net does not run on a free tier of somebody else's platform. It runs on a server the operating partner rented itself:
Both purchases were quoted, signed and broadcast by the machine, with no human touching a keyboard. They are on Base and you can check them:
serve
앞부분만 보여 드려요. 나머지는 저장소에서 읽어 보세요