
SystemPrompt Coding Agent
STDIOMCP server orchestrating AI coding agents for autonomous programming tasks
MCP server orchestrating AI coding agents for autonomous programming tasks
Control AI coding agents from anywhere • Website • Documentation
Built by systemprompt.io — creators of the world's first native mobile MCP client
SystemPrompt Coding Agent is an MCP server that orchestrates AI coding assistants (Claude Code CLI and Gemini CLI) to perform complex programming tasks autonomously. It bridges your local development environment with AI agents, enabling them to write, test, and refactor code on your behalf.
1. Remote-First Architecture
Transform your local machine into a remote coding endpoint. Access your development environment from anywhere—no complex networking required.
2. Mobile Native Experience
Purpose-built for the SystemPrompt mobile app. Start coding tasks with your voice, monitor progress in real-time, and get push notifications when tasks complete.
3. Full MCP Protocol
Leverages every MCP feature: persistent state management, real-time notifications, interactive prompts, and pre-configured task templates.
⚠️ CRITICAL: This server grants AI agents full access to your local machine with NO built-in authentication. (yet)
PROJECT_ROOT
PROJECT_ROOT
to non-sensitive directoriesZero-trust OAuth authentication coming in v1.0
# Clone and setup git clone https://github.com/systempromptio/systemprompt-coding-agent.git cd systemprompt-coding-agent npm install # Configure (edit with your API keys) cp .env.example .env nano .env # Run with Docker docker-compose up -d # Or run locally npm run build && npm start
# Required ANTHROPIC_API_KEY=sk-ant-... GEMINI_API_KEY=AIza... PROJECT_ROOT=/path/to/your/code # ⚠️ AI agents have FULL access here # Security (coming soon) JWT_SECRET=generate-a-long-random-string REMOTE_AUTH_TOKEN=another-random-string
Tool | Description | Example |
---|---|---|
create_task | Start new AI coding session | {"title": "Add auth", "tool": "CLAUDECODE", "instructions": "..."} |
update_task | Send additional instructions | {"process": "session_123", "instructions": "..."} |
end_task | Complete and cleanup | {"task_id": "task_123", "status": "completed"} |
report_task | Generate task reports | {"task_ids": ["task_123"], "format": "markdown"} |
Tool | Description | Example |
---|---|---|
check_status | Verify agent availability | {"test_sessions": true, "verbose": true} |
update_stats | Get system statistics | {"include_tasks": true} |
clean_state | Cleanup old tasks | {"keep_recent": true, "dry_run": true} |
{ "prompt_template": "bug_fix", "variables": { "bug_description": "Login fails after password reset", "error_logs": "401 Unauthorized at auth.js:42" } }
{ "prompt_template": "react_component", "variables": { "component_name": "UserDashboard", "features": ["data visualization", "real-time updates", "export functionality"] } }
{ "prompt_template": "unit_test", "variables": { "target_files": ["src/auth/*.js"], "framework": "jest", "coverage_target": 85 } }
┌─────────────────────────────────────────┐
│ SystemPrompt Mobile App │
│ (iOS/Android) │
└──────────────────┬──────────────────────┘
│ Remote MCP
┌──────────────────▼──────────────────────┐
│ Desktop MCP Clients │
│ (Claude Desktop, Cline, etc.) │
└──────────────────┬──────────────────────┘
│ Local MCP
┌──────────────────▼──────────────────────┐
│ SystemPrompt Coding Agent │
│ ┌────────────────────────────────────┐ │
│ │ Docker Container State │ │
│ │ • Tasks • Sessions • Resources │ │
│ └────────────────────────────────────┘ │
│ ┌────────────────────────────────────┐ │
│ │ Agent Orchestrator │ │
│ │ • Claude Code • Gemini CLI │ │
│ └────────────────────────────────────┘ │
└──────────────────┬──────────────────────┘
│
┌──────────────────▼──────────────────────┐
│ Your Local Machine │
│ PROJECT_ROOT │
└─────────────────────────────────────────┘
version: '3.8' services: coding-agent: image: systemprompt/coding-agent:latest environment: - NODE_ENV=production volumes: - ./state:/data/state - /projects:/projects:ro # Read-only ports: - "127.0.0.1:3000:3000" # Local only security_opt: - no-new-privileges:true user: "1000:1000" restart: unless-stopped
server { server_name code.yourdomain.com; location / { auth_basic "Restricted"; auth_basic_user_file /etc/nginx/.htpasswd; proxy_pass http://localhost:3000; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection 'upgrade'; proxy_set_header X-Real-IP $remote_addr; } ssl_certificate /etc/letsencrypt/live/yourdomain.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/yourdomain.com/privkey.pem; }
systemprompt-coding-agent/
├── src/
│ ├── server.ts # MCP server setup
│ ├── handlers/ # Protocol handlers
│ ├── services/ # Agent services
│ ├── constants/ # Tool definitions
│ └── types/ # TypeScript types
├── docker-compose.yml
└── package.json
For security issues, email [email protected]
MIT License - see LICENSE