Skip to main content
Glama
omichelbraga

eSentire Atlas MCP Server

by omichelbraga

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
MCP_AUTHNonone | bearer | oauth/azure | githubnone
MCP_HOSTNoBind address0.0.0.0
MCP_PORTNoBind port3000
LOG_LEVELNoLogging levelinfo
TI_CACHE_TTLNoSeconds. Matches the feed's hourly refresh3600
MCP_TRANSPORTNohttp or stdiohttp
MCP_PUBLIC_URLNoExternal URL; required for OAuth
ATLAS_API_TOKENNoAtlas credential (Findings / Ticketing / MVS)
AZURE_CLIENT_IDNoEntra app client ID for MCP_AUTH=oauth
AZURE_TENANT_IDNoEntra app tenant ID for MCP_AUTH=oauth
MCP_BEARER_TOKENNoShared secret when MCP_AUTH=bearer
ESENTIRE_API_BASENoAPI roothttps://api.esentire.com
ESENTIRE_TI_TOKENNoThreat Intelligence credential
ESENTIRE_READ_ONLYNo1 refuses every mutating call at the doorfalse
MAX_RESPONSE_CHARSNoPer-tool response ceiling40000
AZURE_CLIENT_SECRETNoEntra app client secret for MCP_AUTH=oauth
ESENTIRE_CUSTOMER_CODENoDefault tenant code, so callers can omit it
ESENTIRE_ENABLED_SURFACESNoComma list; drop mvs if not licensedfindings,tickets,ti,mvs

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

CapabilityDetails
tools
{
  "listChanged": true
}
logging
{}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
extensions
{
  "io.modelcontextprotocol/ui": {}
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
findings_searchC

Search eSentire Findings (detections/alerts) for a date range.

This is the API behind the Findings table in the Atlas platform.

findings_search_advancedA

POST variant of the Findings search, for filter payloads too large for a query string.

finding_updateC

Update an existing Finding (WRITE).

tickets_case_type_configsA

List the valid case_type / case_subtype / service combinations.

Always call this before creating a case. The taxonomy is server-driven and changes without notice, so hardcoding subtypes leads to rejected creates.

tickets_list_casesB

List cases from eSentire's ticketing system.

tickets_get_caseA

Get one case in full.

tickets_create_caseA

Create a new case in eSentire's ticketing system (WRITE -- reaches the real SOC).

This opens a genuine support case with eSentire. Confirm intent with a human before calling it. Validate case_type/case_subtype/service against tickets_case_type_configs first; invalid combinations are rejected.

tickets_update_caseA

Update a case: add comments, set customer fields, or resolve it (WRITE).

Resolving is reversible; closing is not. Prefer resolve.

tickets_list_commentsA

List all comments on a case.

The case object itself only carries the latest 5 comments; use this for the rest.

tickets_list_emailsB

List the email correspondence attached to a case.

tickets_list_attachmentsB

List the file attachments on a case.

tickets_get_attachment_linkA

Fetch metadata or a download link for an attachment.

Atlas splits behaviour by size: files <= 5MB can come back inline, while files over 5MB return a link to secure cloud storage. This tool always requests JSON so you get metadata or a link rather than raw bytes -- binary content is not useful over MCP.

tickets_upload_attachmentA

Attach a file to a case (WRITE).

Only handles the inline path, i.e. files <= 5MB. For anything larger, Atlas requires a two-step presigned upload that has to be driven from a real filesystem, not through an MCP tool call.

tickets_delete_attachmentA

Delete an attachment from a case (WRITE -- not reversible).

tickets_list_contactsA

List authorised contacts for your account.

Use this to get an exact contact value for tickets_create_case, since an unresolvable contact is silently dropped rather than rejected.

tickets_list_locationsA

List locations registered for your account.

Same rationale as contacts: an unresolvable location is silently dropped.

ti_ipwatchA

Fetch the eSentire IP Watch blocklist.

Returns a newline-delimited list of malicious IP addresses, suitable for pushing into a firewall or WAF blocklist.

ti_check_ipA

Check whether a specific IP address is on the eSentire IP Watch blocklist.

ti_indicatorsA

Fetch the most recent Indicator Bundles from the Threat Intelligence feed.

Covers IPs, domains, URLs, file hashes and email addresses curated by eSentire's Threat Response Unit. Upstream refreshes hourly, and results are cached for that long, so calling this repeatedly inside an hour returns identical data.

ti_indicators_pagedA

Page through Indicator Bundles from the Threat Intelligence feed.

Use this instead of ti_indicators when you need to walk the whole feed without blowing the response ceiling.

ti_indicators_mispB

Fetch a MISP-format indicator file from the Threat Intelligence feed.

mvs_list_assetsB

List discovered assets and their vulnerability counts.

Asset records use UPPERCASE field names (ASSET_ID, HOSTNAME, THREAT_RATING, VULN_CRITICAL_COUNT, ...). Note there are two parallel count families: SOFTWARE_VULN_*COUNT and VULN*_COUNT.

mvs_get_assetA

Get full detail for one asset.

mvs_asset_detailsB

List a sub-resource of one asset.

mvs_get_asset_vulnerabilityA

Get one vulnerability as it applies to one specific asset.

mvs_list_vulnerabilitiesA

List the vulnerability catalogue across the whole estate.

mvs_get_vulnerabilityA

Get details for one vulnerability, by internal id or by CVE.

mvs_list_missing_patchesA

List missing patches across the whole estate.

mvs_assets_affected_byA

Find every asset affected by a given CVE, vulnerability, or missing patch.

This is the blast-radius question: given one finding, what is exposed? Supply exactly one of cve_id, vulnerability_id, or the patch_name/patch_type pair.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

Latest Blog Posts

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/omichelbraga/esentire-atlas-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server