plant-mcp
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@plant-mcpwhich of my plants need water?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
plant-mcp
반려식물의 물주기와 상태를 기록하고 조회하는 MCP(Model Context Protocol) 서버입니다. Claude Desktop에 연결하면 대화로 식물을 관리할 수 있습니다.
"몬스테라 물 줬어" → 기록됨 "오늘 뭐 목말라?" → 밀린 순서로 알려 줌 "몬스테라 아랫잎이 노래져" → 관리 이력을 근거로 원인 추정
왜 MCP인가
식물 관리 앱은 이미 많습니다. 이 프로젝트의 목적은 앱을 하나 더 만드는 게 아니라, 내 개인 데이터를 LLM이 직접 다룰 수 있는 형태로 노출하는 것입니다. 사용자는 UI를 익힐 필요 없이 평소 말투로 기록하고, 조회하고, 상담합니다.
Related MCP server: mcp_hydration
MCP 3요소를 모두 사용
구성요소 | 이 프로젝트에서의 쓰임 |
Tools (9개) | 등록·기록·수정·삭제·조회. LLM이 호출하는 동작 |
Resources |
|
Prompts |
|
Tools
툴 | 하는 일 |
| 식물 등록 (품종·위치·물주기 간격·입양일) |
| 물 준 기록. 날짜 생략 시 오늘 |
| 관찰 기록 ("아랫잎이 노래짐", "새순 나옴") |
| 품종·위치·물주기 간격 수정 |
| 삭제. |
| 전체 목록 + 경과일 + 다음 예정일 |
| 물 줄 때가 된 것만, 많이 밀린 순 |
| 한 그루 상태 요약 |
| 물주기·관찰 기록 통합 타임라인 |
조회 툴은 구조화된 JSON을 돌려주고, 기록 툴은 사람이 읽을 수 있는 확인 문장을 돌려줍니다. LLM이 결과를 그대로 사용자에게 전달해도 자연스럽도록 한 설계입니다.
설계 노트
파괴적 동작에는 가드를 뒀습니다.
remove_plant는 첫 호출에서 삭제하지 않고 확인을 요구하는 문장을 돌려줍니다. LLM이 실수로 데이터를 날리지 못하게 하는 최소한의 안전장치입니다.오류 메시지를 LLM이 고쳐 부를 수 있게 썼습니다. 없는 식물을 조회하면 등록된 식물 목록을 함께 돌려주므로, 오타가 있어도 다음 호출에서 바로 교정됩니다.
저장 계층을 서버와 분리했습니다.
storage.py는 MCP를 모릅니다. 서버 없이 단독 테스트가 가능하고, 나중에 다른 인터페이스를 붙이기도 쉽습니다.커넥션은 호출마다 엽니다. 서버가 툴을 여러 스레드에서 실행해도 안전합니다.
DB 경로가 설치 방식에 의존하지 않습니다. 패키지 위치가 아니라 OS의 사용자 데이터 폴더를 씁니다. 편집 설치든 일반 설치든 같은 DB를 가리킵니다.
설치
필요한 것: uv, Python 3.12 이상
git clone <repo> plant-mcp
cd plant-mcp
uv syncClaude Desktop 연결
claude_desktop_config.json에 다음을 추가합니다.
Windows:
%APPDATA%\Claude\claude_desktop_config.jsonmacOS:
~/Library/Application Support/Claude/claude_desktop_config.json
{
"mcpServers": {
"plant-care": {
"command": "<프로젝트 경로>/.venv/Scripts/plant-mcp.exe"
}
}
}macOS·Linux에서는 command를 <프로젝트 경로>/.venv/bin/plant-mcp로 지정합니다.
저장한 뒤 Claude Desktop을 완전히 종료했다가 다시 실행해야 서버가 잡힙니다.
데이터 저장 위치
기본값은 OS의 사용자 데이터 폴더입니다.
Windows:
%LOCALAPPDATA%\plant-mcp\plants.dbmacOS·Linux:
~/.local/share/plant-mcp/plants.db
PLANT_MCP_DB 환경변수로 바꿀 수 있습니다.
{
"mcpServers": {
"plant-care": {
"command": "...",
"env": { "PLANT_MCP_DB": "D:/data/plants.db" }
}
}
}SQLite 파일 하나이므로 백업은 복사, 이전은 이동으로 끝납니다.
다른 기기에서 이어서 작업하기
새 컴퓨터에 설치
git clone https://github.com/azureiraraavis-png/plant-mcp.git
cd plant-mcp
uv sync그다음 그 기기의 claude_desktop_config.json에 등록합니다. 경로는 OS마다 다릅니다.
OS | 설정 파일 |
|
Windows |
|
|
macOS |
|
|
command에는 절대 경로를 넣어야 합니다. 저장한 뒤 Claude Desktop을 완전히
종료했다가 다시 실행합니다.
기존 설정에 다른 MCP 서버가 이미 있다면 mcpServers 안에 항목만 추가하세요.
설정 파일 전체를 덮어쓰면 Claude Desktop의 다른 설정이 날아갑니다.
기록(DB)은 따라오지 않습니다
코드는 git으로 옮겨가지만 plants.db는 기기마다 별개입니다. 개인 기록이라
저장소에 넣지 않기 때문입니다(.gitignore에 *.db).
기기 간에 같은 기록을 보시려면 PLANT_MCP_DB를 클라우드 동기화 폴더로 지정합니다.
{
"mcpServers": {
"plant-care": {
"command": "...",
"env": { "PLANT_MCP_DB": "C:/Users/사용자명/OneDrive/plant-mcp/plants.db" }
}
}
}두 가지를 주의하셔야 합니다.
두 기기에서 동시에 쓰면 DB가 손상될 수 있습니다. SQLite는 클라우드 동기화를 전제하지 않습니다. Claude Desktop을 양쪽에서 동시에 켜두지 마세요.
OneDrive·Google Drive의 온디맨드 기능으로 파일이 클라우드에만 있으면 읽기가 실패할 수 있습니다. 해당 폴더를 **"이 디바이스에 항상 유지"**로 설정하세요.
한 기기에서만 쓰신다면 기본 경로 그대로 두는 편이 안전합니다.
휴대폰에서는 아직 안 됩니다
Claude 모바일 앱은 로컬 stdio MCP 서버를 붙일 수 없습니다. 폰에서 쓰려면 이 서버를
원격 MCP(HTTP)로 전환해 인터넷에 호스팅해야 합니다. 코드 변경 자체는 작지만
(run("stdio") → run("streamable-http")) 호스팅과 인증이 별도 작업입니다.
로드맵에 있습니다.
사용 예시
나: 거실 창가에 몬스테라 들였어. 일주일에 한 번 물 주면 된대.
Claude: (add_plant 호출) '몬스테라' 등록했습니다. 7일마다 물주기로 잡아뒀어요.
나: 오늘 몬스테라 물 흠뻑 줬어
Claude: (log_watering 호출) 기록했습니다. 다음 예정일은 8월 7일이에요.
나: 오늘 뭐 목말라?
Claude: (plants_needing_water 호출) 산세베리아가 3일 밀렸습니다.
나: 몬스테라 아랫잎이 계속 노래져
Claude: (diagnose 프롬프트 + plant_history 참고)
마지막 물주기가 11일 전이고 간격이 7일이니 물부족 가능성이 우선...데이터 모델
plants id, name(unique), species, location, acquired_on,
water_every_days, created_at
waterings id, plant_id → plants, watered_on, amount, created_at
notes id, plant_id → plants, noted_on, body, created_atneeds_water는 저장하지 않고 조회 시점에 계산합니다
(마지막 물준 날 + 간격 <= 기준일). 배치 작업이나 갱신 로직이 필요 없습니다.
개발
저장 계층만 단독으로 두드려 보기:
uv run python -c "from plant_mcp import storage; print(storage.list_plants())"서버를 직접 띄우기:
uv run plant-mcpstdio로 JSON-RPC를 주고받으므로 터미널에서는 응답 없이 대기하는 것이 정상입니다.
로드맵
관리 기록 서버 (Tools / Resources / Prompts)
식물 관리 지식베이스 RAG 검색 툴 추가
물주기 간격 자동 보정 (계절·실제 기록 기반)
라이선스
MIT
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- Alicense-qualityDmaintenanceMCP server for MealMastery AI meal planning that enables users to manage meal plans, recipes, and grocery lists through natural language conversation with AI agents like Claude.Last updated42MIT
- Flicense-qualityDmaintenanceMCP server for tracking water intake, enabling users to log and manage hydration data via natural language.Last updated
- Alicense-qualityCmaintenanceMCP server for controlling and monitoring Digital Loggers Power Switch Pro devices, enabling outlet control, power monitoring, and device management through natural language.Last updatedBSD 3-Clause
- Alicense-qualityAmaintenanceMCP server for Homebox home inventory, enabling natural language queries and management of items, locations, tags, warranties, maintenance, and attachments.Last updated1MIT
Related MCP Connectors
MCP server for generating rough-draft project plans from natural-language prompts.
GibsonAI MCP server: manage your databases with natural language
Markdown-first MCP server for Notion API with 8 composite tools and 39 actions.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/azureiraraavis-png/plant-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server