tenable-identity-exposure-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| TIE_URL | Yes | Base URL, e.g. https://your-client.tenable.ad | |
| TIE_API_KEY | Yes | API key for authentication | |
| TIE_VERIFY_SSL | No | Whether to verify SSL certificates. Default: true. Set to 'false' for self-signed certs. | true |
| TIE_ALLOW_WRITES | No | Whether to allow write operations. Default: false. | false |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| tie_catalogA | List all available Tenable Identity Exposure API resources and their paths. Call this first to discover what resources exist before using other tools. |
| tie_requestA | Make a direct HTTP call to any Tenable Identity Exposure API endpoint. Only server-relative paths are accepted; absolute URLs are refused so the API key cannot be sent to another host. Non-GET methods require the server to have been started with --allow-writes. Credential endpoints are refused for every method, including GET. Args: method: HTTP method (GET, POST, PUT, PATCH, DELETE). path: API path, e.g. "/api/directories" or "/api/attacks/123". params: Optional query string parameters as a dict. body: Optional request body as a dict (used with POST/PUT/PATCH). Returns: Parsed JSON response from the TIE API. |
| tie_resource_actionA | Perform CRUD operations on a TIE resource. Args: resource: Resource name from tie_catalog (e.g. "directories", "attacks", "users"). action: Operation — list, get, create, update, or delete. id: Resource ID for get/update/delete operations. body: Request body for create/update operations. params: Optional query parameters (e.g. pagination, filters). Writes (create/update/delete) require the server to have been started with --allow-writes, and are refused outright for protected resources such as users, roles, the authentication settings, and the monitored AD topology. Credential resources are refused for every action, including list/get. Examples: List all directories: resource="directories", action="list" Get directory #5: resource="directories", action="get", id=5 List recent attacks: resource="attacks", action="list", params={"page": 1} Create a dashboard: resource="dashboards", action="create", body={...} |
| tie_deviances_by_checkerA | List IoE deviances for a given checker within a profile (full detail, no date filter). For a time-bounded view use tie_deviances(hours=...) or tie_recent_activity instead.
The TIE API models this as a POST with a filter Args: checker_id: IoE checker id (see tie_resource_action resource="checkers"). profile_id: Security profile id (default 1). page: Page number (1-based). per_page: Results per page. expression: Optional filter expression object. Defaults to {} (no filter). verbose: If False (default), render descriptions and drop giant attribute values to save tokens. Set True for the full raw payload. |
| tie_deviances_by_directoryA | List IoE deviances for a specific directory (full detail, no date filter). Args: infrastructure_id: Infrastructure (forest) id — see resource="infrastructures". directory_id: Directory id — see resource="directories". page: Page number (1-based). per_page: Results per page. verbose: If False (default), render descriptions and drop giant attribute values. |
| tie_deviancesA | Find AD objects with IoE deviances for a checker within a time window. This is the time-filterable deviance query (server-side dateStart/dateEnd via
the checker's ad-objects/search endpoint). Provide Args: checker_id: IoE checker id (see resource="checkers"). profile_id: Security profile id (default 1). Note: your console may use a non-default profile — call tie_profiles to list them. directory_ids: Restrict to these directory ids (default: all directories in scope). hours: Relative look-back window in hours (e.g. 12). Ignored if date_start given. date_start: Explicit ISO 8601 UTC start (e.g. "2026-07-07T16:00:00.000Z"). date_end: Explicit ISO 8601 UTC end (default: now). reasons: Optional reason ids to filter (see /api/profiles/{id}/checkers/{id}/reasons). show_ignored: Include deviances that are currently ignored (default False). page: Page number (1-based). per_page: Results per page. verbose: If False (default), truncate giant attribute values. |
| tie_attacksA | List IoA attack instances for a resource within a profile. The TIE API requires scoping attacks to a resource. For example, to see attacks against directory id 8: resource_type="directory", resource_value="8". Args: resource_type: What resource_value refers to — infrastructure, directory, hostname, or ip. resource_value: The id (for infrastructure/directory) or name/ip value to scope to. profile_id: Security profile id (default 1). attack_type_ids: Optional list of attack type ids to filter (e.g. DCSync, Kerberoasting). date_start: Optional ISO 8601 start of date range. date_end: Optional ISO 8601 end of date range. include_closed: Include closed attacks (default False). limit: Max results (default 50). order: Sort order by date, "desc" (newest first) or "asc". search: Optional free-text search filter. |
| tie_alertsA | List alerts for a security profile. Args: profile_id: Security profile id (default 1). page: Page number (1-based). per_page: Results per page. archived: Optionally filter by archived status (True/False). |
| tie_scoresA | Get per-directory security scores for a profile. Returns a list of {directoryId, score} reflecting the AD security posture (higher is better; scores reflect outstanding IoE deviances). Args: profile_id: Security profile id (default 1). |
| tie_topologyA | Get the Active Directory topology (domains, forests, and trust relationships). Args: profile_id: Security profile id (default 1). |
| tie_search_eventsA | Search AD security events within a date range. Args: directory_ids: One or more directory ids to search (see resource="directories"). date_start: ISO 8601 start of range, e.g. "2026-07-01T00:00:00.000Z". date_end: ISO 8601 end of range. profile_id: Security profile id (default 1). expression: Optional filter expression object. Defaults to {} (no filter). order: Optional ordering object, e.g. {"column": "date", "direction": "desc"}. |
| tie_whoamiA | Get the current user's identity, roles, and permissions (from the API key). |
| tie_search_ad_objectsA | Find Active Directory objects whose name or DN contains IMPORTANT: /api/ad-objects has no server-side search. It returns the last
known state of every object, cursor-paginated (~1000 per page, roughly
2 MB each on a small forest). Filtering here is therefore CLIENT-SIDE, and
only objects within the scanned prefix can match — raise For deviance investigation prefer tie_deviances / tie_deviances_by_checker, which are filtered server-side. Args:
query: Substring to look for, case-insensitive. Matched against objectId
and the naming attributes (cn, name, displayName, sAMAccountName,
distinguishedName, userPrincipalName) — not against bulk blobs like
ntSecurityDescriptor, which would produce meaningless hits.
directory_id: Restrict to one directory (see resource="directories").
object_class: Substring of the objectClass attribute, e.g. "user",
"computer", "group", "organizationalUnit". Note this is the LDAP
objectClass; the object's own |
| tie_checkers_summaryA | Get all IoE checker definitions — essential fields only, no description blobs. Returns id, codename, name, categoryId, and remediationCost for every checker. This is ~100x smaller than tie_resource_action resource="checkers", which embeds multi-KB description/recommendation/vulnerabilityDetail blobs per checker (~500 KB total for ~64 checkers). Use this to enumerate checkers, build a remediation plan, or map deviance checkerId values to human-readable names. Note: TIE checkers carry remediationCost (easy/medium/hard) but no native severity/ criticality score. For AES (Asset Exposure Score) or ACR (Asset Criticality Rating) scoring, connect to Tenable One — see the README for details. |
| tie_deviances_bulkA | Fetch all IoE deviances in a few paginated calls (bulk alternative to per-checker fan-out). Uses GET /api/deviances/changed with cursor pagination to pull deviances across all checkers at once — typically 1–5 API calls instead of one call per checker (~64). This is the recommended starting point for remediation-plan workflows. Deviances include checkerId and adObjectId (numeric ID, not display name). Use tie_checkers_summary to map checkerId → checker name, and tie_search_ad_objects to resolve adObjectId → object name if needed. Args: profile_id: Filter to a specific profile id (client-side). None = include all profiles. resolved: Include resolved/closed deviances (default False = active only). batch_size: Records per API page (default 200). max_batches: Safety cap on pagination loops (default 20 = up to 4000 records). |
| tie_profilesA | List security profiles (id + name). IoE/IoA data is scoped to a profile. The console has a selected profile that the API does not expose, so pass the right profile_id explicitly to other tools. |
| tie_recent_activityA | Unified recent-activity timeline of IoE alerts and IoA attacks in one call. Answers questions like "show me IoE/IoA in the last 12 hours". IoE is sourced from the profile's alert feed (time-ordered) and each in-window alert is enriched with its deviance detail (checker + rendered description). IoA is sourced from the attacks endpoint per directory. Results are merged and sorted newest-first. All timestamps are UTC. Args:
hours: Look-back window in hours (default 12).
profile_id: Security profile id (default 1). See tie_profiles.
include_ioe: Include IoE deviance alerts (default True).
include_ioa: Include IoA attacks (default True).
directory_ids: Restrict to these directory ids (default: all in scope).
max_items: Cap on items per category — IoE and IoA are budgeted separately
(default 50). The IoA cap applies across all directories, not per
directory; any truncation is reported in |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/ukkugh/tenable-identity-exposure-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server