SystemPrompt Coding Agent
An MCP server that orchestrates AI coding assistants (Claude Code CLI and Gemini CLI) to perform complex programming tasks autonomously, allowing remote control of your local development environment from anywhere.
README
SystemPrompt Coding Agent
Control AI coding agents from anywhere • Website • Documentation
<div align="center"> <h3>🎁 100% Free and Open Source</h3> <p>Built by <a href="https://systemprompt.io">systemprompt.io</a> — creators of the world's first native mobile MCP client</p>
<h3>📱 Get the Mobile App</h3> <a href="https://apps.apple.com/us/app/systemprompt-mcp-client/id6746670168"> <img src="https://tools.applemediaservices.com/api/badges/download-on-the-app-store/black/en-us" alt="Download on App Store" height="50"> </a> <a href="https://play.google.com/store/apps/details?id=com.systemprompt.mcp"> <img src="https://upload.wikimedia.org/wikipedia/commons/7/78/Google_Play_Store_badge_EN.svg" alt="Get it on Google Play" height="50"> </a> </div>
What is This?
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.
🌟 Three Key Differentiators
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.
🚨 Security Notice
⚠️ CRITICAL: This server grants AI agents full access to your local machine with NO built-in authentication. (yet)
Security Implications
- Full System Access: AI agents can read, write, and execute code in your
PROJECT_ROOT - No Authentication: Anyone with your server URL has complete access
- Remote Code Execution: AI agents execute commands on your machine
Mandatory Security Measures
- Never expose directly to the internet
- Treat server URLs as passwords
- Use VPN or SSH tunnels for remote access
- Restrict
PROJECT_ROOTto non-sensitive directories - Monitor agent activity through logs
Zero-trust OAuth authentication coming in v1.0
Quick Start
Prerequisites
- Node.js 18+
- Docker & Docker Compose
- API Keys:
- Anthropic API Key (Claude Code)
- Google AI API Key (Gemini)
30-Second Setup
# 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
Essential Configuration
# 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
Remote Access Options
🌐 Internet Access via Tunnel
For quick testing or remote access, use the built-in Cloudflare tunnel:
npm run tunnel
This will:
- Create a secure HTTPS tunnel to your local server
- Display both the public URL and local network addresses
- Enable access from anywhere (including mobile devices)
Example output:
✅ 🌍 Your server is now accessible from the internet!
ℹ️ 🔗 Public URL: https://your-tunnel.trycloudflare.com
ℹ️ 📡 MCP Endpoint: https://your-tunnel.trycloudflare.com/mcp
🏠 Local network access (without tunnel):
📍 http://192.168.1.100:3000
📡 MCP Endpoint: http://192.168.1.100:3000/mcp
🏠 Local Network Access
If you prefer to keep everything on your local network:
-
Start the server normally:
npm start -
Access from devices on the same network:
- Find your machine's IP address (shown when using
npm run tunnel) - Connect using:
http://YOUR_IP:3000/mcp - Works great for testing from mobile devices on the same WiFi
- Find your machine's IP address (shown when using
🔒 Security Considerations
- Tunnel URLs are temporary - they change on each restart
- Local network access - only devices on your network can connect
- No authentication yet - treat URLs as passwords
- For production, use proper authentication and HTTPS
Core Features
🤖 AI Agent Orchestration
- Multi-Agent Support: Seamlessly switch between Claude Code and Gemini
- Task Management: Create, track, and manage coding tasks
- Git Integration: Automatic branch creation and management
- Session Isolation: Each task runs in its own context
- Real-time Streaming: Watch AI agents work in real-time
📱 Mobile-First Design
- Voice Commands: "Create a login form with validation"
- Push Notifications: Get alerts when tasks complete
- Quick Actions: Pre-defined templates for common tasks
- Remote Control: Manage your dev environment from anywhere
🔧 MCP Protocol Features
- Persistent State: Tasks survive server restarts
- Resource Management: Expose task data as MCP resources
- Interactive Prompts: AI agents can ask for clarification
- Progress Notifications: Real-time status updates
- Structured Data: Full schema validation
Tool Reference
Task Orchestration
| 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"} |
System Management
| 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} |
Pre-Built Prompts
🐛 Bug Fixing
{
"prompt_template": "bug_fix",
"variables": {
"bug_description": "Login fails after password reset",
"error_logs": "401 Unauthorized at auth.js:42"
}
}
⚛️ React Components
{
"prompt_template": "react_component",
"variables": {
"component_name": "UserDashboard",
"features": ["data visualization", "real-time updates", "export functionality"]
}
}
🧪 Unit Testing
{
"prompt_template": "unit_test",
"variables": {
"target_files": ["src/auth/*.js"],
"framework": "jest",
"coverage_target": 85
}
}
Architecture
┌─────────────────────────────────────────┐
│ 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 │
└─────────────────────────────────────────┘
Production Deployment
Secure Docker Setup
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
Nginx Reverse Proxy
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;
}
Development
Project Structure
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
Contributing
- Fork the repository
- Create a feature branch
- Make your changes
- Submit a pull request
For security issues, email security@systemprompt.io
Support
- Documentation: docs.systemprompt.io
- GitHub Issues: Report bugs
- Discord: Join our community
- Twitter: @tyingshoelaces_
License
MIT License - see LICENSE
<div align="center"> <strong>Built with ❤️ by <a href="https://systemprompt.io">SystemPrompt.io</a></strong><br> <em>AI-Powered Development from Anywhere</em> </div>
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。