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.
| Field | Description |
|---|---|
display_name | Hub item display name. |
description | Hub item description. |
icon_url | A URL pointing to an icon (PNG) shown in the hub item panel. |
preview_image_url | A preview image showcasing a graph, shown in the hub item's detail view. |
provider_name | The name of the transform developer, shown in the details view. |
provider_website | The website of the transform developer, shown in the details view. |
provider_email | Transform developer email, shown in the details view. |
provider_phone | The developer's phone number, shown in the details view. |
For the full class reference, see the SDK API Reference article.