k-mfds-fooddb-mcp-server

slicequeue/k-mfds-fooddb-mcp-server

3.3

If you are the rightful owner of k-mfds-fooddb-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.

The K-MFDS FoodDB MCP Server provides access to the Korean Ministry of Food and Drug Safety's food database using the Model Context Protocol.

K-MFDS FoodDB MCP Server

์‹ํ’ˆ์˜์•ฝํ’ˆ์•ˆ์ „์ฒ˜(K-MFDS) ์‹ํ’ˆ์˜์–‘์„ฑ๋ถ„DB๋ฅผ MCP(Model Context Protocol) ๋„๊ตฌ๋กœ ๋ฐ”๋กœ ํ™œ์šฉ!

smithery badge GitHub npm

์‹คํ–‰ ํ™”๋ฉด

์˜ˆ์‹œ1 ์ผ๋ฐ˜ ๊ฒ€์ƒ‰
์˜ˆ์‹œ2 ์‘์šฉ ๊ฒ€์ƒ‰

์‚ฌ์šฉ๋ฐฉ๋ฒ•์€ ์•„๋ž˜ ๐Ÿ› ๏ธ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ MCP ๋„๊ตฌ๋ฅผ ์ฐธ๊ณ ํ•ด์ฃผ์„ธ์š” :)


โœจ ๋น ๋ฅธ ์‹œ์ž‘ (npx)

npx k-mfds-fooddb-mcp-server
  • MCP ํ˜ธํ™˜ ํ”Œ๋žซํผ(์˜ˆ: ModelContext, MCP SDK ๋“ฑ)์—์„œ ๋ฐ”๋กœ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ํ‘œ์ค€ ์ž…๋ ฅ/์ถœ๋ ฅ(STDIO) ๊ธฐ๋ฐ˜ MCP ์„œ๋ฒ„๋กœ ๋™์ž‘ํ•ฉ๋‹ˆ๋‹ค.

๐Ÿš€ MCP ํด๋ผ์ด์–ธํŠธ ์„ค์ •

Gemini (Google AI Studio)

  1. Google AI Studio์—์„œ ์ƒˆ ํ”„๋กœ์ ํŠธ ์ƒ์„ฑ
  2. Tools ์„น์…˜์—์„œ Add tool ํด๋ฆญ
  3. MCP Server ์„ ํƒ
  4. ์„ค์ •:
    Name: K-MFDS FoodDB
    Command: npx k-mfds-fooddb-mcp-server
    
  5. Save ํด๋ฆญ

Cursor

  1. Cursor ์„ค์ •์—์„œ Extensions โ†’ MCP ํ™œ์„ฑํ™”
  2. ~/.cursor/mcp_servers.json ํŒŒ์ผ ์ƒ์„ฑ/์ˆ˜์ •:
    {
      "mcpServers": {
        "k-mfds-fooddb": {
          "command": "npx",
          "args": ["k-mfds-fooddb-mcp-server"],
          "env": {
            "GOV_API_KEY": "๋ฐœ๊ธ‰๋ฐ›์€_์‹์•ฝ์ฒ˜_API_ํ‚ค"
          }
        }
      }
    }
    
  3. Cursor ์žฌ์‹œ์ž‘

๐Ÿ’ก ํ™˜๊ฒฝ๋ณ€์ˆ˜ ์„ค์ •: env ์„น์…˜์— GOV_API_KEY๋ฅผ ์ถ”๊ฐ€ํ•˜์„ธ์š”. API ํ‚ค๋Š” ๊ณต๊ณต๋ฐ์ดํ„ฐํฌํ„ธ์—์„œ ๋ฐœ๊ธ‰๋ฐ›์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Continue

  1. Continue ์„ค์ •์—์„œ MCP Servers ์„น์…˜์œผ๋กœ ์ด๋™
  2. ์ƒˆ ์„œ๋ฒ„ ์ถ”๊ฐ€:
    Name: k-mfds-fooddb
    Command: npx k-mfds-fooddb-mcp-server
    Environment Variables:
      GOV_API_KEY: ๋ฐœ๊ธ‰๋ฐ›์€_์‹์•ฝ์ฒ˜_API_ํ‚ค
    
  3. Save ํด๋ฆญ

๐Ÿ’ก ํ™˜๊ฒฝ๋ณ€์ˆ˜ ์„ค์ •: Environment Variables ์„น์…˜์— GOV_API_KEY๋ฅผ ์ถ”๊ฐ€ํ•˜์„ธ์š”.

