Skip to main content
Glama
darrenoakey

DAZ Command MCP Server

by darrenoakey

DAZ Command MCP Server

DAZ Command MCP Logo

A Model Context Protocol (MCP) server that provides session-based command execution with intelligent LLM-powered summarization.


๐Ÿš€ Features

  • ๐Ÿ”ง Session Management: Create, open, and manage isolated command execution sessions

  • โšก Command Execution: Run shell commands with timeout controls and working directory management

  • ๐Ÿ“ File Operations: Read and write text files with comprehensive error handling

  • ๐Ÿค– LLM Summarization: Automatic session progress tracking using structured LLM responses

  • ๐Ÿ“‹ Event Logging: Complete audit trail of all operations within sessions

  • ๐Ÿ”’ Thread-Safe: Robust concurrent operation with proper synchronization

Related MCP server: AX Local Operations MCP Server

๐Ÿ“ฆ Installation

Prerequisites

  • Python 3.8+

  • fastmcp library

  • dazllm library for LLM integration

Quick Setup

  1. Clone this repository:

git clone https://github.com/yourusername/daz-command-mcp.git
cd daz-command-mcp
  1. Install dependencies:

pip install -r requirements.txt
  1. Configure your LLM model in the script (default: lm-studio:openai/gpt-oss-20b)

๐ŸŽฏ Usage

Starting the Server

python main.py

Available Tools

Session Management

  • daz_sessions_list() - List all sessions and identify the active one

  • daz_session_create(name, description) - Create and activate a new session

  • daz_session_open(session_id) - Open and activate an existing session

  • daz_session_current() - Get details of the currently active session

  • daz_session_close() - Close the current session

  • daz_session_rename(old_name, new_name) - Rename an existing session

  • daz_session_delete(session_name) - Delete a session by moving to deleted_sessions

Command & File Operations

All command and file operations require an active session and context parameters:

  • daz_command_cd(directory, current_task, summary_of_what_we_just_did, summary_of_what_we_about_to_do) - Change working directory

  • daz_command_read(file_path, current_task, summary_of_what_we_just_did, summary_of_what_we_about_to_do) - Read a text file

  • daz_command_write(file_path, content, current_task, summary_of_what_we_just_did, summary_of_what_we_about_to_do) - Write a text file

  • daz_command_run(command, current_task, summary_of_what_we_just_did, summary_of_what_we_about_to_do, timeout=60) - Execute shell commands

Learning & Instructions

  • daz_add_learnings(learning_info) - Add important discoveries and context to the session

  • daz_instructions_read() - Read current session instructions

  • daz_instructions_add(instruction) - Add a new instruction to the session

  • daz_instructions_replace(instructions) - Replace all instructions with a new list

  • daz_record_user_request(user_request) - Record a user request at the start of multi-step tasks

Example Workflow

# Create a new session
daz_session_create("Setup Project", "Setting up a new Python project with dependencies")

# Navigate to project directory  
daz_command_cd("/path/to/project", 
               "Setting up Python project",
               "Created new session for project setup", 
               "Navigate to project root directory")

# Run commands
daz_command_run("pip install -r requirements.txt",
                "Setting up Python project", 
                "Navigated to project directory",
                "Install project dependencies")

# Read configuration
daz_command_read("config.json",
                 "Setting up Python project",
                 "Installed dependencies successfully", 
                 "Review current configuration settings")

# Write new file
daz_command_write("setup.py", "...",
                  "Setting up Python project",
                  "Reviewed configuration file",
                  "Create package setup file")

๐Ÿ—๏ธ Architecture

Session Storage

Sessions are stored as JSON files in the sessions/ directory with the following structure:

{
  "id": "unique-session-id",
  "name": "Session Name", 
  "description": "Detailed description",
  "created_at": 1692123456.789,
  "updated_at": 1692123456.789,
  "summary": "LLM-generated summary",
  "progress": "Current progress status",
  "current_directory": "/current/working/dir",
  "events_count": 42
}

Event Logging

Every operation is logged with comprehensive details in event_log.jsonl:

{
  "timestamp": 1692123456.789,
  "type": "run|read|write|cd|user_request|learning",
  "current_task": "The task being worked on",
  "summary_of_what_we_just_did": "What was just completed",
  "summary_of_what_we_about_to_do": "What's planned next",
  "inputs": {...},
  "outputs": {...}, 
  "duration": 0.123
}

LLM Integration

The server uses asynchronous LLM processing to maintain session summaries:

  • ๐Ÿ”„ Background Processing: Summarization runs in a separate thread

  • ๐Ÿ›ก๏ธ Fault Tolerance: LLM failures don't affect MCP operations

  • ๐Ÿ“‹ Structured Output: Uses Pydantic models for reliable parsing

  • โš™๏ธ Configurable Model: Easy to switch between different LLM providers

