You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by da...@apache.org on 2026/06/25 09:19:42 UTC

(camel) branch feature/CAMEL-23833-eip-aliases created (now f54024c8bc2b)

This is an automated email from the ASF dual-hosted git repository.

davsclaus pushed a change to branch feature/CAMEL-23833-eip-aliases
in repository https://gitbox.apache.org/repos/asf/camel.git


      at f54024c8bc2b CAMEL-23833: Add aliases field to EIP model metadata for AI discoverability

This branch includes the following new commits:

     new f54024c8bc2b CAMEL-23833: Add aliases field to EIP model metadata for AI discoverability

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.



(camel) 01/01: CAMEL-23833: Add aliases field to EIP model metadata for AI discoverability

Posted by da...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

davsclaus pushed a commit to branch feature/CAMEL-23833-eip-aliases
in repository https://gitbox.apache.org/repos/asf/camel.git

commit f54024c8bc2bb167d0e0435ebbe44657842fb0fe
Author: Claus Ibsen <cl...@gmail.com>
AuthorDate: Thu Jun 25 11:19:25 2026 +0200

    CAMEL-23833: Add aliases field to EIP model metadata for AI discoverability
    
    Adds an `aliases` field to the @Metadata annotation and EIP model JSON
    so AI agents and MCP tools can discover EIPs using common alternative
    terminology (e.g., "fan-out" for Multicast, "retry" for Error Handler).
    
    Aliases are descriptive names only - they cannot be used in the DSL.
    Search supports dash normalization (fan-out, fanout, fanOut all match).
    
    30 EIP Definition classes annotated with aliases matching the AI Patterns
    documentation page. Catalog search and MCP tools updated to filter by
    aliases.
    
    Co-Authored-By: Claude <no...@anthropic.com>
    Signed-off-by: Claus Ibsen <cl...@gmail.com>
---
 .../org/apache/camel/catalog/models/aggregate.json |  1 +
 .../org/apache/camel/catalog/models/choice.json    |  1 +
 .../camel/catalog/models/circuitBreaker.json       |  1 +
 .../apache/camel/catalog/models/claimCheck.json    |  1 +
 .../org/apache/camel/catalog/models/delay.json     |  1 +
 .../apache/camel/catalog/models/dynamicRouter.json |  1 +
 .../org/apache/camel/catalog/models/enrich.json    |  1 +
 .../org/apache/camel/catalog/models/filter.json    |  1 +
 .../org/apache/camel/catalog/models/from.json      |  1 +
 .../camel/catalog/models/idempotentConsumer.json   |  1 +
 .../apache/camel/catalog/models/loadBalance.json   |  1 +
 .../org/apache/camel/catalog/models/loop.json      |  1 +
 .../org/apache/camel/catalog/models/marshal.json   |  1 +
 .../org/apache/camel/catalog/models/multicast.json |  1 +
 .../apache/camel/catalog/models/onFallback.json    |  1 +
 .../org/apache/camel/catalog/models/pipeline.json  |  1 +
 .../org/apache/camel/catalog/models/poll.json      |  1 +
 .../apache/camel/catalog/models/pollEnrich.json    |  1 +
 .../org/apache/camel/catalog/models/rollback.json  |  1 +
 .../org/apache/camel/catalog/models/saga.json      |  1 +
 .../org/apache/camel/catalog/models/sample.json    |  1 +
 .../org/apache/camel/catalog/models/setBody.json   |  1 +
 .../org/apache/camel/catalog/models/split.json     |  1 +
 .../org/apache/camel/catalog/models/throttle.json  |  1 +
 .../org/apache/camel/catalog/models/to.json        |  1 +
 .../org/apache/camel/catalog/models/toD.json       |  1 +
 .../org/apache/camel/catalog/models/transform.json |  1 +
 .../org/apache/camel/catalog/models/unmarshal.json |  1 +
 .../org/apache/camel/catalog/models/validate.json  |  1 +
 .../org/apache/camel/catalog/models/wireTap.json   |  1 +
 .../apache/camel/catalog/DefaultCamelCatalog.java  | 36 ++++++++----
 .../org/apache/camel/catalog/CamelCatalogTest.java | 68 ++++++++++++++++++++++
 .../java/org/apache/camel/spi/Metadata.java        |  8 +++
 .../META-INF/org/apache/camel/model/aggregate.json |  1 +
 .../META-INF/org/apache/camel/model/choice.json    |  1 +
 .../org/apache/camel/model/circuitBreaker.json     |  1 +
 .../org/apache/camel/model/claimCheck.json         |  1 +
 .../META-INF/org/apache/camel/model/delay.json     |  1 +
 .../org/apache/camel/model/dynamicRouter.json      |  1 +
 .../META-INF/org/apache/camel/model/enrich.json    |  1 +
 .../META-INF/org/apache/camel/model/filter.json    |  1 +
 .../META-INF/org/apache/camel/model/from.json      |  1 +
 .../org/apache/camel/model/idempotentConsumer.json |  1 +
 .../org/apache/camel/model/loadBalance.json        |  1 +
 .../META-INF/org/apache/camel/model/loop.json      |  1 +
 .../META-INF/org/apache/camel/model/marshal.json   |  1 +
 .../META-INF/org/apache/camel/model/multicast.json |  1 +
 .../org/apache/camel/model/onFallback.json         |  1 +
 .../META-INF/org/apache/camel/model/pipeline.json  |  1 +
 .../META-INF/org/apache/camel/model/poll.json      |  1 +
 .../org/apache/camel/model/pollEnrich.json         |  1 +
 .../META-INF/org/apache/camel/model/rollback.json  |  1 +
 .../META-INF/org/apache/camel/model/saga.json      |  1 +
 .../META-INF/org/apache/camel/model/sample.json    |  1 +
 .../META-INF/org/apache/camel/model/setBody.json   |  1 +
 .../META-INF/org/apache/camel/model/split.json     |  1 +
 .../META-INF/org/apache/camel/model/throttle.json  |  1 +
 .../META-INF/org/apache/camel/model/to.json        |  1 +
 .../META-INF/org/apache/camel/model/toD.json       |  1 +
 .../META-INF/org/apache/camel/model/transform.json |  1 +
 .../META-INF/org/apache/camel/model/unmarshal.json |  1 +
 .../META-INF/org/apache/camel/model/validate.json  |  1 +
 .../META-INF/org/apache/camel/model/wireTap.json   |  1 +
 .../apache/camel/model/AggregateDefinition.java    |  1 +
 .../org/apache/camel/model/ChoiceDefinition.java   |  1 +
 .../camel/model/CircuitBreakerDefinition.java      |  1 +
 .../apache/camel/model/ClaimCheckDefinition.java   |  1 +
 .../org/apache/camel/model/DelayDefinition.java    |  1 +
 .../camel/model/DynamicRouterDefinition.java       |  1 +
 .../org/apache/camel/model/EnrichDefinition.java   |  1 +
 .../org/apache/camel/model/FilterDefinition.java   |  1 +
 .../org/apache/camel/model/FromDefinition.java     |  1 +
 .../camel/model/IdempotentConsumerDefinition.java  |  1 +
 .../apache/camel/model/LoadBalanceDefinition.java  |  1 +
 .../org/apache/camel/model/LoopDefinition.java     |  1 +
 .../org/apache/camel/model/MarshalDefinition.java  |  1 +
 .../apache/camel/model/MulticastDefinition.java    |  1 +
 .../apache/camel/model/OnFallbackDefinition.java   |  1 +
 .../org/apache/camel/model/PipelineDefinition.java |  1 +
 .../org/apache/camel/model/PollDefinition.java     |  1 +
 .../apache/camel/model/PollEnrichDefinition.java   |  1 +
 .../org/apache/camel/model/RollbackDefinition.java |  1 +
 .../org/apache/camel/model/SagaDefinition.java     |  1 +
 .../org/apache/camel/model/SamplingDefinition.java |  1 +
 .../org/apache/camel/model/SetBodyDefinition.java  |  1 +
 .../org/apache/camel/model/SplitDefinition.java    |  1 +
 .../org/apache/camel/model/ThrottleDefinition.java |  1 +
 .../java/org/apache/camel/model/ToDefinition.java  |  1 +
 .../apache/camel/model/ToDynamicDefinition.java    |  1 +
 .../apache/camel/model/TransformDefinition.java    |  1 +
 .../apache/camel/model/UnmarshalDefinition.java    |  1 +
 .../org/apache/camel/model/ValidateDefinition.java |  1 +
 .../org/apache/camel/model/WireTapDefinition.java  |  1 +
 .../dsl/jbang/core/commands/mcp/CatalogTools.java  | 33 +++++++++--
 .../org/apache/camel/tooling/model/BaseModel.java  | 13 +++++
 .../org/apache/camel/tooling/model/JsonMapper.java |  7 +++
 .../camel/maven/packaging/SchemaGeneratorMojo.java |  5 ++
 .../main/java/org/apache/camel/spi/Metadata.java   |  8 +++
 98 files changed, 251 insertions(+), 17 deletions(-)

diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/aggregate.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/aggregate.json
index ca1edf4b3883..d02a0a3da29a 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/aggregate.json
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/aggregate.json
@@ -7,6 +7,7 @@
     "deprecated": false,
     "label": "aggregate,eip,routing",
     "javaType": "org.apache.camel.model.AggregateDefinition",
+    "aliases": [ "fan-in", "reduce", "join", "merge" ],
     "abstract": false,
     "input": true,
     "output": true
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/choice.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/choice.json
index 421987859b0c..57780369b7e9 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/choice.json
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/choice.json
@@ -7,6 +7,7 @@
     "deprecated": false,
     "label": "eip,routing",
     "javaType": "org.apache.camel.model.ChoiceDefinition",
