Avanan (Legacy) MCP Server
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Avanan (Legacy) MCP Serversearch security events from the last 24 hours"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Avanan (Legacy) MCP Server
An MCP server for the legacy Avanan SmartAPI
(Check Point Harmony Email & Collaboration), hosted on smart-api-production-*.avanan.net.
It covers two areas:
MSP portfolio (MSP API key): customer tenants, licenses and add-ons, monthly and daily usage for billing, child MSP partners and MSP portal users.
Security operations: security events, secured entities such as emails, allow / block exception rules, and quarantine / restore actions with task tracking.
Transport: MCP Streamable HTTP at
POST /mcp, health probe atGET /healthStateless and multi-tenant: credentials arrive on every request as HTTP headers and are never stored; the access token is requested per request and not cached
Python 3.12, uv, FastMCP, httpx
License: Apache-2.0, Copyright 2026 MSPbots.ai
Authentication headers
Header | Required | Type | Default | Allowed values | Description | Example |
| Yes | string | none | - | SmartAPI client (application) id |
|
| Yes | string | none | - | Client secret; used only to sign requests, never sent |
|
| No | string |
|
| Region the key belongs to |
|
| No | string | none | - | Pre-issued access token; skips the token request (app id and secret are still needed to sign) |
|
X-Avanan-Client-Id and X-Avanan-Client-Secret are accepted as alternative names for the
first two headers.
Where to get them:
Client id / secret: issued by Avanan / Check Point support when the SmartAPI is enabled. MSPs use the MSP API key, which also works for every customer tenant in that region.
Region: keys are regional; a key only works against its own region, and you need one key per region you manage. MSP management endpoints are not available in the UAE region.
Every request is signed: x-av-sig is the SHA-256 hex digest of the Base64 of
request id + app id + date (+ request path and query) + secret. A request to /mcp without the
required headers gets HTTP 401 listing them; an unknown region gets HTTP 400.
Related MCP server: proofpoint-essentials-mcp
Tools
All tools return a JSON string. List tools return {items, count, total, has_more, scroll_id};
pass scroll_id back as scrollId for the next page.
MSP portfolio:
Tool | Purpose | Parameters (required in bold) |
| Check the credentials and region | - |
| farm:tenant scopes the key can access | - |
| Customer tenants | scrollId, MSPId |
| One tenant with license details | tenant_id |
| Create a tenant (write) | adminEmail, tenantName, adminName, phone, companyName, tenantRegion ( |
| Delete a tenant (destructive) | tenant_id |
| License packages | - |
| Add-ons | - |
| Set a tenant's license (write) | tenant_id, licenseCodeName, addonIdList, maxLicensedUsers |
| Billable usage for a month | year, month, msp_ids, scrollId |
| Billable usage for a day | year, month, day, msp_ids, scrollId |
| Child MSPs | - |
| Create a child MSP (write) | name, website, country, zip, state |
| Delete a child MSP (destructive) | msp_id |
| MSP portal users | scrollId, MSPId |
| One MSP user | user_id |
| Create an MSP user (write) | firstName, lastName, email, role, directLogin, samlLogin, viewPrivateData, sendAlerts, receiveWeeklyReports, MSPId |
| Replace an MSP user's settings (write) | user_id plus the same required fields |
| Delete an MSP user (destructive) | user_id |
Security operations:
Tool | Purpose | Parameters (required in bold) |
| Search security events | eventTypes, eventStates, severities, saas, eventIds, confidenceIndicator, startDate, endDate, description, scopes, scrollId |
| One event | eventId |
| Search secured entities (emails) | saas, startDate, saasEntity, endDate, filters ( |
| One entity | entityId |
| Allow / block rules | excType ( |
| One rule | excType, excId |
| Add a rule (write) | excType, sender / recipient / subject / IP / link fields and matching modes |
| Update a rule (write) | excType, excId, same fields |
| Delete a rule (destructive) | excType, excId |
| Quarantine the emails behind events (destructive, reversible) | eventIds, scope |
| Restore them (write) | eventIds, scope |
| Quarantine emails by entity id (destructive, reversible) | entityIds, entityType, scope |
| Restore emails (write) | entityIds, entityType, scope |
| Progress of a quarantine / restore task | taskId, scope |
With an MSP key, event and email queries cover all customer scopes by default; action tools
need a single scope (from avanan_list_scopes).
Errors come back as a JSON envelope instead of an exception:
{"error": {"code": "unauthorized", "message": "Avanan rejected the app id / secret for this region (token request failed)", "retryable": false}}code is one of not_configured, unauthorized, not_found, invalid_argument,
rate_limited, upstream_error. An HTTP 200 response whose responseEnvelope.responseCode is
not 0 is reported as invalid_argument with Avanan's response text.
Run locally
uv sync
uv run python -m avanan_legacy_mcp # listens on 0.0.0.0:8080or with Docker:
docker build --platform linux/amd64 -t avanan-legacy-mcp:dev .
docker run --rm -p 8080:8080 avanan-legacy-mcp:devConfiguration (environment variables, all optional): MCP_HTTP_HOST (default 0.0.0.0),
MCP_HTTP_PORT (default 8080), LOG_LEVEL (default INFO). Credentials are never read from
the environment.
Testing example
# list tools
curl -s http://localhost:8080/mcp \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-H "X-Avanan-App-Id: US:your-app-id" \
-H "X-Avanan-Secret: your-app-secret" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list","params":{}}'
# phishing events since a date
curl -s http://localhost:8080/mcp \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-H "X-Avanan-App-Id: US:your-app-id" \
-H "X-Avanan-Secret: your-app-secret" \
-d '{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"avanan_query_events","arguments":{"eventTypes":["phishing"],"startDate":"2026-01-01T00:00:00.000Z"}}}'Unit tests (no network access needed):
uv run pytestDelivery notes
Tool count (33). Above the suggested 20 because the tool names are an existing contract; none were merged or removed.
Header names. The server reads
X-Avanan-App-Id/X-Avanan-Secret/X-Avanan-Region/X-Avanan-Tokenas registered for this integration, and also acceptsX-Avanan-Client-Id/X-Avanan-Client-Secret.Write tools. 15 tools change data (create, update, delete, license, quarantine, restore). They are annotated (
readOnlyHint=false; delete and quarantine alsodestructiveHint=true) and their descriptions tell the agent to act only on an explicit request. The exception list and get tools are read-only.
License
Related MCP Connectors
Tenant-scoped control plane over the TeleQuick platform's full API surface
Triage support mail across every connected domain via API key–gated Streamable HTTP MCP.
Tenant-scoped control plane over the ClutchCall platform's full API surface
- EusendOAuthdev.eusend
Send transactional email and manage domains, audiences, and broadcasts from any MCP client.
Related MCP Servers
- AlicenseNot gradedqualityAmaintenanceMCP server for Mailprotector — email security management for MSPs, enabling management of customers, domains, users, quarantine, allow/block rules, logs, configuration, and the full long-tail API via a router.Apache 2.0
- AlicenseNot gradedqualityBmaintenanceEnables AI assistants to manage MSP-multi-tenant email security: organizations, domains, users, licensing, features, subscription packages, and email flow reporting.Apache 2.0
- AlicenseNot gradedqualityAmaintenanceProvides a read-only, multitenant Streamable HTTP bridge over Keeper Secrets Manager's MCP server, enabling secure per-tenant access to Keeper secrets with an allowlisted, read-only toolset.Apache 2.0
- AlicenseNot gradedqualityBmaintenanceEnables call-recording upload and retrieval, compliance metadata and tag management, group/account/user administration, REST-hook (webhook) notifications, and Dub.Point telecom-system integration against the Dubber platform. All destructive operations are consent-gated and confirmation-protected.Apache 2.0