onetrust-api 1.1.0__tar.gz → 1.3.2__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- onetrust_api-1.3.2/PKG-INFO +688 -0
- onetrust_api-1.3.2/README.md +660 -0
- {onetrust_api-1.1.0 → onetrust_api-1.3.2}/onetrust_api/__init__.py +0 -1
- onetrust_api-1.3.2/onetrust_api/__main__.py +5 -0
- {onetrust_api-1.1.0 → onetrust_api-1.3.2}/onetrust_api/api/_operation_manifest.py +32080 -11497
- {onetrust_api-1.1.0 → onetrust_api-1.3.2}/onetrust_api/api/api_client_base.py +162 -97
- onetrust_api-1.3.2/onetrust_api/auth.py +219 -0
- {onetrust_api-1.1.0 → onetrust_api-1.3.2}/onetrust_api/connectors/mcp_source_presets.json +8 -8
- onetrust_api-1.3.2/onetrust_api/connectors/tool_schema_fingerprints.json +9 -0
- onetrust_api-1.3.2/onetrust_api/kg_ingest.py +397 -0
- onetrust_api-1.3.2/onetrust_api/mcp/mcp_access_management.py +146 -0
- onetrust_api-1.3.2/onetrust_api/mcp/mcp_ai_governance.py +125 -0
- onetrust_api-1.3.2/onetrust_api/mcp/mcp_assessments.py +138 -0
- onetrust_api-1.3.2/onetrust_api/mcp/mcp_audit_management.py +84 -0
- {onetrust_api-1.1.0 → onetrust_api-1.3.2}/onetrust_api/mcp/mcp_bulk_export.py +30 -16
- {onetrust_api-1.1.0 → onetrust_api-1.3.2}/onetrust_api/mcp/mcp_cmp.py +26 -12
- {onetrust_api-1.1.0 → onetrust_api-1.3.2}/onetrust_api/mcp/mcp_compliance_automation.py +22 -8
- {onetrust_api-1.1.0 → onetrust_api-1.3.2}/onetrust_api/mcp/mcp_consent_interfaces.py +18 -4
- {onetrust_api-1.1.0 → onetrust_api-1.3.2}/onetrust_api/mcp/mcp_consent_receipts.py +22 -8
- onetrust_api-1.3.2/onetrust_api/mcp/mcp_cookie_consent.py +154 -0
- onetrust_api-1.3.2/onetrust_api/mcp/mcp_cookie_consent_legacy.py +84 -0
- {onetrust_api-1.1.0 → onetrust_api-1.3.2}/onetrust_api/mcp/mcp_cookie_domain_data.py +18 -4
- {onetrust_api-1.1.0 → onetrust_api-1.3.2}/onetrust_api/mcp/mcp_cross_device_consent.py +18 -4
- onetrust_api-1.3.2/onetrust_api/mcp/mcp_data_catalog.py +116 -0
- onetrust_api-1.3.2/onetrust_api/mcp/mcp_data_discovery.py +120 -0
- {onetrust_api-1.1.0 → onetrust_api-1.3.2}/onetrust_api/mcp/mcp_data_discovery_worker.py +24 -10
- onetrust_api-1.3.2/onetrust_api/mcp/mcp_data_mapping.py +173 -0
- {onetrust_api-1.1.0 → onetrust_api-1.3.2}/onetrust_api/mcp/mcp_data_mapping_legacy.py +26 -16
- {onetrust_api-1.1.0 → onetrust_api-1.3.2}/onetrust_api/mcp/mcp_documents.py +20 -6
- onetrust_api-1.3.2/onetrust_api/mcp/mcp_dsar.py +158 -0
- {onetrust_api-1.1.0 → onetrust_api-1.3.2}/onetrust_api/mcp/mcp_esg.py +26 -12
- {onetrust_api-1.1.0 → onetrust_api-1.3.2}/onetrust_api/mcp/mcp_incidents.py +30 -16
- {onetrust_api-1.1.0 → onetrust_api-1.3.2}/onetrust_api/mcp/mcp_integrations.py +24 -10
- onetrust_api-1.3.2/onetrust_api/mcp/mcp_inventory.py +103 -0
- {onetrust_api-1.1.0 → onetrust_api-1.3.2}/onetrust_api/mcp/mcp_issues_management.py +34 -20
- onetrust_api-1.3.2/onetrust_api/mcp/mcp_it_risk_management.py +218 -0
- {onetrust_api-1.1.0 → onetrust_api-1.3.2}/onetrust_api/mcp/mcp_mobile_app_consent.py +18 -4
- onetrust_api-1.3.2/onetrust_api/mcp/mcp_object_manager.py +179 -0
- {onetrust_api-1.1.0 → onetrust_api-1.3.2}/onetrust_api/mcp/mcp_policy_management.py +28 -14
- {onetrust_api-1.1.0 → onetrust_api-1.3.2}/onetrust_api/mcp/mcp_privacy_notices.py +22 -10
- {onetrust_api-1.1.0 → onetrust_api-1.3.2}/onetrust_api/mcp/mcp_task_management.py +22 -8
- onetrust_api-1.3.2/onetrust_api/mcp/mcp_tprm.py +92 -0
- {onetrust_api-1.1.0 → onetrust_api-1.3.2}/onetrust_api/mcp/mcp_training.py +26 -12
- onetrust_api-1.3.2/onetrust_api/mcp/mcp_universal_consent.py +310 -0
- onetrust_api-1.3.2/onetrust_api/mcp/mcp_user_provisioning.py +120 -0
- {onetrust_api-1.1.0 → onetrust_api-1.3.2}/onetrust_api/mcp_server.py +8 -8
- {onetrust_api-1.1.0 → onetrust_api-1.3.2}/onetrust_api/onetrust_models.py +1 -5
- {onetrust_api-1.1.0 → onetrust_api-1.3.2}/onetrust_api/ontology/__init__.py +2 -2
- {onetrust_api-1.1.0 → onetrust_api-1.3.2}/onetrust_api/ontology/certification.json +12 -13
- {onetrust_api-1.1.0 → onetrust_api-1.3.2}/onetrust_api/ontology/onetrust.ttl +1 -1
- {onetrust_api-1.1.0 → onetrust_api-1.3.2}/onetrust_api/prompts/consent_cookie_specialist.json +1 -1
- {onetrust_api-1.1.0 → onetrust_api-1.3.2}/onetrust_api/prompts/privacy_governance_specialist.json +1 -1
- {onetrust_api-1.1.0 → onetrust_api-1.3.2}/onetrust_api/skills/onetrust-api-operations/SKILL.md +2 -2
- {onetrust_api-1.1.0 → onetrust_api-1.3.2}/onetrust_api/skills/onetrust-data-mapping/SKILL.md +1 -1
- {onetrust_api-1.1.0 → onetrust_api-1.3.2}/onetrust_api/skills/onetrust-privacy-assessments/SKILL.md +1 -1
- onetrust_api-1.3.2/onetrust_api.egg-info/PKG-INFO +688 -0
- {onetrust_api-1.1.0 → onetrust_api-1.3.2}/onetrust_api.egg-info/SOURCES.txt +5 -4
- onetrust_api-1.3.2/onetrust_api.egg-info/entry_points.txt +17 -0
- onetrust_api-1.3.2/onetrust_api.egg-info/requires.txt +15 -0
- {onetrust_api-1.1.0 → onetrust_api-1.3.2}/onetrust_api.egg-info/top_level.txt +3 -0
- {onetrust_api-1.1.0 → onetrust_api-1.3.2}/pyproject.toml +19 -17
- onetrust_api-1.3.2/scripts/generate_from_openapi.py +1198 -0
- {onetrust_api-1.1.0 → onetrust_api-1.3.2}/scripts/security_sanitizer.py +122 -87
- onetrust_api-1.3.2/tests/test_api_client_base.py +208 -0
- onetrust_api-1.3.2/tests/test_auth.py +107 -0
- onetrust_api-1.3.2/tests/test_cxa_fl_onetrustapi_01_characterization.py +204 -0
- onetrust_api-1.3.2/tests/test_default_content_surfaces.py +43 -0
- onetrust_api-1.3.2/tests/test_fleet_name.py +53 -0
- onetrust_api-1.3.2/tests/test_generate_from_openapi.py +416 -0
- onetrust_api-1.3.2/tests/test_kg_ingest.py +234 -0
- {onetrust_api-1.1.0 → onetrust_api-1.3.2}/tests/test_mcp_server.py +10 -9
- {onetrust_api-1.1.0 → onetrust_api-1.3.2}/tests/test_onetrust_coverage.py +16 -10
- {onetrust_api-1.1.0 → onetrust_api-1.3.2}/tests/test_startup.py +1 -7
- onetrust_api-1.1.0/PKG-INFO +0 -1299
- onetrust_api-1.1.0/README.md +0 -1269
- onetrust_api-1.1.0/onetrust_api/__main__.py +0 -5
- onetrust_api-1.1.0/onetrust_api/agent_server.py +0 -84
- onetrust_api-1.1.0/onetrust_api/auth.py +0 -114
- onetrust_api-1.1.0/onetrust_api/connectors/tool_schema_fingerprints.json +0 -9
- onetrust_api-1.1.0/onetrust_api/kg_ingest.py +0 -329
- onetrust_api-1.1.0/onetrust_api/main_agent.json +0 -20
- onetrust_api-1.1.0/onetrust_api/mcp/mcp_access_management.py +0 -112
- onetrust_api-1.1.0/onetrust_api/mcp/mcp_ai_governance.py +0 -107
- onetrust_api-1.1.0/onetrust_api/mcp/mcp_assessments.py +0 -104
- onetrust_api-1.1.0/onetrust_api/mcp/mcp_audit_management.py +0 -62
- onetrust_api-1.1.0/onetrust_api/mcp/mcp_cookie_consent.py +0 -116
- onetrust_api-1.1.0/onetrust_api/mcp/mcp_cookie_consent_legacy.py +0 -62
- onetrust_api-1.1.0/onetrust_api/mcp/mcp_data_catalog.py +0 -88
- onetrust_api-1.1.0/onetrust_api/mcp/mcp_data_discovery.py +0 -92
- onetrust_api-1.1.0/onetrust_api/mcp/mcp_data_mapping.py +0 -140
- onetrust_api-1.1.0/onetrust_api/mcp/mcp_dsar.py +0 -118
- onetrust_api-1.1.0/onetrust_api/mcp/mcp_inventory.py +0 -84
- onetrust_api-1.1.0/onetrust_api/mcp/mcp_it_risk_management.py +0 -166
- onetrust_api-1.1.0/onetrust_api/mcp/mcp_object_manager.py +0 -149
- onetrust_api-1.1.0/onetrust_api/mcp/mcp_tprm.py +0 -70
- onetrust_api-1.1.0/onetrust_api/mcp/mcp_universal_consent.py +0 -236
- onetrust_api-1.1.0/onetrust_api/mcp/mcp_user_provisioning.py +0 -92
- onetrust_api-1.1.0/onetrust_api/prompts/main_agent.json +0 -20
- onetrust_api-1.1.0/onetrust_api.egg-info/PKG-INFO +0 -1299
- onetrust_api-1.1.0/onetrust_api.egg-info/entry_points.txt +0 -15
- onetrust_api-1.1.0/onetrust_api.egg-info/requires.txt +0 -18
- onetrust_api-1.1.0/scripts/generate_from_openapi.py +0 -479
- onetrust_api-1.1.0/scripts/run_agent_utilities_gate.py +0 -104
- onetrust_api-1.1.0/tests/test_auth.py +0 -33
- onetrust_api-1.1.0/tests/test_kg_ingest.py +0 -281
- {onetrust_api-1.1.0 → onetrust_api-1.3.2}/LICENSE +0 -0
- {onetrust_api-1.1.0 → onetrust_api-1.3.2}/MANIFEST.in +0 -0
- {onetrust_api-1.1.0 → onetrust_api-1.3.2}/onetrust_api/api/__init__.py +0 -0
- {onetrust_api-1.1.0 → onetrust_api-1.3.2}/onetrust_api/api/api_client_access_management.py +0 -0
- {onetrust_api-1.1.0 → onetrust_api-1.3.2}/onetrust_api/api/api_client_ai_governance.py +0 -0
- {onetrust_api-1.1.0 → onetrust_api-1.3.2}/onetrust_api/api/api_client_assessments.py +0 -0
- {onetrust_api-1.1.0 → onetrust_api-1.3.2}/onetrust_api/api/api_client_audit_management.py +0 -0
- {onetrust_api-1.1.0 → onetrust_api-1.3.2}/onetrust_api/api/api_client_bulk_export.py +0 -0
- {onetrust_api-1.1.0 → onetrust_api-1.3.2}/onetrust_api/api/api_client_cmp.py +0 -0
- {onetrust_api-1.1.0 → onetrust_api-1.3.2}/onetrust_api/api/api_client_compliance_automation.py +0 -0
- {onetrust_api-1.1.0 → onetrust_api-1.3.2}/onetrust_api/api/api_client_consent_interfaces.py +0 -0
- {onetrust_api-1.1.0 → onetrust_api-1.3.2}/onetrust_api/api/api_client_consent_receipts.py +0 -0
- {onetrust_api-1.1.0 → onetrust_api-1.3.2}/onetrust_api/api/api_client_cookie_consent.py +0 -0
- {onetrust_api-1.1.0 → onetrust_api-1.3.2}/onetrust_api/api/api_client_cookie_consent_legacy.py +0 -0
- {onetrust_api-1.1.0 → onetrust_api-1.3.2}/onetrust_api/api/api_client_cookie_domain_data.py +0 -0
- {onetrust_api-1.1.0 → onetrust_api-1.3.2}/onetrust_api/api/api_client_cross_device_consent.py +0 -0
- {onetrust_api-1.1.0 → onetrust_api-1.3.2}/onetrust_api/api/api_client_data_catalog.py +0 -0
- {onetrust_api-1.1.0 → onetrust_api-1.3.2}/onetrust_api/api/api_client_data_discovery.py +0 -0
- {onetrust_api-1.1.0 → onetrust_api-1.3.2}/onetrust_api/api/api_client_data_discovery_worker.py +0 -0
- {onetrust_api-1.1.0 → onetrust_api-1.3.2}/onetrust_api/api/api_client_data_mapping.py +0 -0
- {onetrust_api-1.1.0 → onetrust_api-1.3.2}/onetrust_api/api/api_client_data_mapping_legacy.py +0 -0
- {onetrust_api-1.1.0 → onetrust_api-1.3.2}/onetrust_api/api/api_client_documents.py +0 -0
- {onetrust_api-1.1.0 → onetrust_api-1.3.2}/onetrust_api/api/api_client_dsar.py +0 -0
- {onetrust_api-1.1.0 → onetrust_api-1.3.2}/onetrust_api/api/api_client_esg.py +0 -0
- {onetrust_api-1.1.0 → onetrust_api-1.3.2}/onetrust_api/api/api_client_incidents.py +0 -0
- {onetrust_api-1.1.0 → onetrust_api-1.3.2}/onetrust_api/api/api_client_integrations.py +0 -0
- {onetrust_api-1.1.0 → onetrust_api-1.3.2}/onetrust_api/api/api_client_inventory.py +0 -0
- {onetrust_api-1.1.0 → onetrust_api-1.3.2}/onetrust_api/api/api_client_issues_management.py +0 -0
- {onetrust_api-1.1.0 → onetrust_api-1.3.2}/onetrust_api/api/api_client_it_risk_management.py +0 -0
- {onetrust_api-1.1.0 → onetrust_api-1.3.2}/onetrust_api/api/api_client_mobile_app_consent.py +0 -0
- {onetrust_api-1.1.0 → onetrust_api-1.3.2}/onetrust_api/api/api_client_object_manager.py +0 -0
- {onetrust_api-1.1.0 → onetrust_api-1.3.2}/onetrust_api/api/api_client_policy_management.py +0 -0
- {onetrust_api-1.1.0 → onetrust_api-1.3.2}/onetrust_api/api/api_client_privacy_notices.py +0 -0
- {onetrust_api-1.1.0 → onetrust_api-1.3.2}/onetrust_api/api/api_client_task_management.py +0 -0
- {onetrust_api-1.1.0 → onetrust_api-1.3.2}/onetrust_api/api/api_client_tprm.py +0 -0
- {onetrust_api-1.1.0 → onetrust_api-1.3.2}/onetrust_api/api/api_client_training.py +0 -0
- {onetrust_api-1.1.0 → onetrust_api-1.3.2}/onetrust_api/api/api_client_universal_consent.py +0 -0
- {onetrust_api-1.1.0 → onetrust_api-1.3.2}/onetrust_api/api/api_client_user_provisioning.py +0 -0
- {onetrust_api-1.1.0 → onetrust_api-1.3.2}/onetrust_api/api_client.py +0 -0
- {onetrust_api-1.1.0 → onetrust_api-1.3.2}/onetrust_api/connectors/__init__.py +0 -0
- {onetrust_api-1.1.0 → onetrust_api-1.3.2}/onetrust_api/mcp/__init__.py +0 -0
- {onetrust_api-1.1.0 → onetrust_api-1.3.2}/onetrust_api/mcp/mcp_custom_api.py +0 -0
- {onetrust_api-1.1.0 → onetrust_api-1.3.2}/onetrust_api/ontology/fixtures/records.json +0 -0
- {onetrust_api-1.1.0 → onetrust_api-1.3.2}/onetrust_api/ontology/mappings/source.yaml +0 -0
- {onetrust_api-1.1.0 → onetrust_api-1.3.2}/onetrust_api/ontology/migrations/manifest.json +0 -0
- {onetrust_api-1.1.0 → onetrust_api-1.3.2}/onetrust_api/ontology/shapes/connector.shacl.ttl +0 -0
- {onetrust_api-1.1.0 → onetrust_api-1.3.2}/onetrust_api/prompts/__init__.py +0 -0
- {onetrust_api-1.1.0 → onetrust_api-1.3.2}/onetrust_api/skills/__init__.py +0 -0
- {onetrust_api-1.1.0 → onetrust_api-1.3.2}/onetrust_api/skills/onetrust-api-operations/agents/openai.yaml +0 -0
- {onetrust_api-1.1.0 → onetrust_api-1.3.2}/onetrust_api/skills/onetrust-api-operations/references/catalog.md +0 -0
- {onetrust_api-1.1.0 → onetrust_api-1.3.2}/onetrust_api/skills/onetrust-cookie-consent/SKILL.md +0 -0
- {onetrust_api-1.1.0 → onetrust_api-1.3.2}/onetrust_api/skills/onetrust-cookie-consent/WORKFLOW.md +0 -0
- {onetrust_api-1.1.0 → onetrust_api-1.3.2}/onetrust_api/skills/onetrust-data-mapping/WORKFLOW.md +0 -0
- {onetrust_api-1.1.0 → onetrust_api-1.3.2}/onetrust_api/skills/onetrust-privacy-assessments/WORKFLOW.md +0 -0
- {onetrust_api-1.1.0 → onetrust_api-1.3.2}/onetrust_api/specs/ai-governance.json +0 -0
- {onetrust_api-1.1.0 → onetrust_api-1.3.2}/onetrust_api/specs/consent-preferences-consent-interfaces.json +0 -0
- {onetrust_api-1.1.0 → onetrust_api-1.3.2}/onetrust_api/specs/consent-preferences-consent-management-platform-cmp.json +0 -0
- {onetrust_api-1.1.0 → onetrust_api-1.3.2}/onetrust_api/specs/consent-preferences-consent-receipts.json +0 -0
- {onetrust_api-1.1.0 → onetrust_api-1.3.2}/onetrust_api/specs/consent-preferences-cookie-consent-swagger.json +0 -0
- {onetrust_api-1.1.0 → onetrust_api-1.3.2}/onetrust_api/specs/consent-preferences-cookie-consent.json +0 -0
- {onetrust_api-1.1.0 → onetrust_api-1.3.2}/onetrust_api/specs/consent-preferences-cookie-domain-data.json +0 -0
- {onetrust_api-1.1.0 → onetrust_api-1.3.2}/onetrust_api/specs/consent-preferences-cross-device-consent.json +0 -0
- {onetrust_api-1.1.0 → onetrust_api-1.3.2}/onetrust_api/specs/consent-preferences-mobile-app-consent.json +0 -0
- {onetrust_api-1.1.0 → onetrust_api-1.3.2}/onetrust_api/specs/consent-preferences-policy-notice-management.json +0 -0
- {onetrust_api-1.1.0 → onetrust_api-1.3.2}/onetrust_api/specs/consent-preferences-universal-consent-preference-management-oas.json +0 -0
- {onetrust_api-1.1.0 → onetrust_api-1.3.2}/onetrust_api/specs/data-use-governance-data-catalog.json +0 -0
- {onetrust_api-1.1.0 → onetrust_api-1.3.2}/onetrust_api/specs/data-use-governance-data-discovery-worker-node.json +0 -0
- {onetrust_api-1.1.0 → onetrust_api-1.3.2}/onetrust_api/specs/data-use-governance-data-discovery.json +0 -0
- {onetrust_api-1.1.0 → onetrust_api-1.3.2}/onetrust_api/specs/esg-program-reporting-disclosures.json +0 -0
- {onetrust_api-1.1.0 → onetrust_api-1.3.2}/onetrust_api/specs/platform-access-management.json +0 -0
- {onetrust_api-1.1.0 → onetrust_api-1.3.2}/onetrust_api/specs/platform-bulk-export.json +0 -0
- {onetrust_api-1.1.0 → onetrust_api-1.3.2}/onetrust_api/specs/platform-documents.json +0 -0
- {onetrust_api-1.1.0 → onetrust_api-1.3.2}/onetrust_api/specs/platform-integrations.json +0 -0
- {onetrust_api-1.1.0 → onetrust_api-1.3.2}/onetrust_api/specs/platform-inventory.json +0 -0
- {onetrust_api-1.1.0 → onetrust_api-1.3.2}/onetrust_api/specs/platform-object-manager.json +0 -0
- {onetrust_api-1.1.0 → onetrust_api-1.3.2}/onetrust_api/specs/platform-task-management.json +0 -0
- {onetrust_api-1.1.0 → onetrust_api-1.3.2}/onetrust_api/specs/platform-user-provisioning.json +0 -0
- {onetrust_api-1.1.0 → onetrust_api-1.3.2}/onetrust_api/specs/privacy-automation-assessment-automation.json +0 -0
- {onetrust_api-1.1.0 → onetrust_api-1.3.2}/onetrust_api/specs/privacy-automation-data-mapping-automation-swagger.json +0 -0
- {onetrust_api-1.1.0 → onetrust_api-1.3.2}/onetrust_api/specs/privacy-automation-data-mapping-automation.json +0 -0
- {onetrust_api-1.1.0 → onetrust_api-1.3.2}/onetrust_api/specs/privacy-automation-data-subject-request-dsr-automation.json +0 -0
- {onetrust_api-1.1.0 → onetrust_api-1.3.2}/onetrust_api/specs/privacy-automation-incident-management.json +0 -0
- {onetrust_api-1.1.0 → onetrust_api-1.3.2}/onetrust_api/specs/tech-risk-compliance-audit-management.json +0 -0
- {onetrust_api-1.1.0 → onetrust_api-1.3.2}/onetrust_api/specs/tech-risk-compliance-compliance-automation.json +0 -0
- {onetrust_api-1.1.0 → onetrust_api-1.3.2}/onetrust_api/specs/tech-risk-compliance-enterprise-policy-management.json +0 -0
- {onetrust_api-1.1.0 → onetrust_api-1.3.2}/onetrust_api/specs/tech-risk-compliance-issues-management.json +0 -0
- {onetrust_api-1.1.0 → onetrust_api-1.3.2}/onetrust_api/specs/tech-risk-compliance-it-risk-management.json +0 -0
- {onetrust_api-1.1.0 → onetrust_api-1.3.2}/onetrust_api/specs/tech-risk-compliance-training.json +0 -0
- {onetrust_api-1.1.0 → onetrust_api-1.3.2}/onetrust_api/specs/third-party-management-third-party-risk-management.json +0 -0
- {onetrust_api-1.1.0 → onetrust_api-1.3.2}/onetrust_api.egg-info/dependency_links.txt +0 -0
- {onetrust_api-1.1.0 → onetrust_api-1.3.2}/requirements.txt +0 -0
- {onetrust_api-1.1.0 → onetrust_api-1.3.2}/setup.cfg +0 -0
- {onetrust_api-1.1.0 → onetrust_api-1.3.2}/tests/__init__.py +0 -0
- {onetrust_api-1.1.0 → onetrust_api-1.3.2}/tests/conftest.py +0 -0
- {onetrust_api-1.1.0 → onetrust_api-1.3.2}/tests/test_onetrust_api_brute_force_coverage.py +0 -0
|
@@ -0,0 +1,688 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: onetrust-api
|
|
3
|
+
Version: 1.3.2
|
|
4
|
+
Summary: OneTrust API + MCP Server + A2A Agent — 100% API coverage
|
|
5
|
+
Author-email: Project Maintainers <maintainers@users.noreply.github.com>
|
|
6
|
+
License: MIT
|
|
7
|
+
Classifier: Development Status :: 4 - Beta
|
|
8
|
+
Classifier: License :: OSI Approved :: MIT License
|
|
9
|
+
Classifier: Environment :: Console
|
|
10
|
+
Classifier: Operating System :: POSIX :: Linux
|
|
11
|
+
Classifier: Programming Language :: Python :: 3
|
|
12
|
+
Requires-Python: >=3.12
|
|
13
|
+
Description-Content-Type: text/markdown
|
|
14
|
+
License-File: LICENSE
|
|
15
|
+
Requires-Dist: agent-connector-sdk[mcp]<1.0.0,>=0.3.18
|
|
16
|
+
Requires-Dist: python-dotenv>=1.2.4
|
|
17
|
+
Requires-Dist: requests>=2.34.2
|
|
18
|
+
Provides-Extra: mcp
|
|
19
|
+
Requires-Dist: agent-connector-sdk[mcp]<1.0.0,>=0.3.18; extra == "mcp"
|
|
20
|
+
Provides-Extra: all
|
|
21
|
+
Requires-Dist: onetrust-api[mcp]>=1.3.0; extra == "all"
|
|
22
|
+
Provides-Extra: test
|
|
23
|
+
Requires-Dist: pytest-xdist>=3.8.0; extra == "test"
|
|
24
|
+
Requires-Dist: pytest>=9.1.1; extra == "test"
|
|
25
|
+
Requires-Dist: pytest-asyncio>=1.4.0; extra == "test"
|
|
26
|
+
Requires-Dist: pytest-cov>=7.1.0; extra == "test"
|
|
27
|
+
Dynamic: license-file
|
|
28
|
+
|
|
29
|
+
# OneTrust Api - A2A | AG-UI | MCP
|
|
30
|
+
|
|
31
|
+

