FarmSubsidy Korea MCP
๐พ FarmSubsidy Korea (๋์ ๋ณด์กฐ๊ธ ์๋ฆฌ๋ฏธ) MCP
ํ๊ตญ์ ๋์ ๊ด๋ จ ๋ณด์กฐ๊ธยท์ง์๊ธ ๊ณต๊ณ ๋ฅผ ์ ๋ถ ์์ค ์ฌ๋ฌ ๊ณณ์์ ํตํฉ(aggregation) ํด์ ์ ๊ณตํ๋ MCP ์๋ฒ์ ๋๋ค. ์นด์นด์ค PlayMCP โ AGENTIC PLAYER 10 ๊ณต๋ชจ์ ์ถํ์.
์ ์์ค/์ ์์์ /๋ง๊ฐ์๋ฐ ๊ณต๊ณ ๋ฅผ ํค์๋ยท์ง์ญยท์ํ๋ก ๊ฒ์
์ ์ ๋ง๊ฐ์ผยท์์์ผ์ ํก์บ๋ฆฐ๋ MCP(CreateEvent)์ ๋ฐ๋ก ๋๊ธธ ์ ์๋ ์ผ์ ๋ฐ์ดํฐ๋ก ๋ณํ โ ์๋ฆผ/์ผ์ ๋ฑ๋ก ์๋๋ฆฌ์ค
Streamable HTTP(stateless), MCP ์คํ 2025-03-26+ ์ค์, PlayMCP ์ฌ์ฌ ์๊ฑด(annotations 5์ข , TextContent/Markdown, 24KB ์ ํ, ์๋ต์๋) ๋ฐ์
๋ฐ์ดํฐ ์์ค
์์ค | ๋ฐฉ์ | ์ธ์ฆํค | ๋ด์ฉ |
๋์ e์ง (nongupez.go.kr) | REST/JSON | ๋ถํ์ | ๋์ํ๋ถ ๋๋ฆผ์ฌ์ ํตํฉ ํฌํธ โ ์ฐ๋๋ณ ์ ์ฒด ์ฌ์ , ์ ์๊ธฐ๊ฐยท์จ๋ผ์ธ์ ์ฒญ ์ฌ๋ถ (ํ๋ชจ๋์ ์๋ณธ ์์ค) |
๋ณด์กฐ๊ธ24 (ํ์๋ถ ๊ณต๊ณต์๋น์ค API) | REST/JSON |
| ์ค์๋ถ์ฒ+์ง์์ฒด ๊ณต๊ณต์๋น์ค(ํํ) โ ์ง์๋์/๋ด์ฉ/์ ์ฒญ๊ธฐํ ๊ตฌ์กฐํ ๋ฐ์ดํฐ |
๊ธฐ์ ๋ง๋น (bizinfo.go.kr) | REST/JSON |
| ์ ์ฒญ๊ธฐ๊ฐ์ด ๋ช ํํ ์ง์์ฌ์ ๊ณต๊ณ ์คํธ๋ฆผ |
๋๋ฆผ์ถ์ฐ์ํ๋ถ ๊ณต์งยท๊ณต๊ณ RSS | RSS | ๋ถํ์ | ๋ถ์ฒ ๊ณต๊ณ ์๋ฌธ ์ค์๊ฐ |
์์ง์ ์๋ฒ ๊ธฐ๋ ์ 1ํ + 10๋ถ ์ฃผ๊ธฐ ๋ฐฑ๊ทธ๋ผ์ด๋๋ก ์ํํ๊ณ , tool ํธ์ถ์ ํญ์ ๋ฉ๋ชจ๋ฆฌ ์บ์์์ ์ฆ์ ์๋ตํฉ๋๋ค(PlayMCP ์๋ต์๋ ๊ธฐ์ค: ํ๊ท 100ms, p99 3s). ์ผ๋ถ ์์ค ์ฅ์ ์ ๋๋จธ์ง ์์ค๋ก ๊ณ์ ์๋น์คํฉ๋๋ค.
์ ๊ณต ๋๊ตฌ (6์ข , ์ ๋ถ ์ฝ๊ธฐ ์ ์ฉ)
Tool | ์ค๋ช |
| ํค์๋/์ง์ญ/์ ์์ํ ํตํฉ ๊ฒ์ (D-day ํฌํจ) |
| ID๋ก ์์ธ ์กฐํ (์ง์๋์ยท๋ด์ฉยท์ ์ฒญ ๋งํฌ) |
| N์ผ ์ด๋ด ๋ง๊ฐ ์๋ฐ ๊ณต๊ณ (๋ง๊ฐ์ผ์) |
| ์ ์ ์์ ๊ณต๊ณ (์์์ผ์) |
| ์ ๊ท(3์ผ)/๋ง๊ฐ์๋ฐ(7์ผ)/์ ์์์ ๋ฐ์ผ๋ฆฌ ๋ธ๋ฆฌํ |
| ๋ง๊ฐ์ผยท์์์ผ โ ํก์บ๋ฆฐ๋ CreateEvent ํธํ ์ผ์ ํ์ด๋ก๋ ์์ฑ (๋ฏธ๋ฆฌ์๋ฆผ 1์ผ/7์ผ ์ ) |
ํก์บ๋ฆฐ๋ ์ฐ๋ ์๋๋ฆฌ์ค: ์ฌ์ฉ์๊ฐ "์ค๋งํธํ ๋ณด์กฐ๊ธ ๋ง๊ฐ์ผ ์บ๋ฆฐ๋์ ๋ฑ๋กํด์ค"๋ผ๊ณ ํ๋ฉด, ์์ด์ ํธ๊ฐ โ search_farm_subsidies โ โก build_calendar_events โ โข ํก์บ๋ฆฐ๋ MCP์ CreateEvent๋ฅผ ์์๋๋ก ํธ์ถํ๋ MCP ์ฒด์ด๋์ผ๋ก ์์ฑ๋ฉ๋๋ค.
API ํค ๋ฐ๊ธ (๋ ๋ค ์ฆ์ ๋ฐ๊ธ, ๋ฌด๋ฃ)
๋ณด์กฐ๊ธ24: data.go.kr 15113968 โ ๋ก๊ทธ์ธ โ "ํ์ฉ์ ์ฒญ" (์๋์น์ธ) โ ๋ง์ดํ์ด์ง์์ ์ผ๋ฐ ์ธ์ฆํค(Decoding) ๋ณต์ฌ โ
GOV24_API_KEY๊ธฐ์ ๋ง๋น: API ์์ธ ํ์ด์ง ํ๋จ ํผ์์ ์ ๋ณด ์ ๋ ฅ ํ ๋ฑ๋ก โ ํ๋ฉด/์ด๋ฉ์ผ๋ก ์ธ์ฆํค ์๋ น โ
BIZINFO_API_KEY
cp .env.example .env # ํค ์
๋ ฅํค๊ฐ ์์ด๋ ์๋ฒ๋ ๋จ๊ณ ๋์ํ๋ถ RSS ์์ค๋ง์ผ๋ก ๋์ํฉ๋๋ค(ํด๋น ์์ค๋ ์ ์๊ธฐ๊ฐ ์ ๋ณด๊ฐ ์ ํ์ ).
๋ก์ปฌ ์คํ
npm install
npm run build
npm start # http://localhost:8080/mcp (POST), /healthz
npm test # ๋ณ๋ ํฐ๋ฏธ๋์์ ์ค๋ชจํฌ ํ
์คํธ (6๊ฐ ๋๊ตฌ ํธ์ถ ๊ฒ์ฆ)๋ฐฐํฌ โ ์นด์นด์คํด๋ผ์ฐ๋ "PlayMCP in KC"
๊ณต๋ชจ์ ์์ ์ PlayMCP in KC(์ปจํ ์ด๋ ๋ฐฐํฌ ์๋น์ค) ์ฌ์ฉ์ด ํ์์ ๋๋ค. ์์ ์ ์ ๊ธฐ๊ฐ(6/15~7/14)์๋ง ์๋ฒ ๋ฐ๊ธ ๊ฐ๋ฅ, ๊ณ์ ๋น 2๋.
๋ฐฉ๋ฒ A. Git ์์ค ๋น๋ (๊ถ์ฅ โ ๊ฐ์ฅ ๊ฐ๋จ)
์ด ํ๋ก์ ํธ๋ฅผ GitHub ์ ์ฅ์์ push (Dockerfile ํฌํจ๋์ด ์์)
PlayMCP in KC ์ฝ์์์ Git URL + ๋ธ๋์น ์ ๋ ฅ (private๋ฉด PAT ์ ๋ ฅ)
Status๊ฐ
Active๊ฐ ๋๋ฉด Endpoint URL ๋ฐ๊ธ
๋ฐฉ๋ฒ B. ์ปจํ ์ด๋ ์ด๋ฏธ์ง ๋ฑ๋ก
docker build --platform linux/amd64 -t <dockerํ๋ธID>/farm-subsidy-mcp:0.1.0 . # ๋ฐ๋์ linux/amd64
docker push <dockerํ๋ธID>/farm-subsidy-mcp:0.1.0์ฝ์์์ ํธ์คํธ(docker.io)/์ด๋ฏธ์ง๋ช /ํ๊ทธ ์ ๋ ฅ.
ํ๊ฒฝ๋ณ์(
GOV24_API_KEY,BIZINFO_API_KEY)๋ ๋ฐฐํฌ ์ฝ์์ ํ๊ฒฝ๋ณ์ ์ค์ ์ ์ ๋ ฅํ์ธ์.
PlayMCP ๋ฑ๋ก ์ ์ฐจ
playmcp.kakao.com/console โ "์๋ก์ด MCP ์๋ฒ ๋ฑ๋ก"
Endpoint URL ์ ๋ ฅ (
https://<๋ฐ๊ธ๋๋ฉ์ธ>/mcp) โ "์ ๋ณด ๋ถ๋ฌ์ค๊ธฐ" ๋ก tool ๋ชฉ๋ก fetch ํ์ธMCP ์๋ณ์ยท๋ํ ์์(starter messages)ยท๋ํ ์ด๋ฏธ์ง ์ ๋ ฅ โ ์์ ๋ฑ๋ก์ผ๋ก ์ค์ ๋ํ ํ ์คํธ
"๋ฑ๋ก ๋ฐ ์ฌ์ฌ ์์ฒญ" โ ์น์ธ ํ "๋์๊ฒ๋ง ๊ณต๊ฐ" โ "์ ์ฒด ๊ณต๊ฐ"๋ก ๋ฐ๋์ ์ ํ
๊ณต๋ชจ์ ํ์ด์ง ํ๋จ ๋ฒํผ์ผ๋ก ์์ ์ฐธ์ฌ ์ ์ (1ํ๋ง ๊ฐ๋ฅ)
์ฌ์ฌ ์ผ์ ์ฃผ์
์ฌ์ฌ๋ ์์ ์ผ ์ต๋ 7์ผ (ํ๊ท 1~2์ผ). 7/7๊น์ง ์ฌ์ฌ ์์ฒญํ๋ฉด 7/10๊น์ง ์ฌ์ฌ ์๋ฃ ๋ณด์ฅ โ ๋ง๊ฐ(7/14) ์ง์ ์์ฒญ์ ์ํ.
๋ฑ๋ก ์ ์ ๋ ฅ ์ถ์ฒ๊ฐ
๋ํ ์์: "์ด๋ฒ ์ฃผ์ ๋ง๊ฐ๋๋ ๋์ ๋ณด์กฐ๊ธ ์๋ ค์ค" / "์ ๋ถ ์ค๋งํธํ ์ง์์ฌ์ ์ฐพ์์ค" / "์ฒญ๋ ๋ ๋ณด์กฐ๊ธ ๋ง๊ฐ์ผ ํก์บ๋ฆฐ๋์ ๋ฑ๋กํด์ค" / "์ค๋์ ๋์ ๋ณด์กฐ๊ธ ๋ธ๋ฆฌํ"
์ํคํ ์ฒ
src/
index.ts Express + Streamable HTTP (stateless, POST /mcp, GET /healthz)
server.ts MCP ๋๊ตฌ 6์ข
์ ์ (annotations, Markdown ์๋ต, 24KB ์บก)
aggregate.ts ๋ฉํฐ์์ค ์์งยท์ค๋ณต์ ๊ฑฐยท์ ๋ ฌ + ๋ฐฑ๊ทธ๋ผ์ด๋ ๊ฐฑ์ (10๋ถ) + stale-while-revalidate
sources/
nongupez.ts ๋์
e์ง ์ฌ์
๊ฒ์ API (์ธ์ฆ ๋ถํ์, JSON POST)
gov24.ts ๋ณด์กฐ๊ธ24 API (์๋ฒ์ธก ๋ถ์ผํํฐ โ ์คํจ ์ ํด๋ผ์ด์ธํธ ํํฐ ํด๋ฐฑ)
bizinfo.ts ๊ธฐ์
๋ง๋น API (๋์
ํค์๋ ํํฐ)
mafra.ts ๋์ํ๋ถ RSS (์์กด์ฑ ์๋ XML ํ์ฑ)
keywords.ts ๋์
ํ๋ณ ํค์๋/๊ธฐ๊ด ์ฌ์
util.ts ๋ ์ง ์ ๊ทํยท๊ธฐ๊ฐ ํ์ฑยท์ํ ๊ณ์ฐยทHTML ์ ๊ฑฐยทTTL ์บ์
test/smoke.ts MCP ํด๋ผ์ด์ธํธ ์ค๋ชจํฌ ํ
์คํธLatest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/joseph-kang777/farm_subsidy_mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server