Skip to main content
Glama
BenjaminJ

enterprise-mcp-gateway

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault

No arguments

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
{}
logging
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
listCustomersA

List and search enterprise customer profiles - Retrieves a paginated list of enterprise customer profiles.

[Usage Guidelines]

  • When to use: Use this tool to discover, search, or browse customer records across the organization, or to find a customerId before calling detail tools.

  • When NOT to use: Do NOT use this tool if you already have a specific customerId and need full profile or contact attributes; use 'getCustomerDetails' instead. Do NOT use to inspect customer billing or invoices; use 'getBillingHistory' instead.

  • Alternatives: Use 'getCustomerDetails' for single-record deep inspection.

[Behavior]

  • Operation: Read-only and idempotent. Safe to call multiple times with identical parameters without side effects.

  • Authorization: Requires 'readonly_agent', 'support_agent', or 'admin' role.

  • DLP / Sanitization: Customer email addresses and account statuses are returned. Any internal notes are scrubbed.

[Parameters & Interactions]

  • 'status' (query, optional): Filter by lifecycle state ('active', 'inactive', 'suspended'). If omitted, customers in all lifecycle states are returned.

  • 'limit' (query, optional): Integer between 1 and 100 specifying maximum records to return per page. Defaults to 20 if omitted.

[Returns]

  • Returns a JSON array of customer summary objects, each containing: customerId (string, e.g. 'cust-001'), name (string), email (string), and status (string).

getCustomerDetailsA

Retrieve full profile record for a specific customer by ID - Retrieves comprehensive account profile metadata for an individual enterprise customer.

[Usage Guidelines]

  • When to use: Use this tool when you have an exact customerId and need full profile information such as registered tax ID, billing address, account tier, and primary contact details.

  • When NOT to use: Do NOT use this tool to search or discover customers; use 'listCustomers' instead. Do NOT use to view invoices or payment methods; use 'getBillingHistory' instead.

  • Prerequisites: Requires a valid 'customerId' (format 'cust-XXX') previously obtained via 'listCustomers'.

[Behavior]

  • Operation: Read-only and idempotent. Calling this tool causes no mutations or side effects.

  • Authorization: Requires 'readonly_agent', 'support_agent', or 'admin' role.

  • DLP / Sanitization: Sensitive personal attributes (such as SSN or tax identifiers) are automatically masked by the gateway DLP engine before response delivery.

[Parameters]

  • 'customerId' (path, required): Unique customer identifier string in 'cust-XXX' format (e.g. 'cust-001'). Must match an existing customer record.

[Returns]

  • Returns HTTP 200 with full customer profile: customerId, name, email, taxId (redacted), address, serviceTier, and status. Returns HTTP 404 if the customerId does not exist.

getBillingHistoryA

Retrieve customer billing statements, balances, and payment methods - Retrieves complete billing statements, current account balance due, payment methods on file, and historical invoice IDs for a specific customer.

[Usage Guidelines]

  • When to use: Use this tool to answer customer inquiries regarding outstanding balances, billing disputes, invoice history, or active payment methods.

  • When NOT to use: Do NOT use this tool for customer account profile details; use 'getCustomerDetails' instead. Do NOT use to search for customer IDs; use 'listCustomers' first. Do NOT use to check customer support issues; use 'listSupportTickets' instead.

  • Prerequisites: Requires a valid customerId (e.g., 'cust-001') previously discovered using 'listCustomers'.

[Behavior]

  • Operation: Read-only and idempotent. No financial transactions, charges, or balance mutations are executed.

  • Authorization: Requires 'readonly_agent', 'support_agent', or 'admin' role.

  • DLP / Sanitization: All payment card numbers, bank account numbers, and CVVs in responses are automatically masked with [REDACTED] by the zero-allocation gateway sanitizer.

[Parameters]

  • 'customerId' (path, required): Unique customer identifier string (e.g. 'cust-001'). Must correspond to an active or archived customer account.

[Returns]

  • Returns HTTP 200 with JSON object containing: customerId, currency, balanceDue (decimal), paymentMethods (array of masked card tokens), and invoices (array of invoice objects with id, date, amount, status). Returns HTTP 404 if customerId is not found.