ModelContext

  1. ModelContext ์„ค์ •์—์„œ MCP Servers ํƒญ
  2. Add Server ํด๋ฆญ
  3. ์„ค์ •:
    {
      "name": "K-MFDS FoodDB",
      "command": "npx",
      "args": ["k-mfds-fooddb-mcp-server"],
      "env": {
        "GOV_API_KEY": "๋ฐœ๊ธ‰๋ฐ›์€_์‹์•ฝ์ฒ˜_API_ํ‚ค"
      }
    }
    
  4. Connect ํด๋ฆญ

๐Ÿ’ก ํ™˜๊ฒฝ๋ณ€์ˆ˜ ์„ค์ •: env ์„น์…˜์— GOV_API_KEY๋ฅผ ์ถ”๊ฐ€ํ•˜์„ธ์š”.

๊ธฐํƒ€ MCP ํ˜ธํ™˜ ํด๋ผ์ด์–ธํŠธ

๋Œ€๋ถ€๋ถ„์˜ MCP ํ˜ธํ™˜ ํด๋ผ์ด์–ธํŠธ์—์„œ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์„ค์ •:

{
  "name": "k-mfds-fooddb",
  "command": "npx",
  "args": ["k-mfds-fooddb-mcp-server"],
  "env": {
    "GOV_API_KEY": "๋ฐœ๊ธ‰๋ฐ›์€_์‹์•ฝ์ฒ˜_API_ํ‚ค"
  }
}

๐Ÿ’ก ํ™˜๊ฒฝ๋ณ€์ˆ˜ ์„ค์ •: env ์„น์…˜์— GOV_API_KEY๋ฅผ ์ถ”๊ฐ€ํ•˜์„ธ์š”. API ํ‚ค๋Š” ๊ณต๊ณต๋ฐ์ดํ„ฐํฌํ„ธ์—์„œ ๋ฐœ๊ธ‰๋ฐ›์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.


๐Ÿ“ฆ ์„ค์น˜ (npm)

Installing via Smithery

To install k-mfds-fooddb-mcp-server for Claude Desktop automatically via Smithery:

npx -y @smithery/cli install @slicequeue/k-mfds-fooddb-mcp-server --client claude

Installing manually

npm install -g k-mfds-fooddb-mcp-server
# ๋˜๋Š” ํ”„๋กœ์ ํŠธ์— ์„ค์น˜
npm install k-mfds-fooddb-mcp-server

โšก ํ™˜๊ฒฝ ๋ณ€์ˆ˜ ์„ค์ •

  1. .env ํŒŒ์ผ์„ ํ”„๋กœ์ ํŠธ ๋ฃจํŠธ์— ์ƒ์„ฑํ•˜์„ธ์š”. (์˜ˆ์‹œ: env.example ์ฐธ๊ณ )
  2. ํ•„์ˆ˜ ํ•ญ๋ชฉ:
    • GOV_API_KEY: ์‹ํ’ˆ์˜์•ฝํ’ˆ์•ˆ์ „์ฒ˜ OpenAPI ํ‚ค
GOV_API_KEY=๋ฐœ๊ธ‰๋ฐ›์€_์‹์•ฝ์ฒ˜_API_ํ‚ค

API ํ‚ค๋Š” ๊ณต๊ณต๋ฐ์ดํ„ฐํฌํ„ธ์—์„œ ์‹ ์ฒญ/๋ฐœ๊ธ‰๋ฐ›์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.


๐Ÿ› ๏ธ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ MCP ๋„๊ตฌ

