plugin-idoit (1.1.0)

Published 2026-08-16 10:24:00 +00:00 by kai-waggeling in waggeling.net/mcp-plugins

Installation

registry=
npm install plugin-idoit@1.1.0
"plugin-idoit": "1.1.0"

About this package

i-doit

i-doit CMDB (JSON-RPC API): object search/read/write, categories, dialog lists, reports, object types, dynamic metadata with technical key -> UI label resolution. Objects are written via cmdb.external.push.v2 (extType 'idoit', extId = object id, linked automatically; strategies create/update/overwrite) behind function-based tools

  • Package: plugin-idoit
  • Author: Kai
  • Version: 1.1.0

Credentials

Key Label Type Required Default
hostUrl Base URL (e.g. https://cmdb.example.com) string yes
apiKey API key (Administration > Add-ons > JSON-RPC API) secret yes
username User (optional, enables sessions/permission-bound calls) string no
password Password (optional, used with the user) secret no
verifyTls Verify TLS certificate boolean no true

Settings

Key Label Type Required Default
timeoutMs Timeout (ms) number no 15000
sessionTimeoutMs Session lifetime (ms, default 5 min) number no 300000
metadataTtlMs Metadata cache lifetime (ms) number no 900000
language Response language for labels (e.g. en, de) string no en
allowDestructive Allow destructive tools (archive, status change, delete) boolean no false

Tools

Tool Description
idoit_ping Checks API reachability and reports the i-doit version and current user
idoit_login Opens an explicit i-doit session (requires username/password in the instance config). Writes require a session; the session expires after sessionTimeoutMs (default 5 minutes). Returns the expiry time.
idoit_logout Closes the active i-doit session (optional - sessions also expire automatically after sessionTimeoutMs)
idoit_metadata Builds a dynamic metadata catalog directly from i-doit: object types (cmdb.object_types), categories per object type with UI labels (cmdb.object_type_categories) and field-level labels incl. custom category fields like c_ keys (cmdb.category_info.read). Use this to translate abstract constants (C__CATG__..., C__OBJTYPE__..., c_...) into human-readable names. Results are cached per instance (metadataTtlMs).
idoit_search Full-text search over objects (idoit.search). Returns matching objects with object ids for idoit_object_read
idoit_cmdb_search Structured CMDB search (cmdb.objects.read) with filter conditions on object attributes, optionally restricted to an object type. Supported filter properties: title, type, type_title, sysid, status, type_group, first_name, last_name, email, id/objID
idoit_object_read Reads an object: one category (constant or UI label) or all categories. Results are enriched with _label (category UI label) and fields (technical field key -> label, incl. custom category fields like c) pulled from i-doit metadata
idoit_object_list Lists objects (cmdb.objects.read) with optional filters, categories, paging and sorting. Filter keys: title, type, type_title, sysid, status, type_group, first_name, last_name, email, id/objID
idoit_categories_read Reads one or more categories of an object (cmdb.categories.read) by objID and optional catgID/catsID (category ids from idoit_metadata)
idoit_category_read Reads a single category of an object (constant or UI label)
idoit_dialog_read Lists the dialog+ values of a category property, e.g. operating systems in C__CATG__OPERATING_SYSTEM
idoit_report_list Lists all available reports (cmdb.report.list.v2) with id, title, description
idoit_managed_objects Lists all objects managed through this plugin (cmdb.external.pull.v2, extType 'idoit') including their category data. Use it to audit which objects are managed via the API. The plugin handles the external identifiers internally - you only need object ids
idoit_report_read Runs an existing report-manager query by its report id (cmdb.report.read.v2) and returns the rows
idoit_create_object Creates an object and registers it for API-based management (cmdb.external.push.v2 with strategy 'create'; extType 'idoit', the plugin links the object automatically afterwards). Category keys and field keys may be given as constants or UI labels (resolved via the metadata catalog); values must be raw i-doit API values. Object-browser popup fields (browser_object) take the referenced object id as string (a number causes HTTP 404 on i-doit). Categories are optional - create the object first and fill it step by step via idoit_category_create. Returns the created object id (parsed from the push response, so it is available even when pull.v2 lags). Requires an active session (call idoit_login first)
idoit_update_object Updates object data (title + categories, cmdb.external.push.v2 with strategy 'update'). The plugin resolves/links the object automatically from the object id. Object-browser popup fields (browser_object) take the referenced object id as string (a number causes HTTP 404 on i-doit). Requires an active session (call idoit_login first)
idoit_overwrite_object Overwrites object data (cmdb.external.push.v2 with strategy 'overwrite'): existing entries of the given categories are updated or created, and all multi-value entries NOT contained in the request are deleted from i-doit - the request becomes the complete set for those categories. Use it to sync full lists (IPs, ports, NAC entries). The plugin resolves/links the object automatically from the object id. Object-browser popup fields (browser_object) take the referenced object id as string (a number causes HTTP 404 on i-doit). Requires an active session (call idoit_login first)
idoit_object_delete Deletes an object (destructive, cmdb.object.delete.v2). Requires allowDestructive setting + confirm argument. Requires an active session (call idoit_login first)
idoit_object_restore Restores a deleted object (destructive, cmdb.object.restore.v2). Requires allowDestructive setting + confirm argument. Requires an active session (call idoit_login first)
idoit_object_archive Archives an object (destructive: removes it from active CMDB views, cmdb.object.archive.v2). Requires allowDestructive setting + confirm argument. Requires an active session (call idoit_login first)
idoit_object_status Changes the CMDB status of an object, e.g. to C__CMDB_STATUS__ARCHIVED or C__CMDB_STATUS__IN_OPERATION (destructive, via cmdb.category.save on C__CATG__GLOBAL). Requires allowDestructive setting + confirm argument. Requires an active session (call idoit_login first)
idoit_category_create Creates a category entry for an object (via cmdb.external.push.v2 with strategy 'create'; the plugin resolves/links the object automatically from the object id). Requires an active session (call idoit_login first)
idoit_category_update Updates a category entry of an object (via cmdb.external.push.v2 with strategy 'update'; the plugin resolves/links the object automatically from the object id). Requires an active session (call idoit_login first)
idoit_category_delete Deletes a category entry of an object (destructive, cmdb.category.delete). Requires allowDestructive setting + confirm argument. Requires an active session (call idoit_login first)
idoit_category_save Creates or updates a category entry of an object (via cmdb.external.push.v2, works for single- and multi-value categories; the plugin resolves/links the object automatically from the object id). Uses strategy 'create' without entryId, 'update' with entryId. Requires an active session (call idoit_login first)
idoit_object_type_create Creates a new object type (cmdb.object-type.create.v2). Requires an active session (call idoit_login first)
idoit_object_type_update Updates an object type (cmdb.object-type.update.v2). Requires an active session (call idoit_login first)
idoit_object_type_delete Deletes an object type (destructive, cmdb.object-type.delete.v2). Requires allowDestructive setting + confirm argument. Requires an active session (call idoit_login first)
idoit_dialog_create Creates a dialog+ value for a category property (cmdb.dialog.create). Requires an active session (call idoit_login first)
idoit_dialog_update Updates a dialog+ value for a category property (cmdb.dialog.update). Requires an active session (call idoit_login first)
idoit_dialog_delete Deletes a dialog+ value (destructive, cmdb.dialog.delete). Requires allowDestructive setting + confirm argument. Requires an active session (call idoit_login first)
Details
npm
2026-08-16 10:24:00 +00:00
0
Kai
latest
14 KiB
Assets (1)
Versions (3) View all
1.1.0-dev.ca456637 2026-08-16
1.1.0-dev.76490b52 2026-08-16
1.1.0 2026-08-16