listSupportTicketsA

Query and filter customer support tickets across the organization - Queries open, in-progress, and resolved support incident tickets across enterprise accounts.

[Usage Guidelines]

  • When to use: Use this tool to check existing service tickets, verify SLA status, review customer incident history, or ensure an issue is not already logged before filing a new ticket.

  • When NOT to use: Do NOT use this tool to open or submit a new ticket; use 'createSupportTicket' instead. Do NOT use to check billing issues; use 'getBillingHistory' instead.

  • Recommended Flow: Call 'listSupportTickets' first to inspect existing tickets for a customer before creating a duplicate with 'createSupportTicket'.

[Behavior]

  • Operation: Read-only and idempotent. Querying tickets produces zero side effects or ticket state modifications.

  • Authorization: Requires 'readonly_agent', 'support_agent', or 'admin' role.

  • DLP / Sanitization: Ticket descriptions containing secrets or credentials are redacted prior to LLM presentation.

[Parameters & Interactions]

  • 'customerId' (query, optional): Restricts ticket query to a single customer ID (e.g., 'cust-001'). If omitted, tickets across all enterprise accounts are queried.

  • 'priority' (query, optional): Filter by ticket urgency level ('low', 'normal', 'high', 'urgent').

  • Parameter Interaction: If both 'customerId' and 'priority' are provided, tickets matching BOTH filters are returned (AND logic).

[Returns]

  • Returns HTTP 200 with JSON array of ticket objects, each containing: ticketId (e.g. 'tick-101'), customerId, subject, description, priority, status ('open', 'in_progress', 'resolved'), and createdAt timestamp.

createSupportTicketA

Open and route a new customer support incident ticket - Creates a new support incident or customer inquiry ticket in the CRM queue.

[Usage Guidelines]

  • When to use: Use this tool to escalate customer technical issues, report system bugs, or file service requests that require support team intervention.

  • When NOT to use: Do NOT use this tool before checking if a similar ticket already exists; use 'listSupportTickets' first to prevent duplicate tickets. Do NOT use to reset passwords; use 'adminResetPassword' instead.

  • Prerequisites: Requires a confirmed customerId obtained from 'listCustomers' or 'getCustomerDetails'.

[Behavior]

  • Operation: Mutating and non-idempotent. Each invocation assigns a new unique ticket ID and dispatches notifications to support engineers.

  • Side effects: Creates a persistent ticket record and routes to on-call queues.

  • Authorization: Requires 'support_agent' or 'admin' role ('readonly_agent' tokens are rejected with 403).

[Parameters & Validation]

  • 'customerId' (string, required): Customer identifier string (e.g. 'cust-001') the ticket is filed on behalf of.

  • 'subject' (string, required): Concise summary line of the incident (10 to 120 characters).

  • 'description' (string, required): Detailed problem statement, reproduction steps, or error messages.

  • 'priority' (string, optional): Urgency level: 'low', 'normal', 'high', or 'urgent'. Defaults to 'normal' if omitted.

[Returns]

  • Returns HTTP 201 Created with JSON object: ticketId (e.g. 'tick-902'), customerId, subject, priority, status ('open'), and createdAt timestamp.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A4.6/5.0

Scored across 5 tools

Disambiguation5/5

Each tool targets a distinct resource and action: customer search, customer detail, billing history, ticket listing, and ticket creation. The usage guidelines explicitly reinforce these boundaries, making misselection unlikely.

Naming Consistency5/5

All tool names follow a consistent camelCase verb_noun pattern: list/get/create plus the target resource. There is no mixing of conventions or vague, ambiguous verbs.

Tool Count5/5

Five tools is a well-scoped set for a focused customer and support gateway. Each tool has a clear purpose and none are redundant or extraneous.

Completeness3/5

Read coverage for customers, billing, and tickets is solid, and ticket creation exists. However, there are notable lifecycle gaps: no way to update or resolve support tickets, and no customer create/update/delete operations, which creates dead ends in common workflows.

Maintenance

ActivityMaintained
ResponsivenessNo issues