Open navigation

Hub Items

Modified on: Tue, 14 Jul, 2026 at 11:35 AM

Use MaltegoHubItem (maltego.server.MaltegoHubItem) to publish integration metadata for the JSON protocol /hub_item endpoint. This is the place for human-facing information about the integration itself: display name, description, icon, preview image, and provider contact details.

When to use a hub item

Define a hub item when you want Maltego to show helpful metadata during discovery or onboarding, for example:

  • branding a custom transform integration with a friendly display name and icon
  • adding a preview image that shows what the resulting graph looks like
  • surfacing provider ownership and support contact details separately from the transform descriptions

Registering hub metadata

The simplest way is to pass hub_item=... to run_server:

from maltego.server import (
    MaltegoHubItem,
    MaltegoServerSettings,
    ServerHTTPSettings,
    run_server,
)

settings = MaltegoServerSettings(
    server_name="Acme Investigations",
    ns="acme",
    author="dev@acme.com",
    owner="Acme",
    http_settings=ServerHTTPSettings(
        protocol="https",
        cert_file="server.crt",
        cert_key="server.key",
    ),
)

hub_item = MaltegoHubItem(
    display_name="Acme Investigations",
    description="Custom transforms for Acme analysts in Maltego Desktop",
    icon_url="https://example.com/assets/acme-icon.png",
    preview_image_url="https://example.com/assets/acme-preview.png",
    provider_name="Acme",
    provider_website="https://example.com",
    provider_email="support@example.com",
)

run_server(
    settings=settings,
    hub_item=hub_item,
)

run_server accepts this hub_item (a MaltegoHubItem instance) alongside its other server-startup arguments. Configure HTTP, HTTPS, and certificate paths on ServerHTTPSettings so server startup uses a single HTTP configuration source.

For lower-level setups, MaltegoTransformServer.set_hub_item() stores the same object before JSON protocol routes are created.

Fallback behavior

If you omit some fields, the server falls back to MaltegoServerSettings.server_name, owner, and author where appropriate. That makes it reasonable to start with a partial MaltegoHubItem and fill in more metadata as the integration matures.

API reference

MaltegoHubItem defines a "hub item" to be discovered by a Maltego Client, showing an integration in the Maltego hub alongside metadata about the integration and the provider. All fields are optional.

FieldDescription
display_nameHub item display name.
descriptionHub item description.
icon_urlA URL pointing to an icon (PNG) shown in the hub item panel.
preview_image_urlA preview image showcasing a graph, shown in the hub item's detail view.
provider_nameThe name of the transform developer, shown in the details view.
provider_websiteThe website of the transform developer, shown in the details view.
provider_emailTransform developer email, shown in the details view.
provider_phoneThe developer's phone number, shown in the details view.

For the full class reference, see the SDK API Reference article.

Did you find it helpful? Yes No

Send feedback
Sorry we couldn't be helpful. Help us improve this article with your feedback.