+    "aliases": [ "router", "dispatch" ],
     "abstract": false,
     "input": true,
     "output": false
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/circuitBreaker.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/circuitBreaker.json
index 80c810997a73..edb8fed66463 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/circuitBreaker.json
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/circuitBreaker.json
@@ -7,6 +7,7 @@
     "deprecated": false,
     "label": "eip,error,resilience,routing",
     "javaType": "org.apache.camel.model.CircuitBreakerDefinition",
+    "aliases": [ "circuit-breaker" ],
     "abstract": false,
     "input": true,
     "output": true
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/claimCheck.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/claimCheck.json
index 7bedef91dd00..fc1f602c0dc1 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/claimCheck.json
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/claimCheck.json
@@ -7,6 +7,7 @@
     "deprecated": false,
     "label": "eip,enrichment,routing",
     "javaType": "org.apache.camel.model.ClaimCheckDefinition",
+    "aliases": [ "claim-check", "stash" ],
     "abstract": false,
     "input": true,
     "output": false
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/delay.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/delay.json
index ee9a2329589c..10513e27e66b 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/delay.json
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/delay.json
@@ -7,6 +7,7 @@
     "deprecated": false,
     "label": "eip,flowcontrol,routing",
     "javaType": "org.apache.camel.model.DelayDefinition",
+    "aliases": [ "debounce", "delay" ],
     "abstract": false,
     "input": true,
     "output": false
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/dynamicRouter.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/dynamicRouter.json
index bc40e8434400..80534cd3a5e4 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/dynamicRouter.json
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/dynamicRouter.json
@@ -7,6 +7,7 @@
     "deprecated": false,
     "label": "eip,routing",
     "javaType": "org.apache.camel.model.DynamicRouterDefinition",
+    "aliases": [ "dispatch" ],
     "abstract": false,
     "input": true,
     "output": false
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/enrich.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/enrich.json
index 815ecc8aa770..cf0dc6b0fd0c 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/enrich.json
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/enrich.json
@@ -7,6 +7,7 @@
     "deprecated": false,
     "label": "eip,enrichment,transformation",
     "javaType": "org.apache.camel.model.EnrichDefinition",
+    "aliases": [ "enrich", "hydrate", "augment" ],
     "abstract": false,
     "input": true,
     "output": false
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/filter.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/filter.json
index 93e995828ea1..652170bef038 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/filter.json
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/filter.json
@@ -7,6 +7,7 @@
     "deprecated": false,
     "label": "eip,routing",
     "javaType": "org.apache.camel.model.FilterDefinition",
+    "aliases": [ "filter" ],
     "abstract": false,
     "input": true,
     "output": true
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/from.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/from.json
index 55af93c2f1dc..8e1b21ae2509 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/from.json
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/from.json
@@ -7,6 +7,7 @@
     "deprecated": false,
     "label": "eip,endpoint,routing",
     "javaType": "org.apache.camel.model.FromDefinition",
+    "aliases": [ "source", "ingress" ],
     "abstract": false,
     "input": false,
     "output": false
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/idempotentConsumer.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/idempotentConsumer.json
index f0f75739faae..d3d0c2ebd160 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/idempotentConsumer.json
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/idempotentConsumer.json
@@ -7,6 +7,7 @@
     "deprecated": false,
     "label": "eip,flowcontrol,routing",
     "javaType": "org.apache.camel.model.IdempotentConsumerDefinition",
+    "aliases": [ "dedup", "deduplicate" ],
     "abstract": false,
     "input": true,
     "output": true
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/loadBalance.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/loadBalance.json
index 72858118ea7c..9ce83a074f7d 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/loadBalance.json
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/loadBalance.json
@@ -7,6 +7,7 @@
     "deprecated": false,
     "label": "eip,loadbalancing,routing",
     "javaType": "org.apache.camel.model.LoadBalanceDefinition",
+    "aliases": [ "load-balance" ],
     "abstract": false,
     "input": true,
     "output": true
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/loop.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/loop.json
index 5b234e1a964a..52bec8971ec4 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/loop.json
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/loop.json
@@ -7,6 +7,7 @@
     "deprecated": false,
     "label": "eip,flowcontrol,routing",
     "javaType": "org.apache.camel.model.LoopDefinition",
+    "aliases": [ "loop", "iterate" ],
     "abstract": false,
     "input": true,
     "output": true
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/marshal.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/marshal.json
index dcb5f08e2bb3..e2165f8effcd 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/marshal.json
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/marshal.json
@@ -7,6 +7,7 @@
     "deprecated": false,
     "label": "eip,dataformat,transformation",
     "javaType": "org.apache.camel.model.MarshalDefinition",
+    "aliases": [ "serialize" ],
     "abstract": false,
     "input": true,
     "output": false
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/multicast.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/multicast.json
index cfc8a0da82d5..156fe575386c 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/multicast.json
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/multicast.json
@@ -7,6 +7,7 @@
     "deprecated": false,
     "label": "eip,routing",
     "javaType": "org.apache.camel.model.MulticastDefinition",
+    "aliases": [ "fan-out", "broadcast" ],
     "abstract": false,
     "input": true,
     "output": true
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/onFallback.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/onFallback.json
index 2e75408aa523..fcc732c0c363 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/onFallback.json
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/onFallback.json
@@ -7,6 +7,7 @@
     "deprecated": false,
     "label": "eip,error,resilience,routing",
     "javaType": "org.apache.camel.model.OnFallbackDefinition",
+    "aliases": [ "fallback" ],
     "abstract": false,
     "input": true,
     "output": true
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/pipeline.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/pipeline.json
index 5408ec3061c3..a27afe29fb38 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/pipeline.json
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/pipeline.json
@@ -7,6 +7,7 @@
     "deprecated": false,
     "label": "eip,routing",
     "javaType": "org.apache.camel.model.PipelineDefinition",
+    "aliases": [ "pipeline", "chain" ],
     "abstract": false,
     "input": true,
     "output": true
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/poll.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/poll.json
index a794830ed61f..449c71f9bd5a 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/poll.json
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/poll.json
@@ -7,6 +7,7 @@
     "deprecated": false,
     "label": "eip,enrichment,routing",
     "javaType": "org.apache.camel.model.PollDefinition",
+    "aliases": [ "poll", "pull" ],
     "abstract": false,
     "input": true,
     "output": false
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/pollEnrich.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/pollEnrich.json
index 141b3f34f31c..ecf566b2d850 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/pollEnrich.json
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/pollEnrich.json
@@ -7,6 +7,7 @@
     "deprecated": false,
     "label": "eip,enrichment,transformation",
     "javaType": "org.apache.camel.model.PollEnrichDefinition",
+    "aliases": [ "enrich", "hydrate" ],
     "abstract": false,
     "input": true,
     "output": false
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/rollback.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/rollback.json
index 3322845fc6a0..063d407b461b 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/rollback.json
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/rollback.json
@@ -7,6 +7,7 @@
     "deprecated": false,
     "label": "eip,errorhandling,routing",
     "javaType": "org.apache.camel.model.RollbackDefinition",
+    "aliases": [ "rollback" ],
     "abstract": false,
     "input": true,
     "output": false
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/saga.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/saga.json
index abb3ae2e1034..288669719ccb 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/saga.json
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/saga.json
@@ -7,6 +7,7 @@
     "deprecated": false,
     "label": "eip,routing",
     "javaType": "org.apache.camel.model.SagaDefinition",
+    "aliases": [ "compensate" ],
     "abstract": true,
     "input": true,
     "output": true
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/sample.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/sample.json
index 3b41d67232bd..5d6e39aacf68 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/sample.json
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/sample.json
@@ -7,6 +7,7 @@
     "deprecated": false,
     "label": "eip,flowcontrol,routing",
     "javaType": "org.apache.camel.model.SamplingDefinition",
+    "aliases": [ "sample" ],
     "abstract": false,
     "input": true,
     "output": false
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/setBody.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/setBody.json
index 9895f22dc9cd..0fbb2ce2beae 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/setBody.json
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/setBody.json
@@ -7,6 +7,7 @@
     "deprecated": false,
     "label": "eip,messaging,transformation",
     "javaType": "org.apache.camel.model.SetBodyDefinition",
+    "aliases": [ "map", "transform" ],
     "abstract": false,
     "input": true,
     "output": false
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/split.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/split.json
index daaa27472241..889d6bc7dfec 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/split.json
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/split.json
@@ -7,6 +7,7 @@
     "deprecated": false,
     "label": "aggregate,eip,routing",
     "javaType": "org.apache.camel.model.SplitDefinition",
+    "aliases": [ "split", "chunk" ],
     "abstract": false,
     "input": true,
     "output": true
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/throttle.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/throttle.json
index 7c2990740722..3507e1ef340f 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/throttle.json
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/throttle.json
@@ -7,6 +7,7 @@
     "deprecated": false,
     "label": "eip,flowcontrol,routing",
     "javaType": "org.apache.camel.model.ThrottleDefinition",
+    "aliases": [ "rate-limit", "throttle" ],
     "abstract": false,
     "input": true,
     "output": false
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/to.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/to.json
index f54ea9777222..18cce7a57dd8 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/to.json
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/to.json
@@ -7,6 +7,7 @@
     "deprecated": false,
     "label": "eip,endpoint,routing",
     "javaType": "org.apache.camel.model.ToDefinition",
