Skip to main content
Glama

๐Ÿฉธ T1D Manager (1ํ˜• ๋‹น๋‡จ ๊ด€๋ฆฌ MCP)

์นด์นด์˜ค MCP Develop Competition (MCP Player 10) ์ถœํ’ˆ์ž‘

1ํ˜• ๋‹น๋‡จ ํ™˜์ž์™€ ๋ณดํ˜ธ์ž๋ฅผ ์œ„ํ•œ AI ์—์ด์ „ํŠธ ์„œ๋ฒ„์ž…๋‹ˆ๋‹ค. ๋ณต์žกํ•œ ์„ค์ • ์—†์ด๋„ ์‹ค์‹œ๊ฐ„ ํ˜ˆ๋‹น ๊ด€๋ฆฌ์™€ ์•„ํ”ˆ ๋‚ (Sick Day) ์ผ€์–ด๋ฅผ ๋ฐ›์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.


๐Ÿ“‹ PlayMCP ๋“ฑ๋ก ์ •๋ณด

๐ŸŽฏ Lite ๋ฒ„์ „ (๊ฒฝ์—ฐ์šฉ - OAuth ๋ถˆํ•„์š”)

ํ•ญ๋ชฉ

๊ฐ’

MCP ์ด๋ฆ„

T1D Manager Lite

MCP Endpoint

https://t1d-mcp-lite.fly.dev/mcp

๋„๊ตฌ ๊ฐœ์ˆ˜

3๊ฐœ

MCP ์„ค๋ช… (๋ณต์‚ฌ์šฉ):

1ํ˜• ๋‹น๋‡จ ํ™˜์ž์™€ ๋ณดํ˜ธ์ž๋ฅผ ์œ„ํ•œ AI ํ˜ˆ๋‹น ๊ด€๋ฆฌ ๋„์šฐ๋ฏธ์ž…๋‹ˆ๋‹ค. ์ธ์А๋ฆฐ ์šฉ๋Ÿ‰ ๊ณ„์‚ฐ(ISF/ICR ๊ธฐ๋ฐ˜), ISPAD/ADA ์ž„์ƒ ๊ฐ€์ด๋“œ๋ผ์ธ ๊ธฐ๋ฐ˜ ์•„ํ”ˆ ๋‚ (Sick Day) ์ผ€์–ด, ๋„ค์ด๋ฒ„/๋‹ค์Œ ํ•˜์ด๋ธŒ๋ฆฌ๋“œ ๊ฒ€์ƒ‰์œผ๋กœ ๋‹น๋‡จ ์ปค๋ฎค๋‹ˆํ‹ฐ ๊ฟ€ํŒ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. OAuth ์„ค์ • ์—†์ด ๋ฐ”๋กœ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.


๐Ÿ” Full ๋ฒ„์ „ (Dexcom OAuth ํฌํ•จ)

ํ•ญ๋ชฉ

๊ฐ’

MCP ์ด๋ฆ„

T1D Manager

MCP Endpoint

https://t1d-mcp.fly.dev/mcp

๋„๊ตฌ ๊ฐœ์ˆ˜

6๊ฐœ

MCP ์„ค๋ช… (๋ณต์‚ฌ์šฉ):

1ํ˜• ๋‹น๋‡จ ํ™˜์ž์™€ ๋ณดํ˜ธ์ž๋ฅผ ์œ„ํ•œ AI ํ˜ˆ๋‹น ๊ด€๋ฆฌ ๋„์šฐ๋ฏธ์ž…๋‹ˆ๋‹ค. Dexcom CGM ์‹ค์‹œ๊ฐ„ ์—ฐ๋™(OAuth 2.0)์œผ๋กœ ํ˜„์žฌ ํ˜ˆ๋‹น๊ณผ ์ถ”์„ธ๋ฅผ ํ™•์ธํ•˜๊ณ , ISPAD/ADA ์ž„์ƒ ๊ฐ€์ด๋“œ๋ผ์ธ ๊ธฐ๋ฐ˜ ์•„ํ”ˆ ๋‚ (Sick Day) ์ผ€์–ด ๋ฐ ์ธ์А๋ฆฐ ๊ณ„์‚ฐ์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. ๋„ค์ด๋ฒ„/๋‹ค์Œ ํ•˜์ด๋ธŒ๋ฆฌ๋“œ ๊ฒ€์ƒ‰์œผ๋กœ ๋‹น๋‡จ ์ปค๋ฎค๋‹ˆํ‹ฐ ๊ฟ€ํŒ๋„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.


