[package]
edition = "2024"
rust-version = "1.94.1"
name = "code-analyze-mcp"
version = "0.1.10"
authors = ["Hugues Clouatre"]
build = false
exclude = [
"docs/",
"benches/",
".github/",
"tests/",
]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "MCP server for code structure analysis using tree-sitter"
homepage = "https://github.com/clouatre-labs/code-analyze-mcp"
documentation = "https://docs.rs/code-analyze-mcp"
readme = "README.md"
keywords = [
"mcp",
"code-analysis",
"tree-sitter",
"lsp",
]
categories = [
"development-tools",
"command-line-utilities",
]
license = "Apache-2.0"
repository = "https://github.com/clouatre-labs/code-analyze-mcp"
[lib]
name = "code_analyze_mcp"
path = "src/lib.rs"
[[bin]]
name = "code-analyze-mcp"
path = "src/main.rs"
[dependencies.async-trait]
version = "0.1"
[dependencies.base64]
version = "0.22"
[dependencies.ignore]
version = "0.4"
[dependencies.lru]
version = "0.16"
[dependencies.rayon]
version = "1"
[dependencies.rmcp]
version = "1"
features = [
"server",
"macros",
"transport-io",
]
[dependencies.schemars]
version = "1"
features = ["derive"]
[dependencies.serde]
version = "1"
features = ["derive"]
[dependencies.serde_json]
version = "1"
[dependencies.thiserror]
version = "2.0.18"
[dependencies.tokio]
version = "1"
features = [
"macros",
"rt-multi-thread",
"sync",
"time",
"fs",
]
[dependencies.tokio-util]
version = "0.7"
[dependencies.tracing]
version = "0.1"
[dependencies.tracing-subscriber]
version = "0.3"
features = ["env-filter"]
[dependencies.tree-sitter]
version = "0.26.6"
[dependencies.tree-sitter-fortran]
version = "0.5.1"
[dependencies.tree-sitter-go]
version = "0.25.0"
[dependencies.tree-sitter-java]
version = "0.23.5"
[dependencies.tree-sitter-python]
version = "0.25.0"
[dependencies.tree-sitter-rust]
version = "0.24.0"
[dependencies.tree-sitter-typescript]
version = "0.23.2"
[dev-dependencies.criterion]
version = "=0.8.2"
features = ["html_reports"]
[dev-dependencies.tempfile]
version = "=3.27.0"
[lints.clippy]
missing_errors_doc = "allow"
missing_panics_doc = "allow"
module_name_repetitions = "allow"
[lints.clippy.all]
level = "warn"
priority = -1
[lints.clippy.pedantic]
level = "warn"
priority = -1
[lints.rust]
unsafe_code = "warn"
unused_must_use = "deny"
[profile.ci]
lto = false
codegen-units = 16
panic = "unwind"
inherits = "release"
strip = false
[profile.release]
opt-level = "z"
lto = true
codegen-units = 1
panic = "abort"
strip = true