+    "aliases": [ "sink", "egress" ],
     "abstract": false,
     "input": true,
     "output": false
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/toD.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/toD.json
index e490115cb517..dc02feb1013d 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/toD.json
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/toD.json
@@ -7,6 +7,7 @@
     "deprecated": false,
     "label": "eip,endpoint,routing",
     "javaType": "org.apache.camel.model.ToDynamicDefinition",
+    "aliases": [ "sink", "egress" ],
     "abstract": false,
     "input": true,
     "output": false
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/transform.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/transform.json
index a2041f383222..0e548770ef50 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/transform.json
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/transform.json
@@ -7,6 +7,7 @@
     "deprecated": false,
     "label": "eip,transformation",
     "javaType": "org.apache.camel.model.TransformDefinition",
+    "aliases": [ "map", "transform" ],
     "abstract": false,
     "input": true,
     "output": false
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/unmarshal.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/unmarshal.json
index 9fbce2e78a10..1d5029f557e3 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/unmarshal.json
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/unmarshal.json
@@ -7,6 +7,7 @@
     "deprecated": false,
     "label": "eip,dataformat,transformation",
     "javaType": "org.apache.camel.model.UnmarshalDefinition",
+    "aliases": [ "deserialize" ],
     "abstract": false,
     "input": true,
     "output": false
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/validate.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/validate.json
index a45147c224b1..28e8b29fbcb0 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/validate.json
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/validate.json
@@ -7,6 +7,7 @@
     "deprecated": false,
     "label": "eip,transformation",
     "javaType": "org.apache.camel.model.ValidateDefinition",
+    "aliases": [ "validate", "guard" ],
     "abstract": false,
     "input": true,
     "output": false
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/wireTap.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/wireTap.json
index 94d85ee825c2..ffbf852b5537 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/wireTap.json
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/wireTap.json
@@ -7,6 +7,7 @@
     "deprecated": false,
     "label": "eip,endpoint,routing",
     "javaType": "org.apache.camel.model.WireTapDefinition",
+    "aliases": [ "tap", "observe" ],
     "abstract": false,
     "input": true,
     "output": false
diff --git a/catalog/camel-catalog/src/main/java/org/apache/camel/catalog/DefaultCamelCatalog.java b/catalog/camel-catalog/src/main/java/org/apache/camel/catalog/DefaultCamelCatalog.java
index 2cf52d244c6b..7b71938bba9d 100644
--- a/catalog/camel-catalog/src/main/java/org/apache/camel/catalog/DefaultCamelCatalog.java
+++ b/catalog/camel-catalog/src/main/java/org/apache/camel/catalog/DefaultCamelCatalog.java
@@ -316,23 +316,37 @@ public class DefaultCamelCatalog extends AbstractCachingCamelCatalog implements
         for (String name : names) {
             BaseModel<?> model = modelLoader.apply(name);
             if (model != null) {
-                String label = model.getLabel();
-                String[] parts = label.split(",");
-                for (String part : parts) {
-                    try {
-                        if (part.equalsIgnoreCase(filter) || CatalogHelper.matchWildcard(part, filter)
-                                || part.matches(filter)) {
-                            answer.add(name);
-                        }
-                    } catch (PatternSyntaxException e) {
-                        // ignore as filter is maybe not a pattern
-                    }
+                if (matchesFilter(model, filter)) {
+                    answer.add(name);
                 }
             }
         }
         return answer;
     }
 
