Strategic Flow MCP

Audit B2B SaaS lifecycle emails with the 7-point Decision Friction Model: score, patterns, fixes.

Should I use this

Quality & Safety

A
Description quality
90%
Schema completeness
100%
Naming quality
90%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~1,485Tokens (tool definitions)
~9.5 KBTypical response size
Moderate attention impact (1.16% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "mcp": {
      "url": "https://mcp.strategicflow.tech/api/mcp"
    }
  }
}

Remote endpoints

https://mcp.strategicflow.tech/api/mcpstreamable-http

What it can do

Tool inventory

Tools (2)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
⚪ask_strategic_flow(api_key, question)

Ask Strategic Flow about email conversion, funnel friction, the Decision Friction Model methodology, or Strategic Flow Tech services.

Input Schema

{
  "type": "object",
  "properties": {
    "api_key": {
      "type": "string",
      "minLength": 1,
      "description": "Required API key from /api/mcp/claim-key."
    },
    "question": {
      "type": "string",
      "minLength": 1,
      "description": "Your question about email conversion, funnel friction, the Decision Friction Model methodology, or Strategic Flow Tech services."
    }
  },
  "required": [
    "api_key",
    "question"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
⚪audit_email(api_key, subject, preview_text, body, email_type, ...)

Audit a SaaS lifecycle email using the 7-point Decision Friction Model and return a structured conversion diagnosis.

Input Schema

{
  "type": "object",
  "properties": {
    "api_key": {
      "type": "string",
      "minLength": 1,
      "description": "Required API key from /api/mcp/claim-key."
    },
    "subject": {
      "type": "string",
      "minLength": 1,
      "description": "The email subject line to audit."
    },
    "preview_text": {
      "description": "Optional preview or preheader text shown beside the subject.",
      "type": "string"
    },
    "body": {
      "type": "string",
      "minLength": 1,
      "description": "The full email body, including its copy and calls to action."
    },
    "email_type": {
      "description": "Optional lifecycle context, such as \"trial onboarding\", \"changelog\", or \"re-engagement\".",
      "type": "string"
    },
    "audience": {
      "description": "Optional description of the intended email audience.",
      "type": "string"
    },
    "desired_action": {
      "description": "Optional action the sender wants the reader to take.",
      "type": "string"
    }
  },
  "required": [
    "api_key",
    "subject",
    "body"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Output Schema

{
  "type": "object",
  "properties": {
    "result_type": {
      "type": "string",
      "enum": [
        "structured",
        "unstructured",
        "rate_limited"
      ],
      "description": "Whether the diagnosis was parsed into validated model fields."
    },
    "overall_score": {
      "description": "Structural email score from 0/10 to 10/10.",
      "type": "string",
      "pattern": "^(?:10(?:\\.0+)?|[0-9](?:\\.\\d+)?)\\/10$"
    },
    "primary_friction_pattern": {
      "description": "The main Decision Friction Model pattern found.",
      "type": "string",
      "enum": [
        "Filing Label Subject",
        "Feature-First Bias",
        "Consequence-After-Caveat",
        "Missing Visual Hierarchy",
        "Implied Transformation",
        "Buried or Zero Social Proof",
        "Guest Language CTA"
      ]
    },
    "primary_friction_pattern_definition": {
      "description": "Plain-language definition of the primary pattern.",
      "type": "string",
      "minLength": 1
    },
    "primary_friction_pattern_evidence": {
      "description": "Exact problematic phrase from this email showing the primary pattern.",
      "type": "string",
      "minLength": 1
    },
    "primary_friction_pattern_impact": {
      "description": "Concrete reason the primary pattern can reduce response or conversion.",
      "type": "string",
      "minLength": 1
    },
    "secondary_friction_pattern": {
      "description": "A secondary Decision Friction Model pattern, if present.",
      "anyOf": [
        {
          "type": "string",
          "enum": [
            "Filing Label Subject",
            "Feature-First Bias",
            "Consequence-After-Caveat",
            "Missing Visual Hierarchy",
            "Implied Transformation",
            "Buried or Zero Social Proof",
            "Guest Language CTA"
          ]
        },
        {
          "type": "string",
          "const": "None identified"
        }
      ]
    },
    "secondary_friction_pattern_definition": {
      "description": "Plain-language definition of the secondary pattern, when present.",
      "type": "string",
      "minLength": 1
    },
    "secondary_friction_pattern_evidence": {
      "description": "Exact problematic phrase from this email showing the secondary pattern.",
      "type": "string",
      "minLength": 1
    },
    "secondary_friction_pattern_impact": {
      "description": "Concrete reason the secondary pattern can reduce response or conversion.",
      "type": "string",
      "minLength": 1
    },
    "short_diagnosis": {
      "description": "Brief explanation of the core structural conversion friction.",
      "type": "string",
      "minLength": 1
    },
    "recommended_structural_change": {
      "description": "The highest-impact structural change to make.",
      "type": "string",
      "minLength": 1
    },
    "cta_diagnosis_direction": {
      "description": "Diagnosis and direction for the call to action.",
      "type": "string",
      "minLength": 1
    },
    "cta_pattern": {
      "description": "The Decision Friction Model pattern that best describes the CTA.",
      "anyOf": [
        {
          "type": "string",
          "enum": [
            "Filing Label Subject",
            "Feature-First Bias",
            "Consequence-After-Caveat",
            "Missing Visual Hierarchy",
            "Implied Transformation",
            "Buried or Zero Social Proof",
            "Guest Language CTA"
          ]
        },
        {
          "type": "string",
          "const": "None identified"
        }
      ]
    },
    "cta_pattern_definition": {
      "description": "Plain-language definition of the CTA pattern.",
      "type": "string",
      "minLength": 1
    },
    "cta_exact_line": {
      "description": "Exact CTA line from the email, or an explicit no-CTA statement.",
      "type": "string",
      "minLength": 1
    },
    "cta_weakness": {
      "description": "Concrete explanation of why this CTA is weak.",
      "type": "string",
      "minLength": 1
    },
    "cta_rewrite": {
      "description": "A specific rewritten CTA for this email.",
      "type": "string",
      "minLength": 1
    },
    "raw_response": {
      "description": "The upstream diagnosis when it cannot be safely parsed into validated fields.",
      "type": "string",
      "minLength": 1
    },
    "message": {
      "description": "Friendly usage or next-step message when no diagnosis is returned.",
      "type": "string",
      "minLength": 1
    },
    "original_subject": {
      "description": "The original email subject sent for rebuilding.",
      "type": "string",
      "minLength": 1
    },
    "audit_record_id": {
      "description": "Identifier of the stored upstream audit record.",
      "type": "string",
      "minLength": 1
    },
    "original_score": {
      "description": "Original structural email score from 0 to 10 for members.",
      "type": "number",
      "minimum": 0,
      "maximum": 10
    },
    "rebuilt_subject": {
      "description": "The rebuilt email subject.",
      "type": "string",
      "minLength": 1
    },
    "rebuilt_score": {
      "description": "Rebuilt structural email score from 0 to 10 for members.",
      "type": "number",
      "minimum": 0,
      "maximum": 10
    },
    "rebuilt_body": {
      "description": "The rebuilt email body.",
      "type": "string",
      "minLength": 1
    },
    "rebuilt_cta": {
      "description": "The rebuilt call to action.",
      "type": "string",
      "minLength": 1
    },
    "variants": {
      "description": "Alternative rebuild variants returned by the audit service.",
      "type": "array",
      "items": {}
    },
    "changes": {
      "description": "Changes made by the audit service.",
      "type": "array",
      "items": {}
    },
    "structured_fixes": {
      "description": "Structured email fixes returned by the audit service.",
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "fix_id": {},
          "field_name": {},
          "before_value": {},
          "after_value": {},
          "pattern": {},
          "element": {},
          "why": {}
        },
        "required": [
          "fix_id",
          "field_name",
          "before_value",
          "pattern",
          "element",
          "why"
        ],
        "additionalProperties": {}
      }
    },
    "audits_used": {
      "description": "Number of audits used after this request.",
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    },
    "audits_remaining": {
      "description": "Number of audits remaining after this request.",
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    },
    "upgrade_url": {
      "description": "Upgrade URL returned by the audit service.",
      "anyOf": [
        {
          "type": "string",
          "minLength": 1
        },
        {
          "type": "null"
        }
      ]
    }
  },
  "required": [
    "result_type"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded2 tools