Skip to main content
Glama

MCP Claude Shell Server (Node.js)

A Node.js implementation of an MCP (Model Context Protocol) server that wraps the Claude Code CLI, enabling parallel execution of Claude AI requests.

Features

  • Parallel Execution: Multiple requests are processed concurrently using Promise-based async handling

  • Retry Logic: Automatic retry with configurable attempts and timeouts

  • Model Selection: Support for Haiku, Sonnet, and Opus models

  • JSON Validation: Built-in JSON response validation for structured outputs

  • Full Claude CLI Options: Support for all Claude CLI parameters including system prompts, tool permissions, and more

Installation

npm install npm run build

Usage

As MCP Server

Add to your Claude Code configuration:

claude mcp add --transport stdio claude-shell -- node /path/to/mcp-claude-node/dist/index.js

Or manually add to ~/.claude.json:

{ "mcpServers": { "claude-shell": { "type": "stdio", "command": "node", "args": ["/path/to/mcp-claude-node/dist/index.js"] } } }

Development

# Run in development mode npm run dev # Build for production npm run build # Run tests npx tsx test-client.ts

Available Tools

Tool

Description

claude_generate

Generate code or text with retry and model selection

claude_edit

Edit files with retry and model selection

claude_refactor

Refactor code with retry and model selection

claude_generate_json

Generate JSON response with validation

claude_edit_json

Edit with JSON response validation

Tool Parameters

All tools support these parameters:

Parameter

Type

Default

Description

prompt

string

required

The prompt to send to Claude

model

string

"haiku"

Model: haiku, sonnet, opus

timeout

number

660

Timeout in seconds

maxRetries

number

3

Maximum retry attempts

maxTurns

number

-

Maximum agent turns

outputFormat

string

"json"

Output format: text, json, stream-json

systemPrompt

string

-

Replace default system prompt

appendSystemPrompt

string

-

Append to default system prompt

allowedTools

string[]

-

Additional tools to allow

disallowedTools

string[]

-

Tools to disallow

addDirs

string[]

-

Additional directories to access

verbose

boolean

false

Enable verbose logging

Architecture

src/ ├── index.ts # Entry point ├── server.ts # MCP Server main logic ├── claude-cli.ts # Claude CLI wrapper with retry ├── tools.ts # Tool definitions ├── types.ts # TypeScript types └── utils.ts # Utility functions

License

MIT

-
security - not tested
A
license - permissive license
-
quality - not tested

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Sunalamye/mcp-claude-node'

If you have feedback or need assistance with the MCP directory API, please join our Discord server