emailoctopus
Server Details
Manage lists, contacts and campaigns, and read campaign performance reports on EmailOctopus.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
- Repository
- m190/usefulapi-mcp
- GitHub Stars
- 0
Glama MCP Gateway
Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.
Full call logging
Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.
Tool access control
Enable or disable individual tools per connector, so you decide what your agents can and cannot do.
Managed credentials
Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.
Usage analytics
See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.
Tool Definition Quality
Average 4.1/5 across 13 of 13 tools scored. Lowest: 3.3/5.
Each tool targets a distinct resource (list, contact, campaign) and action (create, get, update, delete, list, reports), with no overlap in purpose.
All tools follow the emailoctopus_{verb}_{resource} pattern consistently, using clear verbs and correct singular/plural forms.
13 tools cover the key operations for an email marketing platform without being excessive or sparse, well-scoped to the domain.
List and contact operations are complete (CRUD), but campaign management is read-only—missing create, update, send, and delete campaigns, which is a notable gap.
Available Tools
13 toolsemailoctopus_create_contactCreate contactADestructiveInspect
CREATES a new contact in a list — this MODIFIES live data (adds a subscriber). email_address is required; optionally set fields (keyed by field tag), tags, and status. EmailOctopus: POST /lists/{list_id}/contacts. Returns the created contact.
| Name | Required | Description | Default |
|---|---|---|---|
| tags | No | Tags to apply to the contact, e.g. ["vip", "beta"]. | |
| fields | No | Custom field values, keyed by the list's field tag (e.g. {"FirstName": "Ada"}). | |
| status | No | Subscription status: subscribed, pending, or unsubscribed. | |
| list_id | Yes | The list's id to add the contact to. | |
| email_address | Yes | The contact's email address. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already set destructiveHint=true. The description adds that it modifies live data and returns the created contact, but this is minimal beyond the annotation. No contradictions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences front-loaded with 'CREATES a new contact' and includes essential details (required, optional, HTTP method, return value). No extraneous text.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 5 parameters and no output schema, the description covers creation action, required fields, and return value. It lacks error handling or rate limits but is sufficient for a straightforward create tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with descriptions for each parameter. The description echoes required fields and mentions 'keyed by field tag' for fields, which adds slight context but largely duplicates schema. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it creates a new contact in a list, modifies live data, and provides the HTTP method. It distinguishes itself from siblings like delete, update, and get by specifying creation action.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It mentions required and optional parameters but does not explicitly guide when to use this tool versus siblings like update_contact or delete_contact. Usage context is implied but not directly stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
emailoctopus_create_listCreate listADestructiveInspect
CREATES a new list — this MODIFIES live data. Provide a name. EmailOctopus: POST /lists. Returns the created list.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Human-readable name for the new list. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already flag destructiveHint=true; description adds that it modifies live data and returns the created list, but no extra detail on auth or limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences, no wasted words, front-loaded with key warning and action.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple 1-param tool with annotations, the description covers creation, return value, and live data warning. Could mention error scenarios, but not essential.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with a clear description; the description merely repeats 'Provide a `name`' without adding meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states 'CREATES a new list' with verb and resource, and distinguishes from sibling tools like get_list or update_list.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Implies use case (creating a list) but provides no explicit guidance on when to use vs alternatives, nor any exclusions or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
emailoctopus_delete_contactDelete contactADestructiveInspect
PERMANENTLY REMOVES a contact from a list — this MODIFIES live data and cannot be undone. contact_id is the MD5 hash of the lowercased email address, or the id from list_contacts. EmailOctopus: DELETE /lists/{list_id}/contacts/{contact_id}.
| Name | Required | Description | Default |
|---|---|---|---|
| list_id | Yes | The list's id. | |
| contact_id | Yes | The contact's id to delete — the MD5 hash of the lowercased email address, or the id from list_contacts. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description explicitly states permanence and live data modification, going beyond the destructiveHint annotation to emphasize irreversibility and the contact_id derivation. No contradiction.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with critical info (permanent removal, irreversibility). No redundant words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive tool with 2 parameters and no output schema, the description covers the action, parameter semantics, and behavior. Lacks mention of error handling or permissions, but adequate given simplicity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema covers both parameters with descriptions identical to part of the tool description, so no additional meaning added beyond schema. However, the description provides context by tying contact_id to the API endpoint. Baseline 3 applies due to 100% coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (permanently removes), resource (contact from a list), and notes the irreversible nature. It distinguishes from sibling tools like create, update, get by focusing on deletion.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use vs alternatives. The description implies usage for permanent deletion but does not mention when not to use or alternative tools like update_contact for deactivation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
emailoctopus_get_campaignGet campaignARead-onlyInspect
Get a single campaign by its id. Returns the campaign's full state — name, status, subject, from, content, and created_at. EmailOctopus: GET /campaigns/{campaign_id}.
| Name | Required | Description | Default |
|---|---|---|---|
| campaign_id | Yes | The campaign's id. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark the tool as readOnlyHint=true. The description adds value by detailing the returned fields and confirming the HTTP GET method and endpoint. It does not contradict annotations. However, it omits potential error conditions or rate limits, which would be useful for completeness.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description consists of two concise sentences. The first states the primary action and parameter, the second details the return value. It also includes the API endpoint for reference. No extraneous information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simplicity of the tool (single parameter, no output schema), the description adequately explains what the tool does and what it returns. It could briefly note that the campaign_id is required, but the schema already specifies this.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema covers 100% of the single parameter (campaign_id) with a description. The tool description adds minimal extra meaning beyond stating 'by its id'. Baseline 3 is appropriate given the high schema coverage and simple parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly states 'Get a single campaign by its id' and lists the returned fields (name, status, subject, from, content, created_at). This clearly identifies the action, resource, and scope, distinguishing it from sibling tools like listing campaigns or getting reports.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage when retrieving a campaign's full state, but it does not explicitly state when to use this tool versus alternatives like emailoctopus_get_campaign_report or emailoctopus_list_campaigns. No exclusions or when-not-to-use guidance is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
emailoctopus_get_campaign_links_reportGet campaign links reportARead-onlyInspect
Get a campaign's per-link click report — for each link in the campaign, the URL and its click counts. EmailOctopus: GET /campaigns/{campaign_id}/reports/links.
| Name | Required | Description | Default |
|---|---|---|---|
| campaign_id | Yes | The campaign's id. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, so the safety profile is clear. The description adds that the return format includes URL and click counts, but does not address pagination, rate limits, or error conditions. Some value added beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no wasted words. The purpose is front-loaded, and the HTTP endpoint is provided efficiently.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with one parameter, no output schema, and clear annotations, the description is largely complete. It explains the output structure. Minor omissions like error handling do not detract significantly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% (one parameter, described). The description merely restates 'campaign_id' without adding extra meaning or context, so baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: retrieving a per-link click report for a campaign, including URL and click counts. It distinguishes from siblings like get_campaign_report by specifying 'links'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit when-to-use or alternatives are given. The description implies usage when link-level click data is needed, but lacks guidance on when not to use or comparisons with other campaign report tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
emailoctopus_get_campaign_reportGet campaign reportARead-onlyInspect
Get a campaign's aggregate performance report — sent, opened, clicked, bounced, unsubscribed, complained, and related counts. EmailOctopus: GET /campaigns/{campaign_id}/reports/summary.
| Name | Required | Description | Default |
|---|---|---|---|
| campaign_id | Yes | The campaign's id. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, so the tool is known as read-only. The description adds context on what data is returned (specific counts) but does not disclose other behavioral aspects like authentication requirements or rate limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two efficient sentences: first states purpose and lists key data points, second provides the API endpoint. No superfluous information, front-loaded with actionable details.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with one parameter, no output schema, and clear context from sibling names, the description fully covers what the tool does and what it returns. No further details are needed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Only one parameter (campaign_id) exists and the schema already describes it as 'The campaign's id.' with 100% coverage. The description does not add additional meaning or usage hints beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it retrieves a campaign's aggregate performance report with specific metrics (sent, opened, clicked, bounced, etc.). It distinguishes from sibling tools like get_campaign (campaign details) and get_campaign_links_report (links report) by focusing on aggregate performance.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for obtaining aggregate report data but does not explicitly state when to use this tool versus alternatives or provide exclusions. Sibling tools are listed but no guidance on selection is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
emailoctopus_get_contactGet contactARead-onlyInspect
Get a single contact in a list. Returns email_address, fields, tags, status, and created_at. contact_id is the MD5 hash of the lowercased email address, or the id returned by emailoctopus_list_contacts. EmailOctopus: GET /lists/{list_id}/contacts/{contact_id}.
| Name | Required | Description | Default |
|---|---|---|---|
| list_id | Yes | The list's id. | |
| contact_id | Yes | The contact's id — the MD5 hash of the lowercased email address, or the id from list_contacts. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true, consistent with 'Get'. The description adds useful context about the contact_id format (MD5 hash of lowercased email) and the underlying API call, enhancing transparency beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three concise sentences with no fluff. Each sentence adds value: purpose, return fields, ID format, and API reference. Front-loaded with the main action.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description covers return fields and ID format. It references the API endpoint for further context. Missing explicit error handling or edge cases, but sufficient for a simple read tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so description adds limited new parameter info. However, it clarifies the contact_id format and lists return fields, which compensates for the lack of output schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Get' and the resource 'a single contact in a list', and lists specific return fields. This distinguishes it from sibling tools like list_contacts (listing multiple contacts) and create_contact.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for retrieving a single contact by ID, but does not explicitly state when to use it versus alternatives like list_contacts. No guidance on prerequisites or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
emailoctopus_get_listGet listARead-onlyInspect
Get a single list by its id. Returns the list's full state — name, contact counts by status, and created_at. EmailOctopus: GET /lists/{list_id}.
| Name | Required | Description | Default |
|---|---|---|---|
| list_id | Yes | The list's id. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint=true, and the description confirms it's a GET request (read-only). No additional behavioral context (e.g., error handling, rate limits, data freshness) is provided beyond the annotation, which is adequate but not enhanced.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the core purpose and return values. Every sentence adds value, with no redundancy or unnecessary details.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (1 parameter, no output schema, with annotations), the description provides a clear picture of what the tool returns (name, contact counts, created_at) and the API endpoint. It is nearly complete, though could mention potential error states.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with the single parameter list_id already described. The description does not add any extra semantics or usage details beyond the schema, meeting the baseline for high coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves a single list by its ID and specifies the returned data (name, contact counts, created_at). It distinguishes from sibling tools like emailoctopus_list_lists by focusing on a single list.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for fetching a specific list's details but provides no explicit guidance on when to avoid this tool or use alternatives like emailoctopus_list_lists. It lacks explicit 'when to use' and 'when not to use' instructions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
emailoctopus_list_campaignsList campaignsARead-onlyInspect
List all campaigns in the account. Returns {data:[...],paging:{...}} — each campaign's id, name, status, subject, and created_at. Paginate with limit (max 100) and starting_after. EmailOctopus: GET /campaigns.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Max campaigns to return (1..100). | |
| starting_after | No | Pagination cursor — the id to start after (from the previous page's paging). |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate readOnlyHint=true, consistent with description. Description adds pagination details and API endpoint, enhancing understanding beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with action and return format, no unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Full return shape described, parameters documented, siblings listed. No missing context for this simple list tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema covers 100% of parameters with descriptions; description adds context (limit max 100, starting_after is a cursor), providing additional meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states verb 'List' and resource 'campaigns', specifies return fields and pagination structure. Distinguishes from siblings like get_campaign (single campaign) and list_contacts/lists.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Implies listing all campaigns but does not explicitly state when to use this vs. get_campaign or provide alternative guidance. No usage exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
emailoctopus_list_contactsList contactsARead-onlyInspect
List the contacts in a list. Returns {data:[...],paging:{...}} — each contact's id, email_address, fields, tags, status, and created_at. Paginate with limit (max 100) and starting_after. EmailOctopus: GET /lists/{list_id}/contacts.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Max contacts to return (1..100). | |
| list_id | Yes | The list's id. | |
| starting_after | No | Pagination cursor — the id to start after (from the previous page's paging). |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description provides the response structure, pagination mechanism, and endpoint, adding value beyond the readOnlyHint annotation. It does not contradict annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences plus endpoint, no filler. Front-loaded with the core purpose, highly efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Adequate for a list tool with 3 params and no output schema. Describes response format and pagination, though could mention default limit or ordering.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, and the description adds context by showing the response shape and how limit and starting_after work for pagination, enhancing understanding beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly states 'List the contacts in a list' and specifies returned fields (id, email_address, etc.) and the endpoint, clearly distinguishing it from sibling tools like get_contact.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied via the verb 'list' and pagination details, but no explicit guidance on when to use this tool versus alternatives (e.g., get_contact for a single contact) or when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
emailoctopus_list_listsList listsARead-onlyInspect
List all lists in the account. Returns {data:[...],paging:{...}} — each list's id, name, contact counts by status, and created_at. Paginate with limit (max 100) and starting_after (cursor from the previous page). EmailOctopus: GET /lists.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Max lists to return (1..100). | |
| starting_after | No | Pagination cursor — the id to start after (from the previous page's paging). |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide readOnlyHint=true, so the description does not need to reiterate safety. It adds valuable behavioral details like return format ({data, paging}) and pagination mechanics, which go beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with purpose and return structure. Every sentence provides essential information without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (2 params, 100% schema coverage, readOnlyHint annotation), the description fully covers purpose, return shape, and pagination. No output schema needed as description specifies the response structure.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds meaning beyond the schema by explaining pagination: 'Paginate with `limit` (max 100) and `starting_after` (cursor from the previous page)'. Schema coverage is 100%, but this contextual explanation enhances understanding.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'List all lists in the account' with a specific verb and resource. It distinguishes from sibling tools like emailoctopus_get_list (single list) and emailoctopus_create_list (create).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for listing all lists but does not explicitly mention when not to use it or suggest alternative tools like get_list for a single list. However, the context of listing all lists is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
emailoctopus_update_contactUpdate contactADestructiveInspect
UPDATES an existing contact in a list — this MODIFIES live data. Send only the fields you want to change (email_address, fields, tags, status). contact_id is the MD5 hash of the lowercased email address, or the id from list_contacts. EmailOctopus: PUT /lists/{list_id}/contacts/{contact_id}. Returns the updated contact.
| Name | Required | Description | Default |
|---|---|---|---|
| tags | No | Tags to apply to the contact, e.g. ["vip", "beta"]. | |
| fields | No | Custom field values, keyed by the list's field tag (e.g. {"FirstName": "Ada"}). | |
| status | No | Subscription status: subscribed, pending, or unsubscribed. | |
| list_id | Yes | The list's id. | |
| contact_id | Yes | The contact's id — the MD5 hash of the lowercased email address, or the id from list_contacts. | |
| email_address | No | The contact's email address. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Discloses mutation effect ('MODIFIES live data') matching annotation destructiveHint=true. Adds that it returns the updated contact and explains partial update behavior. Provides API endpoint info.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences: first states purpose and effect, second gives usage advice and API reference. No wasted words, front-loaded with key action.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, description still mentions return value (updated contact). All parameters are documented, and the tool's effect is clear. Sufficient for an update operation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. Description adds value by explaining the contact_id derivation (already in schema) and advising to send only changed fields, which is helpful beyond what schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('UPDATES an existing contact') and the resource ('contact in a list'), with the warning 'this MODIFIES live data'. It effectively distinguishes from siblings like create_contact and delete_contact.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides guidance to send only fields to change (partial update), and explains contact_id format. Lacks explicit when-not-to-use or alternatives, but context is clear for a focused update tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
emailoctopus_update_listUpdate listADestructiveInspect
UPDATES an existing list by id — this MODIFIES live data. Sets the list's name. EmailOctopus: PUT /lists/{list_id}. Returns the updated list.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | The new name for the list. | |
| list_id | Yes | The list's id to update. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark this as destructive (destructiveHint: true). The description adds value by emphasizing 'this MODIFIES live data' and specifying it returns the updated list, providing clarity beyond the annotation. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise, using two sentences plus an API endpoint reference. It front-loads the key action and result, with no wasted words. Every sentence serves a clear purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with two required parameters and no output schema, the description covers the main behavior (update, return list) and side effect (modifies live data). It could mention prerequisites or error cases, but overall it is fairly complete given the tool's simplicity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and both parameters (list_id, name) are already well-documented in the schema. The description only mentions 'Sets the list's `name`' which repeats the schema, adding no new semantics beyond what is already provided.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (UPDATES), the resource (existing list by id), and the specific field ('Sets the list's `name`'). It also notes that it modifies live data and returns the updated list, distinguishing it from sibling tools like create_list, get_list, or delete_list.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not explicitly state when to use this tool versus alternatives like create_list or get_list. It implies usage for updating a list name, but lacks explicit 'when to use' or 'when not to use' guidance, making it less helpful for an AI agent deciding between siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Claim this connector by publishing a /.well-known/glama.json file on your server's domain with the following structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"maintainers": [{ "email": "your-email@example.com" }]
}The email address must match the email associated with your Glama account. Once published, Glama will automatically detect and verify the file within a few minutes.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!
Related MCP Servers
- AlicenseBqualityFmaintenanceProvides an interface to manage email marketing, contact lists, dynamic templates, and email analytics via SendGrid's API.2158129ISC
- FlicenseBqualityDmaintenanceEnables management of email campaigns, subscribers, lists, segments, journeys, templates, transactional email, and client/account settings through the Campaign Monitor API via natural language.100
- Alicense-qualityDmaintenanceEnables sending and managing emails via Postmark, including email delivery with templates, template listing, and delivery statistics.MIT
- Alicense-qualityCmaintenanceManage Mailchimp audiences, campaigns, and members via the Mailchimp Marketing API through natural language queries.6MIT