mcp-daktela
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| PORT | No | HTTP port (streamable-http mode) | 8080 |
| DAKTELA_URL | No | Daktela instance URL | |
| CACHE_ENABLED | No | Enable reference data cache | true |
| MCP_TRANSPORT | No | Transport: stdio or streamable-http | stdio |
| DAKTELA_PASSWORD | No | Daktela password | |
| DAKTELA_USERNAME | No | Daktela username | |
| CACHE_TTL_SECONDS | No | Cache TTL in seconds | 3600 |
| DAKTELA_ACCESS_TOKEN | No | Static API token (alternative to username/password) |
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
| Capability | Details |
|---|---|
| tasks | {
"list": {},
"cancel": {},
"requests": {
"tools": {
"call": {}
},
"prompts": {
"get": {}
},
"resources": {
"read": {}
}
}
} |
| tools | {
"listChanged": true
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_ticketsA | List tickets with optional filters. Returns one page of results. Args: category: Filter by category internal name (use list_ticket_categories to find valid names). stage: Ticket lifecycle stage — exact values (case-sensitive): 'OPEN' = agent actively working on it, 'WAIT' = reply sent, awaiting customer response, 'CLOSE' = resolved/solved, 'ARCHIVE' = resolved and archived. When user says "open tickets", use stage='OPEN'. priority: Filter by priority: LOW, MEDIUM, HIGH. user: Agent name — pass either a display name (e.g. 'John Doe') or login name (e.g. 'john.doe'). Display names are resolved automatically. You do NOT need to call list_users first. contact: Filter by contact internal ID (e.g. 'contact_674eda46162a8403430453'). NOT a person's name — call list_contacts(search='...') first to find the ID. search: Full-text search across ticket title and description (partial match). status: Filter by workflow status name (e.g. 'S0-Qualify', 'S1-Discovery'). Use list_statuses to see available status names. This filters on the ticket's statuses MN relation — useful for sales pipeline stages, custom workflows, etc. date_from: Filter tickets created on or after this date (YYYY-MM-DD). date_to: Filter tickets created on or before this date (YYYY-MM-DD). include_merged: Include tickets that were merged into other tickets (default: false). sort: Field to sort by. Useful values: edited (default), created, sla_deadtime, sla_close_deadline, last_activity. sort_dir: Sort direction: asc or desc (default: desc). skip: Number of records to skip for pagination (default: 0). take: Number of records to return (default: 50, max: 200). |
| count_ticketsA | Count tickets matching filters. Use this instead of list_tickets when you only need a number. Args: category: Filter by category internal name (use list_ticket_categories to find valid names). stage: Ticket lifecycle stage — exact values (case-sensitive): 'OPEN' = agent actively working, 'WAIT' = awaiting customer response, 'CLOSE' = resolved, 'ARCHIVE' = archived. When user says "open tickets", use stage='OPEN'. priority: Filter by priority: LOW, MEDIUM, HIGH. user: Agent name — pass either a display name (e.g. 'John Doe') or login name (e.g. 'john.doe'). Display names are resolved automatically. You do NOT need to call list_users first. contact: Filter by contact internal ID (e.g. 'contact_674eda46162a8403430453'). NOT a person's name — call list_contacts(search='...') first to find the ID. search: Full-text search across ticket title and description (partial match). status: Filter by workflow status name (e.g. 'S0-Qualify', 'S1-Discovery'). Use list_statuses to see available status names. date_from: Filter tickets created on or after this date (YYYY-MM-DD). date_to: Filter tickets created on or before this date (YYYY-MM-DD). include_merged: Include tickets that were merged into other tickets (default: false). |
| get_ticketA | Get full details of a single ticket by its ID. Use this when you already know the ticket ID. Args: name: The ticket ID (numeric, e.g. 787979). If passed with a prefix like TK00787979, the prefix is stripped automatically. |
| get_ticket_detailA | Get a ticket with all its activities and their content in one call. This is the recommended tool for analyzing a specific ticket — it returns the ticket details plus all linked activities (calls, emails, chats, etc.) with their descriptions and metadata, avoiding multiple round-trips. Args: name: The ticket ID (numeric, e.g. 787979). Prefix like TK00787979 is stripped automatically. take: Max number of activities to include (default: 50, max: 100). |
| list_account_ticketsA | List tickets for a specific account (company/organization). Accepts both a company name (e.g. 'Notino') or an internal account ID. The tool resolves the name automatically. You do NOT need to call list_accounts first. Args: account: Company name (partial match, e.g. 'Notino', 'Siemens') or account ID. stage: Ticket stage filter (default: 'OPEN'). Values: 'OPEN' = agent actively working on it (default), 'WAIT' = reply sent, awaiting customer response, 'CLOSE' = resolved/solved, 'ARCHIVE' = resolved and archived, 'ALL' = return tickets in any stage (slower for large accounts). priority: Filter by priority: LOW, MEDIUM, HIGH. user: Agent name — pass either a display name (e.g. 'John Doe') or login name (e.g. 'john.doe'). Resolved automatically. category: Filter by category internal name (use list_ticket_categories to find valid names). date_from: Filter tickets created on or after this date (YYYY-MM-DD). date_to: Filter tickets created on or before this date (YYYY-MM-DD). include_merged: Include tickets that were merged into other tickets (default: false). sort: Field to sort by. Useful values: edited (default), created, sla_deadtime, sla_close_deadline, last_activity. sort_dir: Sort direction: asc or desc (default: desc). skip: Number of records to skip for pagination (default: 0). take: Number of records to return (default: 50, max: 200). |
| list_ticket_categoriesA | List all ticket categories. Call this first to find valid category names for ticket filtering. The 'name' field of each category is what you pass as the 'category' parameter in list_tickets/count_tickets. Args: skip: Pagination offset (default: 0). take: Number of records to return (default: 200). |
| list_activitiesA | List activities (calls, emails, chats, etc.) with optional filters. Always specify type and/or a date range to keep results focused. Args: type: Filter by activity channel type: CALL (phone), EMAIL, CHAT (web chat), SMS, FBM (Facebook Messenger), IGDM (Instagram DM), WAP (WhatsApp), VBR (Viber), CUSTOM. action: Filter by activity status/action: OPEN (in progress), WAIT (waiting), POSTPONE (postponed), CLOSE (closed). queue: Filter by queue internal name (e.g. '10333'). Use list_queues to find names. ticket: Filter by ticket ID (numeric, e.g. '787979'). user: Agent name — pass either a display name (e.g. 'John Doe') or login name (e.g. 'john.doe'). Resolved automatically. date_from: Filter by activity start time on or after this date (YYYY-MM-DD). date_to: Filter by activity start time on or before this date (YYYY-MM-DD). sort: Field to sort by. Useful values: time (activity start time), duration, time_close. WARNING: only fields that exist on the activities endpoint work — do NOT use 'created' or 'edited' (those are ticket fields, not activity fields). sort_dir: Sort direction: asc or desc (default: desc). skip: Pagination offset (default: 0). take: Number of records to return (default: 50, max: 200). |
| get_activityA | Get full details of a single activity by its ID. Use this when you already know the activity ID. Returns the complete activity record including all channel-specific fields. Args: name: The activity ID (e.g. ACT00123). Always starts with 'ACT' followed by digits. |
| list_callsA | List phone calls with detailed call data (duration, CLID, missed calls, hold time). Use this instead of list_activities(type='CALL') when you need call-specific fields. Args: queue: Filter by queue internal name (e.g. '10333'). Use list_queues to find names. user: Agent name — pass either a display name (e.g. 'John Doe') or login name (e.g. 'john.doe'). Resolved automatically. contact: Filter by contact internal ID (e.g. 'contact_674eda46162a8403430453'). NOT a person's name — call list_contacts(search='...') first to find the ID. direction: Filter by call direction: in (incoming), out (outgoing), internal. answered: Filter by whether the call was answered (true/false). date_from: Filter by call start time on or after this date (YYYY-MM-DD). date_to: Filter by call start time on or before this date (YYYY-MM-DD). sort: Field to sort by. Useful values: call_time, duration, waiting_time, ringing_time. WARNING: only call-specific fields work — do NOT use 'created' or 'edited'. sort_dir: Sort direction: asc or desc (default: desc). skip: Pagination offset (default: 0). take: Number of records to return (default: 50, max: 200). |
| get_callA | Get full details of a single call by its call ID. Use this when you already know the call ID. Returns call-specific fields: CLID, duration, wait/ring/hold times, missed call status, disposition. Args: name: The call ID (the 'id_call' field from list_calls). |
| get_call_transcriptA | Get the full speech-to-text transcript of a specific call. Returns the spoken dialogue between customer and operator as a chronological transcript with timestamps. Not all calls have transcripts — missed calls, short calls, and calls on queues without speech-to-text will return "No transcript available". How to get the activity name:
Args: activity: The activity name/ID (e.g. 'activity_699351d84288a407003861'). This is the 'Activity' field shown in list_calls/get_call output, or the 'name' field from list_activities. |
| list_call_transcriptsA | List answered calls with their full speech-to-text transcripts inline. This is the primary tool for analyzing call quality, identifying calls requiring management attention, detecting escalations, or reviewing agent performance. Each call is returned with its complete dialogue (customer + operator). Fetches up to For comprehensive analysis of a date range, paginate using skip: first call with skip=0, then skip=50, skip=100, etc. until all calls are covered. Args: date_from: Filter calls on or after this date (YYYY-MM-DD). Recommended: last 7 days. date_to: Filter calls on or before this date (YYYY-MM-DD). user: Agent name — pass either a display name (e.g. 'John Doe') or login name (e.g. 'john.doe'). Resolved automatically. queue: Filter by queue internal name (e.g. '10333'). Use list_queues to find names. skip: Number of calls to skip for pagination (default: 0). take: Number of calls to fetch per page (default: 20, max: 50). Each call includes its full transcript — transcripts are fetched in parallel server-side. |
| get_emailA | Get full details of a single email activity by its ID. Returns email-specific fields including subject, address, body text, and timing. Args: name: The email activity ID (e.g. 'ACT00123' or the 'name' field from list_emails). |
| get_web_chatA | Get full details of a single web chat activity by its ID. Args: name: The web chat activity ID (e.g. 'ACT00123' or the 'name' field from list_web_chats). |
| get_smsA | Get full details of a single SMS activity by its ID. Args: name: The SMS activity ID (e.g. 'ACT00123' or the 'name' field from list_sms_chats). |
| get_messenger_chatA | Get full details of a single Facebook Messenger activity by its ID. Args: name: The Messenger activity ID (e.g. 'ACT00123' or the 'name' field from list_messenger_chats). |
| get_instagram_chatA | Get full details of a single Instagram DM activity by its ID. Args: name: The Instagram activity ID (e.g. 'ACT00123' or the 'name' field from list_instagram_chats). |
| get_whatsapp_chatA | Get full details of a single WhatsApp activity by its ID. Args: name: The WhatsApp activity ID (e.g. 'ACT00123' or the 'name' field from list_whatsapp_chats). |
| get_viber_chatA | Get full details of a single Viber activity by its ID. Args: name: The Viber activity ID (e.g. 'ACT00123' or the 'name' field from list_viber_chats). |
| list_emailsA | List email activities with email-specific fields (subject, address, state). Use this instead of list_activities(type='EMAIL') when you need email details. Args: queue: Filter by queue internal name (e.g. '10333'). Use list_queues to find names. user: Agent name — pass either a display name (e.g. 'John Doe') or login name (e.g. 'john.doe'). Resolved automatically. contact: Filter by contact internal ID (e.g. 'contact_674eda46162a8403430453'). NOT a person's name — call list_contacts(search='...') first to find the ID. direction: Filter by direction: in (incoming) or out (outgoing). date_from: Filter by email start time on or after this date (YYYY-MM-DD). date_to: Filter by email start time on or before this date (YYYY-MM-DD). sort: Field to sort by. Useful values: time (email time), duration, wait_time. WARNING: only email-specific fields work — do NOT use 'created' or 'edited'. sort_dir: Sort direction: asc or desc (default: desc). skip: Pagination offset (default: 0). take: Number of records to return (default: 50, max: 200). |
| list_web_chatsA | List web chat activities with chat-specific fields (state, disconnection, missed). Args: queue: Filter by queue internal name (e.g. '10333'). Use list_queues to find names. user: Agent name — pass either a display name (e.g. 'John Doe') or login name (e.g. 'john.doe'). Resolved automatically. contact: Filter by contact internal ID (e.g. 'contact_674eda46162a8403430453'). NOT a person's name — call list_contacts(search='...') first to find the ID. date_from: Filter by activity start time on or after this date (YYYY-MM-DD). date_to: Filter by activity start time on or before this date (YYYY-MM-DD). sort: Field to sort by. Useful values: time, duration, wait_time. WARNING: only fields that exist on this endpoint work — do NOT use 'created' or 'edited'. sort_dir: Sort direction: asc or desc (default: desc). skip: Pagination offset (default: 0). take: Number of records to return (default: 50, max: 200). |
| list_sms_chatsA | List SMS activities with SMS-specific fields (sender phone, direction, state). Args: queue: Filter by queue internal name (e.g. '10333'). Use list_queues to find names. user: Agent name — pass either a display name (e.g. 'John Doe') or login name (e.g. 'john.doe'). Resolved automatically. contact: Filter by contact internal ID (e.g. 'contact_674eda46162a8403430453'). NOT a person's name — call list_contacts(search='...') first to find the ID. direction: Filter by direction: IN or OUT. date_from: Filter by activity start time on or after this date (YYYY-MM-DD). date_to: Filter by activity start time on or before this date (YYYY-MM-DD). sort: Field to sort by. Useful values: time, duration, wait_time. WARNING: only fields that exist on this endpoint work — do NOT use 'created' or 'edited'. sort_dir: Sort direction: asc or desc (default: desc). skip: Pagination offset (default: 0). take: Number of records to return (default: 50, max: 200). |
| list_messenger_chatsA | List Facebook Messenger activities with channel-specific fields. Args: queue: Filter by queue internal name (e.g. '10333'). Use list_queues to find names. user: Agent name — pass either a display name (e.g. 'John Doe') or login name (e.g. 'john.doe'). Resolved automatically. contact: Filter by contact internal ID (e.g. 'contact_674eda46162a8403430453'). NOT a person's name — call list_contacts(search='...') first to find the ID. direction: Filter by direction: IN or OUT. date_from: Filter by activity start time on or after this date (YYYY-MM-DD). date_to: Filter by activity start time on or before this date (YYYY-MM-DD). sort: Field to sort by. Useful values: time, duration, wait_time. WARNING: only fields that exist on this endpoint work — do NOT use 'created' or 'edited'. sort_dir: Sort direction: asc or desc (default: desc). skip: Pagination offset (default: 0). take: Number of records to return (default: 50, max: 200). |
| list_instagram_chatsA | List Instagram DM activities with channel-specific fields (type: DM/STORY_REPLY/STORY_MENTION). Args: queue: Filter by queue internal name (e.g. '10333'). Use list_queues to find names. user: Agent name — pass either a display name (e.g. 'John Doe') or login name (e.g. 'john.doe'). Resolved automatically. contact: Filter by contact internal ID (e.g. 'contact_674eda46162a8403430453'). NOT a person's name — call list_contacts(search='...') first to find the ID. direction: Filter by direction: IN or OUT. date_from: Filter by activity start time on or after this date (YYYY-MM-DD). date_to: Filter by activity start time on or before this date (YYYY-MM-DD). sort: Field to sort by. Useful values: time, duration, wait_time. WARNING: only fields that exist on this endpoint work — do NOT use 'created' or 'edited'. sort_dir: Sort direction: asc or desc (default: desc). skip: Pagination offset (default: 0). take: Number of records to return (default: 50, max: 200). |
| list_whatsapp_chatsA | List WhatsApp activities with channel-specific fields. Args: queue: Filter by queue internal name (e.g. '10333'). Use list_queues to find names. user: Agent name — pass either a display name (e.g. 'John Doe') or login name (e.g. 'john.doe'). Resolved automatically. contact: Filter by contact internal ID (e.g. 'contact_674eda46162a8403430453'). NOT a person's name — call list_contacts(search='...') first to find the ID. direction: Filter by direction: IN or OUT. date_from: Filter by activity start time on or after this date (YYYY-MM-DD). date_to: Filter by activity start time on or before this date (YYYY-MM-DD). sort: Field to sort by. Useful values: time, duration, wait_time. WARNING: only fields that exist on this endpoint work — do NOT use 'created' or 'edited'. sort_dir: Sort direction: asc or desc (default: desc). skip: Pagination offset (default: 0). take: Number of records to return (default: 50, max: 200). |
| list_viber_chatsA | List Viber activities with channel-specific fields. Args: queue: Filter by queue internal name (e.g. '10333'). Use list_queues to find names. user: Agent name — pass either a display name (e.g. 'John Doe') or login name (e.g. 'john.doe'). Resolved automatically. contact: Filter by contact internal ID (e.g. 'contact_674eda46162a8403430453'). NOT a person's name — call list_contacts(search='...') first to find the ID. direction: Filter by direction: IN or OUT. date_from: Filter by activity start time on or after this date (YYYY-MM-DD). date_to: Filter by activity start time on or before this date (YYYY-MM-DD). sort: Field to sort by. Useful values: time, duration, wait_time. WARNING: only fields that exist on this endpoint work — do NOT use 'created' or 'edited'. sort_dir: Sort direction: asc or desc (default: desc). skip: Pagination offset (default: 0). take: Number of records to return (default: 50, max: 200). |
| list_contactsA | Search and list contacts. Each contact has firstname, lastname, title (full name), email, phone number. Args: search: Search by full name (partial match, e.g. 'John' or 'Smith'). Searches the 'title' field. account: Filter by account internal ID (e.g. 'account_674eda46162a8403430453'). NOT a company name — call list_accounts(search='...') first to find the ID. skip: Pagination offset (default: 0). take: Number of records to return (default: 50, max: 200). |
| get_contactA | Get full details of a single contact by its ID. Use this when you already know the contact ID. Args: name: The contact ID (the 'name' field from list_contacts, e.g. CT00123). |
| list_accountsA | List accounts (companies/organizations). Contacts belong to accounts. Args: user: Filter by account owner login name (e.g. 'john.doe'). Use list_users to find login names. search: Search by company name (partial match, e.g. 'Notino' or 'Siemens'). date_from: Filter accounts created on or after this date (YYYY-MM-DD). date_to: Filter accounts created on or before this date (YYYY-MM-DD). sort: Field to sort by (default: edited). sort_dir: Sort direction: asc or desc (default: desc). skip: Pagination offset (default: 0). take: Number of records to return (default: 50, max: 200). |
| get_accountA | Get full details of a single account by its internal ID. Args: name: The account internal ID (e.g. 'account_674eda46162a8403430453'). Use list_accounts(search='...') to find the ID from a company name. |
| list_crm_recordsA | List CRM records (deals, opportunities, or other CRM entities). Args: user: Filter by owner login name (e.g. 'john.doe'). Use list_users to find login names. contact: Filter by contact internal ID (e.g. 'contact_674eda46162a8403430453'). NOT a person's name — call list_contacts(search='...') first to find the ID. account: Filter by account internal ID (e.g. 'account_674eda46162a8403430453'). NOT a company name — call list_accounts(search='...') first to find the ID. stage: Filter by stage: OPEN or CLOSE. date_from: Filter records created on or after this date (YYYY-MM-DD). date_to: Filter records created on or before this date (YYYY-MM-DD). sort: Field to sort by (default: edited). sort_dir: Sort direction: asc or desc (default: desc). skip: Pagination offset (default: 0). take: Number of records to return (default: 50, max: 200). |
| list_campaign_recordsA | List campaign records (outbound campaign activity — calls made, results). Args: user: Agent name — pass either a display name (e.g. 'John Doe') or login name (e.g. 'john.doe'). Resolved automatically. contact: Filter by contact internal ID (e.g. 'contact_674eda46162a8403430453'). NOT a person's name — call list_contacts(search='...') first to find the ID. date_from: Filter records created on or after this date (YYYY-MM-DD). date_to: Filter records created on or before this date (YYYY-MM-DD). sort: Field to sort by. Useful values: created, edited, nextcall. sort_dir: Sort direction: asc or desc (default: desc). skip: Pagination offset (default: 0). take: Number of records to return (default: 50, max: 200). |
| list_campaign_typesA | List all campaign types (reference data for outbound campaigns). Args: skip: Pagination offset (default: 0). take: Number of records to return (default: 200). |
| list_queuesA | List all queues. The 'name' field of each queue is used as the 'queue' filter in list_activities. Queue types include: in (inbound calls), out (outbound calls), email, chat, sms, fbm, wap, vbr, etc. Args: skip: Pagination offset (default: 0). take: Number of records to return (default: 1000). |
| list_usersA | List or search agents/users. The 'name' field is the login name, 'title' is the display name. NOTE: Most tools (list_tickets, count_tickets, list_activities, etc.) resolve agent names automatically — you do NOT need to call list_users first. Use this tool only when you need to browse the user directory or look up a specific agent's details. Args: search: Search by agent display name (partial match, e.g. 'John Doe' or 'Hajek'). skip: Pagination offset (default: 0). take: Number of records to return (default: 200). |
| list_groupsA | List all groups (used to organize categories, queues, users, or profiles). Args: skip: Pagination offset (default: 0). take: Number of records to return (default: 200). |
| list_pausesA | List all pause types available to agents (break reasons like wrap-up, DND, etc.). Args: skip: Pagination offset (default: 0). take: Number of records to return (default: 200). |
| list_statusesA | List all ticket/record statuses (reference data with name, title, color). Args: skip: Pagination offset (default: 0). take: Number of records to return (default: 200). |
| list_templatesA | List all message templates (for email, SMS, chat, WhatsApp, etc.). Args: skip: Pagination offset (default: 0). take: Number of records to return (default: 200). |
| list_realtime_sessionsA | List currently active agent sessions (real-time snapshot). Shows which agents are online, their state (Idle/Paused/Session), extension, and pause reason. Args: skip: Pagination offset (default: 0). take: Number of records to return (default: 200). |
| list_article_foldersA | List all knowledge base article folders in a tree structure. Returns a hierarchical view of folders with article counts. Use the folder 'name' field to filter articles by folder in list_articles. Args: skip: Pagination offset (default: 0). take: Number of records to return (default: 200). |
| list_articlesA | Search and list knowledge base articles. Use this to find relevant KB articles by keyword, folder, or tag. The search parameter uses Daktela's global search (q=) which searches across title, description, content, and tags. Args: search: Full-text search across article title, description, content, and tags. Uses Daktela's global search — the most effective way to find articles. folder: Filter by folder — pass a folder name (human-readable) or internal ID. Folder names are resolved automatically. tag: Filter by tag — pass a tag title (human-readable) or internal ID. Tag titles are resolved automatically. published: Filter by published status: 'true' or 'false'. skip: Pagination offset (default: 0). take: Number of articles to return (default: 10, max: 200). Default is smaller than other tools because article records are larger. |
| get_articleA | Get full details of a single knowledge base article by its ID. Returns the article with its HTML content converted to clean Markdown, including headers, links, lists, and code blocks. Use this to read the full content of an article found via list_articles. Args: name: The article ID (the 'name' field from list_articles). |
| scan_callsA | AI-score answered calls in a date range. Returns one page of scored results. IMPORTANT: Before calling this tool, briefly tell the user that this analysis takes some time because it processes each call with AI (e.g. "Let me analyze your calls — this involves AI-scoring each conversation, so it may take a moment."). Fetches a page of calls (default 100), loads their transcripts, scores each with a fast AI model, and returns a compact ranked list with scores, flags, and summaries. CRITICAL — you MUST scan ALL pages. The first 100 results are NOT representative of the full dataset. Important issues may appear in any page. If the response shows remaining records, you MUST call all remaining pages (in parallel) before presenting results. Never skip pages or stop early — partial analysis gives unreliable results. Pagination: Each call returns up to
After reviewing scored results, use get_call_transcript to read full dialogue of specific flagged calls. Args: date_from: Start date (YYYY-MM-DD). Required. date_to: End date (YYYY-MM-DD). Defaults to same as date_from (single day). user: Agent name — display name or login name, resolved automatically. queue: Queue internal name (e.g. '10333'). question: What to analyze for. Be specific about what to flag. skip: Pagination offset (default: 0). Use to fetch subsequent pages. take: Number of calls to score in this page (default: 100, max: 200). |
| scan_emailsA | AI-score emails in a date range. Returns one page of scored results. IMPORTANT: Before calling this tool, briefly tell the user that this analysis takes some time because it processes each email with AI (e.g. "Let me analyze your emails — this involves AI-scoring each one, so it may take a moment."). Fetches a page of emails (default 100), scores each with a fast AI model using the email subject and body, and returns a compact ranked list with scores, flags, and summaries. CRITICAL — you MUST scan ALL pages. The first 100 results are NOT representative of the full dataset. Important issues may appear in any page. If the response shows remaining records, you MUST call all remaining pages (in parallel) before presenting results. Never skip pages or stop early — partial analysis gives unreliable results. Pagination: Each call returns up to
After reviewing scored results, use get_email to read the full email content of specific flagged items. Args: date_from: Start date (YYYY-MM-DD). Required. date_to: End date (YYYY-MM-DD). Defaults to same as date_from (single day). user: Agent name — display name or login name, resolved automatically. queue: Queue internal name (e.g. '10333'). direction: Filter by direction: 'in' (incoming) or 'out' (outgoing). question: What to analyze for. Be specific about what to flag. skip: Pagination offset (default: 0). Use to fetch subsequent pages. take: Number of emails to score in this page (default: 100, max: 200). |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/hajekd/mcp-daktela'
If you have feedback or need assistance with the MCP directory API, please join our Discord server