식품의약품안전처(K-MFDS) 식품영양성분DB를 MCP(Model Context Protocol) 도구로 바로 활용!
예시1 일반 검색 |
---|
![]() |
예시2 응용 검색 |
---|
![]() ![]() |
사용방법은 아래 🛠️ 사용 가능한 MCP 도구
를 참고해주세요 :)
npx k-mfds-fooddb-mcp-server
- MCP 호환 플랫폼(예: ModelContext, MCP SDK 등)에서 바로 실행할 수 있습니다.
- 표준 입력/출력(STDIO) 기반 MCP 서버로 동작합니다.
- Google AI Studio에서 새 프로젝트 생성
- Tools 섹션에서 Add tool 클릭
- MCP Server 선택
- 설정:
Name: K-MFDS FoodDB Command: npx k-mfds-fooddb-mcp-server
- Save 클릭
- Cursor 설정에서 Extensions → MCP 활성화
~/.cursor/mcp_servers.json
파일 생성/수정:{ "mcpServers": { "k-mfds-fooddb": { "command": "npx", "args": ["k-mfds-fooddb-mcp-server"], "env": { "GOV_API_KEY": "발급받은_식약처_API_키" } } } }
- Cursor 재시작
💡 환경변수 설정:
env
섹션에GOV_API_KEY
를 추가하세요. API 키는 공공데이터포털에서 발급받을 수 있습니다.
- Continue 설정에서 MCP Servers 섹션으로 이동
- 새 서버 추가:
Name: k-mfds-fooddb Command: npx k-mfds-fooddb-mcp-server Environment Variables: GOV_API_KEY: 발급받은_식약처_API_키
- Save 클릭
💡 환경변수 설정: Environment Variables 섹션에
GOV_API_KEY
를 추가하세요.
- ModelContext 설정에서 MCP Servers 탭
- Add Server 클릭
- 설정:
{ "name": "K-MFDS FoodDB", "command": "npx", "args": ["k-mfds-fooddb-mcp-server"], "env": { "GOV_API_KEY": "발급받은_식약처_API_키" } }
- Connect 클릭
💡 환경변수 설정:
env
섹션에GOV_API_KEY
를 추가하세요.
대부분의 MCP 호환 클라이언트에서 다음과 같이 설정:
{
"name": "k-mfds-fooddb",
"command": "npx",
"args": ["k-mfds-fooddb-mcp-server"],
"env": {
"GOV_API_KEY": "발급받은_식약처_API_키"
}
}
💡 환경변수 설정:
env
섹션에GOV_API_KEY
를 추가하세요. API 키는 공공데이터포털에서 발급받을 수 있습니다.
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
npm install -g k-mfds-fooddb-mcp-server
# 또는 프로젝트에 설치
npm install k-mfds-fooddb-mcp-server
.env
파일을 프로젝트 루트에 생성하세요. (예시:env.example
참고)- 필수 항목:
GOV_API_KEY
: 식품의약품안전처 OpenAPI 키
GOV_API_KEY=발급받은_식약처_API_키
API 키는 공공데이터포털에서 신청/발급받을 수 있습니다.
- 설명: 식품명, 제조사, 카테고리 등 다양한 조건으로 식품 영양성분 정보를 검색합니다.
- 입력 파라미터:
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"
}
}
- 설명: 식품영양성분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" }
// ... 이하 생략
]
}
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에서 닭가슴살 관련 제품들을 검색한 결과, 다음과 같은 식품들을 추천드립니다:
- 닭가슴살 (생것, 100g 기준)
- 열량: 165 kcal
- 단백질: 31g
- 지방: 3.6g
- 닭가슴살 (구운것, 100g 기준)
- 열량: 165 kcal
- 단백질: 31g
- 지방: 3.6g
- 닭가슴살 (삶은것, 100g 기준)
- 열량: 165 kcal
- 단백질: 31g
- 지방: 3.6g
- 닭가슴살 (튀긴것, 100g 기준)
- 열량: 165 kcal
- 단백질: 31g
- 지방: 3.6g ..."
npx k-mfds-fooddb-mcp-server
- MCP 플랫폼에서 자동으로 도구를 인식/등록합니다.
- STDIO 기반이므로, MCP SDK/ModelContext 등에서 바로 연결해 사용할 수 있습니다.
src/
├── config/ # 환경변수 및 설정
├── external/ # 외부 API 연동/매핑
├── tools/ # MCP 도구 구현
└── index.ts # MCP 서버 진입점
npm test
- Pull Request/이슈 환영합니다!
- 문의: GitHub Issues
- 저장소: GitHub Repository
ISC