Skip to main content
Glama
ZUENS2020
by ZUENS2020
README.md
# 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

B3.4/5.0

Scored across 8 tools

Disambiguation3/5

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.

Naming Consistency4/5

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.

Tool Count5/5

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.

Completeness4/5

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.

Maintenance

ActivityInactive
ResponsivenessNo issues