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_contacts

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_contact

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_contact

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_contact

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_contact

Delete a contact.

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

Returns: Confirmation message.

list_campaigns

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_campaign

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_campaign

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_campaign

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_campaign

Delete a campaign.

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

Returns: Confirmation message.

send_campaign

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_campaign

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_segments

List all contact segments.

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

create_segment

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_segment

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

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

Returns: Confirmation message.

list_senders

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_forms

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