Could Have Been Email
The Could Have Been Email API accepts a meeting transcript and returns a definitive assessment of whether the meeting justified its own existence. It evaluates information density, decision count, and the ratio of productive content to small talk. The suggested_email field provides what should have been sent instead. Uses AI to read between the lines of your corporate theater.
Add to Your MCP Client
Drop this server into Claude Desktop, Cursor, Continue, or any MCP-compatible client.
{
"mcpServers": {
"could-have-been-email": {
"url": "https://api.stupidmcps.com/could-have-been-email/mcp"
}
}
}
{
"mcpServers": {
"could-have-been-email": {
"url": "https://api.stupidmcps.com/could-have-been-email/mcp"
}
}
}
POST https://api.stupidmcps.com/could-have-been-email/mcp
Add the snippet to your client's MCP config (typically claude_desktop_config.json for Claude Desktop, ~/.cursor/mcp.json for Cursor). Restart the client. The tools become available to your AI assistant.
No-code option: connect via Pipeworx — one click into Claude, ChatGPT, and friends.
Or Try It Directly — No MCP Client Required
Parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
transcript |
string |
Required | — | The meeting transcript. Doesn't need to be verbatim. We've seen worse. |
duration |
number |
Optional | 30 |
Meeting duration in minutes. |
attendee_count |
number |
Optional | 4 |
Number of people whose time was consumed. |
recurring |
boolean |
Optional | false |
Is this a recurring meeting? Multiplies the tragedy. |
Examples
curl "https://api.stupidapis.com/could-have-been-email/analyze?transcript=Let+us+sync+on+the+Q3+roadmap&duration=60&attendee_count=12"
import requests
response = requests.get(
"https://api.stupidapis.com/could-have-been-email/analyze",
params={"transcript": "Let us sync on the Q3 roadmap", "duration": 60, "attendee_count": 12}
)
print(response.json())
const response = await fetch( "https://api.stupidapis.com/could-have-been-email/analyze?transcript=Sync+on+roadmap&duration=60&attendee_count=12" ); const data = await response.json(); console.log(data);
Response Schema
| Field | Type | Description |
|---|---|---|
verdict |
string |
Whether this could have been an email |
email_probability |
number |
Probability this meeting was unnecessary (0-100) |
time_wasted |
string |
Total person-hours consumed |
productive_moments |
number |
Number of moments where actual decisions were made |
suggested_email |
string |
The email that should have been sent instead |
attendee_guilt_distribution |
object |
Who is most responsible for this meeting existing |
Example Response
{
"verdict": "This was absolutely an email.",
"email_probability": 97,
"time_wasted": "12 person-hours (720 person-minutes)",
"productive_moments": 1,
"suggested_email": "Hi team, here's the Q3 roadmap. Comments by Friday. Thanks.",
"attendee_guilt_distribution": {
"organizer": "78%",
"person_who_asked_a_question": "15%",
"everyone_else": "7% (for not declining)"
}
}
MCP Access
This API is available as an MCP tool for AI assistants. Connect your agent to:
POST https://api.stupidmcps.com/could-have-been-email/mcp
POST https://api.stupidmcps.com/mcp
Use Pipeworx to connect this MCP tool to Claude, ChatGPT, and other AI assistants with no code.