NodeMCU MCP Service
by amanasmuei
Verified
- nodemcu-mcp
- assets
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg width="800" height="600" viewBox="0 0 800 600" xmlns="http://www.w3.org/2000/svg">
<!-- Background -->
<rect width="800" height="600" fill="#f8f9fa" />
<!-- Title -->
<text x="400" y="40" font-family="Arial" font-size="24" font-weight="bold" text-anchor="middle"
fill="#00a1e9">NodeMCU MCP Data Flow</text>
<!-- Device Section -->
<rect x="50" y="80" width="700" height="100" rx="5" ry="5" fill="#f0f0f0" stroke="#ddd"
stroke-width="2" />
<text x="400" y="105" font-family="Arial" font-size="18" font-weight="bold" text-anchor="middle">NodeMCU
Device</text>
<!-- Device Components -->
<rect x="80" y="120" width="120" height="40" rx="5" ry="5" fill="#1b1c1d" />
<text x="140" y="145" font-family="Arial" font-size="12" font-weight="bold" text-anchor="middle"
fill="#ffffff">ESP8266</text>
<rect x="220" y="120" width="120" height="40" rx="5" ry="5" fill="#1b1c1d" />
<text x="280" y="145" font-family="Arial" font-size="12" font-weight="bold" text-anchor="middle"
fill="#ffffff">Sensors</text>
<rect x="360" y="120" width="120" height="40" rx="5" ry="5" fill="#1b1c1d" />
<text x="420" y="145" font-family="Arial" font-size="12" font-weight="bold" text-anchor="middle"
fill="#ffffff">WiFi Module</text>
<rect x="500" y="120" width="120" height="40" rx="5" ry="5" fill="#1b1c1d" />
<text x="560" y="145" font-family="Arial" font-size="12" font-weight="bold" text-anchor="middle"
fill="#ffffff">Arduino Sketch</text>
<rect x="640" y="120" width="80" height="40" rx="5" ry="5" fill="#1b1c1d" />
<text x="680" y="145" font-family="Arial" font-size="12" font-weight="bold" text-anchor="middle"
fill="#ffffff">Memory</text>
<!-- MCP Server Section -->
<rect x="50" y="240" width="700" height="140" rx="5" ry="5" fill="#e6f7ff" stroke="#00a1e9"
stroke-width="2" />
<text x="400" y="265" font-family="Arial" font-size="18" font-weight="bold" text-anchor="middle">NodeMCU
MCP Server</text>
<!-- Server Components -->
<rect x="80" y="280" width="150" height="40" rx="5" ry="5" fill="#00a1e9" />
<text x="155" y="305" font-family="Arial" font-size="12" font-weight="bold" text-anchor="middle"
fill="#ffffff">WebSocket Handlers</text>
<rect x="250" y="280" width="150" height="40" rx="5" ry="5" fill="#00a1e9" />
<text x="325" y="305" font-family="Arial" font-size="12" font-weight="bold" text-anchor="middle"
fill="#ffffff">Device Manager</text>
<rect x="420" y="280" width="150" height="40" rx="5" ry="5" fill="#00a1e9" />
<text x="495" y="305" font-family="Arial" font-size="12" font-weight="bold" text-anchor="middle"
fill="#ffffff">API Endpoints</text>
<rect x="590" y="280" width="130" height="40" rx="5" ry="5" fill="#00a1e9" />
<text x="655" y="305" font-family="Arial" font-size="12" font-weight="bold" text-anchor="middle"
fill="#ffffff">Authentication</text>
<rect x="150" y="330" width="200" height="40" rx="5" ry="5" fill="#00a1e9" />
<text x="250" y="355" font-family="Arial" font-size="12" font-weight="bold" text-anchor="middle"
fill="#ffffff">MCP Protocol Handlers</text>
<rect x="450" y="330" width="200" height="40" rx="5" ry="5" fill="#00a1e9" />
<text x="550" y="355" font-family="Arial" font-size="12" font-weight="bold" text-anchor="middle"
fill="#ffffff">Data Processing</text>
<!-- Client Section -->
<rect x="50" y="440" width="700" height="100" rx="5" ry="5" fill="#f0f8ff" stroke="#666"
stroke-width="2" />
<text x="400" y="465" font-family="Arial" font-size="18" font-weight="bold" text-anchor="middle">Client
Applications</text>
<!-- Client Components -->
<rect x="80" y="480" width="150" height="40" rx="5" ry="5" fill="#ffffff" stroke="#00a1e9"
stroke-width="2" />
<text x="155" y="505" font-family="Arial" font-size="12" font-weight="bold" text-anchor="middle">Claude
Desktop</text>
<rect x="250" y="480" width="150" height="40" rx="5" ry="5" fill="#ffffff" stroke="#666"
stroke-width="2" />
<text x="325" y="505" font-family="Arial" font-size="12" font-weight="bold" text-anchor="middle">Custom
MCP Clients</text>
<rect x="420" y="480" width="150" height="40" rx="5" ry="5" fill="#ffffff" stroke="#00a1e9"
stroke-width="2" />
<text x="495" y="505" font-family="Arial" font-size="12" font-weight="bold" text-anchor="middle">Web
Dashboard</text>
<rect x="590" y="480" width="130" height="40" rx="5" ry="5" fill="#ffffff" stroke="#666"
stroke-width="2" />
<text x="655" y="505" font-family="Arial" font-size="12" font-weight="bold" text-anchor="middle">Mobile
App</text>
<!-- Data Flow Arrows -->
<!-- Device to Server -->
<path d="M400,180 L400,240" stroke="#00a1e9" stroke-width="3" fill="none"
marker-end="url(#arrowhead)" />
<text x="420" y="210" font-family="Arial" font-size="12" fill="#333">1. Telemetry Data</text>
<text x="420" y="225" font-family="Arial" font-size="10" fill="#666">Temperature, Humidity,
Status</text>
<!-- Server to Device -->
<path d="M300,240 L300,180" stroke="#00a1e9" stroke-width="3" fill="none"
marker-end="url(#arrowhead)" />
<text x="240" y="210" font-family="Arial" font-size="12" fill="#333">2. Commands</text>
<text x="240" y="225" font-family="Arial" font-size="10" fill="#666">Restart, Update, LED
Control</text>
<!-- Server to Clients -->
<path d="M250,380 L250,440" stroke="#00a1e9" stroke-width="3" fill="none"
marker-end="url(#arrowhead)" />
<text x="190" y="410" font-family="Arial" font-size="12" fill="#333">3. MCP Tools</text>
<text x="190" y="425" font-family="Arial" font-size="10" fill="#666">Device List, Status,
Controls</text>
<path d="M550,380 L550,440" stroke="#00a1e9" stroke-width="3" fill="none"
marker-end="url(#arrowhead)" />
<text x="590" y="410" font-family="Arial" font-size="12" fill="#333">4. Web/API Data</text>
<text x="590" y="425" font-family="Arial" font-size="10" fill="#666">Dashboard Updates,
Analytics</text>
<!-- Clients to Server -->
<path d="M170,480 L170,380" stroke="#00a1e9" stroke-width="3" fill="none"
marker-end="url(#arrowhead)" />
<text x="110" y="430" font-family="Arial" font-size="12" fill="#333">5. MCP Requests</text>
<text x="115" y="445" font-family="Arial" font-size="10" fill="#666">User Commands</text>
<path d="M495,480 L495,380" stroke="#00a1e9" stroke-width="3" fill="none"
marker-end="url(#arrowhead)" />
<text x="445" y="430" font-family="Arial" font-size="12" fill="#333">6. HTTP Requests</text>
<text x="445" y="445" font-family="Arial" font-size="10" fill="#666">CRUD Operations</text>
<!-- Legend -->
<rect x="600" y="545" width="190" height="45" rx="5" ry="5" fill="#ffffff" stroke="#ddd"
stroke-width="1" />
<line x1="610" y1="560" x2="640" y2="560" stroke="#00a1e9" stroke-width="3" />
<text x="700" y="565" font-family="Arial" font-size="12" fill="#333">Data Flow</text>
<rect x="610" y="575" width="15" height="15" fill="#00a1e9" />
<text x="700" y="585" font-family="Arial" font-size="12" fill="#333">MCP Component</text>
<!-- Arrowhead marker -->
<defs>
<marker id="arrowhead" markerWidth="10" markerHeight="7" refX="10" refY="3.5" orient="auto">
<polygon points="0 0, 10 3.5, 0 7" fill="#00a1e9" />
</marker>
</defs>
</svg>