[project]
name = "scantool"
version = "0.14.0"
description = "MCP server for multi-language code analysis with structure extraction, metadata parsing, and search capabilities across Python, JavaScript, TypeScript, Rust, Go, C/C++, Java, PHP, C#, Ruby, Zig, HTML, CSS, SCSS, Markdown, Swift, plain text, and images"
readme = "README.md"
requires-python = ">=3.11"
license = { text = "MIT" }
authors = [
{ name = "Marius Berge Eide" }
]
keywords = [
"mcp", "mcp-server", "model-context-protocol",
"code-analysis", "tree-sitter", "claude", "claude-code",
"file-scanner", "structure-extraction", "static-analysis",
"ast", "code-structure", "codebase-analysis", "ai-tools",
"developer-tools",
]
classifiers = [
"Development Status :: 4 - Beta",
"Intended Audience :: Developers",
"License :: OSI Approved :: MIT License",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.13",
"Topic :: Software Development :: Libraries :: Python Modules",
"Topic :: Software Development :: Quality Assurance",
"Topic :: Software Development :: Code Generators",
"Environment :: Console",
"Operating System :: OS Independent",
"Typing :: Typed",
]
dependencies = [
"fastmcp>=2.14.4", # Includes stdio handling improvements
"tree-sitter>=0.23.2",
"tree-sitter-python>=0.23.6",
"tree-sitter-javascript>=0.23.1",
"tree-sitter-typescript>=0.23.2",
"tree-sitter-rust>=0.23.2",
"tree-sitter-go>=0.23.3",
"tree-sitter-markdown>=0.3.2",
"tree-sitter-cpp>=0.23.0",
"tree-sitter-java>=0.23.2",
"tree-sitter-ruby>=0.23.0",
"tree-sitter-c-sharp>=0.23.0",
"tree-sitter-php>=0.23.4",
"pillow>=10.0.0",
"uvicorn>=0.32.1",
"tree-sitter-sql>=0.3.11",
"pglast>=7.7",
"tree-sitter-zig>=1.1.2",
"tree-sitter-html>=0.23.0",
"tree-sitter-css>=0.23.0",
"tree-sitter-scss>=1.0.0",
"tree-sitter-swift>=0.0.1",
"numpy>=1.24.0",
]
[dependency-groups]
dev = [
"pytest>=8.0.0",
"pytest-cov>=4.1.0",
]
[project.scripts]
scantool = "scantool:main"
scantool-http = "scantool.server:http_main"
[project.urls]
Homepage = "https://github.com/mariusei/file-scanner-mcp"
Repository = "https://github.com/mariusei/file-scanner-mcp"
Issues = "https://github.com/mariusei/file-scanner-mcp/issues"
Changelog = "https://github.com/mariusei/file-scanner-mcp/releases"
"MCP Registry" = "https://glama.ai/mcp/servers/@mariusei/file-scanner-mcp"
[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"