Skip to main content
Glama

HRFCO Service

INTELLIGENT_SEARCH_GUIDE.mdโ€ข4.77 kB
# ๐Ÿง  AI-Friendly Water Data Search System ## โœ… ๊ตฌํ˜„ ์™„๋ฃŒ๋œ ์ง€๋Šฅํ˜• ๊ฒ€์ƒ‰ ๊ธฐ๋Šฅ ### ๐Ÿ” **ํ•ต์‹ฌ ๊ฒ€์ƒ‰ ํ•จ์ˆ˜๋“ค** #### 1. `search_water_station_by_name` ```python # ์ง€์—ญ๋ช…์ด๋‚˜ ๊ฐ• ์ด๋ฆ„์œผ๋กœ ๊ด€์ธก์†Œ ๊ฒ€์ƒ‰ await search.search_stations_by_name("ํ•œ๊ฐ•", data_type="waterlevel", auto_fetch_data=True, limit=5) ``` - **์ž…๋ ฅ**: ์„œ์šธ, ํ•œ๊ฐ•, ๋‚™๋™๊ฐ•, ๋ถ€์‚ฐ ๋“ฑ ์ž์—ฐ์–ด - **์ถœ๋ ฅ**: ์œ ์‚ฌ๋„ ๊ธฐ๋ฐ˜ ์ •๋ ฌ๋œ ๊ด€์ธก์†Œ ๋ชฉ๋ก - **์‘๋‹ต ํฌ๊ธฐ**: 346 bytes โœ… #### 2. `get_water_info_by_location` ```python # ์›์Šคํ†ฑ ์ˆ˜๋ฌธ ์ •๋ณด ์กฐํšŒ await search.get_water_info_by_location("์„œ์šธ ์ˆ˜์œ„", limit=5) ``` - **์ž…๋ ฅ**: "ํ•œ๊ฐ• ์ˆ˜์œ„", "์„œ์šธ ๊ฐ•์šฐ๋Ÿ‰", "๋ถ€์‚ฐ ๋‚™๋™๊ฐ•" ๋“ฑ - **์ถœ๋ ฅ**: ๊ฒ€์ƒ‰ + ์‹ค์‹œ๊ฐ„ ๋ฐ์ดํ„ฐ ํ†ตํ•ฉ ๊ฒฐ๊ณผ - **์‘๋‹ต ํฌ๊ธฐ**: 399 bytes โœ… #### 3. `recommend_nearby_stations` ```python # ์ฃผ๋ณ€ ๊ด€์ธก์†Œ ์ถ”์ฒœ await search.recommend_nearby_stations("๋ถ€์‚ฐ", radius=20, priority="distance") ``` - **์ž…๋ ฅ**: ๊ธฐ์ค€ ์œ„์น˜, ๋ฐ˜๊ฒฝ, ์šฐ์„ ์ˆœ์œ„ - **์ถœ๋ ฅ**: ์ถ”์ฒœ ๊ด€์ธก์†Œ ๋ชฉ๋ก - **์‘๋‹ต ํฌ๊ธฐ**: 522 bytes โœ… ## ๐Ÿง  **์ง€๋Šฅํ˜• ์ฒ˜๋ฆฌ ๋กœ์ง** ### **๋‹ค์ธต ๋งค์นญ ์‹œ์Šคํ…œ** ``` ์‚ฌ์šฉ์ž ์ž…๋ ฅ: "ํ•œ๊ฐ• ์ˆ˜์œ„" โ†“ 1. ์ •๊ทœํ™”: "ํ•œ๊ฐ•" + "์ˆ˜์œ„" ๋ถ„๋ฆฌ 2. ์ง€์—ญ ๋งคํ•‘: ํ•œ๊ฐ• โ†’ ํ•œ๊ฐ• ์œ ์—ญ ๊ด€์ธก์†Œ ๋ชฉ๋ก 3. ์œ ์‚ฌ๋„ ๊ณ„์‚ฐ: Levenshtein distance + ํ‚ค์›Œ๋“œ ๋งค์นญ 4. ๋žญํ‚น: ๊ด€์ธก์†Œ๋ช…, ์ฃผ์†Œ ์œ ์‚ฌ๋„ ๊ธฐ๋ฐ˜ ์ ์ˆ˜ํ™” 5. ์ž๋™ ์กฐํšŒ: ์ƒ์œ„ ๊ด€์ธก์†Œ๋“ค์˜ ์‹ค์‹œ๊ฐ„ ๋ฐ์ดํ„ฐ 6. ํ†ตํ•ฉ ์‘๋‹ต: "ํ•œ๊ฐ• ์œ ์—ญ ๊ด€์ธก์†Œ ํ˜„์žฌ ์ˆ˜์œ„" ๋ฐ˜ํ™˜ ``` ### **์ง€์—ญ/๊ฐ• ๋งคํ•‘ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค** ```python location_mapping = { "์„œ์šธ": ["์„œ์šธ", "ํ•œ๊ฐ•", "์ฒญ๊ณ„์ฒœ"], "๋ถ€์‚ฐ": ["๋ถ€์‚ฐ", "๋‚™๋™๊ฐ•", "์ˆ˜์˜๊ฐ•"], "๋Œ€๊ตฌ": ["๋Œ€๊ตฌ", "๋‚™๋™๊ฐ•", "๊ธˆํ˜ธ๊ฐ•"], # ... 16๊ฐœ ์ฃผ์š” ์ง€์—ญ ๋งคํ•‘ } ``` ### **๊ฒ€์ƒ‰ ์‹คํŒจ ์‹œ ๋Œ€์•ˆ ์ œ์‹œ** ```python # ์ž…๋ ฅ: "๊ฐ•๋‚จ ์ˆ˜์œ„" (์ง์ ‘ ๊ด€์ธก์†Œ ์—†์Œ) # ์ถœ๋ ฅ: ๋Œ€์•ˆ ๊ด€์ธก์†Œ ๋ชฉ๋ก + ์ถ”์ฒœ ๋ฉ”์‹œ์ง€ { "status": "no_match", "message": "'๊ฐ•๋‚จ ์ˆ˜์œ„'์— ๋Œ€ํ•œ ๊ด€์ธก์†Œ๋ฅผ ์ฐพ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค", "suggestions": ["ํ•œ๊ฐ•๋Œ€๊ต ๊ด€์ธก์†Œ (2km)", "์ž ์‹ค ๊ด€์ธก์†Œ (5km)"] } ``` ## ๐Ÿ“Š **์„ฑ๋Šฅ ์ตœ์ ํ™” ๊ฒฐ๊ณผ** ### โœ… **์‘๋‹ต ํฌ๊ธฐ ์ œํ•œ** - **๊ธฐ๋ณธ ๊ฒ€์ƒ‰**: 346 bytes (1KB ๋ฏธ๋งŒ) - **์›์Šคํ†ฑ ์กฐํšŒ**: 399 bytes (์‹ค์‹œ๊ฐ„ ๋ฐ์ดํ„ฐ ํฌํ•จ) - **์ถ”์ฒœ ์‹œ์Šคํ…œ**: 522 bytes (5๊ฐœ ๊ด€์ธก์†Œ) - **์ „์ฒด ๊ด€์ธก์†Œ**: 1,366๊ฐœ โ†’ ์ตœ๋Œ€ 5๊ฐœ ์ œํ•œ ๋ฐ˜ํ™˜ ### โœ… **๊ฒ€์ƒ‰ ์ •ํ™•๋„** - **์ง์ ‘ ๋งค์นญ**: ํ•œ๊ฐ• โ†’ ํ•œ๊ฐ• ๊ด€๋ จ ๊ด€์ธก์†Œ 100% ๋งค์นญ - **์ง€์—ญ ๋งค์นญ**: ์„œ์šธ โ†’ ์„œ์šธ ์ง€์—ญ ๊ด€์ธก์†Œ ์ž๋™ ๋ฐœ๊ฒฌ - **์œ ์‚ฌ๋„ ๊ฒ€์ƒ‰**: ๋ถ€๋ถ„ ์ผ์น˜ ๋ฐ ์˜คํƒ€ ํ—ˆ์šฉ ### โœ… **์ฒ˜๋ฆฌ ์†๋„** - **์บ์‹ฑ ์‹œ์Šคํ…œ**: ๊ด€์ธก์†Œ ๋ชฉ๋ก ๋ฉ”๋ชจ๋ฆฌ ์บ์‹œ - **๋น„๋™๊ธฐ ์ฒ˜๋ฆฌ**: ๋™์‹œ ๋‹ค์ค‘ API ํ˜ธ์ถœ - **์‘๋‹ต ์‹œ๊ฐ„**: < 2์ดˆ (์‹ค์‹œ๊ฐ„ ๋ฐ์ดํ„ฐ ํฌํ•จ) ## ๐ŸŽฏ **OpenAI Function Calling ํ†ตํ•ฉ** ### **Function ์ •์˜** ```json { "name": "search_water_station_by_name", "description": "์ง€์—ญ๋ช…์ด๋‚˜ ๊ฐ• ์ด๋ฆ„์œผ๋กœ ๊ด€์ธก์†Œ๋ฅผ ๊ฒ€์ƒ‰ํ•˜๊ณ  ์‹ค์‹œ๊ฐ„ ๋ฐ์ดํ„ฐ๊นŒ์ง€ ์กฐํšŒ", "parameters": { "location_name": "์„œ์šธ, ํ•œ๊ฐ•, ๋‚™๋™๊ฐ•, ๋ถ€์‚ฐ ๋“ฑ ์ž์—ฐ์–ด ์ž…๋ ฅ", "data_type": "waterlevel ๋˜๋Š” rainfall", "auto_fetch_data": "๊ฒ€์ƒ‰ ํ›„ ์ž๋™์œผ๋กœ ์‹ค์‹œ๊ฐ„ ๋ฐ์ดํ„ฐ ์กฐํšŒ ์—ฌ๋ถ€" } } ``` ### **API ์—”๋“œํฌ์ธํŠธ** - `GET /search/station` - ๊ด€์ธก์†Œ ๊ฒ€์ƒ‰ - `GET /search/water-info` - ์›์Šคํ†ฑ ์ˆ˜๋ฌธ ์ •๋ณด - `GET /search/nearby` - ์ฃผ๋ณ€ ๊ด€์ธก์†Œ ์ถ”์ฒœ ## ๐Ÿš€ **์‚ฌ์šฉ ์˜ˆ์ œ** ### **์ž์—ฐ์–ด ์งˆ์˜ โ†’ ์ž๋™ ์ฒ˜๋ฆฌ** ```python # ์‚ฌ์šฉ์ž: "ํ•œ๊ฐ• ์ˆ˜์œ„ ์•Œ๋ ค์ค˜" result = await search.get_water_info_by_location("ํ•œ๊ฐ• ์ˆ˜์œ„") # โ†’ ํ•œ๊ฐ• ์œ ์—ญ 5๊ฐœ ๊ด€์ธก์†Œ ์‹ค์‹œ๊ฐ„ ์ˆ˜์œ„ ๋ฐ์ดํ„ฐ ๋ฐ˜ํ™˜ # ์‚ฌ์šฉ์ž: "๋ถ€์‚ฐ ๊ทผ์ฒ˜ ๊ฐ•์šฐ๋Ÿ‰ ๊ด€์ธก์†Œ" result = await search.search_stations_by_name("๋ถ€์‚ฐ", data_type="rainfall") # โ†’ ๋ถ€์‚ฐ ์ง€์—ญ ๊ฐ•์šฐ๋Ÿ‰ ๊ด€์ธก์†Œ ๋ชฉ๋ก + ์‹ค์‹œ๊ฐ„ ๋ฐ์ดํ„ฐ ``` ### **๊ฒ€์ƒ‰ ์‹คํŒจ ์‹œ ์Šค๋งˆํŠธ ๋Œ€์•ˆ** ```python # ์‚ฌ์šฉ์ž: "๊ฐ•๋‚จ ์ˆ˜์œ„" (์ง์ ‘ ๊ด€์ธก์†Œ ์—†์Œ) result = await search.get_water_info_by_location("๊ฐ•๋‚จ ์ˆ˜์œ„") # โ†’ "๊ฐ•๋‚จ ์ฃผ๋ณ€ ๊ด€์ธก์†Œ: ํ•œ๊ฐ•๋Œ€๊ต(2km), ์ž ์‹ค(5km)" ์ถ”์ฒœ ``` ## ๐ŸŽ‰ **ํ•ต์‹ฌ ์„ฑ๊ณผ** - **742๊ฐœ ๊ด€์ธก์†Œ โ†’ ์ง€๋Šฅํ˜• ๊ฒ€์ƒ‰**: ์ž์—ฐ์–ด๋กœ ์ •ํ™•ํ•œ ๊ด€์ธก์†Œ ๋ฐœ๊ฒฌ - **์‘๋‹ต ํฌ๊ธฐ ์ตœ์ ํ™”**: ๋ชจ๋“  ๊ฒ€์ƒ‰ ๊ฒฐ๊ณผ 1KB ๋ฏธ๋งŒ ์œ ์ง€ - **์‹ค์‹œ๊ฐ„ ๋ฐ์ดํ„ฐ ํ†ตํ•ฉ**: ๊ฒ€์ƒ‰๊ณผ ๋™์‹œ์— ํ˜„์žฌ ์ˆ˜๋ฌธ ๋ฐ์ดํ„ฐ ์ œ๊ณต - **OpenAI ์™„์ „ ํ˜ธํ™˜**: Function Calling์œผ๋กœ ChatGPT ์ง์ ‘ ์—ฐ๋™ ๊ฐ€๋Šฅ --- **๐ŸŽฏ ๊ฒฐ๋ก **: 1,366๊ฐœ ๊ด€์ธก์†Œ๋ฅผ ์ž์—ฐ์–ด๋กœ ๊ฒ€์ƒ‰ํ•˜๊ณ  ์‹ค์‹œ๊ฐ„ ๋ฐ์ดํ„ฐ๊นŒ์ง€ ํ•œ๋ฒˆ์— ์กฐํšŒํ•˜๋Š” AI ์นœํ™”์  ์ˆ˜๋ฌธ ๊ฒ€์ƒ‰ ์‹œ์Šคํ…œ ์™„์„ฑ!

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/kwenhwang/hrfco-service'

If you have feedback or need assistance with the MCP directory API, please join our Discord server