1. ์‹ํ’ˆ ๊ฒ€์ƒ‰ ๋„๊ตฌ (searchFoodNutrition)

  • ์„ค๋ช…: ์‹ํ’ˆ๋ช…, ์ œ์กฐ์‚ฌ, ์นดํ…Œ๊ณ ๋ฆฌ ๋“ฑ ๋‹ค์–‘ํ•œ ์กฐ๊ฑด์œผ๋กœ ์‹ํ’ˆ ์˜์–‘์„ฑ๋ถ„ ์ •๋ณด๋ฅผ ๊ฒ€์ƒ‰ํ•ฉ๋‹ˆ๋‹ค.
  • ์ž…๋ ฅ ํŒŒ๋ผ๋ฏธํ„ฐ:
    • foodNameKr: ์‹ํ’ˆ๋ช… (์˜ˆ: "์‚ฌ๊ณผ")
    • makerName: ์ œ์กฐ์‚ฌ๋ช… (์˜ˆ: "๋†์‹ฌ")
    • foodCategory1Name: ์‹ํ’ˆ ๋Œ€๋ถ„๋ฅ˜๋ช… (์˜ˆ: "๊ณผ์ผ๋ฅ˜")
    • itemReportNo: ํ’ˆ๋ชฉ์ œ์กฐ๋ณด๊ณ ๋ฒˆํ˜ธ
    • researchYearMonthDate: ๋ฐ์ดํ„ฐ ์ƒ์„ฑ์ผ์ž (YYYYMMDD)
    • pageNo: ํŽ˜์ด์ง€ ๋ฒˆํ˜ธ (๊ธฐ๋ณธ๊ฐ’: 1)
    • numOfRows: ํ•œ ํŽ˜์ด์ง€ ๊ฒฐ๊ณผ์ˆ˜ (๊ธฐ๋ณธ๊ฐ’: 10, ์ตœ๋Œ€: 100)
    • updateDate: ๋ฐ์ดํ„ฐ ์ˆ˜์ •์ผ์ž (YYYYMMDD)
    • dbClassName: ํ’ˆ๋ชฉ๋Œ€ํ‘œ/์ƒ์šฉ์ œํ’ˆ ๊ตฌ๋ถ„
โœ… ์˜ˆ์‹œ ์š”์ฒญ
{
  "foodNameKr": "์‚ฌ๊ณผ",
  "numOfRows": 5
}
โœ… ์˜ˆ์‹œ ์‘๋‹ต
{
  "data": [
    {
      "foodNameKr": "์‚ฌ๊ณผ",
      "makerName": "๋†ํ˜‘",
      "foodCategory1Name": "๊ณผ์ผ๋ฅ˜",
      "servingSize": "100g",
      "nutritionComponents": [
        { "name": "์—ด๋Ÿ‰", "value": "52", "unit": "kcal" },
        { "name": "๋‹จ๋ฐฑ์งˆ", "value": "0.3", "unit": "g" }
      ],
      "itemReportNum": "2020123456789",
      "researchDate": "20201201"
    }
  ],
  "paging": {
    "totalCount": "100",
    "pageNo": "1",
    "numOfRows": "10"
  }
}

2. ์˜์–‘์„ฑ๋ถ„ ์ฝ”๋“œ ์กฐํšŒ ๋„๊ตฌ (getNutritionComponentTypes)

  • ์„ค๋ช…: ์‹ํ’ˆ์˜์–‘์„ฑ๋ถ„DB์—์„œ ์ œ๊ณตํ•˜๋Š” ์˜์–‘์„ฑ๋ถ„ ์ฝ”๋“œ/์ด๋ฆ„/๋‹จ์œ„ ๋ชฉ๋ก์„ ์กฐํšŒํ•ฉ๋‹ˆ๋‹ค.
  • ์ž…๋ ฅ ํŒŒ๋ผ๋ฏธํ„ฐ: ์—†์Œ
โœ… ์˜ˆ์‹œ ์‘๋‹ต
{
  "items": [
    {
      "code": "AMT_NUM1",
      "name": "์—๋„ˆ์ง€",
      "label": "์—๋„ˆ์ง€(kcal)",
      "unit": "kcal"
    },
    { "code": "AMT_NUM2", "name": "์ˆ˜๋ถ„", "label": "์ˆ˜๋ถ„(g)", "unit": "g" },
    { "code": "AMT_NUM3", "name": "๋‹จ๋ฐฑ์งˆ", "label": "๋‹จ๋ฐฑ์งˆ(g)", "unit": "g" }
    // ... ์ดํ•˜ ์ƒ๋žต
  ]
}

๐Ÿ’ฌ ์‹ค์ œ ์‚ฌ์šฉ ์˜ˆ์‹œ (LLM ์งˆ๋ฌธ)

๐ŸŽ ์‹ํ’ˆ ๊ฒ€์ƒ‰ ๋„๊ตฌ ์‚ฌ์šฉ ์˜ˆ์‹œ

Claude/Cursor์—์„œ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์งˆ๋ฌธํ•˜์„ธ์š”:

"์‚ฌ๊ณผ์˜ ์˜์–‘์„ฑ๋ถ„ ์ •๋ณด๋ฅผ ์•Œ๋ ค์ค˜"

"๋†์‹ฌ์—์„œ ๋งŒ๋“œ๋Š” ๋ผ๋ฉด์˜ ์˜์–‘์„ฑ๋ถ„์„ ๊ฒ€์ƒ‰ํ•ด์ค˜"