๐Ÿ› ๏ธ ๋„๊ตฌ ๋ชฉ๋ก

ํ•ต์‹ฌ ๋„๊ตฌ (Lite/Full ๊ณตํ†ต)

๋„๊ตฌ

์„ค๋ช…

calculate_insulin_dosage

ํ˜ˆ๋‹น/ํƒ„์ˆ˜ํ™”๋ฌผ ๊ธฐ๋ฐ˜ ์ธ์А๋ฆฐ ์šฉ๋Ÿ‰ ๊ณ„์‚ฐ

search_diabetes_community

๋„ค์ด๋ฒ„/๋‹ค์Œ ํ•˜์ด๋ธŒ๋ฆฌ๋“œ ๊ฒ€์ƒ‰ (ํ™˜์ž ๊ฒฝํ—˜๋‹ด, ๊ฟ€ํŒ)

analyze_sick_day_guidelines

ISPAD/ADA ๊ธฐ๋ฐ˜ ์•„ํ”ˆ ๋‚  ์ผ€์–ด ๊ฐ€์ด๋“œ๋ผ์ธ

Dexcom ๋„๊ตฌ (Full ๋ฒ„์ „๋งŒ)

๋„๊ตฌ

์„ค๋ช…

get_dexcom_auth_url

Dexcom OAuth ์ธ์ฆ URL ์ƒ์„ฑ

get_cgm_sandbox

Authorization Code๋กœ CGM ๋ฐ์ดํ„ฐ ์กฐํšŒ

get_cgm_with_token

Access Token์œผ๋กœ CGM ๋ฐ์ดํ„ฐ ์กฐํšŒ


๐Ÿ’ฌ ๋Œ€ํ™” ์˜ˆ์‹œ

๋ฒˆํ˜ธ

์˜ˆ์‹œ

1

๋ฐฅ ๋จน์œผ๋ ค๋Š”๋ฐ ํƒ„์ˆ˜ํ™”๋ฌผ 60g์ด์•ผ. ์ธ์А๋ฆฐ ์–ผ๋งˆ๋‚˜ ๋งž์•„์•ผ ํ•ด?

2

๋‚˜ ์—ด๋‚˜๊ณ  ํ† ํ–ˆ์–ด. ์–ด๋–ป๊ฒŒ ํ•ด์•ผ ํ•ด?

3

์ €ํ˜ˆ๋‹น ๊ฐ„์‹ ์ถ”์ฒœํ•ด์ค˜

4

Dexcom ๋กœ๊ทธ์ธ ํ• ๋ž˜ (Full ๋ฒ„์ „)


โœจ ํ•ต์‹ฌ ๊ธฐ๋Šฅ

1. ๐Ÿฝ๏ธ ์Šค๋งˆํŠธ ์ธ์А๋ฆฐ ๊ณ„์‚ฐ

  • ๊ธฐ๋Šฅ: ํ˜ˆ๋‹น/ํƒ„์ˆ˜ํ™”๋ฌผ ์ž…๋ ฅ ์‹œ ์ •ํ™•ํ•œ ์ธ์А๋ฆฐ ์šฉ๋Ÿ‰๊ณผ ๊ต์œก ์ž๋ฃŒ๋ฅผ ๊ตฌ์กฐํ™”๋œ JSON์œผ๋กœ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

  • ํ• ๋ฃจ์‹œ๋„ค์ด์…˜ ์—†๋Š” ์ •ํ™•ํ•œ ๊ณ„์‚ฐ์„ ๋ณด์žฅํ•ฉ๋‹ˆ๋‹ค.