|
|
32
|
+

|
|
33
|
+

|
|
34
|
+

|
|
35
|
+

|
|
36
|
+

|
|
37
|
+

|
|
38
|
+

|
|
39
|
+
|
|
40
|
+

|
|
41
|
+

|
|
42
|
+

|
|
43
|
+

|
|
44
|
+
|
|
45
|
+

|
|
46
|
+

|
|
47
|
+

|
|
48
|
+

|
|
49
|
+

|
|
50
|
+

|
|
51
|
+
|
|
52
|
+
*Version: 1.3.2*
|
|
53
|
+
|
|
54
|
+
## Overview
|
|
55
|
+
|
|
56
|
+
**OneTrust Api** is a production-grade Python API client, Model Context Protocol
|
|
57
|
+
(MCP) server, and A2A agent for the [OneTrust](https://www.onetrust.com/) privacy,
|
|
58
|
+
consent, data-governance, and risk platform.
|
|
59
|
+
|
|
60
|
+
It provides **100% coverage of the OneTrust public API** — every operation across
|
|
61
|
+
all **35 OpenAPI specifications** (~600 operations, 7 product areas) is exposed as
|
|
62
|
+
both a typed client method and an action-routed MCP tool. The client, MCP tools,
|
|
63
|
+
and a machine-readable coverage manifest are all **generated from the vendored
|
|
64
|
+
OpenAPI specs** (`onetrust_api/specs/*.json`) by `scripts/generate_from_openapi.py`,
|
|
65
|
+
and a coverage test asserts the three sets stay in lock-step.
|
|
66
|
+
|
|
67
|
+
### Key Features
|
|
68
|
+
|
|
69
|
+
- **100% Action-Routed MCP Tools** — one consolidated tool per domain (e.g.
|
|
70
|
+
`onetrust_incidents`, `onetrust_dsar`, `onetrust_assessments`) takes an `action`
|
|
71
|
+
plus a `params_json` payload and routes to the underlying API method. 36 tools
|
|
72
|
+
cover every endpoint without flooding the IDE tool list.
|
|
73
|
+
- **Full OneTrust surface** — AI Governance, Consent & Preference Management,
|
|
74
|
+
Data Use Governance, Privacy Automation (DSAR, Assessments, Data Mapping,
|
|
75
|
+
Incidents), Tech Risk & Compliance, Third-Party Management, ESG, and Platform.
|
|
76
|
+
- **Flexible auth** — a pre-minted OAuth2 bearer token *or* the OAuth2
|
|
77
|
+
client-credentials flow (auto-exchanged and refreshed), plus OIDC delegation
|
|
78
|
+
(RFC 8693) via `agent-connector-sdk`.
|
|
79
|
+
- **Multi-region / multi-service aware** — regional tenant pods, the consent
|
|
80
|
+
privacy-portal host, and on-prem worker nodes are resolved per-operation.
|
|
81
|
+
- **Resilient** — honours `429` `Retry-After`, retries transient `5xx`, and
|
|
82
|
+
handles both OneTrust pagination styles (offset and cursor).
|
|
83
|
+
|
|
84
|
+
## MCP
|
|
85
|
+
|
|
86
|
+
### Using as an MCP Server
|
|
87
|
+
|
|
88
|
+
The MCP Server runs in `stdio` (local) or `streamable-http` (networked) mode.
|
|
89
|
+
Each domain is a tool gated by a `{TAG}TOOL` environment variable (default `True`),
|
|
90
|
+
so the operator can scope the surface (e.g. set `ESGTOOL=False` to drop ESG).
|
|
91
|
+
|
|
92
|
+
#### Environment Variables
|
|
93
|
+
|
|
94
|
+
<!-- ENV-VARS-TABLE:START -->
|
|
95
|
+
|
|
96
|
+
#### Package environment variables
|
|
97
|
+
|
|
98
|
+
| Variable | Example | Description |
|
|
99
|
+
|----------|---------|-------------|
|
|
100
|
+
| `ONETRUST_URL` | — | ─── OneTrust connection ─────────────────────────────────────────────── Tenant host URL (overrides ONETRUST_REGION). e.g. https://acme.my.onetrust.com |
|
|
101
|
+
| `ONETRUST_REGION` | `us` | Or pick a shared regional pod: us, eu, de, uk, au, ca, fr, in, jp, trial, uat ... |
|
|
102
|
+
| `ONETRUST_TOKEN` | secret-injected | ─── Authentication (use ONE of the two) ─────────────────────────────── 1) Pre-minted OAuth2 bearer token (Global Settings > Access Management > Credentials) |
|
|
103
|
+
| `ONETRUST_CLIENT_ID` | — | 2) OAuth2 client-credentials (exchanged at /api/access/v1/oauth/token) |
|
|
104
|
+
| `ONETRUST_CLIENT_SECRET` | secret-injected | |
|
|
105
|
+
| `ONETRUST_CONSENT_URL` | — | ─── Optional service hosts ──────────────────────────────────────────── Consent transaction / privacy-portal host (consent_receipts, universal_consent ...) |
|
|
106
|
+
| `ONETRUST_WORKER_URL` | — | On-prem Data Discovery worker-node host |
|
|
107
|
+
| `TLS_PROFILE` | `private-pki` | ─── HTTP behaviour ──────────────────────────────────────────────────── TLS verification is mandatory. Select a named runtime profile from AgentConfig. |
|
|
108
|
+
| `TLS_PROFILES_REF` | `secret://runtime/tls-profiles` | |
|
|
109
|
+
| `FASTMCP_LOG_LEVEL` | `INFO` | ─── MCP transport / auth (agent-connector-sdk) ──────────────────────────── |
|
|
110
|
+
| `TRANSPORT` | `stdio` | |
|
|
111
|
+
| `AUTH_TYPE` | `none` | |
|
|
112
|
+
| `ACCESS_MANAGEMENTTOOL` | `True` | ─── Tool Toggle Switches (per-domain <DOMAIN>TOOL; set False to disable) ─ These names match the authoritative "Toggle Env Var" column in the README MCP tools table (condensed action-routed surface). |
|
|
113
|
+
| `AI_GOVERNANCETOOL` | `True` | |
|
|
114
|
+
| `CUSTOM_APITOOL` | `True` | |
|
|
115
|
+
| `ASSESSMENTSTOOL` | `True` | |
|
|
116
|
+
| `AUDIT_MANAGEMENTTOOL` | `True` | |
|
|
117
|
+
| `BULK_EXPORTTOOL` | `True` | |
|
|
118
|
+
| `CMPTOOL` | `True` | |
|
|
119
|
+
| `COMPLIANCE_AUTOMATIONTOOL` | `True` | |
|
|
120
|
+
| `CONSENT_INTERFACESTOOL` | `True` | |
|
|
121
|
+
| `CONSENT_RECEIPTSTOOL` | `True` | |
|
|
122
|
+
| `COOKIE_CONSENTTOOL` | `True` | |
|
|
123
|
+
| `COOKIE_CONSENT_LEGACYTOOL` | `True` | |
|
|
124
|
+
| `COOKIE_DOMAIN_DATATOOL` | `True` | |
|
|
125
|
+
| `CROSS_DEVICE_CONSENTTOOL` | `True` | |
|
|
126
|
+
| `DATA_CATALOGTOOL` | `True` | |
|
|
127
|
+
| `DATA_DISCOVERYTOOL` | `True` | |
|
|
128
|
+
| `DATA_DISCOVERY_WORKERTOOL` | `True` | |
|
|
129
|
+
| `DATA_MAPPINGTOOL` | `True` | |
|
|
130
|
+
| `DATA_MAPPING_LEGACYTOOL` | `True` | |
|
|
131
|
+
| `DOCUMENTSTOOL` | `True` | |
|
|
132
|
+
| `DSARTOOL` | `True` | |
|
|
133
|
+
| `ESGTOOL` | `True` | |
|
|
134
|
+
| `INCIDENTSTOOL` | `True` | |
|
|
135
|
+
| `INTEGRATIONSTOOL` | `True` | |
|
|
136
|
+
| `INVENTORYTOOL` | `True` | |
|
|
137
|
+
| `ISSUES_MANAGEMENTTOOL` | `True` | |
|
|
138
|
+
| `IT_RISK_MANAGEMENTTOOL` | `True` | |
|
|
139
|
+
| `MOBILE_APP_CONSENTTOOL` | `True` | |
|
|
140
|
+
| `OBJECT_MANAGERTOOL` | `True` | |
|
|
141
|
+
| `POLICY_MANAGEMENTTOOL` | `True` | |
|
|
142
|
+
| `PRIVACY_NOTICESTOOL` | `True` | |
|
|
143
|
+
| `TASK_MANAGEMENTTOOL` | `True` | |
|
|
144
|
+
| `TPRMTOOL` | `True` | |
|
|
145
|
+
| `TRAININGTOOL` | `True` | |
|
|
146
|
+
| `UNIVERSAL_CONSENTTOOL` | `True` | |
|
|
147
|
+
| `USER_PROVISIONINGTOOL` | `True` | |
|
|
148
|
+
| `ONETRUST_API_MCP_IMAGE` | — | ─── Deployment images ──────────────────────────────────────────────── Supply operator-approved immutable image@sha256 references for deployment. |
|
|
149
|
+
| `ONETRUST_API_AGENT_IMAGE` | — | |
|
|
150
|
+
| `ONETRUST_TLS_PROFILE` | — | ─── Service-specific TLS selection ──────────────────────────────────── Optional named profile and runtime profile reference; verification stays mandatory. |
|
|
151
|
+
| `ONETRUST_TLS_PROFILE_REF` | — | |
|
|
152
|
+
| `INGESTTOOL` | — | The drift scanner derives this name from register_ingest_tools, but this connector registers ingest tools directly and does not read this toggle. This is documentation of that limitation, not a working disable switch. |
|
|
153
|
+
|
|
154
|
+
#### Inherited agent-connector-sdk variables (apply to every connector)
|
|
155
|
+
|
|
156
|
+
| Variable | Example | Description |
|
|
157
|
+
|----------|---------|-------------|
|
|
158
|
+
| `HOST` | `127.0.0.1` | Loopback bind host (set an authenticated ingress explicitly) |
|
|
159
|
+
| `PORT` | `8000` | Bind port (HTTP transports) |
|
|
160
|
+
| `MCP_ENABLED_TOOLS` | — | Comma-separated tool allow-list |
|
|
161
|
+
| `MCP_DISABLED_TOOLS` | — | Comma-separated tool deny-list |
|
|
162
|
+
| `MCP_ENABLED_TAGS` | — | Comma-separated tag allow-list |
|
|
163
|
+
| `MCP_DISABLED_TAGS` | — | Comma-separated tag deny-list |
|
|
164
|
+
| `EUNOMIA_TYPE` | `none` | Authorization mode: `none` \| `embedded` \| `remote` |
|
|
165
|
+
| `EUNOMIA_POLICY_FILE` | `mcp_policies.json` | Embedded Eunomia policy file |
|
|
166
|
+
| `EUNOMIA_REMOTE_URL` | — | Remote Eunomia authorization server URL |
|
|
167
|
+
| `ENABLE_OTEL` | `False` | Enable OpenTelemetry export |
|
|
168
|
+
| `OTEL_EXPORTER_OTLP_ENDPOINT` | — | OTLP collector endpoint |
|
|
169
|
+
| `MCP_CLIENT_AUTH` | — | Outbound MCP child auth: `oidc-client-credentials` \| `basic` \| `none` |
|
|
170
|
+
| `OIDC_CLIENT_ID` | — | OIDC client id (service-account auth) |
|
|
171
|
+
| `OIDC_CLIENT_SECRET_REF` | `secret://identity/oidc-client-secret` | Runtime secret reference for the OIDC service account |
|
|
172
|
+
| `MCP_BASIC_AUTH_USERNAME` | — | HTTP Basic username (`MCP_CLIENT_AUTH=basic`) |
|
|
173
|
+
| `MCP_BASIC_AUTH_PASSWORD_REF` | `secret://identity/mcp-basic-password` | Runtime secret reference for HTTP Basic auth (`MCP_CLIENT_AUTH=basic`) |
|
|
174
|
+
| `DEBUG` | `False` | Verbose logging |
|
|
175
|
+
| `PYTHONUNBUFFERED` | `1` | Unbuffered stdout (recommended in containers) |
|
|
176
|
+
| `MCP_URL` | `http://localhost:8000/mcp` | URL of the MCP server the agent connects to |
|
|
177
|
+
|
|
178
|
+
_53 package + 22 inherited variable(s). Auto-generated from `.env.example` + the shared agent-connector-sdk set — do not edit._
|
|
179
|
+
<!-- ENV-VARS-TABLE:END -->
|
|
180
|
+
|
|
181
|
+
|
|
182
|
+
| Variable | Description |
|
|
183
|
+
| --- | --- |
|
|
184
|
+
| `ONETRUST_URL` | Tenant host URL, e.g. `https://acme.my.onetrust.com` (overrides region). |
|
|
185
|
+
| `ONETRUST_REGION` | Shared pod when no URL is set: `us`, `eu`, `de`, `uk`, `au`, `ca`, `fr`, `in`, `jp`, `trial`, `uat`, … (default `us`). |
|
|
186
|
+
| `ONETRUST_TOKEN` | Pre-minted OAuth2 bearer token. |
|
|
187
|
+
| `ONETRUST_CLIENT_ID` / `ONETRUST_CLIENT_SECRET` | OAuth2 client-credentials (exchanged at `/api/access/v1/oauth/token`). |
|
|
188
|
+
| `ONETRUST_CONSENT_URL` | Optional host for consent-transaction APIs (privacy portal). |
|
|
189
|
+
| `ONETRUST_WORKER_URL` | Optional on-prem Data Discovery worker-node host. |
|
|
190
|
+
| `TLS_PROFILE` | Named `AgentConfig` transport-security profile; verification is mandatory. |
|
|
191
|
+
| `TLS_PROFILES_REF` | Runtime secret reference for the TLS profile catalog. |
|
|
192
|
+
| `<DOMAIN>TOOL` | Toggle a domain tool, e.g. `INCIDENTSTOOL`, `DSARTOOL`, `CONSENT_RECEIPTSTOOL` (default `True`). |
|
|
193
|
+
|
|
194
|
+
#### Run in stdio mode (default):
|
|
195
|
+
```bash
|
|
196
|
+
export ONETRUST_URL="https://acme.my.onetrust.com"
|
|
197
|
+
export ONETRUST_TOKEN="your_token"
|
|
198
|
+
onetrust-mcp --transport "stdio"
|
|
199
|
+
```
|
|
200
|
+
|
|
201
|
+
#### Run in HTTP mode:
|
|
202
|
+
```bash
|
|
203
|
+
export ONETRUST_URL="https://acme.my.onetrust.com"
|
|
204
|
+
export ONETRUST_TOKEN="your_token"
|
|
205
|
+
onetrust-mcp --transport "streamable-http" --host "0.0.0.0" --port "8000"
|
|
206
|
+
```
|
|
207
|
+
|
|
208
|
+
### Tool Domains
|
|
209
|
+
|
|
210
|
+
`access_management`, `ai_governance`, `assessments`, `audit_management`,
|
|
211
|
+
`bulk_export`, `cmp`, `compliance_automation`, `consent_interfaces`,
|
|
212
|
+
`consent_receipts`, `cookie_consent`, `cookie_consent_legacy`,
|
|
213
|
+
`cookie_domain_data`, `cross_device_consent`, `data_catalog`, `data_discovery`,
|
|
214
|
+
`data_discovery_worker`, `data_mapping`, `data_mapping_legacy`, `documents`,
|
|
215
|
+
`dsar`, `esg`, `incidents`, `integrations`, `inventory`, `issues_management`,
|
|
216
|
+
`it_risk_management`, `mobile_app_consent`, `object_manager`, `policy_management`,
|
|
217
|
+
`privacy_notices`, `task_management`, `tprm`, `training`, `universal_consent`,
|
|
218
|
+
`user_provisioning` — plus `custom_api` (a raw REST escape hatch).
|
|
219
|
+
|
|
220
|
+
### Available MCP Tools
|
|
221
|
+
|
|
222
|
+
<!-- This table is auto-generated by `python -m agent_connector_sdk.mcp.readme_tools` — do not edit by hand. -->
|
|
223
|
+
|
|
224
|
+
<!-- MCP-TOOLS-TABLE:START -->
|
|
225
|
+
|
|
226
|
+
#### Intent tools
|
|
227
|
+
|
|
228
|
+
| MCP Tool | Kind | Description |
|
|
229
|
+
|----------|------|-------------|
|
|
230
|
+
| `onetrust_access_management` | intent | Manage OneTrust access management operations. |
|
|
231
|
+
| `onetrust_ai_governance` | intent | Manage OneTrust ai governance operations. |
|
|
232
|
+
| `onetrust_api_request` | intent | Execute an arbitrary OneTrust REST API request directly. |
|
|
233
|
+
| `onetrust_assessments` | intent | Manage OneTrust assessments operations. |
|
|
234
|
+
| `onetrust_audit_management` | intent | Manage OneTrust audit management operations. |
|
|
235
|
+
| `onetrust_bulk_export` | intent | Manage OneTrust bulk export operations. |
|
|
236
|
+
| `onetrust_cmp` | intent | Manage OneTrust cmp operations. |
|
|
237
|
+
| `onetrust_compliance_automation` | intent | Manage OneTrust compliance automation operations. |
|
|
238
|
+
| `onetrust_consent_interfaces` | intent | Manage OneTrust consent interfaces operations. |
|
|
239
|
+
| `onetrust_consent_receipts` | intent | Manage OneTrust consent receipts operations. |
|
|
240
|
+
| `onetrust_cookie_consent` | intent | Manage OneTrust cookie consent operations. |
|
|
241
|
+
| `onetrust_cookie_consent_legacy` | intent | Manage OneTrust cookie consent legacy operations. |
|
|
242
|
+
| `onetrust_cookie_domain_data` | intent | Manage OneTrust cookie domain data operations. |
|
|
243
|
+
| `onetrust_cross_device_consent` | intent | Manage OneTrust cross device consent operations. |
|
|
244
|
+
| `onetrust_data_catalog` | intent | Manage OneTrust data catalog operations. |
|
|
245
|
+
| `onetrust_data_discovery` | intent | Manage OneTrust data discovery operations. |
|
|
246
|
+
| `onetrust_data_discovery_worker` | intent | Manage OneTrust data discovery worker operations. |
|
|
247
|
+
| `onetrust_data_mapping` | intent | Manage OneTrust data mapping operations. |
|
|
248
|
+
| `onetrust_data_mapping_legacy` | intent | Manage OneTrust data mapping legacy operations. |
|
|
249
|
+
| `onetrust_documents` | intent | Manage OneTrust documents operations. |
|
|
250
|
+
| `onetrust_dsar` | intent | Manage OneTrust dsar operations. |
|
|
251
|
+
| `onetrust_esg` | intent | Manage OneTrust esg operations. |
|
|
252
|
+
| `onetrust_incidents` | intent | Manage OneTrust incidents operations. |
|
|
253
|
+
| `onetrust_ingest_assessments` | intent | Ingest OneTrust assessments into the KG as typed :Assessment nodes + :Document summaries. |
|
|
254
|
+
| `onetrust_ingest_cookies` | intent | Ingest OneTrust cookie-scan results into the KG as typed :Cookie (+ :CookieDomain) nodes. |
|
|
255
|
+
| `onetrust_ingest_inventories` | intent | Ingest OneTrust data-inventory records into the KG as typed :Inventory (+ :DataElement) nodes. |
|
|
256
|
+
| `onetrust_integrations` | intent | Manage OneTrust integrations operations. |
|
|
257
|
+
| `onetrust_inventory` | intent | Manage OneTrust inventory operations. |
|
|
258
|
+
| `onetrust_issues_management` | intent | Manage OneTrust issues management operations. |
|
|
259
|
+
| `onetrust_it_risk_management` | intent | Manage OneTrust it risk management operations. |
|
|
260
|
+
| `onetrust_mobile_app_consent` | intent | Manage OneTrust mobile app consent operations. |
|
|
261
|
+
| `onetrust_object_manager` | intent | Manage OneTrust object manager operations. |
|
|
262
|
+
| `onetrust_policy_management` | intent | Manage OneTrust policy management operations. |
|
|
263
|
+
| `onetrust_privacy_notices` | intent | Manage OneTrust privacy notices operations. |
|
|
264
|
+
| `onetrust_task_management` | intent | Manage OneTrust task management operations. |
|
|
265
|
+
| `onetrust_tprm` | intent | Manage OneTrust tprm operations. |
|
|
266
|
+
| `onetrust_training` | intent | Manage OneTrust training operations. |
|
|
267
|
+
| `onetrust_universal_consent` | intent | Manage OneTrust universal consent operations. |
|
|
268
|
+
| `onetrust_user_provisioning` | intent | Manage OneTrust user provisioning operations. |
|
|
269
|
+
|
|
270
|
+
_39 intent tool(s) · 0 operation(s). Call an operation as `act(action='<operation>', params={...})` (`ask` for reads); `find(action='describe', params={'action': '<operation>'})` returns its arguments. An operation is enabled unless its `<DOMAIN>TOOL` toggle is set false. Auto-generated — do not edit._
|
|
271
|
+
<!-- MCP-TOOLS-TABLE:END -->
|
|
272
|
+
|
|
273
|
+
### MCP Configuration Examples
|
|
274
|
+
|
|
275
|
+
<!-- MCP-CONFIG-EXAMPLES:START -->
|
|
276
|
+
|
|
277
|
+
> **Install the connector-focused `[mcp]` extra.** Examples use `onetrust-api[mcp]` to add
|
|
278
|
+
> FastMCP / FastAPI through `agent-connector-sdk[mcp]`; the required Agent Utilities core
|
|
279
|
+
> still carries `epistemic-graph[full]`. The `[agent-runtime]` extra additionally
|
|
280
|
+
> enables model orchestration.
|
|
281
|
+
|
|
282
|
+
#### stdio Transport (local IDEs — Cursor, Claude Desktop, VS Code)
|
|
283
|
+
|
|
284
|
+
```json
|
|
285
|
+
{
|
|
286
|
+
"mcpServers": {
|
|
287
|
+
"onetrust-mcp": {
|
|
288
|
+
"command": "uvx",
|
|
289
|
+
"args": [
|
|
290
|
+
"--from",
|
|
291
|
+
"onetrust-api[mcp]",
|
|
292
|
+
"onetrust-mcp"
|
|
293
|
+
],
|
|
294
|
+
"env": {
|
|
295
|
+
"ACCESS_MANAGEMENTTOOL": "True",
|
|
296
|
+
"AI_GOVERNANCETOOL": "True",
|
|
297
|
+
"ASSESSMENTSTOOL": "True",
|
|
298
|
+
"AUDIT_MANAGEMENTTOOL": "True",
|
|
299
|
+
"BULK_EXPORTTOOL": "True",
|
|
300
|
+
"CMPTOOL": "True",
|
|
301
|
+
"COMPLIANCE_AUTOMATIONTOOL": "True",
|
|
302
|
+
"CONSENT_INTERFACESTOOL": "True",
|
|
303
|
+
"CONSENT_RECEIPTSTOOL": "True",
|
|
304
|
+
"COOKIE_CONSENTTOOL": "True",
|
|
305
|
+
"COOKIE_CONSENT_LEGACYTOOL": "True",
|
|
306
|
+
"COOKIE_DOMAIN_DATATOOL": "True",
|
|
307
|
+
"CROSS_DEVICE_CONSENTTOOL": "True",
|
|
308
|
+
"CUSTOM_APITOOL": "True",
|
|
309
|
+
"DATA_CATALOGTOOL": "True",
|
|
310
|
+
"DATA_DISCOVERYTOOL": "True",
|
|
311
|
+
"DATA_DISCOVERY_WORKERTOOL": "True",
|
|
312
|
+
"DATA_MAPPINGTOOL": "True",
|
|
313
|
+
"DATA_MAPPING_LEGACYTOOL": "True",
|
|
314
|
+
"DOCUMENTSTOOL": "True",
|
|
315
|
+
"DSARTOOL": "True",
|
|
316
|
+
"ESGTOOL": "True",
|
|
317
|
+
"INCIDENTSTOOL": "True",
|
|
318
|
+
"INTEGRATIONSTOOL": "True",
|
|
319
|
+
"INVENTORYTOOL": "True",
|
|
320
|
+
"ISSUES_MANAGEMENTTOOL": "True",
|
|
321
|
+
"IT_RISK_MANAGEMENTTOOL": "True",
|
|
322
|
+
"MOBILE_APP_CONSENTTOOL": "True",
|
|
323
|
+
"OBJECT_MANAGERTOOL": "True",
|
|
324
|
+
"ONETRUST_REGION": "us",
|
|
325
|
+
"POLICY_MANAGEMENTTOOL": "True",
|
|
326
|
+
"PRIVACY_NOTICESTOOL": "True",
|
|
327
|
+
"TASK_MANAGEMENTTOOL": "True",
|
|
328
|
+
"TPRMTOOL": "True",
|
|
329
|
+
"TRAININGTOOL": "True",
|
|
330
|
+
"UNIVERSAL_CONSENTTOOL": "True",
|
|
331
|
+
"USER_PROVISIONINGTOOL": "True"
|
|
332
|
+
}
|
|
333
|
+
}
|
|
334
|
+
}
|
|
335
|
+
}
|
|
336
|
+
```
|
|
337
|
+
|
|
338
|
+
Runtime references require an alias-aware launcher such as Arbora. Other
|
|
339
|
+
launchers must omit those entries and inject the resolved values through their
|
|
340
|
+
own runtime secret boundary.
|
|
341
|
+
|
|
342
|
+
#### Streamable-HTTP Transport (networked / production)
|
|
343
|
+
|
|
344
|
+
```json
|
|
345
|
+
{
|
|
346
|
+
"mcpServers": {
|
|
347
|
+
"onetrust-mcp": {
|
|
348
|
+
"command": "uvx",
|
|
349
|
+
"args": [
|
|
350
|
+
"--from",
|
|
351
|
+
"onetrust-api[mcp]",
|
|
352
|
+
"onetrust-mcp",
|
|
353
|
+
"--transport",
|
|
354
|
+
"streamable-http",
|
|
355
|
+
"--port",
|
|
356
|
+
"8000"
|
|
357
|
+
],
|
|
358
|
+
"env": {
|
|
359
|
+
"TRANSPORT": "streamable-http",
|
|
360
|
+
"HOST": "127.0.0.1",
|
|
361
|
+
"PORT": "8000",
|
|
362
|
+
"ACCESS_MANAGEMENTTOOL": "True",
|
|
363
|
+
"AI_GOVERNANCETOOL": "True",
|
|
364
|
+
"ASSESSMENTSTOOL": "True",
|
|
365
|
+
"AUDIT_MANAGEMENTTOOL": "True",
|
|
366
|
+
"BULK_EXPORTTOOL": "True",
|
|
367
|
+
"CMPTOOL": "True",
|
|
368
|
+
"COMPLIANCE_AUTOMATIONTOOL": "True",
|
|
369
|
+
"CONSENT_INTERFACESTOOL": "True",
|
|
370
|
+
"CONSENT_RECEIPTSTOOL": "True",
|
|
371
|
+
"COOKIE_CONSENTTOOL": "True",
|
|
372
|
+
"COOKIE_CONSENT_LEGACYTOOL": "True",
|
|
373
|
+
"COOKIE_DOMAIN_DATATOOL": "True",
|
|
374
|
+
"CROSS_DEVICE_CONSENTTOOL": "True",
|
|
375
|
+
"CUSTOM_APITOOL": "True",
|
|
376
|
+
"DATA_CATALOGTOOL": "True",
|
|
377
|
+
"DATA_DISCOVERYTOOL": "True",
|
|
378
|
+
"DATA_DISCOVERY_WORKERTOOL": "True",
|
|
379
|
+
"DATA_MAPPINGTOOL": "True",
|
|
380
|
+
"DATA_MAPPING_LEGACYTOOL": "True",
|
|
381
|
+
"DOCUMENTSTOOL": "True",
|
|
382
|
+
"DSARTOOL": "True",
|
|
383
|
+
"ESGTOOL": "True",
|
|
384
|
+
"INCIDENTSTOOL": "True",
|
|
385
|
+
"INTEGRATIONSTOOL": "True",
|
|
386
|
+
"INVENTORYTOOL": "True",
|
|
387
|
+
"ISSUES_MANAGEMENTTOOL": "True",
|
|
388
|
+
"IT_RISK_MANAGEMENTTOOL": "True",
|
|
389
|
+
"MOBILE_APP_CONSENTTOOL": "True",
|
|
390
|
+
"OBJECT_MANAGERTOOL": "True",
|
|
391
|
+
"ONETRUST_REGION": "us",
|
|
392
|
+
"POLICY_MANAGEMENTTOOL": "True",
|
|
393
|
+
"PRIVACY_NOTICESTOOL": "True",
|
|
394
|
+
"TASK_MANAGEMENTTOOL": "True",
|
|
395
|
+
"TPRMTOOL": "True",
|
|
396
|
+
"TRAININGTOOL": "True",
|
|
397
|
+
"UNIVERSAL_CONSENTTOOL": "True",
|
|
398
|
+
"USER_PROVISIONINGTOOL": "True"
|
|
399
|
+
}
|
|
400
|
+
}
|
|
401
|
+
}
|
|
402
|
+
}
|
|
403
|
+
```
|
|
404
|
+
|
|
405
|
+
Alternatively, connect to a pre-deployed Streamable-HTTP instance by `url`:
|
|
406
|
+
|
|
407
|
+
```json
|
|
408
|
+
{
|
|
409
|
+
"mcpServers": {
|
|
410
|
+
"onetrust-mcp": {
|
|
411
|
+
"url": "http://localhost:8000/onetrust-mcp/mcp"
|
|
412
|
+
}
|
|
413
|
+
}
|
|
414
|
+
}
|
|
415
|
+
```
|
|
416
|
+
|
|
417
|
+
Run a reviewed container image as a least-privilege stdio child (no
|
|
418
|
+
listener or published port):
|
|
419
|
+
|
|
420
|
+
```bash
|
|
421
|
+
docker run -i --rm \
|
|
422
|
+
--read-only \
|
|
423
|
+
--cap-drop=ALL \
|
|
424
|
+
--security-opt=no-new-privileges \
|
|
425
|
+
--pids-limit=256 \
|
|
426
|
+
--tmpfs /tmp:rw,noexec,nosuid,nodev,size=64m \
|
|
427
|
+
-e TRANSPORT=stdio \
|
|
428
|
+
-e ACCESS_MANAGEMENTTOOL=True \
|
|
429
|
+
-e AI_GOVERNANCETOOL=True \
|
|
430
|
+
-e ASSESSMENTSTOOL=True \
|
|
431
|
+
-e AUDIT_MANAGEMENTTOOL=True \
|
|
432
|
+
-e BULK_EXPORTTOOL=True \
|
|
433
|
+
-e CMPTOOL=True \
|
|
434
|
+
-e COMPLIANCE_AUTOMATIONTOOL=True \
|
|
435
|
+
-e CONSENT_INTERFACESTOOL=True \
|
|
436
|
+
-e CONSENT_RECEIPTSTOOL=True \
|
|
437
|
+
-e COOKIE_CONSENTTOOL=True \
|
|
438
|
+
-e COOKIE_CONSENT_LEGACYTOOL=True \
|
|
439
|
+
-e COOKIE_DOMAIN_DATATOOL=True \
|
|
440
|
+
-e CROSS_DEVICE_CONSENTTOOL=True \
|
|
441
|
+
-e CUSTOM_APITOOL=True \
|
|
442
|
+
-e DATA_CATALOGTOOL=True \
|
|
443
|
+
-e DATA_DISCOVERYTOOL=True \
|
|
444
|
+
-e DATA_DISCOVERY_WORKERTOOL=True \
|
|
445
|
+
-e DATA_MAPPINGTOOL=True \
|
|
446
|
+
-e DATA_MAPPING_LEGACYTOOL=True \
|
|
447
|
+
-e DOCUMENTSTOOL=True \
|
|
448
|
+
-e DSARTOOL=True \
|
|
449
|
+
-e ESGTOOL=True \
|
|
450
|
+
-e INCIDENTSTOOL=True \
|
|
451
|
+
-e INTEGRATIONSTOOL=True \
|
|
452
|
+
-e INVENTORYTOOL=True \
|
|
453
|
+
-e ISSUES_MANAGEMENTTOOL=True \
|
|
454
|
+
-e IT_RISK_MANAGEMENTTOOL=True \
|
|
455
|
+
-e MOBILE_APP_CONSENTTOOL=True \
|
|
456
|
+
-e OBJECT_MANAGERTOOL=True \
|
|
457
|
+
-e ONETRUST_REGION=us \
|
|
458
|
+
-e POLICY_MANAGEMENTTOOL=True \
|
|
459
|
+
-e PRIVACY_NOTICESTOOL=True \
|
|
460
|
+
-e TASK_MANAGEMENTTOOL=True \
|
|
461
|
+
-e TPRMTOOL=True \
|
|
462
|
+
-e TRAININGTOOL=True \
|
|
463
|
+
-e UNIVERSAL_CONSENTTOOL=True \
|
|
464
|
+
-e USER_PROVISIONINGTOOL=True \
|
|
465
|
+
registry.example.invalid/onetrust-api@sha256:<digest> onetrust-mcp
|
|
466
|
+
```
|
|
467
|
+
|
|
468
|
+
For containerized network HTTP, supply an authenticated TLS ingress (or
|
|
469
|
+
direct server TLS), exact `MCP_ALLOWED_HOSTS`, and an exact trusted-proxy
|
|
470
|
+
CIDR policy through the operator-owned deployment profile. The generator
|
|
471
|
+
does not emit an unauthenticated non-loopback listener.
|
|
472
|
+
|
|
473
|
+
_Auto-generated from the code-read env surface (package vars) — do not edit._
|
|
474
|
+
<!-- MCP-CONFIG-EXAMPLES:END -->
|
|
475
|
+
|
|
476
|
+
## A2A Agent
|
|
477
|
+
|
|
478
|
+
### Run A2A Server
|
|
479
|
+
```bash
|
|
480
|
+
export ONETRUST_URL="https://acme.my.onetrust.com"
|
|
481
|
+
export ONETRUST_TOKEN="your_token"
|
|
482
|
+
onetrust-agent --provider openai --model-id gpt-4o --api-key sk-...
|
|
483
|
+
```
|
|
484
|
+
|
|
485
|
+
## Docker
|
|
486
|
+
|
|
487
|
+
### Build
|
|
488
|
+
|
|
489
|
+
```bash
|
|
490
|
+
docker build -t onetrust-api .
|
|
491
|
+
```
|
|
492
|
+
|
|
493
|
+
### Run MCP Server
|
|
494
|
+
|
|
495
|
+
```bash
|
|
496
|
+
docker run -d \
|
|
497
|
+
--name onetrust-api-mcp \
|
|
498
|
+
-p 8000:8000 \
|
|
499
|
+
-e TRANSPORT=streamable-http \
|
|
500
|
+
-e PORT=8000 \
|
|
501
|
+
-e ONETRUST_URL="https://acme.my.onetrust.com" \
|
|
502
|
+
-e ONETRUST_TOKEN="your_token" \
|
|
503
|
+
example/onetrust-api:mcp
|
|
504
|
+
```
|
|
505
|
+
|
|
506
|
+
> The `:mcp` tag is the **MCP-serving image** (built from
|
|
507
|
+
> `docker/Dockerfile --target mcp`, installing `onetrust-api[mcp]`). The default
|
|
508
|
+
> the immutable agent image is the **full agent image** (`--target agent`, `onetrust-api[agent]`)
|
|
509
|
+
> which also bundles the Pydantic AI agent and the epistemic-graph engine — use it
|
|
510
|
+
> when the operator run `onetrust-agent` (the agent), not just the MCP server. See
|
|
511
|
+
> [Container images](#container-images-mcp-vs-agent).
|
|
512
|
+
|
|
513
|
+
### Deploy with Docker Compose
|
|
514
|
+
|
|
515
|
+
```yaml
|
|
516
|
+
services:
|
|
517
|
+
onetrust-api-mcp:
|
|
518
|
+
image: example/onetrust-api:mcp
|
|
519
|
+
environment:
|
|
520
|
+
- HOST=0.0.0.0
|
|
521
|
+
- PORT=8000
|
|
522
|
+
- TRANSPORT=streamable-http
|
|
523
|
+
- ONETRUST_URL=https://acme.my.onetrust.com
|
|
524
|
+
- ONETRUST_TOKEN=your_token
|
|
525
|
+
ports:
|
|
526
|
+
- 8000:8000
|
|
527
|
+
```
|
|
528
|
+
|
|
529
|
+
## Installation
|
|
530
|
+
|
|
531
|
+
Pick the extra that matches what the operator want to run:
|
|
532
|
+
|
|
533
|
+
| Extra | Installs | Use when |
|
|
534
|
+
|-------|----------|----------|
|
|
535
|
+
| `onetrust-api[mcp]` | Connector-focused MCP server (`agent-connector-sdk[mcp]` — FastMCP/FastAPI + `epistemic-graph[full]`) | The operator only run the **MCP server** (smallest install / image) |
|
|
536
|
+
| `onetrust-api[agent]` | Agent runtime (`agent-connector-sdk[agent-runtime,logfire]` — model orchestration + `epistemic-graph[full]`) | The operator run the **integrated agent** |
|
|
537
|
+
| `onetrust-api[all]` | Everything (`mcp` + `agent`) | Development / both surfaces |
|
|
538
|
+
|
|
539
|
+
```bash
|
|
540
|
+
# Connector-focused MCP server (includes the shared graph engine)
|
|
541
|
+
uv pip install "onetrust-api[mcp]"
|
|
542
|
+
|
|
543
|
+
# Agent runtime (adds model orchestration to the shared graph engine)
|
|
544
|
+
uv pip install "onetrust-api[agent]"
|
|
545
|
+
|
|
546
|
+
# Everything (development)
|
|
547
|
+
uv pip install "onetrust-api[all]" # or: python -m pip install "onetrust-api[all]"
|
|
548
|
+
```
|
|
549
|
+
|
|
550
|
+
### Container images (`:mcp` vs `:agent`)
|
|
551
|
+
|
|
552
|
+
One multi-stage `docker/Dockerfile` builds two right-sized images, selected by `--target`:
|
|
553
|
+
|
|
554
|
+
| Image tag | Build target | Contents | Entrypoint |
|
|
555
|
+
|-----------|--------------|----------|------------|
|
|
556
|
+
| `example/onetrust-api:mcp` | `--target mcp` | `onetrust-api[mcp]` — **connector-focused**, includes `epistemic-graph[full]`; no model-orchestration stack | `onetrust-mcp` |
|
|
557
|
+
| `example/onetrust-api@sha256:<digest>` | `--target agent` (default) | `onetrust-api[agent]` — **agent runtime**, model orchestration + `epistemic-graph[full]` | `onetrust-agent` |
|
|
558
|
+
|
|
559
|
+
```bash
|
|
560
|
+
docker build --target mcp -t example/onetrust-api:mcp docker/ # connector-focused MCP server
|
|
561
|
+
docker build --target agent -t example/onetrust-api:agent-local docker/ # agent runtime
|
|
562
|
+
```
|
|
563
|
+
|
|
564
|
+
`docker/mcp.compose.yml` runs the connector-focused `:mcp` server; `docker/agent.compose.yml` runs the
|
|
565
|
+
agent (`immutable agent digest`) with a co-located `:mcp` sidecar.
|
|
566
|
+
|
|
567
|
+
### Knowledge-graph database (`epistemic-graph`)
|
|
568
|
+
|
|
569
|
+
Both `[mcp]` and `[agent]` carry the **epistemic-graph** engine through the required
|
|
570
|
+
Agent Utilities core dependency (`epistemic-graph[full]`). The `[mcp]` extra keeps
|
|
571
|
+
the server connector-focused; `[agent]` also enables model orchestration. Local
|
|
572
|
+
deployments can use the bundled engine. For production or shared state, run
|
|
573
|
+
**epistemic-graph as a dedicated database service** and configure the runtime to use it.
|
|
574
|
+
Deployment recipes (single-node + Raft HA), connection configuration, and architecture
|
|
575
|
+
diagrams are documented in the
|
|
576
|
+
[epistemic-graph deployment guide](https://knuckles-team.github.io/epistemic-graph/deployment/).
|
|
577
|
+
|
|
578
|
+
## Environment Variables
|
|
579
|
+
|
|
580
|
+
Every variable the server reads. See [`.env.example`](.env.example) for a copy-paste
|
|
581
|
+
starting point.
|
|
582
|
+
|
|
583
|
+
### Connection & credentials (OneTrust)
|
|
584
|
+
| Variable | Description | Default |
|
|
585
|
+
|----------|-------------|---------|
|
|
586
|
+
| `ONETRUST_URL` | Tenant host URL, e.g. `https://acme.my.onetrust.com` (overrides `ONETRUST_REGION`) | — |
|
|
587
|
+
| `ONETRUST_REGION` | Shared regional pod when no URL is set: `us`, `eu`, `de`, `uk`, `au`, `ca`, `fr`, `in`, `jp`, `trial`, `uat`, … | `us` |
|
|
588
|
+
| `ONETRUST_TOKEN` | Pre-minted OAuth2 bearer token | — |
|
|
589
|
+
| `ONETRUST_CLIENT_ID` | OAuth2 client-credentials client id (exchanged at `/api/access/v1/oauth/token`) | — |
|
|
590
|
+
| `ONETRUST_CLIENT_SECRET` | OAuth2 client-credentials client secret | — |
|
|
591
|
+
| `ONETRUST_CONSENT_URL` | Optional host for consent-transaction APIs (privacy portal) | — |
|
|
592
|
+
| `ONETRUST_WORKER_URL` | Optional on-prem Data Discovery worker-node host | — |
|
|
593
|
+
| `TLS_PROFILE` | Named `AgentConfig` transport-security profile; verification is mandatory | — |
|
|
594
|
+
| `TLS_PROFILES_REF` | Runtime secret reference for the TLS profile catalog | — |
|
|
595
|
+
|
|
596
|
+
### MCP server / transport
|
|
597
|
+
| Variable | Description | Default |
|
|
598
|
+
|----------|-------------|---------|
|
|
599
|
+
| `TRANSPORT` | `stdio`, `streamable-http`, or `sse` | `stdio` |
|
|
600
|
+
| `HOST` | Bind host (HTTP transports) | `0.0.0.0` |
|
|
601
|
+
| `PORT` | Bind port (HTTP transports) | `8000` |
|
|
602
|
+
| `AUTH_TYPE` | MCP transport auth mode (`none`, …) | `none` |
|
|
603
|
+
| `MCP_TOOL_MODE` | Tool surface: `condensed`, `verbose`, or `both` | `condensed` |
|
|
604
|
+
| `MCP_ENABLED_TOOLS` / `MCP_DISABLED_TOOLS` | Comma-separated tool allow/deny list | — |
|
|
605
|
+
| `MCP_ENABLED_TAGS` / `MCP_DISABLED_TAGS` | Comma-separated tag allow/deny list | — |
|
|
606
|
+
| `FASTMCP_LOG_LEVEL` | FastMCP log level (e.g. `INFO`, `DEBUG`) | `INFO` |
|
|
607
|
+
| `DEBUG` | Verbose logging | `False` |
|
|
608
|
+
| `PYTHONUNBUFFERED` | Unbuffered stdout (recommended in containers) | `1` |
|
|
609
|
+
|
|
610
|
+
### Tool toggles
|
|
611
|
+
Each action-routed domain tool can be disabled individually via its `<DOMAIN>TOOL` toggle env
|
|
612
|
+
var (set to `false`). The full list is in the [Available MCP Tools](#available-mcp-tools) table
|
|
613
|
+
above (e.g. `INCIDENTSTOOL`, `DSARTOOL`, `CONSENT_RECEIPTSTOOL`, `ESGTOOL`).
|
|
614
|
+
|
|
615
|
+
### Telemetry & governance
|
|
616
|
+
| Variable | Description | Default |
|
|
617
|
+
|----------|-------------|---------|
|
|
618
|
+
| `ENABLE_OTEL` | Enable OpenTelemetry export | `True` |
|
|
619
|
+
| `OTEL_EXPORTER_OTLP_ENDPOINT` | OTLP collector endpoint | — |
|
|
620
|
+
| `OTEL_EXPORTER_OTLP_PUBLIC_KEY` / `OTEL_EXPORTER_OTLP_SECRET_KEY` | OTLP auth keys | — |
|
|
621
|
+
| `OTEL_EXPORTER_OTLP_PROTOCOL` | OTLP protocol (e.g. `http/protobuf`) | — |
|
|
622
|
+
| `EUNOMIA_TYPE` | Authorization mode: `none`, `embedded`, `remote` | `none` |
|
|
623
|
+
| `EUNOMIA_POLICY_FILE` | Embedded policy file | `mcp_policies.json` |
|
|
624
|
+
| `EUNOMIA_REMOTE_URL` | Remote Eunomia server URL | — |
|
|
625
|
+
|
|
626
|
+
### Agent CLI (full `[agent]` runtime only)
|
|
627
|
+
| Variable | Description | Default |
|
|
628
|
+
|----------|-------------|---------|
|
|
629
|
+
| `MCP_URL` | URL of the MCP server the agent connects to | `http://localhost:8000/mcp` |
|
|
630
|
+
|
|
631
|
+
## Documentation
|
|
632
|
+
|
|
633
|
+
The complete documentation is published as the
|
|
634
|
+
[official documentation site](https://knuckles-team.github.io/onetrust-api/) and is
|
|
635
|
+
the source of truth for installation, usage, and deployment.
|
|
636
|
+
|
|
637
|
+
| Page | Covers |
|
|
638
|
+
| --- | --- |
|
|
639
|
+
| [Overview](https://knuckles-team.github.io/onetrust-api/overview/) | the action-routed tool surface and architecture |
|
|
640
|
+
| [Installation](https://knuckles-team.github.io/onetrust-api/installation/) | pip, source, extras, prebuilt Docker image |
|
|
641
|
+
| [Usage (API / CLI / MCP)](https://knuckles-team.github.io/onetrust-api/usage/) | the MCP tools, the `Api` client, the CLI |
|
|
642
|
+
| [Deployment](https://knuckles-team.github.io/onetrust-api/deployment/) | run the MCP and agent servers, Compose, env config |
|
|
643
|
+
|
|
644
|
+
## Repository Owners
|
|
645
|
+
|
|
646
|
+
<img width="100%" height="180em" src="https://github-readme-stats.vercel.app/api?username=example&show_icons=true&hide_border=true&&count_private=true&include_all_commits=true" />
|
|
647
|
+
|
|
648
|
+

|
|
649
|
+

|
|
650
|
+
|
|
651
|
+
|
|
652
|
+
<!-- BEGIN agent-connector-sdk-deployment (generated; do not edit between markers) -->
|
|
653
|
+
|
|
654
|
+
## Deploy with `agent-connector-sdk-deployment`
|
|
655
|
+
|
|
656
|
+
Provision this package with the consolidated **`agent-connector-sdk-deployment`**
|
|
657
|
+
workflow. It selects an installed-package, editable-source, or immutable-container
|
|
658
|
+
path; records only runtime secret and TLS-profile references in `AgentConfig`; and
|
|
659
|
+
runs doctor, registration, policy, observability, and rollback gates. Ask your agent
|
|
660
|
+
to **"deploy `onetrust-api` with agent-connector-sdk-deployment"**.
|
|
661
|
+
|
|
662
|
+
| Install mode | Command |
|
|
663
|
+
|------|---------|
|
|
664
|
+
| Installed package | `uv tool install "onetrust-api[mcp]"`, then run `onetrust-mcp` |
|
|
665
|
+
| Editable source | `uv pip install -e ".[agent]"`, then run `onetrust-mcp` |
|
|
666
|
+
| Immutable container | deploy `registry.example.invalid/onetrust-api@sha256:<digest>` through the operator-selected orchestrator |
|
|
667
|
+
|
|
668
|
+
The repository embeds no deployment profile, credential value, certificate path, or
|
|
669
|
+
environment-specific endpoint. Supply those at runtime through `AgentConfig` and the
|
|
670
|
+
configured secret provider.
|
|
671
|
+
|
|
672
|
+
<!-- END agent-connector-sdk-deployment -->
|
|
673
|
+
|
|
674
|
+
<!-- GOVERNED-CAPABILITY:START -->
|
|
675
|
+
## Governed capability contract
|
|
676
|
+
|
|
677
|
+
This package ships a compact canonical skill surface with specialist procedures
|
|
678
|
+
kept as referenced workflows. The current MCP tools, skill metadata,
|
|
679
|
+
`connector_manifest.yml`, ontology, mappings, shapes, fixtures, migrations,
|
|
680
|
+
tool-schema fingerprints, and certification metadata form one versioned
|
|
681
|
+
capability contract. Validate them together; do not rely on stale tool names or
|
|
682
|
+
historical per-task skill wrappers.
|
|
683
|
+
|
|
684
|
+
Runtime endpoints, credentials, certificate trust, tenant identity, retention,
|
|
685
|
+
and observability policy are deployment inputs and are never packaged values.
|
|
686
|
+
See [Configuration, trust, and privacy](docs/configuration.md) before enabling a
|
|
687
|
+
network transport, connector ingestion, Arbora delegation, or trace export.
|
|
688
|
+
<!-- GOVERNED-CAPABILITY:END -->
|