"๊ณผ์ผ๋ฅ˜ ์นดํ…Œ๊ณ ๋ฆฌ์—์„œ ์นผ๋กœ๋ฆฌ๊ฐ€ ๋‚ฎ์€ ์‹ํ’ˆ๋“ค์„ ์ฐพ์•„์ค˜"

๐Ÿ“Š ์˜์–‘์„ฑ๋ถ„ ์ฝ”๋“œ ์กฐํšŒ ๋„๊ตฌ ์‚ฌ์šฉ ์˜ˆ์‹œ

Claude/Cursor์—์„œ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์งˆ๋ฌธํ•˜์„ธ์š”:

"์‹ํ’ˆ์˜์–‘์„ฑ๋ถ„DB์—์„œ ์ œ๊ณตํ•˜๋Š” ์˜์–‘์„ฑ๋ถ„ ์ฝ”๋“œ ๋ชฉ๋ก์„ ๋ณด์—ฌ์ค˜"

"์–ด๋–ค ์˜์–‘์„ฑ๋ถ„๋“ค์„ ์กฐํšŒํ•  ์ˆ˜ ์žˆ๋‚˜์š”?"

"์˜์–‘์„ฑ๋ถ„ ๋‹จ์œ„ ์ •๋ณด๋ฅผ ์•Œ๋ ค์ค˜"

"์‹ํ’ˆ์˜์–‘์„ฑ๋ถ„DB์˜ ์˜์–‘์„ฑ๋ถ„ ๋ถ„๋ฅ˜ ์ฒด๊ณ„๋ฅผ ์„ค๋ช…ํ•ด์ค˜"

๐ŸŽฏ ์‹ค์ œ ๋Œ€ํ™” ์˜ˆ์‹œ

์‚ฌ์šฉ์ž: "์‚ฌ๊ณผ์˜ ์˜์–‘์„ฑ๋ถ„์„ ์•Œ๋ ค์ค˜"

AI: "์‚ฌ๊ณผ์˜ ์˜์–‘์„ฑ๋ถ„ ์ •๋ณด๋ฅผ ๊ฒ€์ƒ‰ํ•ด๋“œ๋ฆฌ๊ฒ ์Šต๋‹ˆ๋‹ค."

[MCP ๋„๊ตฌ ํ˜ธ์ถœ: searchFoodNutrition]

AI: "์‚ฌ๊ณผ์˜ ์˜์–‘์„ฑ๋ถ„ ์ •๋ณด์ž…๋‹ˆ๋‹ค:

  • ์—ด๋Ÿ‰: 52 kcal (100g ๊ธฐ์ค€)
  • ๋‹จ๋ฐฑ์งˆ: 0.3g
  • ์ง€๋ฐฉ: 0.2g
  • ํƒ„์ˆ˜ํ™”๋ฌผ: 13.8g
  • ์‹์ด์„ฌ์œ : 2.4g ..."

์‚ฌ์šฉ์ž: "์–ด๋–ค ์˜์–‘์„ฑ๋ถ„๋“ค์„ ์กฐํšŒํ•  ์ˆ˜ ์žˆ๋‚˜์š”?"

AI: "์‹ํ’ˆ์˜์–‘์„ฑ๋ถ„DB์—์„œ ์ œ๊ณตํ•˜๋Š” ์˜์–‘์„ฑ๋ถ„ ์ฝ”๋“œ ๋ชฉ๋ก์„ ํ™•์ธํ•ด๋“œ๋ฆฌ๊ฒ ์Šต๋‹ˆ๋‹ค."

[MCP ๋„๊ตฌ ํ˜ธ์ถœ: getNutritionComponentTypes]

AI: "๋‹ค์Œ๊ณผ ๊ฐ™์€ ์˜์–‘์„ฑ๋ถ„๋“ค์„ ์กฐํšŒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค:

  • ์—๋„ˆ์ง€ (kcal)
  • ์ˆ˜๋ถ„ (g)
  • ๋‹จ๋ฐฑ์งˆ (g)
  • ์ง€๋ฐฉ (g)
  • ํƒ„์ˆ˜ํ™”๋ฌผ (g)
  • ์‹์ด์„ฌ์œ  (g)
  • ํšŒ๋ถ„ (g)
  • ๋‚˜ํŠธ๋ฅจ (mg)
  • ์นผ๋ฅจ (mg) ..."

๐Ÿ” ๊ณ ๊ธ‰ ๊ฒ€์ƒ‰ ์˜ˆ์‹œ

์‚ฌ์šฉ์ž: "๋‹ญ๊ฐ€์Šด์‚ด ์ค‘์— ์นผ๋กœ๋ฆฌ๊ฐ€ ๋‚ฎ๊ณ  ๋‹จ๋ฐฑ์งˆ์ด ๋†’์€ ์‹ํ’ˆ์„ ์ฐพ์•„์ค˜"

