claudes_toolbox

the-ride-never-ends/claudes_toolbox

3.3

If you are the rightful owner of claudes_toolbox and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.

A server application that exposes Claude's Toolbox utility programs via the Model Context Protocol (MCP), making them accessible to AI assistants like Claude through different interfaces.

mcp_server_for_claudes_toolbox

Author: Claude 3.7 Sonnet, Kyle Rose

Version: 0.2.0

A server application that exposes Claude's Toolbox utility programs via the Model Context Protocol (MCP), making them accessible to AI assistants like Claude through different interfaces (Claude Code, Claude Desktop, Copilot, etc.).

Features

  • Arbitrary function registration and invocation. Just add a function to the tools/functions folder, name the file after it, and it will be available for use.
  • Exposes a set of standalone command-line interface (CLI) tools for various tasks. Current CLI tools include:
    • test_generator: Creates unittest test files from JSON specifications.
    • documentation_generator: Generates markdown documentation from Python source code.
    • lint_a_python_codebase: Fixes common linting issues in Python files like blank lines, trailing spaces, and newlines.
    • run_tests_and_save_their_results: Runs unit tests, type checking, and linting for Python projects, and saves the results as JSON and Markdown files.
    • codebase_search: Searches code with pattern matching.
  • Each CLI tool is a complete program unto itself and can be set up to use its own virtual environments. The server will automatically activate the appropriate virtual environment for each tool when called.
  • Customizable server settings in configs.yaml file, allowing for easy changes settings like verbosity, log level, host, port, and reload options.
  • Cross-platform tool support for WSL2, Linux/MacOS, and Windows. This allows the server to register and run tools written for a Posix environment on Windows, and vice versa. Just add the appropriate config code to the MCP config file for your platform.

Configuration

The server can be configured through the configs.yaml file:

verbose: True
log_level: 10
host: '0.0.0.0'
port: 8000
reload: True
load_from_paths_csv: True

Requirements

  • WSL2, Linux. Window support is forthcoming.
  • Python 3.12+
  • mcp # for MCP server
  • aiofile # for async file operations
  • anthropic # for LLM API access from Anthropic
  • coverage # for test coverage
  • duckdb # for cross-platform database operations
  • flask # for web framework
  • flake8 # for linting
  • httpx # for async HTTP requests
  • jinja2 # for templating
  • mcp # for Claude tool server API
  • multiformats # for CID creation
  • mypy # for type checking
  • numpy # for numerical operations
  • openai # for LLM api access from OpenAI
  • psutil # for system and process utilities
  • pydantic # for data validation and settings management
  • pytest # for testing
  • pyyaml # for YAML parsing
  • tqdm # for progress bars

Installation

  1. Clone this repository:
git clone https://github.com/the-ride-never-ends/claudes_toolbox
  1. Run the installation script:

For Linux/MacOS:

cd claudes_toolbox
bash ./install_server.sh

For Windows:

cd claudes_toolbox
cmd .\install_server.bat
  1. Copy-paste the respective config code into the relevant MCP config file. For Claude Desktop for Windows, this is typically located at C:\Users\<username>\AppData\Roaming\Claude\claude_desktop_config.json.

Server hosted on WSL:

run_wsl.config

"claudes-toolbox": {
    "command": "wsl",
    "args": [
    "bash",
    "-c",
    "source ~/.bashrc && ~/claudes_toolbox/mcp_server_for_claudes_toolbox/start_claudes_toolbox_server.sh --called-with-wsl"
    ]
}

Server hosted on Linux/MacOS:

run_linux.config

"claudes-toolbox": {
  "command": "bash",
  "args": [
    "-c",
    "source ~/.bashrc || source ~/.bash_profile || source ~/.zshrc; ~/claudes_toolbox/start_server.sh"
  ]
}

Server hosted on Windows:

"claudes-toolbox": {
    "command": "cmd.exe",
    "args": [
        "/c",
        "C:\\path\\to\\start_server.bat"
    ]
}
  1. Git-clone the other repositories into the claude_toolbox/tools/cli directory:
cd claudes_toolbox/tools
git clone https://github.com/the-ride-never-ends/documentation_generator
git clone https://github.com/the-ride-never-ends/test_generator
git clone https://github.com/the-ride-never-ends/run_tests_and_save_their_results
git clone https://github.com/the-ride-never-ends/lint_a_python_codebase
git clone https://github.com/the-ride-never-ends/codebase_search

The server will automatically activate the appropriate virtual environment for each tool when called.

Usage

Integrated applications like Copilot, Claude Code, and Claude Desktop can call the server using the MCP protocol. The server starts automatically when the given command is executed.

The server works by:

  • Running tools through subprocess calls to the command line
  • Using a wrapper function that activates virtual environments
  • Exposing each tool with appropriate parameters via the MCP protocol

Directory Structure

mcp_server_for_claudes_toolbox/
ā”œā”€ā”€ docs/               # Documentation files
ā”œā”€ā”€ tests/              # Test files and test cases
ā”œā”€ā”€ utils/              # Utility scripts
ā”œā”€ā”€ data/               # Data files used by the program (if any)
ā”œā”€ā”€ app.py              # MCP server application
ā”œā”€ā”€ configs.py          # Configurations singleton for the program
ā”œā”€ā”€ logger.py           # Logger singleton for the program
ā”œā”€ā”€ TODO.md             # Todo list 
ā”œā”€ā”€ CHANGELOG.md        # Changelog list
ā”œā”€ā”€ claude.md           # Instructions to Claude in Claude Code API
ā”œā”€ā”€ requirements.txt    # 3rd-party library requirements
ā”œā”€ā”€ install.sh          # Set-up venv and install requirements
ā”œā”€ā”€ start.sh            # Script to start the server
└── README.md           # This file

License

MIT