jeong-sik_kakao-api-mcp-server
If you are the rightful owner of jeong-sik_kakao-api-mcp-server and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.
This server allows AI models to utilize Kakao Map's mapping features and Daum's various search functions through the Model Context Protocol (MCP).
์นด์นด์ค API MCP ์๋ฒ
์นด์นด์ค๋งต API ๋ฐ Daum ๊ฒ์ API๋ฅผ Model Context Protocol(MCP)์ ํตํด ํ์ฉํ ์ ์๋ ์๋ฒ์ ๋๋ค. ์ด ์๋ฒ๋ฅผ ํตํด AI ๋ชจ๋ธ์ด ์นด์นด์ค๋งต์ ์ง๋ ๊ด๋ จ ๊ธฐ๋ฅ๊ณผ Daum์ ๋ค์ํ ๊ฒ์ ๊ธฐ๋ฅ์ ํ์ฉํ ์ ์์ต๋๋ค.
์ฃผ์ ์ฌํญ
- ์นด์นด์ค ๋ก๊ทธ์ธ, ์นด์นด์คํก ๋ฉ์์ง ๋ณด๋ด๊ธฐ ๋ฑ ์ฌ์ฉ์ ๊ณ์ ๊ด๋ จ ๊ธฐ๋ฅ์ ํฌํจ๋์ด ์์ง ์์ต๋๋ค. ์ด ์๋ฒ๋ ๊ณต๊ฐ๋ ์นด์นด์ค ๋ฐ Daum์ Open API๋ง์ ์ฌ์ฉํฉ๋๋ค.
- ๋ณธ ์๋ฒ๋ฅผ ์ฌ์ฉํ๊ธฐ ์ํด์๋ ์ ํจํ ์นด์นด์ค REST API ํค๊ฐ ํ์ํฉ๋๋ค. ์นด์นด์ค ๋๋ฒจ๋กํผ์ค์์ ์ฑ์ ์์ฑํ๊ณ REST API ํค๋ฅผ ๋ฐ๊ธ๋ฐ์ผ์ธ์.
์ฃผ์ ๊ธฐ๋ฅ
์นด์นด์ค๋งต API
-
์ฅ์ ๊ฒ์ (
mcp_kakao_map_search_places
)- ํค์๋๋ก ์นด์นด์ค๋งต์์ ์ฅ์๋ฅผ ๊ฒ์
- ์์น, ์นดํ ๊ณ ๋ฆฌ, ์ฐ๋ฝ์ฒ ์ ๋ณด ์ ๊ณต
-
์ขํ-์ฃผ์ ๋ณํ (
mcp_kakao_map_coord_to_address
)- ๊ฒฝ์๋ ์ขํ๋ฅผ ์ค์ ์ฃผ์๋ก ๋ณํ
- ๋๋ก๋ช ์ฃผ์ ๋ฐ ์ง๋ฒ ์ฃผ์ ์ ๋ณด ์ ๊ณต
-
๊ธธ์ฐพ๊ธฐ (
mcp_kakao_map_find_route
)- ์ถ๋ฐ์ง์์ ๋ชฉ์ ์ง๊น์ง์ ๊ฒฝ๋ก ๊ฒ์
- ๊ฑฐ๋ฆฌ, ์์ ์๊ฐ, ์์ ํ์ ์๊ธ ๋ฑ ์ ๊ณต
- ๊ตํต ์ํฉ ์ ๋ณด ํฌํจ (์ ํ์ )
Daum ๊ฒ์ API
-
์น ๋ฌธ์ ๊ฒ์ (
mcp_kakao_map_search_web
)- ํค์๋๋ก ๋ค์ ์น ๋ฌธ์ ๊ฒ์
- ํ์ด์ง ์ ๋ ฌ ๋ฐ ๊ฒ์ ๊ฒฐ๊ณผ ๊ฐ์ ์กฐ์ ๊ฐ๋ฅ
-
์ด๋ฏธ์ง ๊ฒ์ (
mcp_kakao_map_search_image
)- ํค์๋๋ก ๋ค์ ์ด๋ฏธ์ง ๊ฒ์
- ์ด๋ฏธ์ง URL ๋ฐ ๊ด๋ จ ์ ๋ณด ์ ๊ณต
-
๋ธ๋ก๊ทธ ๊ฒ์ (
mcp_kakao_map_search_blog
)- ํค์๋๋ก ๋ค์ ๋ธ๋ก๊ทธ ๊ธ ๊ฒ์
- ๋ธ๋ก๊ทธ ์ด๋ฆ, ํฌ์คํธ ์ ๋ชฉ, ๋ด์ฉ ์์ฝ ์ ๊ณต
-
์นดํ ๊ฒ์ (
mcp_kakao_map_search_cafe
)- ํค์๋๋ก ๋ค์ ์นดํ ๊ธ ๊ฒ์
- ์นดํ ์ด๋ฆ, ๊ฒ์๋ฌผ ์ ๋ชฉ, ๋ด์ฉ ์์ฝ ์ ๊ณต
๋๊ตฌ ์ฌ์ฉ ์์ (MCP)
์๋๋ MCP ํด๋ผ์ด์ธํธ(์: AI ๋ชจ๋ธ)๊ฐ ์ด ์๋ฒ์ ๋๊ตฌ๋ฅผ ํธ์ถํ๋ ๋ฐฉ๋ฒ๊ณผ ์์๋๋ ์๋ต ํ์์ ๋๋ค.
์นด์นด์ค๋งต API
1. ์ฅ์ ๊ฒ์ (mcp_kakao_map_search_places
)
ํธ์ถ (Request):
{
"tool_name": "mcp_kakao_map_search_places",
"parameters": {
"keyword": "ํ๊ต์ญ ํ๋๋ฐฑํ์ "
}
}
์๋ต (Response - ์์):
{
"tool_name": "mcp_kakao_map_search_places",
"result": "์ฅ์ ๊ฒ์ ๊ฒฐ๊ณผ (๊ฒฐ๊ณผ ์: 15, ์ด 18๊ฐ):\n์ด๋ฆ: ํ๋๋ฐฑํ์ ํ๊ต์ \n์ฃผ์: ๊ฒฝ๊ธฐ ์ฑ๋จ์ ๋ถ๋น๊ตฌ ๋ฐฑํ๋ 541\n์นดํ
๊ณ ๋ฆฌ: ์ผํ,์ ํต > ๋ฐฑํ์ > ํ๋๋ฐฑํ์ \n์ ํ๋ฒํธ: 031-5170-2233\n์์ธ์ ๋ณด: http://place.map.kakao.com/18757447\n---\n... (์ถ๊ฐ ๊ฒฐ๊ณผ)"
}
2. ์ขํ-์ฃผ์ ๋ณํ (mcp_kakao_map_coord_to_address
)
ํธ์ถ (Request):
{
"tool_name": "mcp_kakao_map_coord_to_address",
"parameters": {
"x": 127.1120278,
"y": 37.3955833
}
}
์๋ต (Response - ์์):
{
"tool_name": "mcp_kakao_map_coord_to_address",
"result": "์ฃผ์ ๋ณํ ๊ฒฐ๊ณผ:\n๋๋ก๋ช
: ๊ฒฝ๊ธฐ ์ฑ๋จ์ ๋ถ๋น๊ตฌ ํ๊ต์ญ๋ก146๋ฒ๊ธธ 20\n์ง๋ฒ: ๊ฒฝ๊ธฐ ์ฑ๋จ์ ๋ถ๋น๊ตฌ ๋ฐฑํ๋ 535"
}
3. ๊ธธ์ฐพ๊ธฐ (mcp_kakao_map_find_route
)
ํธ์ถ (Request):
{
"tool_name": "mcp_kakao_map_find_route",
"parameters": {
"origin": "ํ๊ต์ญ",
"destination": "์ ์์ญ",
"transportation_type": "car",
"traffic_info": true
}
}
์๋ต (Response - ์์):
{
"tool_name": "mcp_kakao_map_find_route",
"result": "๐บ๏ธ ๊ธธ์ฐพ๊ธฐ ๊ฒฐ๊ณผ\n\n์ถ๋ฐ์ง: ํ๊ต์ญ ์ ๋ถ๋น์ (๊ฒฝ๊ธฐ ์ฑ๋จ์ ๋ถ๋น๊ตฌ ์ผํ๋)\n\n๋ชฉ์ ์ง: ์ ์์ญ ์ ๋ถ๋น์ (๊ฒฝ๊ธฐ ์ฑ๋จ์ ๋ถ๋น๊ตฌ ์ ์๋)\n\n์ด๋ ์๋จ: ์๋์ฐจ\n\n์ด ๊ฑฐ๋ฆฌ: 3.6km\n์์ ์์ ์๊ฐ: 10๋ถ\n์์ ํ์ ์๊ธ: 5,600์\n\n๐ ๊ตํต ์ํฉ ์์ฝ:\n\n์นด์นด์ค๋งต์์ ๋ณด๊ธฐ: https://map.kakao.com/?sName=%ED%8C%90%EA%B5%90%EC%97%AD&eName=%EC%A0%95%EC%9E%90%EC%97%AD\n"
}
Daum ๊ฒ์ API
1. ์น ๋ฌธ์ ๊ฒ์ (mcp_kakao_map_search_web
)
ํธ์ถ (Request):
{
"tool_name": "mcp_kakao_map_search_web",
"parameters": {
"query": "์นด์นด์ค๋ธ๋ ์ธ ์นผ๋ก",
"size": 2
}
}
์๋ต (Response - ์์):
{
"tool_name": "mcp_kakao_map_search_web",
"result": "์น ๋ฌธ์ ๊ฒ์ ๊ฒฐ๊ณผ (์ด 2083๊ฐ ์ค 2๊ฐ ํ์):\n\n1. ์นด์นด์ค๋ธ๋ ์ธ | ์นผ๋ก Karlo\n ๋ด์ฉ: ์นด์นด์ค๋ธ๋ ์ธ์ ์ด๋ฏธ์ง ์์ฑ ๋ชจ๋ธ Karlo๋ ์ฌ์ฉ์๊ฐ ์
๋ ฅํ ๋ฌธ์ฅ(Text)์ ์ดํดํ์ฌ, ์ธ์์ ๋จ ํ๋๋ฟ์ธ ์ด๋ฏธ์ง๋ฅผ ๋ง๋ค์ด๋ด๋ ์ธ๊ณต์ง๋ฅ ํ๊ฐ์
๋๋ค. ์๋ฐฑ๋ง ์ฅ ๊ท๋ชจ์...\n URL: https://kakaobrain.com/karlo\n ๋ ์ง: 2024. 1. 1.\n\n2. ์นด์นด์ค๋ธ๋ ์ธ, AI ์ํฐ์คํธ '์นผ๋ก 2.0' ๊ณต๊ฐ - ํ
ํฌ๋ ์ํผ\n ๋ด์ฉ: ์นด์นด์ค๋ธ๋ ์ธ์ด ์ด๊ฑฐ๋ ์ธ๊ณต์ง๋ฅ(AI) ์ด๋ฏธ์ง ์์ฑ ๋ชจ๋ธ '์นผ๋ก(Karlo) 2.0'์ ๊ณต๊ฐํ๋ค๊ณ 11์ผ ๋ฐํ๋ค. ์นผ๋ก 2.0์ ์ฝ 3์ต ์ฅ ๊ท๋ชจ์ ํ
์คํธ-์ด๋ฏธ์ง ๋ฐ์ดํฐ์
์ ํ์ตํ ๋ชจ๋ธ์ด...\n URL: https://techrecipe.co.kr/posts/56513\n ๋ ์ง: 2023. 7. 11.\n\nํ์ฌ ํ์ด์ง๊ฐ ๋ง์ง๋ง ํ์ด์ง๊ฐ ์๋๋๋ค. ๋ ๋ง์ ๊ฒฐ๊ณผ๋ฅผ ๋ณด๋ ค๋ฉด page ๋งค๊ฐ๋ณ์๋ฅผ ์ฆ๊ฐ์ํค์ธ์.\n"
}
2. ์ด๋ฏธ์ง ๊ฒ์ (mcp_kakao_map_search_image
)
ํธ์ถ (Request):
{
"tool_name": "mcp_kakao_map_search_image",
"parameters": {
"query": "๊ณ ์์ด",
"size": 1
}
}
์๋ต (Response - ์์):
{
"tool_name": "mcp_kakao_map_search_image",
"result": "์ด๋ฏธ์ง ๊ฒ์ ๊ฒฐ๊ณผ (์ด 8715385๊ฐ ์ค 1๊ฐ ํ์):\n\n1. ์ปฌ๋ ์
์ด๋ฆ: Daum ๋ฐฑ๊ณผ\n ๋ฌธ์ URL: http://100.daum.net/encyclopedia/view/172XX61300001\n ์ด๋ฏธ์ง URL: https://t1.daumcdn.net/thumb/R1024x0/?fname=http%3A%2F%2Ft1.daumcdn.net%2Fencyclop%2F172%2F613%2F172XX61300001\n ์ธ๋ค์ผ URL: https://search1.kakaocdn.net/thumb/R100x100/?fname=http%3A%2F%2Ft1.daumcdn.net%2Fencyclop%2F172%2F613%2F172XX61300001&token=1579057346066cfd0b2e0c671d07c433\n ํฌ๊ธฐ: ๊ฐ๋ก 1024px, ์ธ๋ก 682px\n ํ์ URL: 100.daum.net\n ๋ ์ง: 2014. 11. 6.\n\nํ์ฌ ํ์ด์ง๊ฐ ๋ง์ง๋ง ํ์ด์ง๊ฐ ์๋๋๋ค. ๋ ๋ง์ ๊ฒฐ๊ณผ๋ฅผ ๋ณด๋ ค๋ฉด page ๋งค๊ฐ๋ณ์๋ฅผ ์ฆ๊ฐ์ํค์ธ์.\n"
}
3. ๋ธ๋ก๊ทธ ๊ฒ์ (mcp_kakao_map_search_blog
)
ํธ์ถ (Request):
{
"tool_name": "mcp_kakao_map_search_blog",
"parameters": {
"query": "ํ๊ต ๋ง์ง",
"size": 1
}
}
์๋ต (Response - ์์):
{
"tool_name": "mcp_kakao_map_search_blog",
"result": "๋ธ๋ก๊ทธ ๊ฒ์ ๊ฒฐ๊ณผ (์ด 215893๊ฐ ์ค 1๊ฐ ํ์):\n\n1. ๋ธ๋ก๊ทธ๋ช
: ์งฑ๋์ ์ผ์๋ค๋ฐ์ฌ\n ์ ๋ชฉ: ํ๊ต ๋ง์ง ์ถ์ฒ | ์ ์คํ์ด์ค๋ชฐ ๊ฐ์ฑ๋น ์ข์ ์ ์ฌ ๋ง์ง\n ๋ด์ฉ: ํ๊ตํ
ํฌ๋
ธ๋ฐธ๋ฆฌ ์ ์คํ์ด์ค๋ชฐ์ ๋ ์ ์ฌ์๊ฐ๋ง๋ค ์ง์ฅ์ธ๋ค๋ก ์ธ์ฐ์ธํด๋ฅผ ์ด๋ฃจ๋ ๊ณณ์ด๋ค. ์ค๋์ ํ๊ต ์ ์ฌ ๋ง์ง์ผ๋ก ๊ด์ฐฎ์ ๊ณณ ๋ ๊ตฐ๋ฐ๋ฅผ ์๊ฐํด ๋ณธ๋ค. 1.... \n URL: http://jdcamping.tistory.com/1374\n ์ธ๋ค์ผ: https://search2.kakaocdn.net/thumb/R180x180/?fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcQv0tX%2FbtrOfR4oUu3%2FdKQGkK0kY6kKk40f4kYkYK%2Fimg.jpg&token=1c251bb24ae4bb01657303012e2641ac\n ๋ ์ง: 2024. 12. 17.\n\nํ์ฌ ํ์ด์ง๊ฐ ๋ง์ง๋ง ํ์ด์ง๊ฐ ์๋๋๋ค. ๋ ๋ง์ ๊ฒฐ๊ณผ๋ฅผ ๋ณด๋ ค๋ฉด page ๋งค๊ฐ๋ณ์๋ฅผ ์ฆ๊ฐ์ํค์ธ์.\n"
}
4. ์นดํ ๊ฒ์ (mcp_kakao_map_search_cafe
)
ํธ์ถ (Request):
{
"tool_name": "mcp_kakao_map_search_cafe",
"parameters": {
"query": "์ฝ๋ฉ ์คํฐ๋",
"size": 1
}
}
์๋ต (Response - ์์):
{
"tool_name": "mcp_kakao_map_search_cafe",
"result": "์นดํ ๊ฒ์ ๊ฒฐ๊ณผ (์ด 18335๊ฐ ์ค 1๊ฐ ํ์):\n\n1. ์นดํ๋ช
: ๋
์ทจ์ฌ-์ทจ์
,๋ํ์,๋๊ธฐ์
,๊ณต๊ธฐ์
,NCS,์ธ์ ์ฑ,์ทจ์
์นดํ\n ์ ๋ชฉ: [์คํฐ๋] ์น๊ฐ๋ฐ/์ฝ๋ฉ ๊ธฐ์ด ์คํฐ๋ ๊ตฌํด์\n ๋ด์ฉ: ์๋
ํ์ธ์! ์น๊ฐ๋ฐ ๋ฐ ์ฝ๋ฉ ๊ธฐ์ด๋ฅผ ํจ๊ป ๊ณต๋ถํ ์คํฐ๋์์ ๋ชจ์งํฉ๋๋ค. ํ์ฌ 2๋ช
์ด๋ฉฐ, ์ต๋ 4๋ช
๊น์ง ์๊ฐํ๊ณ ์์ต๋๋ค. ์ฅ์๋ ์ฃผ๋ก ๊ฐ๋จ/์ฌ๋น์์ ์งํํ๊ณ , ์จ๋ผ...\n URL: http://cafe.daum.net/breakjob/DldL/12345\n ์ธ๋ค์ผ: https://search1.kakaocdn.net/thumb/P180x180/?fname=https%3A%2F%2Ft1.daumcdn.net%2Fcafe_image%2F%2Fconfig%2Fimg_default_profile%3Fver%3D1&token=de43b9d06222d0a2192f9f70fcb0f134\n ๋ ์ง: 2025. 3. 28.\n\nํ์ฌ ํ์ด์ง๊ฐ ๋ง์ง๋ง ํ์ด์ง๊ฐ ์๋๋๋ค. ๋ ๋ง์ ๊ฒฐ๊ณผ๋ฅผ ๋ณด๋ ค๋ฉด page ๋งค๊ฐ๋ณ์๋ฅผ ์ฆ๊ฐ์ํค์ธ์.\n"
}
์ค์น ๋ฐ ์ค์
- ์ ์ฅ์ ๋ณต์ ๋ฐ ์ข ์์ฑ ์ค์น:
git clone https://github.com/yousleepwhen/kakao-api-mcp-server.git # ์ ์ฅ์ URL์ ์ค์ URL๋ก ๋ณ๊ฒฝํด์ฃผ์ธ์
cd kakao-api-mcp-server
yarn install
- ์ด ํ๋ก์ ํธ๋
yarn
ํจํค์ง ๋งค๋์ ์ฌ์ฉ์ ๊ถ์ฅํฉ๋๋ค.
- ์นด์นด์ค REST API ํค ์ค์ :
- ํ๋ก์ ํธ ๋ฃจํธ ๋๋ ํ ๋ฆฌ์
.env
ํ์ผ์ ์์ฑํฉ๋๋ค. .env
ํ์ผ ์์ ๋ค์๊ณผ ๊ฐ์ด ์นด์นด์ค ๋๋ฒจ๋กํผ์ค์์ ๋ฐ๊ธ๋ฐ์ REST API ํค๋ฅผ ์ ๋ ฅํฉ๋๋ค:KAKAO_REST_API_KEY=์ฌ๊ธฐ์_์นด์นด์ค_REST_API_ํค_์ ๋ ฅ
- ๋๋, ์๋ฒ ์คํ ์
--kakao-api-key
์ธ์๋ฅผ ํตํด ์ง์ ์ ๋ฌํ ์๋ ์์ต๋๋ค.
- ํ๋ก์ ํธ ๋ฃจํธ ๋๋ ํ ๋ฆฌ์
์คํ ๋ฐฉ๋ฒ
์๋ฒ๋ฅผ ์คํํ๊ธฐ ์ ์ ์ฝ๋๋ฅผ ๋น๋ํด์ผ ํฉ๋๋ค. start
๊ด๋ จ ์คํฌ๋ฆฝํธ์ ๋น๋ ๊ณผ์ ์ด ํฌํจ๋์ด ์์ผ๋ฏ๋ก ๋ณ๋๋ก yarn build
๋ฅผ ์คํํ ํ์๋ ์์ต๋๋ค.
HTTP ๋ชจ๋ (๊ธฐ๋ณธ)
๋ค๋ฅธ ์๋น์ค๋ ๋๊ตฌ์ HTTP๋ฅผ ํตํด ํต์ ํ ๋ ์ฌ์ฉํฉ๋๋ค.
yarn start
๊ธฐ๋ณธ์ ์ผ๋ก 3000๋ฒ ํฌํธ๋ฅผ ์ฌ์ฉํฉ๋๋ค. ํฌํธ๋ฅผ ๋ณ๊ฒฝํ๋ ค๋ฉด --port
์ธ์๋ฅผ ์ฌ์ฉํ์ธ์:
yarn start --port 8080
stdio ๋ชจ๋
ํฐ๋ฏธ๋์ ํ์ค ์ ์ถ๋ ฅ(stdin/stdout)์ ํตํด MCP ๋ฉ์์ง๋ฅผ ์ฃผ๊ณ ๋ฐ์ ๋ ์ฌ์ฉํฉ๋๋ค.
yarn start:stdio
๊ฐ๋ฐ ๋ชจ๋
๊ฐ๋ฐ ์ค ์ฝ๋ ๋ณ๊ฒฝ ์ ์๋์ผ๋ก ๋น๋ํ๊ณ ์๋ฒ๋ฅผ ์ฌ์์ํ๋ ค๋ฉด (nodemon ๋ฑ ๋ณ๋ ์ค์ ํ์) dev
์คํฌ๋ฆฝํธ๋ฅผ ํ์ฉํ ์ ์์ต๋๋ค. ํ์ฌ dev
์คํฌ๋ฆฝํธ๋ start
์ ๋์ผํ๊ฒ ๋์ํฉ๋๋ค.
yarn dev
๋ผ์ด์ ์ค
์ด ํ๋ก์ ํธ๋ MIT ๋ผ์ด์ ์ค ํ์ ๋ฐฐํฌ๋ฉ๋๋ค.