AI: "๋‹ญ๊ฐ€์Šด์‚ด ๊ด€๋ จ ์‹ํ’ˆ ์ค‘์—์„œ ์นผ๋กœ๋ฆฌ๊ฐ€ ๋‚ฎ๊ณ  ๋‹จ๋ฐฑ์งˆ์ด ๋†’์€ ๊ฒƒ๋“ค์„ ๊ฒ€์ƒ‰ํ•ด๋“œ๋ฆฌ๊ฒ ์Šต๋‹ˆ๋‹ค. ์‹ํ’ˆ์˜์–‘์„ฑ๋ถ„DB์—์„œ ๋‹ญ๊ฐ€์Šด์‚ด ๊ด€๋ จ ์ œํ’ˆ๋“ค์„ ์ฐพ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค."

[MCP ๋„๊ตฌ ํ˜ธ์ถœ: searchFoodNutrition]

AI: "์‹ํ’ˆ์˜์–‘์„ฑ๋ถ„DB์—์„œ ๋‹ญ๊ฐ€์Šด์‚ด ๊ด€๋ จ ์ œํ’ˆ๋“ค์„ ๊ฒ€์ƒ‰ํ•œ ๊ฒฐ๊ณผ, ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์‹ํ’ˆ๋“ค์„ ์ถ”์ฒœ๋“œ๋ฆฝ๋‹ˆ๋‹ค:

  1. ๋‹ญ๊ฐ€์Šด์‚ด (์ƒ๊ฒƒ, 100g ๊ธฐ์ค€)
    • ์—ด๋Ÿ‰: 165 kcal
    • ๋‹จ๋ฐฑ์งˆ: 31g
    • ์ง€๋ฐฉ: 3.6g
  2. ๋‹ญ๊ฐ€์Šด์‚ด (๊ตฌ์šด๊ฒƒ, 100g ๊ธฐ์ค€)
    • ์—ด๋Ÿ‰: 165 kcal
    • ๋‹จ๋ฐฑ์งˆ: 31g
    • ์ง€๋ฐฉ: 3.6g
  3. ๋‹ญ๊ฐ€์Šด์‚ด (์‚ถ์€๊ฒƒ, 100g ๊ธฐ์ค€)
    • ์—ด๋Ÿ‰: 165 kcal
    • ๋‹จ๋ฐฑ์งˆ: 31g
    • ์ง€๋ฐฉ: 3.6g
  4. ๋‹ญ๊ฐ€์Šด์‚ด (ํŠ€๊ธด๊ฒƒ, 100g ๊ธฐ์ค€)
    • ์—ด๋Ÿ‰: 165 kcal
    • ๋‹จ๋ฐฑ์งˆ: 31g
    • ์ง€๋ฐฉ: 3.6g ..."

๐Ÿƒ MCP ์„œ๋ฒ„ ์ง์ ‘ ์‹คํ–‰ ์˜ˆ์‹œ

npx k-mfds-fooddb-mcp-server
  • MCP ํ”Œ๋žซํผ์—์„œ ์ž๋™์œผ๋กœ ๋„๊ตฌ๋ฅผ ์ธ์‹/๋“ฑ๋กํ•ฉ๋‹ˆ๋‹ค.
  • STDIO ๊ธฐ๋ฐ˜์ด๋ฏ€๋กœ, MCP SDK/ModelContext ๋“ฑ์—์„œ ๋ฐ”๋กœ ์—ฐ๊ฒฐํ•ด ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๐Ÿ—๏ธ ํ”„๋กœ์ ํŠธ ๊ตฌ์กฐ (์ฐธ๊ณ )

src/
โ”œโ”€โ”€ config/           # ํ™˜๊ฒฝ๋ณ€์ˆ˜ ๋ฐ ์„ค์ •
โ”œโ”€โ”€ external/         # ์™ธ๋ถ€ API ์—ฐ๋™/๋งคํ•‘
โ”œโ”€โ”€ tools/            # MCP ๋„๊ตฌ ๊ตฌํ˜„
โ””โ”€โ”€ index.ts          # MCP ์„œ๋ฒ„ ์ง„์ž…์ 

๐Ÿงช ํ…Œ์ŠคํŠธ

npm test

๐Ÿค ๊ธฐ์—ฌ ๋ฐ ๋ฌธ์˜


๐Ÿ“„ ๋ผ์ด์„ ์Šค

ISC