โš™๏ธ Configuration

LLM Model

Edit the LLM_MODEL_NAME constant in src/models.py:

LLM_MODEL_NAME = "your-model-name"

Session Directory

Sessions are stored in ./sessions/ by default. This can be modified by changing the SESSIONS_DIR constant in src/models.py.

๐Ÿ› ๏ธ Error Handling

  • ๐Ÿ”„ Graceful Degradation: Operations continue even if LLM summarization fails

  • ๐Ÿ“ Comprehensive Logging: All errors are logged to stderr

  • โœ… Input Validation: Robust parameter checking and sanitization

  • ๐Ÿ”’ File Safety: Atomic file operations prevent corruption

๐Ÿ”— Integration

This MCP server integrates with Claude Desktop and other MCP-compatible clients. Add it to your MCP configuration:

{
  "mcpServers": {
    "daz-command": {
      "command": "python",
      "args": ["/path/to/main.py"]
    }
  }
}

๐Ÿ“ Project Structure

daz-command-mcp/
โ”œโ”€โ”€ README.md              # This file
โ”œโ”€โ”€ main.py                # Entry point
โ”œโ”€โ”€ requirements.txt       # Dependencies
โ”œโ”€โ”€ images/                # Documentation images
โ”œโ”€โ”€ sessions/              # Session storage (auto-created)
โ””โ”€โ”€ src/                   # Source code
    โ”œโ”€โ”€ __init__.py
    โ”œโ”€โ”€ command_executor.py    # Command execution logic
    โ”œโ”€โ”€ history_manager.py     # Session history management
    โ”œโ”€โ”€ mcp_tools.py          # MCP tool definitions
    โ”œโ”€โ”€ models.py             # Data models and constants
    โ”œโ”€โ”€ session_manager.py    # Session lifecycle management
    โ”œโ”€โ”€ summary_generator.py  # LLM summary generation
    โ”œโ”€โ”€ summary_worker.py     # Background summarization worker
    โ”œโ”€โ”€ utils.py              # Utility functions
    โ””โ”€โ”€ tests/                # Unit tests
        โ”œโ”€โ”€ test_add_learnings.py
        โ”œโ”€โ”€ test_initialization_fix.py
        โ”œโ”€โ”€ test_llm_system_integration.py
        โ”œโ”€โ”€ test_new_parameter_system.py
        โ””โ”€โ”€ test_summary_generation.py

๐Ÿงช Testing

Run the comprehensive test suite:

# Run all tests
python -m pytest src/tests/

# Run specific test
python -m pytest src/tests/test_summary_generation.py -v

# Run with coverage
python -m pytest src/tests/ --cov=src

๐Ÿค Contributing

  1. Fork the repository

  2. Create a feature branch (git checkout -b feature/amazing-feature)

  3. Make your changes

  4. Add tests if applicable

  5. Commit your changes (git commit -m 'Add amazing feature')

  6. Push to the branch (git push origin feature/amazing-feature)

  7. Submit a pull request

๐Ÿ“œ License

[Add your license here]

๐Ÿ“ฆ Dependencies

  • fastmcp: MCP server framework

  • dazllm: LLM integration library

๐Ÿ’ฌ Support

For issues and questions, please open an issue on GitHub or contact [your contact information].


Built with โค๏ธ for the Model Context Protocol ecosystem

License

This project is licensed under CC BY-NC 4.0 - free to use and modify, but no commercial use without permission.

F
license - not found
-
quality - not tested
D
maintenance

Maintenance

โ€“Maintainers
โ€“Response time
โ€“Release cycle
โ€“Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • A
    license
    A
    quality
    C
    maintenance
    A comprehensive MCP server that enables AI models to perform local file operations, command execution, and task management across multiple platforms. It features advanced capabilities like row-level file editing, directory searching, and system monitoring with built-in security filters.
    13
    19
    Mulan Permissive Software , Version 2
  • A
    license
    -
    quality
    D
    maintenance
    An MCP server that enables remote SSH command execution and bidirectional file transfers through a standardized interface. It allows AI assistants to securely manage remote servers while keeping credentials isolated and applying command-level security controls.
    ISC
  • A
    license
    -
    quality
    F
    maintenance
    A secure MCP server for shell operations, terminal management, and process control, enabling AI assistants to safely execute commands and manage interactive sessions.
    116
    3
    MIT

View all related MCP servers

Related MCP Connectors

  • Personal assistant MCP server with search, execute, packages, jobs, secrets, and integrations.

  • MCP server for generating rough-draft project plans from natural-language prompts.

  • Cloud-hosted MCP server for durable AI memory

View all MCP Connectors

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/darrenoakey/daz-command-mcp'

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