If you create a custom Apache Camel component, you can build it using Maven to generate necessary metadata, then this component can be auto-discovered by Camel.

Create a custom component following the guide. Add file META-INF/services/org/apache/camel/component/FOO to src/main/resources folder with content like below:

class=com.example.CustomComponent  

Then add following code to Maven's pom.xml. Maven plugin camel-package-maven-plugin is used to generate component.properties file.

<build>  
    <plugins>
        <plugin>
            <groupId>org.apache.camel</groupId>
            <artifactId>camel-package-maven-plugin</artifactId>
            <version>${camel.version}</version>
            <executions>
                <execution>
                    <goals>
                        <goal>prepare-components</goal>
                    </goals>
                    <phase>generate-resources</phase>
                </execution>
            </executions>
        </plugin>
    </plugins>
</build>  

Then add Maven dependency of org.apache.camel:apt. This apt module processes Camel annotations and generate component JSON schema and HTML documentation. See Camel 2.15 release note.

<dependency>  
    <groupId>org.apache.camel</groupId>
    <artifactId>apt</artifactId>
    <version>${camel.version}</version>
    <scope>provided</scope>
</dependency>  

After this, you should be able to list your component and its JSON schema from JMX.