# 0115 충남대학교 바이오 agent 제작

[https://aistudio.google.com/](https://aistudio.google.com/)

pubchem을 기반으로 답변하는 에이전트 만들기 

> a2a를 사용해서 mcp 서버를 호출할수 있나요? pubchem mcp 서버를 사용해서 pubchem에 검색한 결과를 기반으로 답변하는 챗봇을 만들어주세요

![Image](https://upload.cafenono.com/image/slashpageHome/20260114/233839_yHyXkGauW2pBfR75DK?q=80&s=1280x180&t=outside&f=webp)

`독성에 대한 답변이 pubchem을 통해서 검색 되는거 맞아?` 

![Image](https://upload.cafenono.com/image/slashpageHome/20260114/233909_I1dCH9P50QTwZ9QehT?q=80&s=1280x180&t=outside&f=webp)

### 출력 테스트하기

![Image](https://upload.cafenono.com/image/slashpageHome/20260114/233935_0kAduNeLDFF4GKeDNB?q=80&s=1280x180&t=outside&f=webp)

```

간 손상(약인성 간 손상, DILI)을 유발할 수 있는 대표적인 약물 3가지는 다음과 같습니다. 각 약물은 정해진 용법을 지키지 않거나 장기간 복용 시 간에 심각한 무리를 줄 수 있습니다.

### 1. 아세트아미노펜 (Acetaminophen / Paracetamol)
가장 흔하게 사용되는 해열 진통제(예: 타이레놀)이지만, 과다 복용 시 급성 간부전의 가장 큰 원인이 됩니다.
*   **분자식:** $C_8H_9NO_2$
*   **분자량:** 151.16 g/mol
*   **주의사항:** 하루 최대 허용 용량(성인 기준 대략 4,000mg)을 초과하거나 술과 함께 복용할 경우 간 독성이 급격히 증가합니다.

### 2. 이소니아지드 (Isoniazid)
결핵 치료의 핵심적인 약물이지만, 간 효소 수치를 높이거나 독성 간염을 유발할 수 있는 것으로 잘 알려져 있습니다.
*   **분자식:** $C_6H_7N_3O$
*   **분자량:** 137.14 g/mol
*   **주의사항:** 복용 중 주기적인 간 기능 검사가 필요하며, 피로감, 황달 등의 증상이 나타나면 즉시 의료진과 상담해야 합니다.

### 3. 메토트렉세이트 (Methotrexate)
류마티스 관절염, 건선 또는 암 치료에 사용되는 면역억제제 및 항암제입니다.
*   **분자식:** $C_{20}H_{22}N_8O_5$
*   **분자량:** 454.4 g/mol
*   **주의사항:** 장기 복용 시 간 섬유화나 간경변을 유발할 위험이 있어 세심한 모니터링이 필요합니다.

**중요 알림:** 
모든 약물은 전문가의 처방과 지시에 따라 복용해야 합니다. 위 약물들을 복용하는 중 평소와 다른 피로감, 소변 색의 변화, 황달 등이 나타난다면 즉시 의사나 약사와 상담하시기 바랍니다.
```

`출력결과에 markdown rendering이 필요해` (심지어 오타가 났음에도 이해하고 구현)

![Image](https://upload.cafenono.com/image/slashpageHome/20260114/234731_nWQZMKskEGfudmMsr2?q=80&s=1280x180&t=outside&f=webp)

`화학식은 레이텍으로 랜더링해주면 좋겠어` 

![Image](https://upload.cafenono.com/image/slashpageHome/20260115/061907_pORpI1IA6ZjCrBIlrI?q=80&s=1280x180&t=outside&f=webp)

### 완성된 결과

![Image](https://upload.cafenono.com/image/slashpageHome/20260115/062207_T4zm76t8RXwwJ2t1ci?q=80&s=1280x180&t=outside&f=webp)

---

잠깐만!

앞 부분 코드가 다르게 나올수 있어요, 만약 코드가 잘 돌아가지 않는다면 아래 코드를 활용해주세요

https://drive.google.com/file/d/1g7aTSi65-8bJ5o9cxKlogMNmx1sPMRet/view?usp=sharing

---

### 배포

- google cloud 프로젝트 - 결제 수단 등록 - google cloud 프로젝트 연결 - 배포

![Image](https://upload.cafenono.com/image/slashpageHome/20260115/071046_dT0aB6RYwomnPpNR2i?q=80&s=1280x180&t=outside&f=webp)

- 결제 계정 관리 → 계정만들기 → 결제 계정 연결하기

![Image](https://upload.cafenono.com/image/slashpageHome/20260115/071732_BH5CC3girqiOGkYiXC?q=80&s=1280x180&t=outside&f=webp)

![Image](https://upload.cafenono.com/image/slashpageHome/20260115/071743_uSCTpes1BP1s5oc37I?q=80&s=1280x180&t=outside&f=webp)

결제 수단을 등록한 프로젝트에서 배포를 하면 다음과 같이 배포됨

![Image](https://upload.cafenono.com/image/slashpageHome/20260115/071902_g2OUu2oFr3ZNX04Uvo?q=80&s=1280x180&t=outside&f=webp)

# 로컬에서 수정 후 배포하기

- 지금까지 작업은 aistudio가 작업을 하고 google cloud를 이용해서 배포하는 과정

- 작성한 코드를 다운 받아서 실제 코드를 수정하는 환경에서 수정 후 배포하는 경험이 있어야 다른 도구 제작이 가능

- Antigravity 를 사용함

### 단계

- [node.js](https://nodejs.org/ko/download)를 설치하고 컴퓨터를 종료 후 다시 키기

    - 설치시에 Automatically~ 부분 반드시 체크

![Image](https://upload.cafenono.com/image/slashpageHome/20260115/072426_WQMD4ZJMEQD2J9yOOg?q=80&s=1280x180&t=outside&f=webp)

- [antigravity](http://antigravity.google/)를 설치할 것 (설치후 재부팅)

- terminal을 열어서 `node -v`  를 입력했을때 어떤 결과가 나오는지 확인할것

### 로컬에서 실행하기

- aistudio에서 작성한 파일을 다운받기

![Image](https://upload.cafenono.com/image/slashpageHome/20260115/072639_44eM3FNh6Z2S9GIYxA?q=80&s=1280x180&t=outside&f=webp)

- 폴더에 파일 붙여넣기

- antigravity에서 채팅을 열어서 `@누르고 전체 파일 선택 후` 아래 프롬프트 입력하기

![Image](https://upload.cafenono.com/image/slashpageHome/20260115/072915_QmcuYlvAwnZO9jBW1S?q=80&s=1280x180&t=outside&f=webp)

> 코드 실행에 필요한 환경설정을 하고 코드를 실행해주세요

예상 결과

![Image](https://upload.cafenono.com/image/slashpageHome/20260115/073216_IpjPCr30jMMnBdTXvS?q=80&s=1280x180&t=outside&f=webp)

- localhost:3000 이라는 주소로 내 컴퓨터에 임시로 서버를 만들어서 거기서 웹사이트를 돌리는 중

- 그러나 gemini api key가 입력이 안되어 있기 때문에, 거기에 키를 넣어야한다는 이야기

![Image](https://upload.cafenono.com/image/slashpageHome/20260115/073331_mSHOsWvIcfDM3zIBI0?q=80&s=1280x180&t=outside&f=webp)

- [키 발급받아서](https://aistudio.google.com/api-keys) 넣기 : AI~ 시작하는 키 넣기

## Firebase mcp 사용하여 배포하기

전체과정

- firebase cli에 로그인 → mcp를 사용하여 배포 요청

- mcp가 프로젝트 생성 → 웹페이지 배포

필요사항

- [firebase 회원가입](https://firebase.google.com/) 및 로그인하기

- [firebase mcp](https://firebase.google.com/docs/ai-assistance/mcp-server?hl=ko) 설치하기

Antigravity에서 mcp 설치하기

- `...` 을 눌러 ` MCP servers` 를 선택

![Image](https://upload.cafenono.com/image/slashpageHome/20260115/074327_t6Nn9l5QP5tdV2aW0t?q=80&s=1280x180&t=outside&f=webp)

- `firebase`  검색하여 설치

![Image](https://upload.cafenono.com/image/slashpageHome/20260115/074430_nHk2C7ZUjOBBYhlxoT?q=80&s=1280x180&t=outside&f=webp)

Antigravity의 mcp 설치 후  다음과 같이 요청합니다

> 좋아 이제  firebase mcp를 사용해서 배포해줘

![Image](https://upload.cafenono.com/image/slashpageHome/20260115/080148_F2fC4Ul5Vs4H2drzmf?q=80&s=1280x180&t=outside&f=webp)

결과물 예시: [https://sejong-2f048.web.app/](https://sejong-2f048.web.app/)

## [필독]만약 firebase mcp가 설치가 안된다면 해결방법

### Antigravity에 물어보기

![Image](https://upload.cafenono.com/image/slashpageHome/20260115/074706_0gvNffbnQtXOe2PFeV?q=80&s=1280x180&t=outside&f=webp)

- 오류 메세지 + 프롬프트

- `Firebase MCP를 추가해줘`` ` 

- `firebase mcp 로그인 하자` 

### 수동으로 하기

- [ ] 설치하기 `npm install -g firebase-tools ` 

- [ ] 로그인하기 `firebase login` 

![Image](https://upload.cafenono.com/image/slashpageHome/20260103/063719_87265yKUJV56CRaxC2?q=80&s=1280x180&t=outside&f=webp)

- [ ] 로그인  확인하기

![Image](https://upload.cafenono.com/image/slashpageHome/20260103/070506_qiGav6SL04rL8v0c46?q=80&s=1280x180&t=outside&f=webp)

- [ ] 프로젝트 수동으로 하나 만들기

![Image](https://upload.cafenono.com/image/slashpageHome/20260103/070936_k9Zg3L9wZwhOmLxPjP?q=80&s=1280x180&t=outside&f=webp)

- [ ] 프로젝트 id 복사해서 antigravity에게 알려주기 

> 로그인은 내가 수동으로 했어 배포해줘, 프로젝트 아이디는 { }야, 새 프로젝트로 만들어줘. 

![Image](https://upload.cafenono.com/image/slashpageHome/20260103/070949_RoT3poSXHCNb7vXuS7?q=80&s=1280x180&t=outside&f=webp)

![Image](https://upload.cafenono.com/image/slashpageHome/20260103/071023_jvxBYWZQwNB54K148N?q=80&s=1280x180&t=outside&f=webp)

For the site tree, see the [root Markdown](https://slashpage.com/conanssam.md).