+    private static boolean matchesFilter(BaseModel<?> model, String filter) {
+        String label = model.getLabel();
+        String[] parts = label.split(",");
+        for (String part : parts) {
+            try {
+                if (part.equalsIgnoreCase(filter) || CatalogHelper.matchWildcard(part, filter)
+                        || part.matches(filter)) {
+                    return true;
+                }
+            } catch (PatternSyntaxException e) {
+                // ignore as filter is maybe not a pattern
+            }
+        }
+        String normalized = filter.toLowerCase().replace("-", "").replace("_", "");
+        for (String alias : model.getAliases()) {
+            if (alias.equalsIgnoreCase(filter)
+                    || alias.toLowerCase().replace("-", "").replace("_", "").equals(normalized)) {
+                return true;
+            }
+        }
+        return false;
+    }
+
     @Override
     public String modelJSonSchema(String name) {
         return cache("eip-" + name, name, super::modelJSonSchema);
diff --git a/catalog/camel-catalog/src/test/java/org/apache/camel/catalog/CamelCatalogTest.java b/catalog/camel-catalog/src/test/java/org/apache/camel/catalog/CamelCatalogTest.java
index aaa7f87216ae..90f613eafd3b 100644
--- a/catalog/camel-catalog/src/test/java/org/apache/camel/catalog/CamelCatalogTest.java
+++ b/catalog/camel-catalog/src/test/java/org/apache/camel/catalog/CamelCatalogTest.java
@@ -31,6 +31,7 @@ import com.fasterxml.jackson.databind.ObjectMapper;
 import org.apache.camel.tooling.model.ArtifactModel;
 import org.apache.camel.tooling.model.ComponentModel;
 import org.apache.camel.tooling.model.DataFormatModel;
+import org.apache.camel.tooling.model.EipModel;
 import org.apache.camel.tooling.model.JsonMapper;
 import org.apache.camel.tooling.model.Kind;
 import org.apache.camel.tooling.model.LanguageModel;
@@ -179,6 +180,73 @@ public class CamelCatalogTest {
         assertTrue(names.contains("saga"));
     }
 
+    @Test
+    public void testEipModelAliases() {
+        // verify aliases are present in the EIP model
+        EipModel multicast = catalog.eipModel("multicast");
+        assertNotNull(multicast);
+        assertNotNull(multicast.getAliases());
+        assertTrue(multicast.getAliases().contains("fan-out"));
+        assertTrue(multicast.getAliases().contains("broadcast"));
+
+        EipModel aggregate = catalog.eipModel("aggregate");
+        assertNotNull(aggregate);
+        assertTrue(aggregate.getAliases().contains("fan-in"));
+        assertTrue(aggregate.getAliases().contains("reduce"));
+
+        EipModel choice = catalog.eipModel("choice");
+        assertNotNull(choice);
+        assertTrue(choice.getAliases().contains("router"));
+        assertTrue(choice.getAliases().contains("dispatch"));
+    }
+
+    @Test
+    public void testFindModelNamesByAlias() {
+        // searching by alias should find the EIP
+        List<String> names = catalog.findModelNames("fan-out");
+        assertTrue(names.contains("multicast"), "fan-out should find multicast");
+
+        names = catalog.findModelNames("fan-in");
+        assertTrue(names.contains("aggregate"), "fan-in should find aggregate");
+
+        names = catalog.findModelNames("circuit-breaker");
+        assertTrue(names.contains("circuitBreaker"), "circuit-breaker should find circuitBreaker");
+
+        names = catalog.findModelNames("dedup");
+        assertTrue(names.contains("idempotentConsumer"), "dedup should find idempotentConsumer");
+
+        names = catalog.findModelNames("sink");
+        assertTrue(names.contains("to"), "sink should find to");
+        assertTrue(names.contains("toD"), "sink should find toD");
+    }
+
+    @Test
+    public void testFindModelNamesByAliasDashNormalized() {
+        // fan-out, fanout, fanOut should all match
+        List<String> names1 = catalog.findModelNames("fan-out");
+        List<String> names2 = catalog.findModelNames("fanout");
+        List<String> names3 = catalog.findModelNames("fanOut");
+        assertTrue(names1.contains("multicast"));
+        assertTrue(names2.contains("multicast"));
+        assertTrue(names3.contains("multicast"));
+
+        // circuit-breaker, circuitbreaker, circuitBreaker
+        names1 = catalog.findModelNames("circuit-breaker");
+        names2 = catalog.findModelNames("circuitbreaker");
+        names3 = catalog.findModelNames("circuitBreaker");
+        assertTrue(names1.contains("circuitBreaker"));
+        assertTrue(names2.contains("circuitBreaker"));
+        assertTrue(names3.contains("circuitBreaker"));
+
+        // rate-limit, ratelimit, rateLimit
+        names1 = catalog.findModelNames("rate-limit");
+        names2 = catalog.findModelNames("ratelimit");
+        names3 = catalog.findModelNames("rateLimit");
+        assertTrue(names1.contains("throttle"));
+        assertTrue(names2.contains("throttle"));
+        assertTrue(names3.contains("throttle"));
+    }
+
     @Test
     public void testJsonSchema() {
         String schema = catalog.componentJSonSchema("docker");
diff --git a/core/camel-api/src/generated/java/org/apache/camel/spi/Metadata.java b/core/camel-api/src/generated/java/org/apache/camel/spi/Metadata.java
index e72b753753c6..533f8ef8166e 100644
--- a/core/camel-api/src/generated/java/org/apache/camel/spi/Metadata.java
+++ b/core/camel-api/src/generated/java/org/apache/camel/spi/Metadata.java
@@ -216,4 +216,12 @@ public @interface Metadata {
      */
     String[] examples() default {};
 
+    /**
+     * Alternative names or common aliases for this entity.
+     *
+     * Used for AI and search tooling to discover EIPs by common terminology (e.g., "fan-out" for Multicast, "retry" for
+     * Error Handler). Aliases are descriptive names only — they cannot be used in the DSL.
+     */
+    String[] aliases() default {};
+
 }
diff --git a/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/aggregate.json b/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/aggregate.json
index ca1edf4b3883..d02a0a3da29a 100644
--- a/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/aggregate.json
+++ b/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/aggregate.json
@@ -7,6 +7,7 @@
     "deprecated": false,
     "label": "aggregate,eip,routing",
     "javaType": "org.apache.camel.model.AggregateDefinition",
+    "aliases": [ "fan-in", "reduce", "join", "merge" ],
     "abstract": false,
     "input": true,
     "output": true
diff --git a/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/choice.json b/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/choice.json
index 421987859b0c..57780369b7e9 100644
--- a/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/choice.json
+++ b/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/choice.json
@@ -7,6 +7,7 @@
     "deprecated": false,
     "label": "eip,routing",
     "javaType": "org.apache.camel.model.ChoiceDefinition",
+    "aliases": [ "router", "dispatch" ],
     "abstract": false,
     "input": true,
     "output": false
diff --git a/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/circuitBreaker.json b/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/circuitBreaker.json
index 80c810997a73..edb8fed66463 100644
--- a/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/circuitBreaker.json
+++ b/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/circuitBreaker.json
@@ -7,6 +7,7 @@
     "deprecated": false,
     "label": "eip,error,resilience,routing",
     "javaType": "org.apache.camel.model.CircuitBreakerDefinition",
+    "aliases": [ "circuit-breaker" ],
     "abstract": false,
     "input": true,
     "output": true
diff --git a/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/claimCheck.json b/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/claimCheck.json
index 7bedef91dd00..fc1f602c0dc1 100644
--- a/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/claimCheck.json
+++ b/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/claimCheck.json
@@ -7,6 +7,7 @@
     "deprecated": false,
     "label": "eip,enrichment,routing",
     "javaType": "org.apache.camel.model.ClaimCheckDefinition",
+    "aliases": [ "claim-check", "stash" ],
     "abstract": false,
     "input": true,
     "output": false
diff --git a/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/delay.json b/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/delay.json
index ee9a2329589c..10513e27e66b 100644
--- a/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/delay.json
+++ b/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/delay.json
@@ -7,6 +7,7 @@
     "deprecated": false,
     "label": "eip,flowcontrol,routing",
     "javaType": "org.apache.camel.model.DelayDefinition",
+    "aliases": [ "debounce", "delay" ],
     "abstract": false,
     "input": true,
     "output": false
diff --git a/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/dynamicRouter.json b/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/dynamicRouter.json
index bc40e8434400..80534cd3a5e4 100644
--- a/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/dynamicRouter.json
+++ b/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/dynamicRouter.json
@@ -7,6 +7,7 @@
     "deprecated": false,
     "label": "eip,routing",
     "javaType": "org.apache.camel.model.DynamicRouterDefinition",
+    "aliases": [ "dispatch" ],
     "abstract": false,
     "input": true,
     "output": false
diff --git a/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/enrich.json b/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/enrich.json
index 815ecc8aa770..cf0dc6b0fd0c 100644
--- a/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/enrich.json
+++ b/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/enrich.json
@@ -7,6 +7,7 @@
     "deprecated": false,
     "label": "eip,enrichment,transformation",
     "javaType": "org.apache.camel.model.EnrichDefinition",
+    "aliases": [ "enrich", "hydrate", "augment" ],
     "abstract": false,
     "input": true,
     "output": false
diff --git a/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/filter.json b/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/filter.json
index 93e995828ea1..652170bef038 100644
--- a/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/filter.json
+++ b/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/filter.json
@@ -7,6 +7,7 @@
     "deprecated": false,
     "label": "eip,routing",
     "javaType": "org.apache.camel.model.FilterDefinition",
+    "aliases": [ "filter" ],
     "abstract": false,
     "input": true,
     "output": true
diff --git a/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/from.json b/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/from.json
index 55af93c2f1dc..8e1b21ae2509 100644
--- a/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/from.json
+++ b/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/from.json
@@ -7,6 +7,7 @@
     "deprecated": false,
     "label": "eip,endpoint,routing",
     "javaType": "org.apache.camel.model.FromDefinition",
+    "aliases": [ "source", "ingress" ],
     "abstract": false,
     "input": false,
     "output": false
diff --git a/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/idempotentConsumer.json b/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/idempotentConsumer.json
index f0f75739faae..d3d0c2ebd160 100644
--- a/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/idempotentConsumer.json
+++ b/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/idempotentConsumer.json
@@ -7,6 +7,7 @@
     "deprecated": false,
     "label": "eip,flowcontrol,routing",
     "javaType": "org.apache.camel.model.IdempotentConsumerDefinition",
+    "aliases": [ "dedup", "deduplicate" ],
     "abstract": false,
     "input": true,
     "output": true
diff --git a/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/loadBalance.json b/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/loadBalance.json
index 72858118ea7c..9ce83a074f7d 100644
--- a/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/loadBalance.json
+++ b/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/loadBalance.json
@@ -7,6 +7,7 @@
     "deprecated": false,
     "label": "eip,loadbalancing,routing",
     "javaType": "org.apache.camel.model.LoadBalanceDefinition",
+    "aliases": [ "load-balance" ],
     "abstract": false,
     "input": true,
     "output": true
diff --git a/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/loop.json b/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/loop.json
index 5b234e1a964a..52bec8971ec4 100644
--- a/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/loop.json
+++ b/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/loop.json
@@ -7,6 +7,7 @@
     "deprecated": false,
     "label": "eip,flowcontrol,routing",
     "javaType": "org.apache.camel.model.LoopDefinition",
+    "aliases": [ "loop", "iterate" ],
     "abstract": false,
     "input": true,
     "output": true
diff --git a/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/marshal.json b/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/marshal.json
index dcb5f08e2bb3..e2165f8effcd 100644
--- a/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/marshal.json
+++ b/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/marshal.json
@@ -7,6 +7,7 @@
     "deprecated": false,
     "label": "eip,dataformat,transformation",
     "javaType": "org.apache.camel.model.MarshalDefinition",
+    "aliases": [ "serialize" ],
     "abstract": false,
     "input": true,
     "output": false
diff --git a/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/multicast.json b/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/multicast.json
index cfc8a0da82d5..156fe575386c 100644
--- a/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/multicast.json
+++ b/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/multicast.json
@@ -7,6 +7,7 @@
     "deprecated": false,
     "label": "eip,routing",
     "javaType": "org.apache.camel.model.MulticastDefinition",
+    "aliases": [ "fan-out", "broadcast" ],
     "abstract": false,
     "input": true,
     "output": true
diff --git a/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/onFallback.json b/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/onFallback.json
index 2e75408aa523..fcc732c0c363 100644
--- a/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/onFallback.json
+++ b/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/onFallback.json
@@ -7,6 +7,7 @@
     "deprecated": false,
     "label": "eip,error,resilience,routing",
     "javaType": "org.apache.camel.model.OnFallbackDefinition",
+    "aliases": [ "fallback" ],
     "abstract": false,
     "input": true,
     "output": true
diff --git a/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/pipeline.json b/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/pipeline.json
index 5408ec3061c3..a27afe29fb38 100644
--- a/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/pipeline.json
+++ b/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/pipeline.json
@@ -7,6 +7,7 @@
     "deprecated": false,
     "label": "eip,routing",
     "javaType": "org.apache.camel.model.PipelineDefinition",
+    "aliases": [ "pipeline", "chain" ],
     "abstract": false,
     "input": true,
     "output": true
diff --git a/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/poll.json b/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/poll.json
index a794830ed61f..449c71f9bd5a 100644
--- a/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/poll.json
+++ b/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/poll.json
@@ -7,6 +7,7 @@
     "deprecated": false,
     "label": "eip,enrichment,routing",
     "javaType": "org.apache.camel.model.PollDefinition",
+    "aliases": [ "poll", "pull" ],
     "abstract": false,
     "input": true,
     "output": false
diff --git a/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/pollEnrich.json b/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/pollEnrich.json
index 141b3f34f31c..ecf566b2d850 100644
--- a/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/pollEnrich.json
+++ b/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/pollEnrich.json
@@ -7,6 +7,7 @@
     "deprecated": false,
     "label": "eip,enrichment,transformation",
     "javaType": "org.apache.camel.model.PollEnrichDefinition",
+    "aliases": [ "enrich", "hydrate" ],
     "abstract": false,
     "input": true,
     "output": false
diff --git a/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/rollback.json b/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/rollback.json
index 3322845fc6a0..063d407b461b 100644
--- a/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/rollback.json
+++ b/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/rollback.json
@@ -7,6 +7,7 @@
     "deprecated": false,
     "label": "eip,errorhandling,routing",
     "javaType": "org.apache.camel.model.RollbackDefinition",
+    "aliases": [ "rollback" ],
     "abstract": false,
     "input": true,
     "output": false
diff --git a/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/saga.json b/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/saga.json
index abb3ae2e1034..288669719ccb 100644
--- a/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/saga.json
+++ b/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/saga.json
@@ -7,6 +7,7 @@
     "deprecated": false,
     "label": "eip,routing",
     "javaType": "org.apache.camel.model.SagaDefinition",
+    "aliases": [ "compensate" ],
     "abstract": true,
     "input": true,
     "output": true
diff --git a/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/sample.json b/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/sample.json
index 3b41d67232bd..5d6e39aacf68 100644
--- a/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/sample.json
+++ b/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/sample.json
@@ -7,6 +7,7 @@
     "deprecated": false,
     "label": "eip,flowcontrol,routing",
     "javaType": "org.apache.camel.model.SamplingDefinition",
+    "aliases": [ "sample" ],
     "abstract": false,
     "input": true,
     "output": false
diff --git a/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/setBody.json b/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/setBody.json
index 9895f22dc9cd..0fbb2ce2beae 100644
--- a/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/setBody.json
+++ b/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/setBody.json
@@ -7,6 +7,7 @@
     "deprecated": false,
     "label": "eip,messaging,transformation",
     "javaType": "org.apache.camel.model.SetBodyDefinition",
+    "aliases": [ "map", "transform" ],
     "abstract": false,
     "input": true,
     "output": false
diff --git a/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/split.json b/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/split.json
index daaa27472241..889d6bc7dfec 100644
--- a/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/split.json
+++ b/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/split.json
@@ -7,6 +7,7 @@
     "deprecated": false,
     "label": "aggregate,eip,routing",
     "javaType": "org.apache.camel.model.SplitDefinition",
+    "aliases": [ "split", "chunk" ],
     "abstract": false,
     "input": true,
     "output": true
diff --git a/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/throttle.json b/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/throttle.json
index 7c2990740722..3507e1ef340f 100644
--- a/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/throttle.json
+++ b/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/throttle.json
@@ -7,6 +7,7 @@
     "deprecated": false,
     "label": "eip,flowcontrol,routing",
     "javaType": "org.apache.camel.model.ThrottleDefinition",
+    "aliases": [ "rate-limit", "throttle" ],
     "abstract": false,
     "input": true,
     "output": false
diff --git a/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/to.json b/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/to.json
index f54ea9777222..18cce7a57dd8 100644
--- a/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/to.json
+++ b/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/to.json
@@ -7,6 +7,7 @@
     "deprecated": false,
     "label": "eip,endpoint,routing",
     "javaType": "org.apache.camel.model.ToDefinition",
+    "aliases": [ "sink", "egress" ],
     "abstract": false,
     "input": true,
     "output": false
diff --git a/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/toD.json b/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/toD.json
index e490115cb517..dc02feb1013d 100644
--- a/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/toD.json
+++ b/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/toD.json
@@ -7,6 +7,7 @@
     "deprecated": false,
     "label": "eip,endpoint,routing",
     "javaType": "org.apache.camel.model.ToDynamicDefinition",
+    "aliases": [ "sink", "egress" ],
     "abstract": false,
     "input": true,
     "output": false
diff --git a/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/transform.json b/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/transform.json
index a2041f383222..0e548770ef50 100644
--- a/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/transform.json
+++ b/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/transform.json
@@ -7,6 +7,7 @@
     "deprecated": false,
     "label": "eip,transformation",
     "javaType": "org.apache.camel.model.TransformDefinition",
+    "aliases": [ "map", "transform" ],
     "abstract": false,
     "input": true,
     "output": false
diff --git a/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/unmarshal.json b/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/unmarshal.json
index 9fbce2e78a10..1d5029f557e3 100644
--- a/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/unmarshal.json
+++ b/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/unmarshal.json
@@ -7,6 +7,7 @@
     "deprecated": false,
     "label": "eip,dataformat,transformation",
     "javaType": "org.apache.camel.model.UnmarshalDefinition",
+    "aliases": [ "deserialize" ],
     "abstract": false,
     "input": true,
     "output": false
diff --git a/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/validate.json b/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/validate.json
index a45147c224b1..28e8b29fbcb0 100644
--- a/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/validate.json
+++ b/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/validate.json
@@ -7,6 +7,7 @@
     "deprecated": false,
     "label": "eip,transformation",
     "javaType": "org.apache.camel.model.ValidateDefinition",
+    "aliases": [ "validate", "guard" ],
     "abstract": false,
     "input": true,
     "output": false
diff --git a/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/wireTap.json b/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/wireTap.json
index 94d85ee825c2..ffbf852b5537 100644
--- a/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/wireTap.json
+++ b/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/wireTap.json
@@ -7,6 +7,7 @@
     "deprecated": false,
     "label": "eip,endpoint,routing",
     "javaType": "org.apache.camel.model.WireTapDefinition",
+    "aliases": [ "tap", "observe" ],
     "abstract": false,
     "input": true,
     "output": false
diff --git a/core/camel-core-model/src/main/java/org/apache/camel/model/AggregateDefinition.java b/core/camel-core-model/src/main/java/org/apache/camel/model/AggregateDefinition.java
index b2fa518c107f..4a63458a58f2 100644
--- a/core/camel-core-model/src/main/java/org/apache/camel/model/AggregateDefinition.java
+++ b/core/camel-core-model/src/main/java/org/apache/camel/model/AggregateDefinition.java
@@ -47,6 +47,7 @@ import org.apache.camel.spi.annotations.DslArg;
  * Aggregates many messages into a single message
  */
 @Metadata(label = "aggregate,eip,routing",
+          aliases = { "fan-in", "reduce", "join", "merge" },
           description = "Collects and combines related messages into a single message using a correlation expression and an aggregation strategy."
                         + " Messages are grouped into buckets by correlation key and released when a completion condition is met.")
 @XmlRootElement(name = "aggregate")
diff --git a/core/camel-core-model/src/main/java/org/apache/camel/model/ChoiceDefinition.java b/core/camel-core-model/src/main/java/org/apache/camel/model/ChoiceDefinition.java
index fb714ded7abb..9a51e747234b 100644
--- a/core/camel-core-model/src/main/java/org/apache/camel/model/ChoiceDefinition.java
+++ b/core/camel-core-model/src/main/java/org/apache/camel/model/ChoiceDefinition.java
@@ -41,6 +41,7 @@ import org.apache.camel.spi.Resource;
  * Route messages based on a series of predicates
  */
 @Metadata(label = "eip,routing",
+          aliases = { "router", "dispatch" },
           description = "Routes messages to different steps based on a series of conditions (predicates),"
                         + " similar to if-elseif-else in Java. Each condition is evaluated in order until one matches.")
 @XmlRootElement(name = "choice")
diff --git a/core/camel-core-model/src/main/java/org/apache/camel/model/CircuitBreakerDefinition.java b/core/camel-core-model/src/main/java/org/apache/camel/model/CircuitBreakerDefinition.java
index 671331167f1e..5dd24e68c7e4 100644
--- a/core/camel-core-model/src/main/java/org/apache/camel/model/CircuitBreakerDefinition.java
+++ b/core/camel-core-model/src/main/java/org/apache/camel/model/CircuitBreakerDefinition.java
@@ -32,6 +32,7 @@ import org.apache.camel.spi.Metadata;
  * Route messages in a fault tolerance way using Circuit Breaker
  */
 @Metadata(label = "eip,error,resilience,routing",
+          aliases = { "circuit-breaker" },
           description = "Wraps message processing with a circuit breaker for fault tolerance."
                         + " Prevents cascading failures by short-circuiting calls to an unhealthy service and routing to a fallback")
 @XmlRootElement(name = "circuitBreaker")
diff --git a/core/camel-core-model/src/main/java/org/apache/camel/model/ClaimCheckDefinition.java b/core/camel-core-model/src/main/java/org/apache/camel/model/ClaimCheckDefinition.java
index aae9b64b9064..5d35f5d5102b 100644
--- a/core/camel-core-model/src/main/java/org/apache/camel/model/ClaimCheckDefinition.java
+++ b/core/camel-core-model/src/main/java/org/apache/camel/model/ClaimCheckDefinition.java
@@ -31,6 +31,7 @@ import org.apache.camel.spi.annotations.DslArg;
  * retrieve the message content at a later time.
  */
 @Metadata(label = "eip,enrichment,routing",
+          aliases = { "claim-check", "stash" },
           description = "Temporarily stores the message content and replaces it with a claim check key,"
                         + " allowing the content to be retrieved later in the route."
                         + " Useful for reducing memory when large payloads pass through processing steps that don't need them.")
diff --git a/core/camel-core-model/src/main/java/org/apache/camel/model/DelayDefinition.java b/core/camel-core-model/src/main/java/org/apache/camel/model/DelayDefinition.java
index 1d777cf52ef5..4041a26d6576 100644
--- a/core/camel-core-model/src/main/java/org/apache/camel/model/DelayDefinition.java
+++ b/core/camel-core-model/src/main/java/org/apache/camel/model/DelayDefinition.java
@@ -33,6 +33,7 @@ import org.apache.camel.spi.Metadata;
  * Delays processing for a specified length of time
  */
 @Metadata(label = "eip,flowcontrol,routing",
+          aliases = { "debounce", "delay" },
           description = "Delays message processing for a specified duration, which can be a fixed value or computed dynamically per message")
 @XmlRootElement(name = "delay")
 @XmlAccessorType(XmlAccessType.FIELD)
diff --git a/core/camel-core-model/src/main/java/org/apache/camel/model/DynamicRouterDefinition.java b/core/camel-core-model/src/main/java/org/apache/camel/model/DynamicRouterDefinition.java
index 3d36bb52ac30..0b93278e110e 100644
--- a/core/camel-core-model/src/main/java/org/apache/camel/model/DynamicRouterDefinition.java
+++ b/core/camel-core-model/src/main/java/org/apache/camel/model/DynamicRouterDefinition.java
@@ -32,6 +32,7 @@ import org.apache.camel.spi.Metadata;
  * Route messages based on dynamic rules
  */
 @Metadata(label = "eip,routing",
+          aliases = { "dispatch" },
           description = "Routes a message step-by-step through a series of endpoints, determined dynamically by calling an expression repeatedly."
                         + " The expression is called after each hop and returns the next endpoint, or null to stop.")
 @XmlRootElement(name = "dynamicRouter")
diff --git a/core/camel-core-model/src/main/java/org/apache/camel/model/EnrichDefinition.java b/core/camel-core-model/src/main/java/org/apache/camel/model/EnrichDefinition.java
index 6cb11f27f17c..efc6ad262ea7 100644
--- a/core/camel-core-model/src/main/java/org/apache/camel/model/EnrichDefinition.java
+++ b/core/camel-core-model/src/main/java/org/apache/camel/model/EnrichDefinition.java
@@ -33,6 +33,7 @@ import org.apache.camel.spi.annotations.DslArg;
  * @see org.apache.camel.processor.Enricher
  */
 @Metadata(label = "eip,enrichment,transformation",
+          aliases = { "enrich", "hydrate", "augment" },
           description = "Enriches the message with additional data obtained by sending to another endpoint using request-reply."
                         + " The reply is merged into the original message using an aggregation strategy.")
 @XmlRootElement(name = "enrich")
diff --git a/core/camel-core-model/src/main/java/org/apache/camel/model/FilterDefinition.java b/core/camel-core-model/src/main/java/org/apache/camel/model/FilterDefinition.java
index a8348cec3d00..dc43a0bd2ce2 100644
--- a/core/camel-core-model/src/main/java/org/apache/camel/model/FilterDefinition.java
+++ b/core/camel-core-model/src/main/java/org/apache/camel/model/FilterDefinition.java
@@ -30,6 +30,7 @@ import org.apache.camel.spi.Metadata;
  * Filter out messages based using a predicate
  */
 @Metadata(label = "eip,routing",
+          aliases = { "filter" },
           description = "Filters messages using a predicate expression."
                         + " Messages matching the predicate continue processing; non-matching messages are skipped.")
 @AsPredicate
diff --git a/core/camel-core-model/src/main/java/org/apache/camel/model/FromDefinition.java b/core/camel-core-model/src/main/java/org/apache/camel/model/FromDefinition.java
index 8efa010f1d21..6459cf1f90d7 100644
--- a/core/camel-core-model/src/main/java/org/apache/camel/model/FromDefinition.java
+++ b/core/camel-core-model/src/main/java/org/apache/camel/model/FromDefinition.java
@@ -31,6 +31,7 @@ import org.apache.camel.spi.Metadata;
  * Act as a message source as input to a route
  */
 @Metadata(label = "eip,endpoint,routing",
+          aliases = { "source", "ingress" },
           description = "Defines the consumer endpoint that acts as the input source for a route")
 @XmlRootElement(name = "from")
 @XmlAccessorType(XmlAccessType.FIELD)
diff --git a/core/camel-core-model/src/main/java/org/apache/camel/model/IdempotentConsumerDefinition.java b/core/camel-core-model/src/main/java/org/apache/camel/model/IdempotentConsumerDefinition.java
index 09be9b461921..67c444806122 100644
--- a/core/camel-core-model/src/main/java/org/apache/camel/model/IdempotentConsumerDefinition.java
+++ b/core/camel-core-model/src/main/java/org/apache/camel/model/IdempotentConsumerDefinition.java
@@ -31,6 +31,7 @@ import org.apache.camel.spi.Metadata;
  * Filters out duplicate messages
  */
 @Metadata(label = "eip,flowcontrol,routing",
+          aliases = { "dedup", "deduplicate" },
           description = "Filters out duplicate messages based on a unique message identifier"
                         + " and an idempotent repository that tracks previously seen IDs")
 @XmlRootElement(name = "idempotentConsumer")
diff --git a/core/camel-core-model/src/main/java/org/apache/camel/model/LoadBalanceDefinition.java b/core/camel-core-model/src/main/java/org/apache/camel/model/LoadBalanceDefinition.java
index e6747c00f567..50cba0714f2b 100644
--- a/core/camel-core-model/src/main/java/org/apache/camel/model/LoadBalanceDefinition.java
+++ b/core/camel-core-model/src/main/java/org/apache/camel/model/LoadBalanceDefinition.java
@@ -42,6 +42,7 @@ import org.apache.camel.spi.Metadata;
  * Balances message processing among a number of nodes
  */
 @Metadata(label = "eip,loadbalancing,routing",
+          aliases = { "load-balance" },
           description = "Distributes messages across multiple endpoints using a load balancing strategy"
                         + " such as round-robin, random, failover, or weighted")
 @XmlRootElement(name = "loadBalance")
diff --git a/core/camel-core-model/src/main/java/org/apache/camel/model/LoopDefinition.java b/core/camel-core-model/src/main/java/org/apache/camel/model/LoopDefinition.java
index 60422e29965d..59831eb6d41f 100644
--- a/core/camel-core-model/src/main/java/org/apache/camel/model/LoopDefinition.java
+++ b/core/camel-core-model/src/main/java/org/apache/camel/model/LoopDefinition.java
@@ -32,6 +32,7 @@ import org.apache.camel.spi.Metadata;
  * Processes a message multiple times
  */
 @Metadata(label = "eip,flowcontrol,routing",
+          aliases = { "loop", "iterate" },
           description = "Processes the message body repeatedly for a specified number of iterations, or until a condition is met")
 @XmlRootElement(name = "loop")
 @XmlAccessorType(XmlAccessType.FIELD)
diff --git a/core/camel-core-model/src/main/java/org/apache/camel/model/MarshalDefinition.java b/core/camel-core-model/src/main/java/org/apache/camel/model/MarshalDefinition.java
index b897adc138fc..564cdef59f92 100644
--- a/core/camel-core-model/src/main/java/org/apache/camel/model/MarshalDefinition.java
+++ b/core/camel-core-model/src/main/java/org/apache/camel/model/MarshalDefinition.java
@@ -77,6 +77,7 @@ import org.apache.camel.spi.Metadata;
  * Marshals data into a specified format for transmission over a transport or component
  */
 @Metadata(label = "eip,dataformat,transformation",
+          aliases = { "serialize" },
           description = "Serializes the message body into a specific data format such as JSON, XML, CSV, or Protobuf for transmission or storage")
 @XmlRootElement(name = "marshal")
 @XmlAccessorType(XmlAccessType.FIELD)
diff --git a/core/camel-core-model/src/main/java/org/apache/camel/model/MulticastDefinition.java b/core/camel-core-model/src/main/java/org/apache/camel/model/MulticastDefinition.java
index 72ba0223c924..01f57bdf8df7 100644
--- a/core/camel-core-model/src/main/java/org/apache/camel/model/MulticastDefinition.java
+++ b/core/camel-core-model/src/main/java/org/apache/camel/model/MulticastDefinition.java
@@ -36,6 +36,7 @@ import org.apache.camel.spi.Metadata;
  * Routes the same message to multiple paths either sequentially or in parallel.
  */
 @Metadata(label = "eip,routing",
+          aliases = { "fan-out", "broadcast" },
           description = "Sends a copy of the message to multiple fixed endpoints, processing them sequentially or in parallel,"
                         + " and optionally aggregating their replies")
 @XmlRootElement(name = "multicast")
diff --git a/core/camel-core-model/src/main/java/org/apache/camel/model/OnFallbackDefinition.java b/core/camel-core-model/src/main/java/org/apache/camel/model/OnFallbackDefinition.java
index 92986e6a664f..3e737b87bfa6 100644
--- a/core/camel-core-model/src/main/java/org/apache/camel/model/OnFallbackDefinition.java
+++ b/core/camel-core-model/src/main/java/org/apache/camel/model/OnFallbackDefinition.java
@@ -35,6 +35,7 @@ import org.apache.camel.spi.Resource;
  * Route to be executed when Circuit Breaker EIP executes fallback
  */
 @Metadata(label = "eip,error,resilience,routing",
+          aliases = { "fallback" },
           description = "Defines the fallback route that executes when the Circuit Breaker trips or the primary route fails")
 @XmlRootElement(name = "onFallback")
 @XmlAccessorType(XmlAccessType.FIELD)
diff --git a/core/camel-core-model/src/main/java/org/apache/camel/model/PipelineDefinition.java b/core/camel-core-model/src/main/java/org/apache/camel/model/PipelineDefinition.java
index 70d242fd05f8..1b18605f9a5c 100644
--- a/core/camel-core-model/src/main/java/org/apache/camel/model/PipelineDefinition.java
+++ b/core/camel-core-model/src/main/java/org/apache/camel/model/PipelineDefinition.java
@@ -29,6 +29,7 @@ import org.apache.camel.spi.Metadata;
  * Routes the message to a sequence of processors.
  */
 @Metadata(label = "eip,routing",
+          aliases = { "pipeline", "chain" },
           description = "Processes the message through a sequence of steps where the output of each step becomes the input of the next")
 @XmlRootElement(name = "pipeline")
 @XmlAccessorType(XmlAccessType.FIELD)
diff --git a/core/camel-core-model/src/main/java/org/apache/camel/model/PollDefinition.java b/core/camel-core-model/src/main/java/org/apache/camel/model/PollDefinition.java
index b895631ff295..64a02872d1ae 100644
--- a/core/camel-core-model/src/main/java/org/apache/camel/model/PollDefinition.java
+++ b/core/camel-core-model/src/main/java/org/apache/camel/model/PollDefinition.java
@@ -32,6 +32,7 @@ import org.apache.camel.util.URISupport;
  * Polls a message from a static endpoint
  */
 @Metadata(label = "eip,enrichment,routing",
+          aliases = { "poll", "pull" },
           description = "Polls a single message from a consumer endpoint and sets it as the message body."
                         + " Useful for fetching data on-demand from file, database, or messaging endpoints.")
 @XmlRootElement(name = "poll")
diff --git a/core/camel-core-model/src/main/java/org/apache/camel/model/PollEnrichDefinition.java b/core/camel-core-model/src/main/java/org/apache/camel/model/PollEnrichDefinition.java
index b6d6708f1355..3f4982a77996 100644
--- a/core/camel-core-model/src/main/java/org/apache/camel/model/PollEnrichDefinition.java
+++ b/core/camel-core-model/src/main/java/org/apache/camel/model/PollEnrichDefinition.java
@@ -33,6 +33,7 @@ import org.apache.camel.spi.annotations.DslArg;
  * @see org.apache.camel.processor.Enricher
  */
 @Metadata(label = "eip,enrichment,transformation",
+          aliases = { "enrich", "hydrate" },
           description = "Enriches the message with additional data obtained by polling a consumer endpoint (such as a file or message queue)."
                         + " The polled data is merged using an aggregation strategy.")
 @XmlRootElement(name = "pollEnrich")
diff --git a/core/camel-core-model/src/main/java/org/apache/camel/model/RollbackDefinition.java b/core/camel-core-model/src/main/java/org/apache/camel/model/RollbackDefinition.java
index 46b8fd2e67b0..6937b6fee65b 100644
--- a/core/camel-core-model/src/main/java/org/apache/camel/model/RollbackDefinition.java
+++ b/core/camel-core-model/src/main/java/org/apache/camel/model/RollbackDefinition.java
@@ -28,6 +28,7 @@ import org.apache.camel.spi.annotations.DslArg;
  * Forces a rollback by stopping routing the message
  */
 @Metadata(label = "eip,errorhandling,routing",
+          aliases = { "rollback" },
           description = "Forces a rollback of the current transaction and stops routing the message."
                         + " Can set a custom message on the exception.")
 @XmlRootElement(name = "rollback")
diff --git a/core/camel-core-model/src/main/java/org/apache/camel/model/SagaDefinition.java b/core/camel-core-model/src/main/java/org/apache/camel/model/SagaDefinition.java
index c30330c056bb..9c9b9a8221ee 100644
--- a/core/camel-core-model/src/main/java/org/apache/camel/model/SagaDefinition.java
+++ b/core/camel-core-model/src/main/java/org/apache/camel/model/SagaDefinition.java
@@ -41,6 +41,7 @@ import org.apache.camel.util.TimeUtils;
  * Enables Sagas on the route
  */
 @Metadata(label = "eip,routing",
+          aliases = { "compensate" },
           description = "Defines a Saga (long-running action) that coordinates distributed services toward a consistent outcome."
                         + " Unlike XA transactions, Sagas use compensating actions for rollback and work across heterogeneous services.")
 @XmlRootElement(name = "saga")
diff --git a/core/camel-core-model/src/main/java/org/apache/camel/model/SamplingDefinition.java b/core/camel-core-model/src/main/java/org/apache/camel/model/SamplingDefinition.java
index 2e3c85c9fc99..aecad7fcf246 100644
--- a/core/camel-core-model/src/main/java/org/apache/camel/model/SamplingDefinition.java
+++ b/core/camel-core-model/src/main/java/org/apache/camel/model/SamplingDefinition.java
@@ -31,6 +31,7 @@ import org.apache.camel.util.TimeUtils;
  * Extract a sample of the messages passing through a route
  */
 @Metadata(label = "eip,flowcontrol,routing",
+          aliases = { "sample" },
           description = "Samples a subset of messages passing through the route, either by frequency count or time interval, and discards the rest")
 @XmlRootElement(name = "sample")
 @XmlAccessorType(XmlAccessType.FIELD)
diff --git a/core/camel-core-model/src/main/java/org/apache/camel/model/SetBodyDefinition.java b/core/camel-core-model/src/main/java/org/apache/camel/model/SetBodyDefinition.java
index 8d70e517e9ab..d3f3922eb1b7 100644
--- a/core/camel-core-model/src/main/java/org/apache/camel/model/SetBodyDefinition.java
+++ b/core/camel-core-model/src/main/java/org/apache/camel/model/SetBodyDefinition.java
@@ -28,6 +28,7 @@ import org.apache.camel.spi.Metadata;
  * Sets the contents of the message body
  */
 @Metadata(label = "eip,messaging,transformation",
+          aliases = { "map", "transform" },
           description = "Sets the message body to a value computed by an expression")
 @XmlRootElement(name = "setBody")
 @XmlAccessorType(XmlAccessType.FIELD)
diff --git a/core/camel-core-model/src/main/java/org/apache/camel/model/SplitDefinition.java b/core/camel-core-model/src/main/java/org/apache/camel/model/SplitDefinition.java
index df1865462c2d..4ff1356fd908 100644
--- a/core/camel-core-model/src/main/java/org/apache/camel/model/SplitDefinition.java
+++ b/core/camel-core-model/src/main/java/org/apache/camel/model/SplitDefinition.java
@@ -34,6 +34,7 @@ import org.apache.camel.spi.Metadata;
  * Splits a single message into many sub-messages.
  */
 @Metadata(label = "aggregate,eip,routing",
+          aliases = { "split", "chunk" },
           description = "Splits a message into multiple sub-messages using an expression, and processes each one individually."
                         + " Supports parallel processing and result aggregation.")
 @XmlRootElement(name = "split")
diff --git a/core/camel-core-model/src/main/java/org/apache/camel/model/ThrottleDefinition.java b/core/camel-core-model/src/main/java/org/apache/camel/model/ThrottleDefinition.java
index 66beeb16a26a..3fa3f57ec863 100644
--- a/core/camel-core-model/src/main/java/org/apache/camel/model/ThrottleDefinition.java
+++ b/core/camel-core-model/src/main/java/org/apache/camel/model/ThrottleDefinition.java
@@ -35,6 +35,7 @@ import org.apache.camel.spi.Metadata;
  * Controls the rate at which messages are passed to the next node in the route
  */
 @Metadata(label = "eip,flowcontrol,routing",
+          aliases = { "rate-limit", "throttle" },
           description = "Limits the message throughput to a maximum number of messages per time period to avoid overloading downstream systems")
 @XmlRootElement(name = "throttle")
 @XmlAccessorType(XmlAccessType.FIELD)
diff --git a/core/camel-core-model/src/main/java/org/apache/camel/model/ToDefinition.java b/core/camel-core-model/src/main/java/org/apache/camel/model/ToDefinition.java
index 2153fd7f9db6..fa797689165a 100644
--- a/core/camel-core-model/src/main/java/org/apache/camel/model/ToDefinition.java
+++ b/core/camel-core-model/src/main/java/org/apache/camel/model/ToDefinition.java
@@ -31,6 +31,7 @@ import org.apache.camel.spi.annotations.DslArg;
  * Sends the message to a static endpoint
  */
 @Metadata(label = "eip,endpoint,routing",
+          aliases = { "sink", "egress" },
           description = "Sends the message to a fixed endpoint URI")
 @XmlRootElement(name = "to")
 @XmlAccessorType(XmlAccessType.FIELD)
diff --git a/core/camel-core-model/src/main/java/org/apache/camel/model/ToDynamicDefinition.java b/core/camel-core-model/src/main/java/org/apache/camel/model/ToDynamicDefinition.java
index abfa82e5f15f..076280d6380c 100644
--- a/core/camel-core-model/src/main/java/org/apache/camel/model/ToDynamicDefinition.java
+++ b/core/camel-core-model/src/main/java/org/apache/camel/model/ToDynamicDefinition.java
@@ -33,6 +33,7 @@ import org.apache.camel.spi.annotations.DslArg;
  * Sends the message to a dynamic endpoint
  */
 @Metadata(label = "eip,endpoint,routing",
+          aliases = { "sink", "egress" },
           description = "Sends the message to an endpoint URI computed dynamically from an expression,"
                         + " allowing the destination to vary per message")
 @XmlRootElement(name = "toD")
diff --git a/core/camel-core-model/src/main/java/org/apache/camel/model/TransformDefinition.java b/core/camel-core-model/src/main/java/org/apache/camel/model/TransformDefinition.java
index 4b7b13c59554..bea8d3d714b8 100644
--- a/core/camel-core-model/src/main/java/org/apache/camel/model/TransformDefinition.java
+++ b/core/camel-core-model/src/main/java/org/apache/camel/model/TransformDefinition.java
@@ -28,6 +28,7 @@ import org.apache.camel.spi.Metadata;
  * Transforms the message body based on an expression
  */
 @Metadata(label = "eip,transformation",
+          aliases = { "map", "transform" },
           description = "Sets the message body using an expression."
                         + " Unlike setBody, transform also sets the OUT message body in InOut exchanges")
 @XmlRootElement(name = "transform")
diff --git a/core/camel-core-model/src/main/java/org/apache/camel/model/UnmarshalDefinition.java b/core/camel-core-model/src/main/java/org/apache/camel/model/UnmarshalDefinition.java
index 29ce92d5c47c..af21f4f5c5e4 100644
--- a/core/camel-core-model/src/main/java/org/apache/camel/model/UnmarshalDefinition.java
+++ b/core/camel-core-model/src/main/java/org/apache/camel/model/UnmarshalDefinition.java
@@ -77,6 +77,7 @@ import org.apache.camel.spi.Metadata;
  * Converts the message data received from the wire into a format that Apache Camel processors can consume
  */
 @Metadata(label = "eip,dataformat,transformation",
+          aliases = { "deserialize" },
           description = "Deserializes the message body from a specific data format such as JSON, XML, CSV, or Protobuf into a Java object")
 @XmlRootElement(name = "unmarshal")
 @XmlAccessorType(XmlAccessType.FIELD)
diff --git a/core/camel-core-model/src/main/java/org/apache/camel/model/ValidateDefinition.java b/core/camel-core-model/src/main/java/org/apache/camel/model/ValidateDefinition.java
index 0f0d99ae560c..91be6b430419 100644
--- a/core/camel-core-model/src/main/java/org/apache/camel/model/ValidateDefinition.java
+++ b/core/camel-core-model/src/main/java/org/apache/camel/model/ValidateDefinition.java
@@ -33,6 +33,7 @@ import org.apache.camel.spi.PredicateExceptionFactory;
  * Validates a message based on an expression
  */
 @Metadata(label = "eip,transformation",
+          aliases = { "validate", "guard" },
           description = "Validates the message against a predicate expression"
                         + " and throws a PredicateValidationException if the validation fails")
 @AsPredicate
diff --git a/core/camel-core-model/src/main/java/org/apache/camel/model/WireTapDefinition.java b/core/camel-core-model/src/main/java/org/apache/camel/model/WireTapDefinition.java
index 68adb86e98ad..38f1923bbe78 100644
--- a/core/camel-core-model/src/main/java/org/apache/camel/model/WireTapDefinition.java
+++ b/core/camel-core-model/src/main/java/org/apache/camel/model/WireTapDefinition.java
@@ -33,6 +33,7 @@ import org.apache.camel.spi.Metadata;
  * message.
  */
 @Metadata(label = "eip,endpoint,routing", excludeProperties = "pattern",
+          aliases = { "tap", "observe" },
           description = "Sends a copy of the message to a secondary endpoint without affecting the original route flow."
                         + " The tapped message is sent asynchronously in a separate thread")
 @XmlRootElement(name = "wireTap")
diff --git a/dsl/camel-jbang/camel-jbang-mcp/src/main/java/org/apache/camel/dsl/jbang/core/commands/mcp/CatalogTools.java b/dsl/camel-jbang/camel-jbang-mcp/src/main/java/org/apache/camel/dsl/jbang/core/commands/mcp/CatalogTools.java
index fd0c79aa95cb..335d749b760b 100644
--- a/dsl/camel-jbang/camel-jbang-mcp/src/main/java/org/apache/camel/dsl/jbang/core/commands/mcp/CatalogTools.java
+++ b/dsl/camel-jbang/camel-jbang-mcp/src/main/java/org/apache/camel/dsl/jbang/core/commands/mcp/CatalogTools.java
@@ -339,7 +339,7 @@ public class CatalogTools {
             List<EipInfo> eips = cat.findModelNames().stream()
                     .map(cat::eipModel)
                     .filter(m -> m != null)
-                    .filter(m -> matchesFilter(m.getName(), m.getTitle(), m.getDescription(), filter))
+                    .filter(m -> matchesFilter(m.getName(), m.getTitle(), m.getDescription(), m.getAliases(), filter))
                     .filter(m -> matchesLabel(m.getLabel(), label))
                     .map(this::toEipInfo)
                     .collect(Collectors.toList());
@@ -396,13 +396,32 @@ public class CatalogTools {
     // Helper methods
 
     private boolean matchesFilter(String name, String title, String description, String filter) {
+        return matchesFilter(name, title, description, null, filter);
+    }
+
+    private boolean matchesFilter(String name, String title, String description, List<String> aliases, String filter) {
         if (filter == null || filter.isBlank()) {
             return true;
         }
         String lowerFilter = filter.toLowerCase();
-        return (name != null && name.toLowerCase().contains(lowerFilter))
+        if ((name != null && name.toLowerCase().contains(lowerFilter))
                 || (title != null && title.toLowerCase().contains(lowerFilter))
-                || (description != null && description.toLowerCase().contains(lowerFilter));
+                || (description != null && description.toLowerCase().contains(lowerFilter))) {
+            return true;
+        }
+        if (aliases != null) {
+            String normalized = normalize(filter);
+            for (String alias : aliases) {
+                if (alias.toLowerCase().contains(lowerFilter) || normalize(alias).contains(normalized)) {
+                    return true;
+                }
+            }
+        }
+        return false;
+    }
+
+    private static String normalize(String text) {
+        return text.toLowerCase().replace("-", "").replace("_", "");
     }
 
     private boolean matchesLabel(String labels, String labelFilter) {
@@ -541,7 +560,8 @@ public class CatalogTools {
         return new EipInfo(
                 model.getName(),
                 model.getTitle(),
-                model.getLabel());
+                model.getLabel(),
+                model.getAliases().isEmpty() ? null : model.getAliases());
     }
 
     private EipDetailResult toEipDetailResult(EipModel model) {
@@ -561,6 +581,7 @@ public class CatalogTools {
                 model.getTitle(),
                 model.getDescription(),
                 model.getLabel(),
+                model.getAliases().isEmpty() ? null : model.getAliases(),
                 options);
     }
 
@@ -685,11 +706,11 @@ public class CatalogTools {
     public record EipListResult(int count, List<EipInfo> eips) {
     }
 
-    public record EipInfo(String name, String title, String label) {
+    public record EipInfo(String name, String title, String label, List<String> aliases) {
     }
 
     public record EipDetailResult(String name, String title, String description, String label,
-            List<OptionInfo> options) {
+            List<String> aliases, List<OptionInfo> options) {
     }
 
     public record DataFormatDetailResult(String name, String title, String description, String label,
diff --git a/tooling/camel-tooling-model/src/main/java/org/apache/camel/tooling/model/BaseModel.java b/tooling/camel-tooling-model/src/main/java/org/apache/camel/tooling/model/BaseModel.java
index 8c7db5b36b8d..7e08abe94240 100644
--- a/tooling/camel-tooling-model/src/main/java/org/apache/camel/tooling/model/BaseModel.java
+++ b/tooling/camel-tooling-model/src/main/java/org/apache/camel/tooling/model/BaseModel.java
@@ -36,6 +36,7 @@ public abstract class BaseModel<O extends BaseOptionModel> {
     protected final List<O> options = new ArrayList<>();
     protected SupportLevel supportLevel;
     protected boolean nativeSupported;
+    protected List<String> aliases = new ArrayList<>();
     protected Map<String, Object> metadata = new LinkedHashMap<>();
 
     public static Comparator<BaseModel<?>> compareTitle() {
@@ -151,6 +152,18 @@ public abstract class BaseModel<O extends BaseOptionModel> {
         this.nativeSupported = nativeSupported;
     }
 
+    /**
+     * Alternative names or common aliases for this entity (e.g., "fan-out" for Multicast). Aliases are descriptive only
+     * — they cannot be used in the DSL.
+     */
+    public List<String> getAliases() {
+        return aliases;
+    }
+
+    public void setAliases(List<String> aliases) {
+        this.aliases = aliases;
+    }
+
     /**
      * A free form map of key value pair representing this {@link BaseModel}'s metadata
      */
diff --git a/tooling/camel-tooling-model/src/main/java/org/apache/camel/tooling/model/JsonMapper.java b/tooling/camel-tooling-model/src/main/java/org/apache/camel/tooling/model/JsonMapper.java
index 7d87db4c33c1..8a92a321d751 100644
--- a/tooling/camel-tooling-model/src/main/java/org/apache/camel/tooling/model/JsonMapper.java
+++ b/tooling/camel-tooling-model/src/main/java/org/apache/camel/tooling/model/JsonMapper.java
@@ -559,6 +559,9 @@ public final class JsonMapper {
         if (model.isNativeSupported()) {
             obj.put("nativeSupported", model.isNativeSupported());
         }
+        if (!model.getAliases().isEmpty()) {
+            obj.put("aliases", model.getAliases());
+        }
         if (!model.getMetadata().isEmpty()) {
             obj.put("metadata", model.getMetadata());
         }
@@ -582,6 +585,10 @@ public final class JsonMapper {
         model.setJavaType(mobj.getString("javaType"));
         model.setSupportLevel(SupportLevel.safeValueOf(mobj.getString("supportLevel")));
         model.setNativeSupported(mobj.getBooleanOrDefault("nativeSupported", false));
+        Collection<String> aliases = mobj.getCollection("aliases");
+        if (aliases != null) {
+            model.setAliases(aliases.stream().collect(Collectors.toList()));
+        }
         model.setMetadata(mobj.getMapOrDefault("metadata", new JsonObject()));
     }
 
diff --git a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/SchemaGeneratorMojo.java b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/SchemaGeneratorMojo.java
index 22e7fb0f1930..96b6a885e9bf 100644
--- a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/SchemaGeneratorMojo.java
+++ b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/SchemaGeneratorMojo.java
@@ -341,6 +341,11 @@ public class SchemaGeneratorMojo extends AbstractGeneratorMojo {
             if (!Strings.isNullOrEmpty(metadata.description())) {
                 model.setDescription(metadata.description());
             }
+            if (metadata.aliases().length > 0) {
+                ArrayList<String> aliases = new ArrayList<>();
+                Collections.addAll(aliases, metadata.aliases());
+                model.setAliases(aliases);
+            }
         }
 
         // fallback to use class javadoc as description
diff --git a/tooling/spi-annotations/src/main/java/org/apache/camel/spi/Metadata.java b/tooling/spi-annotations/src/main/java/org/apache/camel/spi/Metadata.java
index e72b753753c6..533f8ef8166e 100644
--- a/tooling/spi-annotations/src/main/java/org/apache/camel/spi/Metadata.java
+++ b/tooling/spi-annotations/src/main/java/org/apache/camel/spi/Metadata.java
@@ -216,4 +216,12 @@ public @interface Metadata {
      */
     String[] examples() default {};
 
+    /**
+     * Alternative names or common aliases for this entity.
+     *
+     * Used for AI and search tooling to discover EIPs by common terminology (e.g., "fan-out" for Multicast, "retry" for
+     * Error Handler). Aliases are descriptive names only — they cannot be used in the DSL.
+     */
+    String[] aliases() default {};
+
 }