mcp_server_for_claudes_toolbox

mcp_server_for_claudes_toolbox

Exposes a set of CLI tools (test generation, documentation generation, linting, test running, code search) to AI assistants via MCP, allowing them to perform these tasks through natural language.

Category
Visit Server

README

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

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured