Scantool

MCP server for code structure analysis across 20+ languages. Tree-sitter powered. Works with Claude Code and Claude Desktop.
  • python

3

GitHub Stars

python

Language

6 months ago

First Indexed

2 months ago

Catalog Refreshed

Documentation & install

Readme and setup notes from the catalogue, plus a client-ready config you can copy for your MCP host.

Installation

Add the following to your MCP client configuration file.

Configuration

View docs

You can run Scantool as an MCP server to analyze source code structure across many languages and expose its capabilities to Claude Code, Claude Desktop, or any Model Context Protocol client. It extracts classes, functions, imports, call graphs, and hot functions with precise line numbers, enabling fast exploration, refactoring planning, and AI-assisted code understanding.

How to use

You will connect an MCP client to the Scantool server in one of three ways: a local (stdio) server started on your machine, or a remote HTTP server you expose for clients to reach. The client will send commands like directory previews, file scans, and structure searches, and receive structured results you can display or feed into other tools.

How to install

Prerequisites: ensure you have uv installed on your system, which provides the uvx command you use to run Scantool.

# macOS / Linux / WSL
curl -LsSf https://astral.sh/uv/install.sh | sh

Additional setup and configuration

Learn how to run Scantool with Claude Code or Claude Desktop, and how to set up an HTTP transport for remote access.

{
  "mcpServers": {
    "scantool": {
      "command": "uvx",
      "args": ["scantool"]
    }
  }
}

HTTP transport (advanced)

If you need a remote MCP connection, start the HTTP server and connect Claude Code to it. Start the HTTP MCP server with the following command, then connect using the client URL.

# Start the HTTP server
uvx --from scantool scantool-http
# Listens on port 8080 by default (set PORT env var to change)
# Connect Claude Code to it
claude mcp add --transport http scantool http://127.0.0.1:8080/mcp

Troubleshooting: uvx not found

If you see an error about uvx not being found, install uv first and ensure it is on your PATH, then re-run the setup commands.

# macOS / Linux / WSL
curl -LsSf https://astral.sh/uv/install.sh | sh

# Windows (PowerShell)
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"

Alternative: Install from source

If you prefer building from source, follow these steps to obtain the code and run Scantool locally.

git clone https://github.com/mariusei/file-scanner-mcp.git
cd file-scanner-mcp
uv sync

# Claude Code
claude mcp add --transport stdio scantool -- uv run --directory /path/to/file-scanner-mcp scantool

# Claude Desktop
# Use command: "uv", args: ["run", "--directory", "/path/to/file-scanner-mcp", "scantool"]

Share with your team

To share the configuration, place a .mcp.json file at the root of your project so teammates can connect Scantool without reconfiguring.

{
  "mcpServers": {
    "scantool": {
      "command": "uvx",
      "args": ["scantool"]
    }
  }
}

Available tools

preview_directory

Analyzes a codebase to produce an entry point list, import graph, call graph, and hot functions with precise line numbers.

scan_file

Provides a detailed view of a single file's structure, including signatures, imports, and metadata.

scan_directory

Offers a compact directory overview with inline class and function names.

search_structures

Filters code structures by type, name pattern, decorator, or complexity.

list_directories

Displays a folder-only directory tree for quick navigation.

scan_file_content

Analyzes in-memory or remote content by content string without requiring a file path.

Built by
VeilStrat
AI signals for GTM teams
© 2026 VeilStrat. All rights reserved.All systems operational