Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
KEILA_URLNoKeila instance URLhttps://mail.korroni.com
KEILA_API_KEYYesAPI key (create in Keila dashboard)

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
list_contactsB

List all contacts in Keila with pagination.

Args: page: Page number for pagination (optional).

Returns: A dict with 'data' (list of contacts) and 'meta' (pagination info). Each contact has id, email, first_name, last_name, status, data, and timestamps.

get_contactA

Fetch a single contact by ID.

Args: contact_id: The contact ID (e.g. "c_12345").

Returns: A dict with contact details: id, email, first_name, last_name, status, data.

create_contactC

Create a new contact in Keila.

Args: email: Email address (required). first_name: First name (optional). last_name: Last name (optional).

Returns: The created contact record.

update_contactC

Update an existing contact.

Args: contact_id: The contact ID (e.g. "c_12345"). email: New email address (optional). first_name: New first name (optional). last_name: New last name (optional).

Returns: The updated contact record.

delete_contactB

Delete a contact.

Args: contact_id: The contact ID (e.g. "c_12345").

Returns: Confirmation message.

list_campaignsB

List all campaigns in Keila.

Returns: A dict with 'data' (list of campaigns). Each campaign has id, subject, text_body, sender_id, segment_id, settings, sent_at, scheduled_for, and timestamps.

get_campaignA

Fetch a single campaign by ID.

Args: campaign_id: The campaign ID (e.g. "mc_12345").

Returns: Campaign details including subject, body, sender, segment, and delivery status.

create_campaignA

Create a new email campaign. Does NOT send it — use send_campaign after.

The body supports Liquid templates: {{ contact.first_name }}, {{ contact.email }}.

Args: subject: Email subject line. text_body: Email body content (markdown by default). sender_id: Sender ID to send from (e.g. "ms_12345"). Use list_senders to find IDs. settings_type: Content type — "markdown", "text", "mjml", or "block" (default: "markdown"). segment_id: Optional segment ID to restrict recipients (e.g. "sgm_12345"). preview_text: Optional preview text shown in email clients.

Returns: The created campaign record.

update_campaignA

Update an existing campaign (only unsent campaigns can be updated).

Args: campaign_id: The campaign ID (e.g. "mc_12345"). subject: New subject line (optional). text_body: New body content (optional). sender_id: New sender ID (optional). segment_id: New segment ID (optional). preview_text: New preview text (optional).

Returns: The updated campaign record.

delete_campaignB

Delete a campaign.

Args: campaign_id: The campaign ID (e.g. "mc_12345").

Returns: Confirmation message.

send_campaignA

Send a campaign immediately to all contacts (or segment contacts).

WARNING: This sends real emails. Make sure the campaign content and recipient list are correct before calling this.

Args: campaign_id: The campaign ID (e.g. "mc_12345").

Returns: Delivery queued confirmation.

schedule_campaignA

Schedule a campaign for future delivery.

Args: campaign_id: The campaign ID (e.g. "mc_12345"). scheduled_for: ISO 8601 datetime (e.g. "2026-03-15T14:00:00Z").

Returns: The updated campaign record with scheduled_for set.

list_segmentsB

List all contact segments.

Returns: A dict with 'data' (list of segments). Each segment has id, name, and filter.

create_segmentA

Create a new contact segment with a filter.

Filter examples: {"email": {"$like": "%@example.com"}} — contacts with example.com emails {"inserted_at": {"$gt": "2026-01-01"}} — contacts added after Jan 1

Args: name: Segment name. filter: Filter JSON object for matching contacts.

Returns: The created segment record.

delete_segmentA

Delete a segment. Does not delete the contacts in it.

Args: segment_id: The segment ID (e.g. "sgm_12345").

Returns: Confirmation message.

list_sendersA

List all configured senders. Use sender IDs when creating campaigns.

Returns: A dict with 'data' (list of senders with id, name, from_email, reply_to).

list_formsB

List all signup forms.

Returns: A dict with 'data' (list of forms).

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/gwbischof/keila-mcp'

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