Stateless DM Faster Agent 1.0 MCP server with a portable interactive campaign workspace for managing sales campaigns.
32 tools with mostly complete schemas and descriptions, but significant inconsistencies in parameter documentation and output schema clarity. Tool naming follows verb_noun convention well (analytics_summary, campaigns_list, campaign_inspect). Descriptions average ~120 chars, meeting baseline (194 chars target). However, many parameters lack detailed constraints (enums, ranges, formats). Output schemas are not explicitly documented in source. Error handling guidance is absent. Composition is strong, tools chain well (e.g., campaigns_list → campaign_inspect → pipeline_inspect). Security: no exposed credentials detected. Idempotency keys present on irreversible operations (campaign_launch, campaign_pause) showing good pattern awareness.
Read an authoritative analytics snapshot for an explicit time scope, optionally limited to one campaign identifier or exact name.
Preview the audience that will be targeted by a campaign.
Inspect campaign delivery settings and status.
Update campaign delivery settings such as pacing, daily cap, or sending window.
Prepare a new campaign draft with initial configuration.
Update an existing campaign draft.
Object-type parameters lack nested schema documentation. campaign_validate, audience_preview, campaign_draft_prepare, list_prepare accept 'brief', 'filters', 'companies' as objects but provide no nested field definitions, forcing LLMs to guess structure.
Output schemas not documented in source. No tool explicitly declares what fields it returns (e.g., does analytics_summary return {revenue, opens, clicks} or {data: {revenue, opens, clicks}}?). LLMs cannot plan downstream tool calls without knowing response structure.
No error handling guidance. Tools lack descriptions of failure modes, recovery steps, or actionable error messages. E.g., campaign_launch does not document what happens if preflight fails or if idempotencyKey is reused.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 62 | 2026-07-28+ | v2 |
Read delivery, outcome, and pipeline facts for a campaign identifier returned by DM Faster.
Launch a campaign after preflight approval.
Perform preflight checks before launching a campaign.
Inspect campaign operation status to distinguish queue preparation from sender acknowledgment.
Pause a running campaign after preflight approval.
Perform preflight checks before pausing a campaign.
Prepare a campaign draft for launch.
Validate campaign configuration before preparation.
Interactive campaign workspace UI for reviewing and editing complete campaign state.
List campaigns in the current workspace, optionally filtered by status.
Get available company filter options.
Inspect a prepared list of companies.
Prepare a list of companies for campaign targeting.
Search for companies by criteria.
Read detailed information for a specific company.
Read the outreach event timeline for one company record in one campaign.
Look up industry classification and verify company industry data.
Import a list of companies from external source.
Read details for a specific saved list.
Prepare a list for use in a campaign.
Remove a target company from a list.
List all saved lists in the current workspace.
Read contacted, replied, booked-call, and closed pipeline counts for a campaign.
Read actual reply-stage records that need attention. Never infer replies from sent counts.
Read browser-worker, queue, and failed-send health for the workspace or one campaign.
Start here when the user has not named a specific DM Faster resource. Read the authoritative workspace summary and current campaign and sending priorities.
Pagination not documented. campaigns_list and replies_list accept 'limit' but no 'offset', 'cursor', or 'page' parameter. No mention of total count or next_cursor in descriptions, risking context window exhaustion on large result sets.
Idempotency pattern incomplete. campaign_launch and campaign_pause require idempotencyKey but campaign_draft_prepare, campaign_delivery_update do not. Inconsistent application risks duplicate side effects on retries.