Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
103 changes: 103 additions & 0 deletions public/about.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,103 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<link rel="stylesheet" href="global.css" />
<title>About - planty-mcp</title>
</head>
<body>
<header>
<nav>
<a href="/">[ HOME ]</a>
<a href="/about.html" class="active">[ ABOUT ]</a>
</nav>
</header>
<div class="container">
<h1>planty-mcp</h1>

<div class="ascii-plant">
<span class="green"> /\</span> <span class="yellow"> ////</span> <span class="yellow"> \|/</span>
<span class="green"> //\\</span> <span class="yellow"> // \\</span> <span class="green"> |</span>
<span class="green"> || ||</span> <span class="green"> || ||</span> <span class="yellow"> |</span>
<span class="green"> || ||</span> <span class="green"> || ||</span> <span class="yellow"> / \</span>
<span class="yellow">|| ||</span> <span class="yellow"> //|| ||\\</span> <span class="green"> // \\</span>
<span class="yellow">|| ||</span> <span class="green"> // || || \\</span> <span class="green"> // \\</span>
<span class="yellow">|| ||</span> <span class="yellow">|| || || ||</span> <span class="green"> || ||</span>
<span class="red"> ========</span> <span class="red">========== ======</span> <span class="red">=========</span>
<span class="red"> | |</span> <span class="red">| | | |</span> <span class="red">| |</span>
<span class="red"> | |</span> <span class="red">| | | |</span> <span class="red">| |</span>
<span class="red"> |______|</span> <span class="red">|________| |____|</span> <span class="red">|_______|</span>
</div>

<p class="tagline">MCP server for your plants</p>

<div class="section-title">&gt; ABOUT</div>
<p class="description">
An MCP server for plant care management. Track plants, watering
schedules, growth measurements, and images.
</p>

<div class="divider"></div>

<div class="section-title">&gt; HOW TO USE</div>

<div class="info-box">
<strong>1. GENERATE API KEY</strong>
Visit the <a href="/">home page</a> and click "Generate API Key"
</div>

<div class="info-box">
<strong>2. SAVE YOUR KEY</strong>
Copy and save your API key somewhere safe. You won't be able to see it
again.
</div>

<div class="info-box">
<strong>3. CONFIGURE MCP CLIENT</strong>
Add this server to Claude Desktop or ChatGPT:
<br /><br />
<code>Endpoint: https://planty-mcp.onrender.com/sse</code>
<br />
<code>API Key: planty_live_xxx...</code>
<br />
<code>Auth: Bearer token</code>
</div>

<div class="info-box">
<strong>4. START MANAGING PLANTS</strong>
Use the MCP tools to track your plants, water logs, growth, and more!
</div>

<div class="divider"></div>

<div class="section-title">&gt; FEATURES</div>
<div class="info-box" style="text-align: left">
<code>• Plant collection management</code><br />
<code>• Watering tracking and scheduling</code><br />
<code>• Growth measurement logging</code><br />
<code>• Plant image references</code><br />
<code>• Multi-user support with API keys</code>
</div>

<div class="divider"></div>

<div class="section-title">&gt; AVAILABLE TOOLS</div>
<div class="info-box" style="text-align: left">
<code>• add_plant - Add new plant</code><br />
<code>• list_plants - List all plants</code><br />
<code>• get_plant - Get plant details</code><br />
<code>• update_plant - Update plant info</code><br />
<code>• delete_plant - Remove plant</code><br />
<code>• water_plant - Record watering</code><br />
<code>• get_watering_history - View water logs</code><br />
<code>• get_watering_schedule - Plants needing water</code><br />
<code>• add_growth_log - Log growth measurements</code><br />
<code>• get_growth_logs - View growth history</code><br />
<code>• add_plant_image - Add image reference</code><br />
<code>• get_plant_images - Get plant images</code>
</div>

</div>
</body>
</html>
178 changes: 178 additions & 0 deletions public/global.css
Original file line number Diff line number Diff line change
@@ -0,0 +1,178 @@
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
body {
font-family: "Courier New", Courier, monospace;
background: #0a0a0a;
color: #c0c0c0;
min-height: 100vh;
display: flex;
flex-direction: column;
align-items: center;
padding: 20px;
line-height: 1.6;
}
header {
width: 100%;
max-width: 700px;
padding: 20px 0;
margin-bottom: 20px;
border-bottom: 1px solid #333;
}
nav {
display: flex;
gap: 20px;
justify-content: center;
}
nav a {
color: #a0a0a0;
text-decoration: none;
font-size: 0.9em;
transition: color 0.2s;
}
nav a:hover {
color: #4ade80;
text-decoration: none;
}
nav a.active {
color: #4ade80;
}
.container {
max-width: 700px;
width: 100%;
text-align: center;
}
h1 {
font-size: 2em;
font-weight: bold;
color: #ffffff;
margin-bottom: 40px;
letter-spacing: 2px;
}
.ascii-plant {
font-size: 14px;
line-height: 1.2;
margin: 30px 0;
white-space: pre;
}
.green {
color: #4ade80;
font-weight: 900;
}
.yellow {
color: #facc15;
font-weight: 900;
}
.red {
color: #f87171;
font-weight: 900;
}
.tagline {
font-size: 1em;
margin: 30px 0 15px 0;
color: #a0a0a0;
font-weight: 900;
}
.description {
font-size: 0.9em;
color: #808080;
margin-bottom: 40px;
font-weight: 900;
}
.btn {
background: transparent;
color: #4ade80;
border: 1px solid #4ade80;
padding: 12px 24px;
font-family: "Courier New", Courier, monospace;
font-size: 14px;
cursor: pointer;
transition: all 0.2s;
margin: 10px 0;
}
.btn:hover {
background: #4ade80;
color: #0a0a0a;
}
.btn:disabled {
border-color: #404040;
color: #404040;
cursor: not-allowed;
}
.btn:disabled:hover {
background: transparent;
color: #404040;
}
.key-display {
margin-top: 40px;
text-align: left;
display: none;
}
.key-display.show {
display: block;
}
.section-title {
color: #ffffff;
font-weight: bold;
margin: 20px 0 10px 0;
}
.api-key {
background: #1a1a1a;
border: 1px solid #333;
padding: 15px;
margin: 10px 0;
word-break: break-all;
color: #4ade80;
font-size: 13px;
}
.info-box {
background: #1a1a1a;
border: 1px solid #333;
padding: 15px;
margin: 10px 0;
}
.info-box strong {
color: #ffffff;
display: block;
margin-bottom: 5px;
}
.info-box code {
color: #4ade80;
font-size: 13px;
}
.warning {
color: #f87171;
font-size: 13px;
margin: 10px 0;
}
input {
width: 100%;
padding: 12px;
background: #1a1a1a;
border: 1px solid #333;
color: #c0c0c0;
font-family: "Courier New", Courier, monospace;
font-size: 14px;
margin: 10px 0;
}
input:focus {
outline: none;
border-color: #4ade80;
}
.success {
color: #4ade80;
margin-top: 10px;
}
.divider {
border-top: 1px solid #333;
margin: 30px 0;
}
a {
color: #4ade80;
text-decoration: none;
}
a:hover {
text-decoration: underline;
}
Loading