Back-Agent MCP Server
# Back-Agent MCP Server
An MCP (Model Context Protocol) server that executes development tasks using Claude Code CLI.
## Features
- Execute tasks through Claude Code CLI via MCP protocol
- **Non-interactive mode by default** (`-p` flag auto-applied)
- Specify custom working directories
- Configurable timeout settings
- Comprehensive error handling and logging
## Prerequisites
- Node.js >= 18
- Claude Code CLI installed and available in PATH
## Installation
```bash
# Clone the repository
git clone <repository-url>
cd back-agent-mcp
# Install dependencies
npm install
# Build the project
npm run build
```
## Usage
### Running the Server
```bash
# Development mode (with tsx)
npm run dev
# Production mode (built)
npm start
```
### Installation
```bash
npm install @zuens2020/back-agent-mcp
```
### Configuration with Claude Desktop
Add the following to your Claude Desktop configuration file:
**Windows:** `%APPDATA%\Claude\claude_desktop_config.json`
**macOS:** `~/Library/Application Support/Claude/claude_desktop_config.json`
**Linux:** `~/.config/Claude/claude_desktop_config.json`
```json
{
"mcpServers": {
"back-agent": {
"command": "node",
"args": ["--experimental-modules", "C:\\Users\\YourUsername\\AppData\\Roaming\\npm\\node_modules\\@zuens2020\\back-agent-mcp\\dist\\index.js"]
}
}
}
```
Or using npx:
```json
{
"mcpServers": {
"back-agent": {
"command": "npx",
"args": ["-y", "@zuens2020/back-agent-mcp"]
}
}
}
```
### Available Tools
#### execute-task
Executes a development task using Claude Code CLI.
**Parameters:**
| Name | Type | Required | Description |
|------|------|----------|-------------|
| `task` | string | Yes | The task description to execute |
| `workingDirectory` | string | No | Working directory for execution |
| `timeout` | number | No | Timeout in seconds (max 3600, default 300) |
| `additionalArgs` | string[] | No | Additional CLI arguments (excluding `-p` which is auto-added) |
**Example:**
```json
{
"task": "Create a function that calculates fibonacci numbers",
"workingDirectory": "C:\\Projects\\my-app",
"timeout": 600
}
```
## Development
```bash
# Type checking
npm run typecheck
# Build
npm run build
# Development mode
npm run dev
```
## Project Structure
```
src/
├── index.ts # Main entry point
├── server/
│ └── tools/
│ └── execute-task.ts # Task execution tool
├── claude/
│ └── executor.ts # Claude Code CLI executor
└── utils/
├── logger.ts # Logging utilities
└── error-handler.ts # Error handling
```
## Environment Variables
| Variable | Description | Values |
|----------|-------------|--------|
| `LOG_LEVEL` | Set logging verbosity | `DEBUG`, `INFO`, `WARN`, `ERROR` |
## License
MIT
TDQS
Scored across 8 tools
There is significant overlap between create-task and execute-task, both described as spawning Claude Code AI for development tasks with similar capabilities and limitations, which could cause confusion. However, other tools like cancel-task, delete-task, get-task-result, get-task-status, list-tasks, and get-task-stats have clearer distinct purposes related to task management.
Tool names follow a consistent verb-noun pattern with hyphens (e.g., create-task, get-task-status), making them predictable and readable. The only minor deviation is execute-task, which uses a different verb than the others but still fits the pattern.
With 8 tools, the server is well-scoped for task management and AI programming assistance. Each tool has a clear role, such as creating, executing, monitoring, and managing tasks, which fits the server's purpose without being overly sparse or bloated.
The tool set covers the full lifecycle of tasks (create, execute, status, result, cancel, delete, list, stats), providing good coverage for task management. A minor gap is the lack of tools for updating or modifying tasks, but agents can work around this by recreating tasks if needed.