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., "@Touch Flow Base (MCP Counter POC)Run a loop to increment the counter from 1 to 5"
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.
MCP Counter POC - Code Execution Architecture
Overview
This is a proof-of-concept (POC) demonstrating the "Code execution with MCP" pattern, which enables AI agents to execute JavaScript code on a server to control external applications. This architecture can be used as a foundation for building interactive, agent-controlled applications.
What Does This POC Do?
This POC implements a Model Context Protocol (MCP) server that:
Exposes a
run_scripttool to AI agents (like Claude via Gemini CLI)Executes JavaScript code in a sandboxed environment
Controls a web-based counter application via WebSocket
Synchronizes execution with frontend animations
MCP Counter POC - Code Execution Architecture
Overview
This is a proof-of-concept (POC) demonstrating the "Code execution with MCP" pattern, which enables AI agents to execute JavaScript code on a server to control external applications. This architecture can be used as a foundation for building interactive, agent-controlled applications.
What Does This POC Do?
This POC implements a Model Context Protocol (MCP) server that:
Exposes a
run_scripttool to AI agents (like Claude via Gemini CLI)Executes JavaScript code in a sandboxed environment
Controls a web-based counter application via WebSocket
Synchronizes execution with frontend animations
Key Capability: Agent-Controlled UI
An AI agent can write JavaScript code that directly controls the counter displayed in a web browser, with execution paused until animations complete to ensure smooth user experience.
Architecture
Components
server.js- MCP server with:Express web server (port 3000)
WebSocket server for real-time communication
MCP server exposing
run_scripttoolVM sandbox for secure code execution
index.html- Frontend (Deployed on Vercel) with:Real-time counter display
WebSocket client connecting to Localtunnel URL
Animation system (3-second delay per update)
Pause/Resume controls
launcher.js- Launcher for MCP integrationSpawns
server.jswith correct environmentCaptures error logs for debugging
The "Code Execution with MCP" Pattern
Traditional Approach (Inefficient)
Problem: Multiple round-trips to the agent for simple loops.
Code Execution Approach (Efficient)
The server executes the entire loop, pausing at each update_count() call until the frontend animation completes.
Benefit: Complex logic runs in a single agent turn, reducing token usage and latency.
How It Works
Agent Generates Code
Claude (or another LLM) writes JavaScript to accomplish a task
Sends code via the
run_scriptMCP tool
Server Executes in Sandbox
Code runs in a VM context with access to:
update_count(n): Updates counter and pauses until frontend confirmsconsole.log(): Captures logs returned to agentsetTimeout,Promise: For delays and async operations
WebSocket Synchronization
Server broadcasts count updates to frontend
Frontend displays animation (3-second delay)
Frontend sends
turn_completesignal when readyServer resumes script execution
Agent Receives Result
Script logs and execution status returned to agent
Agent can continue with next actions
Setup & Usage
1. Installation
2. Backend & MCP Setup
Start the local backend:
node server.jsConfigure Gemini (
.gemini/settings.json):{ "mcpServers": { "pm-jarvis": { "command": "node", "args": ["C:\\path\\to\\project\\launcher.js"] } } }
3. Mobile Access (Localtunnel)
To access the app from a mobile device, expose your local backend:
Copy the URL (e.g.,
https://example.loca.lt).Important: Visit this URL in your browser first and enter your IP as the password.
4. Frontend (Vercel)
Deploy to Vercel:
vercel deploy --prodOpen the Vercel URL on your device.
Go to Settings and enter your Localtunnel URL.
Use Cases as Base Architecture
This POC can be adapted for:
1. Agent-Controlled Dashboards
Replace counter with charts/graphs
Agent updates visualizations based on data analysis
2. Interactive Forms & Workflows
Agent fills forms step-by-step
Validates inputs and handles errors
3. Real-time Notifications
Agent processes events and updates UI
Users see live status without polling
4. Game Controllers
Agent plays games by executing move sequences
UI updates reflect game state
5. IoT Device Control
Replace WebSocket frontend with IoT devices
Agent sends control sequences to hardware
License
MIT