# Claude Code Available Tools

> Your Claude Code setup is powerful, but hard to see at a glance. This tool fixes that. A fast, interactive TUI that scans your global and project configurations, showing every slash command, subagent, skill, MCP server, hook, and env variable with live filtering and auto-refresh. Zero config required.

- **Type:** MCP server
- **Install:** `agentstack add mcp-andreabonn-claude-code-available-tools`
- **Verified:** Yes — security-reviewed for prompt injection and unsafe behavior
- **Seller:** [AndreaBonn](https://agentstack.voostack.com/s/andreabonn)
- **Installs:** 0
- **Category:** [AI & ML](https://agentstack.voostack.com/c/ai-and-ml)
- **Latest version:** 0.1.0
- **License:** Apache-2.0
- **Upstream author:** [AndreaBonn](https://github.com/AndreaBonn)
- **Source:** https://github.com/AndreaBonn/claude-code-available-tools

## Install

```sh
agentstack add mcp-andreabonn-claude-code-available-tools
```

Requires the [AgentStack CLI](https://agentstack.voostack.com/docs/cli). Works with Claude Code, Cursor, and any MCP-compatible agent.

## About

**English** | [Italiano](README.it.md)

# Claude Code Available Tools by Bonn

Interactive explorer for Claude Code tools and configuration. Scans and displays slash commands, subagents, skills, MCP servers, hooks, and environment variables from both global (`~/.claude/`) and project-level (`.claude/`) configurations.

[](https://github.com/AndreaBonn/claude-code-available-tools/actions/workflows/ci.yml)
[](https://github.com/AndreaBonn/claude-code-available-tools/actions/workflows/ci.yml)
[](https://github.com/AndreaBonn/claude-code-available-tools/actions/workflows/ci.yml)
[](https://github.com/astral-sh/ruff)
[](LICENSE)
[](SECURITY.md)

## Features

- Three display modes: full-screen TUI (Textual), inline text report (Rich), and external terminal window
- Scans global and project-level Claude Code configurations
- Visual scope indicators: green for global, yellow for project resources
- Live filtering and auto-refresh (3s interval) in TUI mode
- Minimal YAML frontmatter parser with no external YAML dependency
- Cross-platform: Linux, macOS, Windows
- Integrates as `/tools` slash command inside Claude Code sessions

Screenshots

| Slash Commands | Subagents |
|:-:|:-:|
|  |  |

| Skills | MCP Servers |
|:-:|:-:|
|  |  |

## Architecture

```mermaid
%%{init: {'theme': 'default'}}%%
graph LR
    classDef core fill:#2563eb,stroke:#1d4ed8,color:#fff
    classDef engine fill:#059669,stroke:#047857,color:#fff
    classDef data fill:#d97706,stroke:#b45309,color:#fff
    classDef ext fill:#6b7280,stroke:#4b5563,color:#fff

    cli["cli.pyEntry Point"]:::core

    subgraph display["Display Backends"]
        direction TB
        tui["tui.pyTextual TUI"]:::core
        inline_mod["inline.pyRich Report"]:::core
    end

    terminal["terminal.pyTerminal Detection"]:::ext
    ext_term(["External Terminal"]):::ext

    scanner["scanner.pyDiscovery Engine"]:::engine

    subgraph config["Configuration Sources"]
        direction TB
        global_cfg["~/.claude/Global Config"]:::data
        project_cfg[".claude/Project Config"]:::data
    end

    cli --> tui
    cli --> inline_mod
    cli --> terminal
    terminal -.-> ext_term

    tui --> scanner
    inline_mod --> scanner

    scanner --> global_cfg
    scanner --> project_cfg
```

For detailed diagrams (scanner discovery, CLI dispatch, CI pipeline) see [Architecture docs](docs/ARCHITECTURE.md).

## Installation

Requires Python 3.10+ and one of: pipx, uv, or pip.

```bash
# Clone the repository
git clone https://github.com/AndreaBonn/claude-code-available-tools.git
cd claude-code-available-tools

# Run the universal installer (auto-detects OS)
./install.sh

# Or use platform-specific installers
./installers/install_linux.sh       # Linux
./installers/install_macos.sh       # macOS
.\install.bat                       # Windows
```

The installer does four things:

1. Checks for Python 3.10+
2. Installs the `cctools` package (via pipx, uv, or pip)
3. Copies the `/tools` slash command to `~/.claude/commands/tools.md`
4. Runs a smoke test

Manual installation:

```bash
pip install .
# or
pipx install .
# or
uv tool install .
```

### Platform support

| OS | TUI | Inline | External | Installer |
|----|-----|--------|----------|-----------|
| Linux | Yes | Yes | gnome-terminal, konsole, xfce4-terminal, xterm | `install_linux.sh` |
| macOS | Yes | Yes | Terminal.app via osascript | `install_macos.sh` |
| Windows | Yes | Yes | Not available | `install_windows.ps1` |

## Usage

```bash
# Auto mode (TUI if terminal >= 80 columns, otherwise inline)
cctools

# Explicit modes
cctools --mode tui
cctools --mode inline
cctools --mode external

# Filter resources by name or description
cctools --mode inline --filter mcp
```

From within a Claude Code session:

```
/tools                  # Opens TUI in external terminal
/tools inline           # Prints report in chat
/tools tui              # Opens TUI in current terminal
/tools inline mcp       # Filtered inline report
```

### TUI keybindings

| Key | Action |
|-----|--------|
| `/` | Open filter bar |
| `Escape` | Close filter, clear filter text |
| `r` | Manual refresh |
| `q` | Quit |

## Configuration

`cctools` reads existing Claude Code configuration files. No additional configuration is required.

The only optional environment variable is `CLAUDE_CONFIG_DIR`, which overrides the default `~/.claude/` config directory. The scanner also detects `CLAUDE_*` and `ANTHROPIC_*` variables from the shell environment.

### Custom hook descriptions

Claude Code hooks don't natively include a display description. You can add an optional `description` field to any hook definition, and `cctools` will use it as the display text instead of the raw command:

```json
{
  "hooks": {
    "PreToolUse": [{
      "matcher": "Bash",
      "hooks": [{
        "type": "command",
        "command": "./scripts/validate.sh",
        "description": "Validate input before Bash execution"
      }]
    }]
  }
}
```

Without `description`, cctools shows `[command] ./scripts/validate.sh`. With it, the human-readable text is displayed instead.

### Custom MCP server descriptions

Similarly, MCP server entries don't include a display description. You can add an optional `description` field to any server definition:

```json
{
  "mcpServers": {
    "my-server": {
      "type": "stdio",
      "command": "npx",
      "args": ["@mcp/my-server"],
      "description": "Project knowledge base and search"
    }
  }
}
```

Without `description`, cctools shows `[stdio] npx @mcp/my-server`. With it, the human-readable text is displayed instead. Claude Code ignores unknown fields, so this does not affect MCP functionality.

## Testing

```bash
uv sync --dev
uv run pytest tests/ -v --cov=cctools
uv run ruff check src/ tests/
uv run ruff format src/ tests/
```

## Contributing

Contributions are welcome via pull request. Before submitting:

1. Run tests and ensure they pass
2. Run `ruff check` and `ruff format`
3. Run `mypy` for type checking
4. Keep commits focused and descriptive

## Security

For vulnerability reports, see the [security policy](SECURITY.md).

## License

Released under the Apache License 2.0 -- see [LICENSE](LICENSE).

## Author

Andrea Bonacci -- [@AndreaBonn](https://github.com/AndreaBonn)

## Support the project

Claude Code Available Tools is free to use. If it helps you and you want to give something back, you can leave a tip via PayPal. The amount is up to you and it is entirely optional.

[](https://paypal.me/AndreaBonacci19)

---

If this project is useful to you, a star on GitHub is appreciated.

## Source & license

This open-source MCP server is cataloged on AgentStack and links to its original source — we do not rehost the code.

- **Author:** [AndreaBonn](https://github.com/AndreaBonn)
- **Source:** [AndreaBonn/claude-code-available-tools](https://github.com/AndreaBonn/claude-code-available-tools)
- **License:** Apache-2.0

Install and usage instructions live in the source repository linked above.

## Pricing

- **Free** — Free

## Security capabilities

Automated source analysis of v0.1.0 — what this tool can access:

- **Network access:** no
- **Filesystem access:** no
- **Shell / process execution:** no
- **Environment & secrets:** no
- **Dynamic code execution:** no

*"Yes" means the capability is present in the source — more access means more to trust, not that it is unsafe.*


## Versions

- **0.1.0** — security scan: passed — Imported from the upstream source.

## Links

- Listing page: https://agentstack.voostack.com/l/mcp-andreabonn-claude-code-available-tools
- Seller: https://agentstack.voostack.com/s/andreabonn
- Browse the marketplace: https://agentstack.voostack.com/browse

---
Listed on AgentStack — the marketplace for AI agent skills and MCP servers. Every listing is security-reviewed. Creators keep 70%.