2. ๐Ÿฅ ์•„ํ”ˆ ๋‚  (Sick Day) ์ผ€์–ด

  • ๊ธฐ๋Šฅ: "๋‚˜ ์—ด ๋‚˜๊ณ  ํ† ํ–ˆ์–ด" โ†’ ISPAD/ADA ๊ฐ€์ด๋“œ๋ผ์ธ ๊ธฐ๋ฐ˜ ์œ„ํ—˜๋„ ๋ถ„์„ ๋ฐ ํ–‰๋™ ์ง€์นจ ์ œ๊ณต.

  • ๋ฐ์ดํ„ฐ: ์ˆ˜๋ถ„ ์„ญ์ทจ, ์ผ€ํ†ค ์ธก์ •, ์‘๊ธ‰์‹ค ๋ฐฉ๋ฌธ ๊ธฐ์ค€ ๋“ฑ ์•ˆ์ „ํ•œ ์˜๋ฃŒ ์ง€์นจ์„ ์•ˆ๋‚ดํ•ฉ๋‹ˆ๋‹ค.

3. ๐Ÿ” ํ•˜์ด๋ธŒ๋ฆฌ๋“œ ์ปค๋ฎค๋‹ˆํ‹ฐ ๊ฒ€์ƒ‰

  • ๊ธฐ๋Šฅ: ๋„ค์ด๋ฒ„ ๋ธ”๋กœ๊ทธ(ํ™˜์ž ๊ฒฝํ—˜๋‹ด)์™€ ๋‹ค์Œ ์›น(์ •๋ณด)์„ ๋™์‹œ์— ๊ฒ€์ƒ‰ํ•˜์—ฌ ์‹ค์งˆ์ ์ธ ๊ฟ€ํŒ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

4. ๐Ÿ“Š Dexcom CGM ์‹ค์‹œ๊ฐ„ ์—ฐ๋™ (Full ๋ฒ„์ „)

  • ๊ธฐ๋Šฅ: Dexcom ๊ณต์‹ Developer API (OAuth 2.0) ์ง€์›์œผ๋กœ ์‹ค์‹œ๊ฐ„ ํ˜ˆ๋‹น ๋ฐ ์ถ”์„ธ ํ™•์ธ.


๐Ÿ› ๏ธ ๊ธฐ์ˆ  ์Šคํƒ & ๊ตฌ์กฐ

  • Core: Python 3.12, mcp (Model Context Protocol), FastMCP

  • Transport: Streamable HTTP (MCP ํ‘œ์ค€ ์ค€์ˆ˜)

  • Integrations: Dexcom Developer API (OAuth), Naver/Kakao Search

  • Infra: Docker, Fly.io

t1d-mcp/
โ”œโ”€โ”€ src/
โ”‚   โ”œโ”€โ”€ server.py          # Streamable HTTP Server Entrypoint
โ”‚   โ”œโ”€โ”€ main.py            # FastMCP Tool Definitions
โ”‚   โ”œโ”€โ”€ tools/
โ”‚   โ”‚   โ””โ”€โ”€ dexcom_tools.py  # Dexcom OAuth Tools (์กฐ๊ฑด๋ถ€ ๋กœ๋“œ)
โ”‚   โ”œโ”€โ”€ cgm/               # Dexcom Official API Client
โ”‚   โ”œโ”€โ”€ treatment/         # Sick Day Logic, Insulin Calc
โ”‚   โ””โ”€โ”€ community/         # Hybrid Search
โ””โ”€โ”€ tests/                 # ๋‹จ์œ„ ํ…Œ์ŠคํŠธ

๐Ÿš€ ์‹œ์ž‘ํ•˜๊ธฐ

1. ๋กœ์ปฌ ์‹คํ–‰

# ์˜์กด์„ฑ ์„ค์น˜ (uv ์‚ฌ์šฉ ๊ถŒ์žฅ)
uv sync

# ์„œ๋ฒ„ ์‹คํ–‰ (Streamable HTTP on port 8080)
uv run uvicorn src.server:app --host 0.0.0.0 --port 8080

2. MCP Inspector๋กœ ํ…Œ์ŠคํŠธ

# Lite ๋ฒ„์ „ (OAuth ์—†์Œ)
npx @modelcontextprotocol/inspector --transport http --server-url https://t1d-mcp-lite.fly.dev/mcp

# Full ๋ฒ„์ „ (Dexcom ํฌํ•จ)
npx @modelcontextprotocol/inspector --transport http --server-url https://t1d-mcp.fly.dev/mcp

๐Ÿ”ง ํ™˜๊ฒฝ ์„ค์ •

Lite ๋ฒ„์ „ (๊ธฐ๋ณธ)

Dexcom ๋„๊ตฌ ์—†์ด ํ•ต์‹ฌ 3๊ฐœ ๋„๊ตฌ๋งŒ ํ™œ์„ฑํ™”๋ฉ๋‹ˆ๋‹ค.

# fly.lite.toml
ENABLE_DEXCOM = "false"

Full ๋ฒ„์ „

Dexcom OAuth ๋„๊ตฌ๊นŒ์ง€ ๋ชจ๋‘ ํ™œ์„ฑํ™”๋ฉ๋‹ˆ๋‹ค.

# fly.toml (๊ธฐ๋ณธ๊ฐ’)
ENABLE_DEXCOM = "true"  # ๋˜๋Š” ๋ฏธ์„ค์ •

๐Ÿ“… To-Do / Roadmap

์™„๋ฃŒ๋จ

  • SSE โ†’ Streamable HTTP ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜

  • Sick Day ๊ฐ€์ด๋“œ๋ผ์ธ ๋„๊ตฌ ๊ฐœ์„  (JSON ๊ตฌ์กฐํ™”, ์˜ํ•™์  ๊ทผ๊ฑฐ ๋ณด๊ฐ•)

  • Fly.io ๋ฐฐํฌ ์™„๋ฃŒ

  • Dexcom Developer Portal ์•ฑ ๋“ฑ๋ก (Sandbox)

  • Legacy ID/PW ๋„๊ตฌ ์ œ๊ฑฐ (์‹ฌ์‚ฌ ๊ธฐ์ค€ ์ค€์ˆ˜)

  • ๋„๊ตฌ ์ตœ์ ํ™” (9๊ฐœ โ†’ 6๊ฐœ)

  • Lite/Full ๋ฒ„์ „ ๋ถ„๋ฆฌ (ํ™˜๊ฒฝ๋ณ€์ˆ˜ ๊ธฐ๋ฐ˜)

์˜ˆ์ •

  • Dexcom Production ํ™˜๊ฒฝ ํ…Œ์ŠคํŠธ

  • ์˜์–‘์ •๋ณด API ์—ฐ๋™ (FoodSafetyKorea ๋“ฑ ์™ธ๋ถ€ API)


โš ๏ธ ๋ฉด์ฑ… ์กฐํ•ญ (Medical Disclaimer)

๋ณธ ์„œ๋น„์Šค๋Š” ์˜๋ฃŒ ๊ธฐ๊ธฐ๊ฐ€ ์•„๋‹ˆ๋ฉฐ, ์ œ๊ณต๋˜๋Š” ์ •๋ณด๋Š” ์ฐธ๊ณ ์šฉ์ž…๋‹ˆ๋‹ค. ์˜ํ•™์  ๊ฒฐ์ •์€ ๋ฐ˜๋“œ์‹œ ๋‹ด๋‹น ์˜๋ฃŒ์ง„๊ณผ ์ƒ์˜ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ธ์А๋ฆฐ ์šฉ๋Ÿ‰ ๊ณ„์‚ฐ์ด๋‚˜ Sick Day ๊ด€๋ฆฌ๋Š” ํ™˜์ž์˜ ๊ฐœ๋ณ„ ์ƒํ™ฉ์— ๋”ฐ๋ผ ๋‹ฌ๋ผ์งˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๐Ÿ“š ๊ด€๋ จ ๋ฌธ์„œ

  • DEPLOYMENT.md: Fly.io ๋ฐฐํฌ ๊ฐ€์ด๋“œ

  • GUIDELINE.md: MCP ์„œ๋ฒ„ ์ƒ์„ฑ ๊ฐ€์ด๋“œ ๋ฐ ์‹ฌ์‚ฌ ์ •์ฑ…

-
security - not tested
F
license - not found
-
quality - not tested

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

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/JunHyungKang/t1d-mcp'

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