Add analyze tool to Developer extension (#4530)

Adds an analyze tool to the developer MCP extension that provides code structure analysis and symbol tracking capabilities across multiple programming languages.
This commit is contained in:
tlongwell-block
2025-09-12 20:02:26 -04:00
committed by GitHub
parent cb3def45e1
commit 6970cd850c
28 changed files with 3694 additions and 8 deletions
Generated
+126 -7
View File
@@ -1193,9 +1193,9 @@ checksum = "6099cdc01846bc367c4e7dd630dc5966dccf36b652fae7a74e17b640411a91b2"
[[package]]
name = "blake3"
version = "1.6.1"
version = "1.5.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "675f87afced0413c9bb02843499dbbd3882a237645883f71a2b59644a6d2f753"
checksum = "e9ec96fe9a81b5e365f9db71fe00edc4fe4ca2cc7dcb7861f0603012a7caa210"
dependencies = [
"arrayref",
"arrayvec",
@@ -1346,13 +1346,13 @@ dependencies = [
[[package]]
name = "cc"
version = "1.2.16"
version = "1.0.106"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "be714c154be609ec7f5dad223a33bf1482fff90472de28f7362806e6d4832b8c"
checksum = "066fce287b1d4eafef758e89e09d724a24808a9196fe9756b8ca90e86d0719a2"
dependencies = [
"jobserver",
"libc",
"shlex",
"once_cell",
]
[[package]]
@@ -2024,6 +2024,16 @@ dependencies = [
"syn 2.0.99",
]
[[package]]
name = "devgen-tree-sitter-swift"
version = "0.21.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "55c23625b6874f93a85934eb8fe4804a87d0a7d38ff1b74fc3d7ab4a06bd92ae"
dependencies = [
"cc",
"tree-sitter",
]
[[package]]
name = "digest"
version = "0.10.7"
@@ -2365,6 +2375,12 @@ version = "1.0.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1"
[[package]]
name = "foldhash"
version = "0.1.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d9c4f5dac5e15c24eb999c26181a6ca40b39fe946cbe4c263c7209467bc83af2"
[[package]]
name = "foreign-types"
version = "0.3.2"
@@ -2793,6 +2809,9 @@ dependencies = [
"async-trait",
"base64 0.21.7",
"chrono",
"clap",
"colored 2.2.0",
"devgen-tree-sitter-swift",
"docx-rs",
"etcetera",
"glob",
@@ -2805,11 +2824,13 @@ dependencies = [
"keyring",
"lazy_static",
"lopdf",
"lru",
"mcp-core",
"mcp-server",
"mpatch",
"oauth2",
"once_cell",
"rayon",
"regex",
"reqwest 0.11.27",
"rmcp",
@@ -2819,6 +2840,7 @@ dependencies = [
"serde_with",
"serial_test",
"shellexpand",
"streaming-iterator",
"sysinfo 0.32.1",
"temp-env",
"tempfile",
@@ -2828,6 +2850,13 @@ dependencies = [
"tracing",
"tracing-appender",
"tracing-subscriber",
"tree-sitter",
"tree-sitter-go",
"tree-sitter-java",
"tree-sitter-javascript",
"tree-sitter-kotlin",
"tree-sitter-python",
"tree-sitter-rust",
"umya-spreadsheet",
"url",
"utoipa",
@@ -2967,6 +2996,11 @@ name = "hashbrown"
version = "0.15.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "bf151400ff0baff5465007dd2f3e717f3fe502074ca563069ce3a6629d07b289"
dependencies = [
"allocator-api2",
"equivalent",
"foldhash",
]
[[package]]
name = "hashlink"
@@ -3980,6 +4014,15 @@ dependencies = [
"weezl",
]
[[package]]
name = "lru"
version = "0.12.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "234cf4f4a04dc1f57e24b96cc0cd600cf2af460d4161ac5ecdd0af8e1f3b2a38"
dependencies = [
"hashbrown 0.15.2",
]
[[package]]
name = "malloc_buf"
version = "0.0.6"
@@ -5536,9 +5579,9 @@ dependencies = [
[[package]]
name = "ring"
version = "0.17.14"
version = "0.17.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a4689e6c2294d81e88dc6261c768b63bc4fcdb852be6d1352498b114f61383b7"
checksum = "e75ec5e92c4d8aede845126adc388046234541629e76029599ed35a003c7ed24"
dependencies = [
"cc",
"cfg-if",
@@ -6224,6 +6267,12 @@ version = "0.2.12"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8207e78455ffdf55661170876f88daf85356e4edd54e0a3dbc79586ca1e50cbe"
[[package]]
name = "streaming-iterator"
version = "0.1.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2b2231b7c3057d5e4ad0156fb3dc807d900806020c5ffa3ee6ff2c8c76fb8520"
[[package]]
name = "strsim"
version = "0.11.1"
@@ -6995,6 +7044,76 @@ dependencies = [
"tracing-serde",
]
[[package]]
name = "tree-sitter"
version = "0.21.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "705bf7c0958d0171dd7d3a6542f2f4f21d87ed5f1dc8db52919d3a6bed9a359a"
dependencies = [
"cc",
"regex",
]
[[package]]
name = "tree-sitter-go"
version = "0.21.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b8d702a98d3c7e70e466456e58ff2b1ac550bf1e29b97e5770676d2fdabec00d"
dependencies = [
"cc",
"tree-sitter",
]
[[package]]
name = "tree-sitter-java"
version = "0.21.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "33bc21adf831a773c075d9d00107ab43965e6a6ea7607b47fd9ec6f3db4b481b"
dependencies = [
"cc",
"tree-sitter",
]
[[package]]
name = "tree-sitter-javascript"
version = "0.21.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8710a71bc6779e33811a8067bdda3ed08bed1733296ff915e44faf60f8c533d7"
dependencies = [
"cc",
"tree-sitter",
]
[[package]]
name = "tree-sitter-kotlin"
version = "0.3.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "54ff60aeb036f5762515ceb31404512ea4f9599764bcd3857074bb82867bdd34"
dependencies = [
"cc",
"tree-sitter",
]
[[package]]
name = "tree-sitter-python"
version = "0.21.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b4066c6cf678f962f8c2c4561f205945c84834cce73d981e71392624fdc390a9"
dependencies = [
"cc",
"tree-sitter",
]
[[package]]
name = "tree-sitter-rust"
version = "0.21.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "277690f420bf90741dea984f3da038ace46c4fe6047cba57a66822226cde1c93"
dependencies = [
"cc",
"tree-sitter",
]
[[package]]
name = "try-lock"
version = "0.2.5"