Skip to main content

TokenScope

Token-Aware Directory Explorer for Large Language Models (LLMs).

A Model Context Protocol (MCP) server that helps LLMs efficiently explore and understand codebases and directory structures.

Overview

TokenScope provides intelligent directory structure analysis and token-aware file content exploration designed for LLMs like Claude. It helps LLMs understand codebases by:

  1. Exploring directory structures with token-aware summarization
  2. Viewing file contents with token limitations in mind
  3. Generating comprehensive reports about directories

Key Features

Token-Aware Directory Exploration

  • Automatic summarization for large directories while showing small directories in full
  • Respect for token limits to maximize useful information within constraints
  • Built-in security with base path validation
  • Smart filtering with default patterns and .gitignore support
  • Accurate directory statistics for even the largest directories

Simple, Intuitive Tools

TokenScope provides just three core tools:

  1. explore_directory - Scan and understand directory structures
  2. view_content - Access file contents with token awareness
  3. generate_report - Create comprehensive reports (with option to save to file)

Installation

Prerequisites

  • Python 3.10 or higher
  • uv (recommended for dependency management)

Installation (PyPI)

This is the recommended method for most users who just want to use TokenScope:

# Install from PyPI using uv (recommended)
uv pip install tokenscope

Running TokenScope

The --base-path argument is mandatory for security reasons. It restricts all file operations to the specified directory.

# Run using the installed package
uv run --with tokenscope tokenscope --base-path /path/to/allowed/directory

Configuring in Claude Desktop

  1. Locate Claude Desktop's configuration file (typically ~/.config/claude/config.json)

  2. Add TokenScope to the mcpServers section:

"mcpServers": {
  "TokenScope": {
    "command": "uv",
    "args": [
      "run",
      "--with",
      "tokenscope",
      "tokenscope",
      "--base-path",
      "/your/secure/base/path"
    ]
  }
}
  1. Replace /your/secure/base/path with the directory you want to restrict operations to

  2. Save the configuration file and restart Claude Desktop

Usage

Running TokenScope Server

The --base-path argument is required for security (it restricts file operations to the specified directory):

tokenscope --base-path /path/to/allowed/directory

Testing Tools Directly

TokenScope includes a test mode for trying out tools directly:

# Test directory exploration
tokenscope --base-path /path/to/allowed/directory --test "explore:/path/to/directory"

# Test with custom ignore patterns
tokenscope --base-path /path/to/allowed/directory --test "explore:/path/to/directory?ignore=cache,*.log,tmp/&gitignore=false"

# Test file viewing
tokenscope --base-path /path/to/allowed/directory --test "view:/path/to/file"

# Test report generation
tokenscope --base-path /path/to/allowed/directory --test "report:/path/to/directory"

# Test report generation with file output and custom ignore patterns
tokenscope --base-path /path/to/allowed/directory --test "report:/path/to/directory?ignore=*.bak,temp/ > /path/to/output.md"

Example Prompts

Here are some examples of how to use TokenScope with Claude:

Could you explore my project directory at /path/to/project and tell me about its structure?
Can you show me the content of the file at /path/to/file.py?
Please generate a comprehensive report about my project at /path/to/project and save it to /path/to/report.md

Accurate Directory Statistics

TokenScope now provides two levels of directory information:

  1. Quick Scan Statistics: Information about files and directories visible in the tree view
  2. Full Directory Statistics: Complete counts of ALL files and directories, even in very large repositories

This dual approach ensures that even for massive directories (with thousands or millions of files), you'll get accurate information about the total number of files, directories, and disk usage. This is especially valuable when working with large codebases where a complete directory listing would exceed token limits.

Example Output

QUICK SCAN STATISTICS (files visible in tree):
Files shown in tree: 47
Directories shown in tree: 16
Size shown in tree: 185.9 MB

FULL DIRECTORY STATISTICS (all files):
Total files: 16,059
Total directories: 8
Total disk size: 2.1 GB

Smart Filtering with Ignore Patterns

TokenScope automatically filters out common directories and files that typically don't contribute to understanding a codebase:

  • Default ignored patterns: .git/, .venv/, venv/, __pycache__/, node_modules/, build/, dist/, etc.
  • Custom ignore patterns: You can specify additional patterns to ignore via the ignore_patterns parameter
  • .gitignore support: TokenScope can automatically respect .gitignore files in the directories it scans

This functionality helps prevent token waste on irrelevant files and directories like:

  • Dependency directories (e.g., node_modules, virtual environments)
  • Build artifacts and cache directories
  • Version control metadata
  • IDE configuration files

Using Ignore Patterns in CLI Test Mode

# Ignore specific patterns
tokenscope --base-path /path --test "explore:/code?ignore=*.log,temp/"

# Disable .gitignore processing
tokenscope --base-path /path --test "explore:/code?gitignore=false"

# Both together
tokenscope --base-path /path --test "explore:/code?ignore=*.tmp&gitignore=false"

Security Features

TokenScope includes important security features:

  • All file operations are validated to ensure they're within the specified base directory
  • Attempts to access files outside the base path are rejected
  • The base path is set once when starting the server and cannot be changed without restart

License

This project is licensed under the MIT License - see the LICENSE file for details.

Acknowledgments

Release files for tokenscope 0.2.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for tokenscope 0.2.0
File Size Uploaded
tokenscope-0.2.0.tar.gz 17.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for tokenscope 0.2.0
File Interpreter ABI Platform
tokenscope-0.2.0-py3-none-any.whl Python 3 none any Details

Total release size: 34.5 kB

Release files / tokenscope-0.2.0.tar.gz

Download URL tokenscope-0.2.0.tar.gz
Size 17.9 kB
Tags Source
SHA-256 checksum
How to use checksums
8cedf7586521b9545b26041bbb7b14ffaf83825821dec8ecf5a943cf1ad7310d
BLAKE2b-256 checksum
How to use checksums
cc94e85fafe47618d920df77be619907fcc1fe965c7f9ec50e74af5404aac894
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.1

Release files / tokenscope-0.2.0-py3-none-any.whl

Download URL tokenscope-0.2.0-py3-none-any.whl
Size 16.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
6d7e0e3233fd3cde25b07fb5f535f35cc045823014245437d896032fc8271c99
BLAKE2b-256 checksum
How to use checksums
163b5839396d17c90b982f486c8f9fc1de22131b6ce25f733d75653806b6c3de
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.1

Release history Release notifications | RSS feed

This release

0.2.0 This release

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page