Interact with various build systems including Gradle, Maven, NPM/Yarn, Cargo, Python, Makefile, and CMake.
{{ message }}
David-Parry / build-scout Public
A lightweight tool for MCP-based projects that detects build systems, analyzes dependencies, and helps automate future upgrades and migrations.
MIT license
1 star0 forksBranches Tags Activity
Star
Notifications
trunk
BranchesTags
Go to file
Code
Name | Name | Last commit message | Last commit date |
---|---|---|---|
48 Commits | |||
.github/workflows | .github/workflows | ||
gradle/wrapper | gradle/wrapper | ||
src | src | ||
.gitignore | .gitignore | ||
.java-version | .java-version | ||
CHANGELOG.md | CHANGELOG.md | ||
LICENSE | LICENSE | ||
README.md | README.md | ||
agent.toml | agent.toml | ||
build.gradle | build.gradle | ||
clear_copilot_cache.sh | clear_copilot_cache.sh | ||
gradlew | gradlew | ||
gradlew.bat | gradlew.bat | ||
print-kill.sh | print-kill.sh | ||
settings.gradle | settings.gradle | ||
View all files |
A comprehensive Model Context Protocol (MCP) server that enables LLM clients to interact with various build systems including Gradle, Maven, NPM/Yarn, Cargo, Python, Makefile, and CMake.
Build-scout provides a standardized interface for build tool operations through the Model Context Protocol, allowing AI assistants to understand, analyze, and manipulate software projects across multiple build technologies.
build.gradle
, build.gradle.kts
pom.xml
package.json
Cargo.toml
requirements.txt
, setup.py
Makefile
CMakeLists.txt
find_build_system
- Discovers build systems in project directoriesbuild_system_file_paths
- Returns paths to build system filesbuild_gradle_project
- Executes Gradle builds with optional checksgradle_tester
- Runs Gradle build and test tasksdependencies_list
- Lists all top-level dependencies with versionsupdate_dependency_version
- Updates dependency versions in build fileslatest_dependency_version
- Fetches latest versions from repositoriesfind_class_usage
- Finds class usage across the codebasejar_diff_reporter
- Compares JAR files for differencesget_file_info
- Retrieves file metadata and informationget_resource_info
- Gets resource informationreplace_source_code_complete
- Performs source code replacementsdownload_current_latest_source
- Downloads latest source versionsThis will increment the version number and build the JAR:
./gradlew clean prebuild updateConfigJson
Completed and tested all the tools, prompt and root to see the native image working. Still need to review more for edge cases but try it out.
./gradlew clean prebuild nativeCompile
"scout-server": { "command": "java", "args": [ "-agentlib:native-image-agent=config-output-dir=/Users/davidparry/code/github/mcp-servers/build-scout/tmp/META-INF/native-image", "-Dorg.gradle.native=false", "-Djava.awt.headless=true", "-jar /Users/davidparry/code/github/mcp-servers/build-scout/build/libs/scout-1.0.105.jar" ], "env": { "BUILD_SCOUT_LOGGING": "DEBUG" } }
src/main/resources/META-INF/native-image
directory.:$GRAALVM_HOME/bin/native-image-configure generate --input-dir=tmp/META-INF/native-image --output-dir=src/main/resources/META-INF/native-image
Add to your claude_desktop_config.json
:
{ "mcpServers": { "scout-server": { "command": "java", "args": ["-jar", "/path/to/scout-1.0.{VERSION}.jar"] } } }
{ "mcpServers": { "scout-server": { "command": "scout", "args": [], "env": { "BUILD_SCOUT_LOGGING": "ERROR" } } } }
Add to your ~/.config/github-copilot/intellij/mcp.json
:
{ "servers": { "scout-server": { "command": "java", "args": ["-jar", "/path/to/scout-1.0.{VERSION}.jar"] } } }
The server can be integrated with any MCP-compatible client by configuring the appropriate JSON configuration file.
{ "jsonrpc": "2.0", "id": 1, "method": "tools/call", "params": { "name": "find_build_system", "arguments": { "project_root": "/path/to/your/project" } } }
{ "jsonrpc": "2.0", "id": 2, "method": "tools/call", "params": { "name": "build_gradle_project", "arguments": { "project_root": "/path/to/gradle/project", "check": true } } }
{ "jsonrpc": "2.0", "id": 3, "method": "tools/call", "params": { "name": "dependencies_list", "arguments": { "path": "/path/to/build.gradle" } } }
{ "jsonrpc": "2.0", "id": 4, "method": "tools/call", "params": { "name": "update_dependency_version", "arguments": { "groupId": "org.springframework.boot", "artifactId": "spring-boot-starter-web", "version": "3.2.0", "path": "/path/to/build.gradle" } } }
@Schema
annotationssrc/
├── main/
│ ├── java/
│ │ └── com/davidparry/scout/
│ │ ├── Main.java
│ │ ├── Router.java
│ │ ├── tools/ # MCP tools implementation
│ │ ├── common/ # Build system implementations
│ │ ├── spec/ # MCP protocol specifications
│ └── resources/
│ └── META-INF/native-image/ # GraalVM configuration
└── test/
└── java/ # Unit tests
Run the test suite:
./gradlew test
The build system automatically:
The server includes comprehensive logging at different levels. Check the console output for detailed information about tool execution and errors.
This project is licensed under the MIT License - see the LICENSE file for details.
Readme
MIT license
Activity
Custom properties
1 star
1 watching
0 forks
Report repository
v-1.0.118 Latest
Jul 1, 2025
+ 2 releases
No packages published
Provides multi-cluster Kubernetes management and operations using MCP, It can be integrated as an SDK into your own project and includes nearly 50 built-in tools covering common DevOps and development scenarios. Supports both standard and CRD resources.
A proxy server that enables existing REST APIs to be used as Model Context Protocol (MCP) servers.
An MCP server for AI coding assistants to control, inspect, and modify Bevy applications using the Bevy Remote Protocol (BRP).
Interact with the Honeybadger API for error monitoring and reporting using LLMs.
Query A/B test data using the Hackle API.
Provides remote machine control capabilities, eliminating SSH overhead for token-efficient system operations.
MCP server for TeamCity, integrates with Claude Desktop and Cursor.
Turns any command-line interface (CLI) command into a simple StdIO-based MCP server.
A GDB/MI protocol server based on the MCP protocol, providing remote application debugging capabilities with AI assistants.
Remote server (SSE/Streamable) for the latest Svelte and SvelteKit documentation