AAJ Marketing Engines
Deterministic marketing math for AI agents: LTV:CAC, pipeline coverage, A/B tests, pricing.
Should I use this
Quality & Safety
Based on automated analysis of tool definitions and protocol compliance.
Context Cost
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": {
"aaj-engines": {
"url": "https://aaj-engines-mcp.sarojkjha10.workers.dev/mcp"
}
}
}Remote endpoints
https://aaj-engines-mcp.sarojkjha10.workers.dev/mcpstreamable-httpWhat it can do
Tool inventory
Tools (5)
🟢list_engines(category)
Lists every AAJ marketing engine: its id, the question it answers, and its category. Engines cover unit economics, pipeline forecast, budget allocation, retention, A/B significance, SEO/GEO scoring, ad spend and pricing.
Input Schema
{
"type": "object",
"properties": {
"category": {
"type": "string",
"description": "Optional filter. Words are matched against the engine's category, id and skill title (for example \"pricing\", \"retention\" or \"seo audit\"), then against its summary."
}
},
"additionalProperties": false
}🟢describe_engine(engine)
Shows one engine's input schema: required fields, units, alternative shapes, and a worked example. Engines reject bad input rather than guessing.
Input Schema
{
"type": "object",
"properties": {
"engine": {
"type": "string",
"description": "Engine id."
}
},
"required": [
"engine"
],
"additionalProperties": false
}🟢run_engine(engine, input)
Runs an AAJ engine and returns its verdict. Give `input` as an object of the engine's fields. Omit `input` to run the engine's built-in worked example. Engines are deterministic, offline, and validate their input — a wrong unit is reported as an error, not absorbed into a confident answer.
Input Schema
{
"type": "object",
"properties": {
"engine": {
"type": "string",
"description": "Engine id."
},
"input": {
"type": [
"object",
"string"
],
"description": "The engine's configuration object. Some engines also accept a named mode as a plain string (for example 'design' or 'readout'). Omit for the demo."
}
},
"required": [
"engine"
],
"additionalProperties": false
}🟢search_skills(query, limit)
Finds AAJ marketing skills by the problem they solve — 'churn is rising', 'we're launching next month', 'not showing up in AI answers'. Returns matching methods and marks which have a runnable engine.
Input Schema
{
"type": "object",
"properties": {
"query": {
"type": "string",
"description": "The problem, in plain words."
},
"limit": {
"type": "integer",
"description": "Max results, default 8.",
"minimum": 1,
"maximum": 73
}
},
"required": [
"query"
],
"additionalProperties": false
}🟢get_skill(skill)
Returns the full method for one skill: when to use it, the steps, the quality bar, and how to run its engine if it has one.
Input Schema
{
"type": "object",
"properties": {
"skill": {
"type": "string",
"description": "Skill slug."
}
},
"required": [
"skill"
],
"additionalProperties": false
}Community
Evidence