Repository navigation
Releases: michaaels/hop-mcp-connector
Release list
MCP Connector for Apache Hop 2.2.6
MCP Connector for Apache Hop 2.2.6
Maintenance release dated 2026-10-01. Java 21, Apache Hop 2.19.0 baseline, Hop 2.20.0-SNAPSHOT compatibility profile, MCP Java SDK 2.0.1, protocol 2025-11-25 and STDIO production transport remain unchanged. No tools or permissions were added.
Changes
- Keep stdout reserved for MCP for the full lifetime of the CLI process. Previously, returning from the MCP command restored stdout while native pipeline workers could still emit their final logs. Those late messages could corrupt the JSON protocol after a timeout, cancellation or EOF. Logs now remain on stderr through process exit, including startup and shutdown failures.
- Add deterministic regression tests that emit native Hop logs and plugin console output after normal EOF and after a startup failure. Both tests reproduced the original stdout contamination before the fix.
- Restore the README's 2.2.3 compatibility entry and add detailed recent-version history. Explain that 2.2.4 was a tag-only attempt whose failed Windows verification blocked release assets; its corrected maintenance changes shipped in 2.2.5.
Execution results, cancellation behavior, tools, permission flags and resource bounds are unchanged. This release includes the maintenance improvements from 2.2.5.
Verification and scope
The stdout fix passed 135 local Java tests with zero failures and three Windows symlink skips. Its hosted CI passed the stable build, Windows junction checks, MCP conformance, installed-plugin acceptance on Hop 2.19.0 and Hop 2.20 snapshot compatibility. The snapshot job needed one retry after a separate Pipe broken error in the existing STDIO integration test; the command and STDIO tests also passed locally with that profile.
The conformance baseline retains 25 everything-server fixture failures; this is not a claim of complete everything-server conformance. This release makes no new performance claim.
The tag-controlled release workflow repeats hosted verification before publishing. Assets include the Marketplace ZIP, CycloneDX JSON/XML SBOMs and SHA-256 checksums, with archive provenance and SBOM attestations. Release coordinates align at 2.2.6 / v2.2.6.
MCP Connector for Apache Hop 2.2.5
MCP Connector for Apache Hop 2.2.5
Maintenance release dated 2026-10-01. Java 21, Apache Hop 2.19.0 baseline, Hop 2.20.0-SNAPSHOT compatibility profile, MCP Java SDK 2.0.1, protocol 2025-11-25 and STDIO production transport remain unchanged. No tools or permissions were added.
Changes
- Canonicalized temporary test roots for Windows runners that supply 8.3 path aliases, preserving all security assertions.
- Confined project reads and semantic writes to resolved public project paths. Windows junctions are excluded from traversal and protected backup directories; aliases cannot expose internal backups or external files.
- Reject new deep-check tasks with the retryable
DEEP_CHECK_WORKER_UNHEALTHYerror while a cancelled JDBC callable is still running. The bounded worker recovers after the callable actually exits. - Verify native reference acceptance against the installed connector JAR, including its CodeSource and package hash, using a separate test helper artifact.
- Strengthened raw conformance checks while accepting repeatable informational transport events. Informational entries cannot satisfy required checks, hide failures or override scored results.
- Bounded STDIO test reader cleanup and preserved Hop Web percent-encoded query parameters without double escaping.
- Select a published stable ancestor for benchmarks, added a manual Windows full-Hop workflow with per-role evidence, and preserved existing output directories when a benchmark invocation is rejected.
Verification and scope
Local validation of the maintenance changes passed Maven verification with Java 21: 133 tests, zero failures and three Windows symlink skips. All three mandatory Windows junction tests executed successfully. The 16 verification-guard tests passed, and the corrected conformance guard accepted all 33 retained real runner scenarios with the explicit application-profile baseline. The baseline retains 25 everything-server fixture failures; this is not a claim of complete everything-server conformance.
The retained pre-release benchmark measured the maintenance build while it still carried version 2.2.3 (ZIP SHA-256 c7a387ab29b278f5dbd6dd69c07029d7d0a15e89d0ddbcf5069525baa29a618d) against published 2.2.2. With five alternating fresh processes per version and five hot queries per process, median first impact queries increased from 3,776.3 to 4,214.4 ms (+11.6%), while hot queries fell from 104.7 to 17.3 ms (-83.4%). All results matched: 64 nodes, 63 edges and no truncation. These figures describe that retained fixture run, not a new timing measurement of the final 2.2.5 ZIP or a guarantee for every project.
The tag-controlled release workflow requires hosted Linux and Windows verification, Hop 2.20 compatibility, MCP conformance and clean Hop 2.19 installed-plugin acceptance before publishing. Release assets include the Marketplace ZIP, CycloneDX JSON/XML SBOMs and SHA-256 checksums, with archive provenance and SBOM attestations. Release coordinates align at 2.2.5 / v2.2.5.
MCP Connector for Apache Hop 2.2.3
MCP Connector for Apache Hop 2.2.3
Maintenance release dated 2026-09-29. Java 21, Apache Hop 2.19.0 baseline, Hop 2.20.0-SNAPSHOT compatibility profile, MCP Java SDK 2.0.1, protocol 2025-11-25 and STDIO production transport remain unchanged. No tools or permissions were added.
Changes
- Reduced initial native metadata extraction and repeated filesystem ordering work, preserving typed reference sources, extraction limits, immutable snapshots, single-flight refresh, generation invalidation and external-change detection.
- Enforced the index read budget for malformed definitions and failed reads; incomplete filesystem scans retain partial results and accurate pagination signals.
- Applied Hop Web deadlines to both headers and bounded body reception, with cancellation on timeout/interruption.
- Preserved the native unavailable-error-count sentinel (
-1) in synchronous and asynchronous timeout output schemas. - Added full-distribution native-reference equivalence and MCP operational acceptance gates, mandatory Linux symlink coverage, and strict raw conformance-result verification. Fixed idle SSE headers in the test-only adapter; production remains STDIO.
Measured performance and verification
The retained full-Hop 2.19.0 / Java 21 comparison uses an identical 5,000-definition fixture, five alternating fresh processes per version and five hot queries per process. Compared with 2.2.2, median first impact queries fell from 4,236.7 to 3,754.0 ms (11.4%), and hot queries from 125.5 to 19.5 ms (84.5%). Results match exactly: 64 nodes, 63 edges, no truncation. No startup improvement is claimed. These fixture results are not a guarantee for every project; see docs/full-hop-benchmark.md and docs/production-verification.md for scope and variation.
Local verification covered 124 Java tests, both Maven profiles, Linux symlink confinement, 16 native-reference cases across seven required plugins and 20 operational MCP checks on complete Hop installations. The application-profile conformance baseline explicitly retains 25 everything-server fixture failures; it does not claim complete everything-server conformance.
The tag-controlled release gate repeats hosted CI, verifies the clean Hop installation and Marketplace package, and publishes the ZIP, CycloneDX JSON/XML SBOMs, SHA-256 checksums, archive provenance and SBOM attestations. The Maven version, embedded resource, Marketplace catalog, ZIP name and release tag align at 2.2.3 / v2.2.3. Existing 2.2.2 assets are unchanged.
MCP Connector for Apache Hop 2.2.2
MCP Connector for Apache Hop 2.2.2
Released on 2026-09-25. This maintenance release improves bounded project indexing, metadata-reference accuracy, deep-check concurrency and operational visibility. It keeps Java 21, the Apache Hop 2.19.0 compile baseline, the 2.20.0-SNAPSHOT compatibility profile, MCP Java SDK 2.0.1, protocol revision 2025-11-25 and STDIO transport.
Changes
- Project scans examine up to 50,000 regular files while retaining at most 5,000 matching definitions. Pagination is stable and traversal, depth, read and response bounds remain enforced.
- The shared definition index uses immutable snapshots, single-flight refresh, generation-aware mutation invalidation and filesystem size, modification time and optional file key for incremental reuse. The stamp is a change-detection hint, not a cryptographic integrity check.
- Metadata dependency and impact analysis share bounded, typed references extracted from native Hop metadata dependencies, annotated properties and an exact-leaf XML fallback.
- Connection and schema deep checks restore the JVM-global JDBC login timeout after each check. The bounded worker exposes queue, cancellation, timeout and degraded-health counters. Other JVM code can still change this global timeout concurrently.
- The read-only
hop_runtime_metricsMCP tool exposes aggregate index and deep-check worker metrics without project content or secrets. - A manual and weekly benchmark workflow compares
v2.2.1with the selected commit using shared synthetic fixtures and publishes JSON, CSV and a Job Summary. Latency is informational; fixture and index correctness are checked.
Benchmark on GitHub Actions
Workflow run 36133156486 compared v2.2.1 with this release on the same runner and shared synthetic fixtures. With 5,000 definitions, cold indexing measured 1,142 ms versus 2,667 ms; the median of five warm queries measured 112 ms versus 78 ms; and a query after one changed definition measured 111 ms versus 88 ms. In the mixed fixture, the new scan examined all 20,000 regular files and found 5,000 definitions without truncation. These figures describe this fixture and runner, not a production latency guarantee. The run provides JSON and CSV artifacts with all scenarios.
Validation and distribution
The release gate built and verified against Apache Hop 2.19.0, checked the MCP 2025-11-25 conformance baseline, ran a clean Hop 2.19.0 installation smoke, and built the Hop 2.20.0-SNAPSHOT compatibility profile. The tag workflow validated version alignment and the Marketplace ZIP, then published the ZIP, CycloneDX JSON/XML SBOMs, SHA-256 checksums, archive provenance and SBOM attestations.
The Maven version, embedded version resource, Marketplace catalog, ZIP name and v2.2.2 release tag are aligned at 2.2.2.
MCP Connector for Apache Hop 2.2.1
MCP Connector for Apache Hop 2.2.1
Released on 2026-09-24. This maintenance release focuses on scalability and repeated-query efficiency for production ETL projects while preserving the public MCP tool contract, Java 21 baseline, Apache Hop 2.19.0 compile baseline, Hop 2.20.0-SNAPSHOT compatibility profile, MCP Java SDK 2.0.1, protocol revision 2025-11-25, and production STDIO transport.
Performance and scalability
- Added a bounded incremental
HopProjectDefinitionIndexshared by metadata dependency and impact analysis. Unchanged.hpl/.hwfdefinitions are reused across MCP calls, while modified definitions are reparsed individually. - Cached normalized definition/component search text and reused parsed Hop XML documents to avoid repeated XML parsing in hot inspection paths.
- Impact analysis now builds output edges only from the affected subgraph, removes the unused outbound graph, and avoids repeated filesystem existence/real-path checks for already indexed project references.
- Execution history now applies path/date filters before loading execution state and stops once the requested page plus the has-more sentinel has been established.
- Evidence-based diagnosis reuses one native Execution Information Location session for execution detail, component metrics, and previous-execution history instead of repeatedly initializing and closing the backend.
- Stored execution-data profiling now enforces global work budgets of 500,000 field evaluations and 20,000 tracked distinct values per request, in addition to existing row, field, sample, and response limits.
- Connection tests and schema comparison reuse a shared bounded daemon deep-check worker rather than creating one executor per request.
Benchmark evidence
A same-runner synthetic benchmark compared v2.2.0 with this release on GitHub Actions using Java 21.0.12.1, 4 available CPU cores, and approximately 4 GiB maximum heap. The workload generated projects with 1,000, 2,500, and 5,000 definitions and a 64-node affected dependency chain.
| Definitions | Scenario | v2.2.0 | 2.2.1 | Relative improvement |
|---|---|---|---|---|
| 1,000 | repeated warm impact analysis | 352 ms | 26 ms | ~13.5x |
| 1,000 | one unrelated definition changed | 242 ms | 20 ms | ~12.1x |
| 2,500 | repeated warm impact analysis | 533 ms | 49 ms | ~10.9x |
| 2,500 | one unrelated definition changed | 471 ms | 45 ms | ~10.5x |
| 5,000 | repeated warm impact analysis | 944 ms | 92 ms | ~10.3x |
| 5,000 | one unrelated definition changed | 942 ms | 98 ms | ~9.6x |
The cold 5,000-definition run changed from 959 ms in v2.2.0 to 1,346 ms in 2.2.1: the new release intentionally spends more work on the initial reusable index so subsequent calls and incremental changes are substantially cheaper. These measurements are synthetic regression evidence from workflow run 36013572630, not a universal production-latency guarantee.
Validation
- The verified mainline build runs 87 tests with zero failures/errors/skips.
- Clean Apache Hop 2.19 installation smoke remains required.
- Apache Hop 2.20.0-SNAPSHOT compatibility remains required.
- MCP Conformance 2025-11-25 remains a required regression gate using the official runner and explicit expected-failures baseline.
- Production remains STDIO; the localhost HTTP adapter remains test-only.
- Existing deny-by-default capability gates, project-root confinement, secure XML parsing, secret redaction, response budgets, transactional semantic mutation, SHA-256 preconditions, protected backups, and rollback remain unchanged.
Release artifacts
The release publishes the Marketplace ZIP, CycloneDX JSON/XML SBOMs, SHA-256 checksums, provenance attestation, and SBOM attestation. The package validation continues to require Jandex metadata, legal files, embedded version alignment, and exclusion of Apache Hop runtime jars.
The Maven POM, embedded version resource, release notes, Marketplace catalog entries, artifact filename, and v2.2.1 tag are aligned at 2.2.1.
MCP Connector for Apache Hop 2.2.0
MCP Connector for Apache Hop 2.2.0
Released on 2026-09-24. This release expands the connector from a hardened Apache Hop MCP integration into a broader production-ETL operations surface while retaining Java 21, the Apache Hop 2.19.0 compile baseline, the Hop 2.20.0-SNAPSHOT compatibility profile, MCP Java SDK 2.0.1, and protocol revision 2025-11-25 over STDIO.
Production ETL capabilities
- Added native metadata discovery and inspection:
hop_metadata_types,hop_metadata_list,hop_metadata_get, and bounded metadata dependency analysis. - Added explicit deep-check tools for RDBMS connection testing and table schema comparison with bounded timeouts and structured schema-drift results.
- Added native run-configuration resolution, semantic definition diff, environment comparison, and bounded project impact analysis.
- Added native Execution Information Location reads for history, detail, child executions, component metrics, stored execution-data profiling, and evidence-based execution diagnosis.
- Kept Apache Hop as the source of truth: the new operations reuse Hop metadata providers, serializers, run configurations, execution information,
PipelineMeta,WorkflowMeta, and database APIs instead of introducing a parallel ETL runtime.
Security and correctness
- Stored execution-data profiling now requires
--allow-executionbecause it can return operational row samples. - Profiling counts physical rows once regardless of the number of requested fields and reports availability, completeness, truncation, distinct bounds, and redacted samples accurately.
- Impact analysis now follows dependent definitions, resolves project/Hop path variables, avoids prefix matches such as
DIM_SITEmatchingDIM_SITE_ARCHIVE, and returns only dependency edges inside the affected subgraph. - Existing deny-by-default capability gates, project-root confinement, secure XML parsing, redaction, response budgets, deep-check authorization, transactional semantic mutation, SHA-256 preconditions, protected backups, and rollback remain in force.
MCP conformance and CI
- MCP Conformance 2025-11-25 remains a required CI gate.
- The official
@modelcontextprotocol/conformance@0.2.0-alpha.11runner executes the frozen2025-11-25requirement set against a localhost-only test adapter that reuses the production server definition, registry, schemas, and handlers. - Known scenarios belonging to unsupported MCP capabilities such as prompts, resources, completion, sampling, elicitation, and conformance fixture tools are tracked through the runner's official
--expected-failuresmechanism. New unexpected failures and stale baseline entries fail CI. - Production transport remains STDIO.
- The verified release build runs 84 tests and requires the main build, clean Apache Hop 2.19 smoke, Apache Hop 2.20 compatibility, and MCP Conformance jobs to succeed.
Build and dependency maintenance
- Updated JUnit Jupiter to 6.1.3 and refreshed Tomcat and Maven build tooling while keeping
fmt-maven-pluginat the repository's established 2.25 formatting baseline. - Release packaging continues to validate the Marketplace ZIP layout, Jandex index, embedded version, legal files, and exclusion of Apache Hop runtime jars.
- The release publishes the Marketplace ZIP, CycloneDX JSON/XML SBOMs, SHA-256 checksums, provenance attestation, and SBOM attestation.
The Maven POM, embedded version resources, release notes, Marketplace catalog entries, artifact filename, and v2.2.0 tag are aligned at 2.2.0.
MCP Connector for Apache Hop 2.1.0
MCP Connector for Apache Hop 2.1.0
Released on 2026-09-23. This release keeps the Java 21, Apache Hop 2.19.0 compile baseline, Hop 2.20.0-SNAPSHOT compatibility profile, MCP Java SDK 2.0.1, and MCP protocol revision 2025-11-25 over STDIO.
- Bound project traversal, file reads, content scans, catalog hashing, response sizes, web response bodies, log output, and mutation backup storage. Hidden connector-control files are excluded from project tools.
- Added stable pagination and explicit completeness/truncation indicators to project listings and searches. File reads and search results redact secrets before returning data.
- Added typed, sanitized MCP error results and strict bounded output schemas for 30 tools.
- Register the complete authorized tool set before starting the STDIO transport, preventing fast clients from observing an incomplete
tools/listduring startup. - Isolated semantic-mutation backups beneath
.hop-mcp/backups/, bounded their count and size, added expiry cleanup, and report whether replacement used an atomic filesystem move. - Kept deep checks, execution, authoring/mutation, and Hop Web tools hidden unless their matching server-side opt-in is enabled.
- Pinned GitHub Actions to full commit SHAs. CI validates the Hop 2.19.0 archive checksum and clean-install STDIO smoke, runs the Hop 2.20.0-SNAPSHOT profile, inspects ZIP/Jandex metadata, and generates a CycloneDX SBOM. Tag releases verify tag/POM/artifact consistency and attach checksums and GitHub attestations.
The repository's STDIO integration tests exercise the protocol handshake and tool calls, validate advertised schemas against actual results, and cover enabled execution, mutation and rollback, correction plans, and a local web-response fixture. The official MCP Conformance Suite was not run: its current runner targets Streamable HTTP and requires capabilities this tools-only STDIO server does not advertise. Installation through the published Hop Marketplace catalog still requires post-publication verification.
Verification on 2026-09-23: mvn -Djavax.net.ssl.trustStoreType=Windows-ROOT -B clean verify and mvn -Djavax.net.ssl.trustStoreType=Windows-ROOT -B -P hop-2.20 clean verify both passed with 64 tests, zero failures, and two skipped Windows symlink tests. Both produced the package and CycloneDX SBOM; the ZIP layout, Jandex index, embedded version, required legal files, and Hop-runtime exclusions were checked. The Ubuntu CI gate also installed the Marketplace ZIP into a checksum-verified clean Apache Hop 2.19.0 distribution and passed initialization, discovery of all 15 default tools, hop_config, hop_validate, and clean STDIO shutdown.
The Maven POM, server metadata, release notes, Marketplace catalog entries, artifact name, and v2.1.0 tag are aligned at 2.1.0.
MCP Connector for Apache Hop 2.0.0
MCP Connector for Apache Hop 2.0.0
Released on 2026-09-22.
- The Maven and Marketplace artifact is
io.github.michaaels:hop-mcp-connector; the ZIP is namedhop-mcp-connector-${version}.zip. - The displayed product name is MCP Connector for Apache Hop, an independent community project.
- The MCP Java SDK remains 2.0.1 and the declared MCP protocol baseline is 2025-11-25 over STDIO.
- Deep-check, execution, mutation/authoring, and Hop Web tools are hidden until their matching server-side opt-in is enabled.
- Tool annotations are supplied as client hints; authorization remains server-side.
- Applied mutation continues to use native Hop objects and the existing transactional safeguards.
Strict bounded output schemas are implemented for eleven tools, and the STDIO integration test validates each schema against actual tool output. It exercises native component-schema discovery, synchronous pipeline execution, and asynchronous execution status through Apache Hop's local engine with execution explicitly enabled. Other tools retain bounded JSON-compatible results but do not yet advertise an output schema. A clean Hop 2.19.0 installation from the Marketplace ZIP passes in CI, and the Hop 2.20.0-SNAPSHOT compatibility profile also passes. Installation through the published Marketplace catalog should be verified after publication. The official MCP Conformance Suite was not run for this release.
Apache Hop MCP 1.0.0
Apache Hop MCP 1.0.0 — Native semantic MCP
Apache Hop MCP 1.0.0 is the first stable release of the native-Java semantic MCP for Apache Hop.
- Runs directly in the Apache Hop JVM on Java 21 with MCP Java SDK 2.0.1 over STDIO.
- Inspects projects, definitions, components, dependencies, lineage and plugin metadata with bounded results and secret redaction.
- Validates definitions and optionally runs Apache Hop deep checks and local execution through independent, explicit authorization flags.
- Authors pipelines and workflows through native Hop semantic objects and the plugin registry rather than arbitrary XML replacement.
- Supports reviewable, SHA-256-bound correction plans and transactional mutation with preview, backup, atomic replacement, native reload validation and rollback.
- Supports optional Desktop and Hop Web live synchronization while protecting dirty tabs and keeping the bridge project-local.
- Protects the full MCP initialization handshake and consecutive tool calls with an in-process STDIO integration test.
- Preserves project-root confinement, hardened XML parsing, bounded execution and traversal, and sensitive-data redaction.
- Builds against Apache Hop 2.19.0 and is compatibility-tested against the current Apache Hop 2.20.0-SNAPSHOT line.
- Publishes the Marketplace artifact as
apache-hop-mcp-1.0.0.zipunder GitHub tagv1.0.0after all release gates pass.
This is a community project, not an official Apache Software Foundation release.
Apache Hop MCP 0.9.0
Apache Hop MCP 0.9.0 — Semantic correction plans
This release adds an explicit, reviewable correction-plan lifecycle on top of Apache Hop's native transactional mutation layer.
- Adds
hop_prepare_correction_planto validate native semantic operations and retain an immutable preview without writing files. - Adds
hop_apply_correction_planto explicitly apply the exact prepared plan through the existing native semantic mutator. - Adds
hop_correction_plan_statusfor bounded session-local audit events and plan state. - Binds every plan to a plan SHA-256 and to the definition SHA-256 observed during preparation.
- Rejects altered plan digests and definitions changed after preview.
- Makes plans single-use, limits retention to 100 plans per MCP session, and expires them after one hour.
- Consumes failed applications so a new preview is required before retrying.
- Keeps plan preparation read-only and keeps application disabled unless the server starts with
--allow-mutation. - Preserves native semantic objects, backup, atomic replacement, native reload validation, automatic failure recovery and explicit rollback.
- Never applies advisory diagnostics or correction plans automatically.
- Preserves project-root confinement, hardened XML parsing, bounded results and secret redaction.
- Runs directly in the Apache Hop JVM on Java 21 with MCP Java SDK 2.0.1 over STDIO.
- Built against Apache Hop 2.19.0 and compatibility-tested against the current Apache Hop 2.20.0-SNAPSHOT line.
- GitHub Actions runs
mvn -B clean verifyand validates the Marketplace ZIP before creatingv0.9.0.
This is a community project, not an official Apache Software Foundation release.