Skip to main content
Glama

Tempo MCP

The founder-vitals connector for solo operators. Tempo is the first MCP server that joins human capacity (sleep, mood, stress, energy) to business load (meetings, revenue, deal flow) and exposes them to Claude as one signal.

For a solopreneur, the founder is the single point of failure. Every other tool treats the business and the human as separate things. Tempo fuses them, so Claude can make business decisions — decline meetings, reprice services, prescribe rest days — based on the founder's real-time state.

What makes this novel

Tempo invents a single KPI that no other tool can compute on its own:

Revenue per Recovery Hour (RpRH) — revenue generated divided by hours of true recovery. Falling RpRH means you're working harder for less, and it's the earliest quantitative signal of founder burnout.

Related MCP server: Whoop MCP Server

Install

pip install tempo-mcp

Requires Python 3.10+ and works with both mcp 1.x and 2.x.

Register with Claude Desktop / Cowork / Claude Code

~/.claude/settings.json (or equivalent):

{
  "mcpServers": {
    "tempo": {
      "command": "python",
      "args": ["-m", "tempo_mcp"]
    }
  }
}

Tools exposed over MCP

Tool

Purpose

log_checkin

Log mood / energy / stress / sleep

ingest_revenue_event

Record revenue (from Stripe connector or manual)

ingest_calendar_event

Record a calendar block (internal, sales, deep work)

tempo_score

Compute the composite Tempo score + RpRH

recommend_actions

Prescriptive business moves based on current state

apply_action

Log (or, on Pro, execute) an action

get_history

Full time-series history over N days — for trend analysis

weekly_digest

Narrative week-over-week summary Claude can read aloud

license_status

Show the active plan and what it unlocks

activate_license

Activate a Pro / Team Solo key

export_data

Export the whole local dataset as JSON or CSV (Pro)

Plans

Tempo is free forever for the core loop. Paid tiers exist because the expensive parts — long history, connector ingest, executing actions — are the parts that need maintaining.

Free

Pro — $39/mo

Team Solo — $79/mo

Daily check-ins, Tempo score, RpRH

Manual revenue / calendar logging

History window

7 days

unlimited

unlimited

Week-over-week digest

Connector ingest (Stripe, calendar, wearable)

Executed actions

log only

3 / day

unlimited

Data export (JSON / CSV)

Seats

1

1

5

Subscribe at temposolo.app, then paste the key from your welcome email:

activate_license with key tempo_v1....

Or set it yourself — TEMPO_LICENSE_KEY in the environment, or one line in ~/.tempo/license.

Licence keys are Ed25519-signed and verified offline against a public key baked into the package. There is no licence server, no activation call, and no telemetry: Tempo works on a plane and cannot tell us when you use it. An expired or missing key quietly drops you to the free tier rather than locking you out of your own data.

Example conversation with Claude

You: "I slept 5 hours, energy's at 3/10, stress 8. Log it and tell me what to do about tomorrow."

Claude (using Tempo): logs checkin → pulls score → RpRH down 22% → 4 external calls booked tomorrow → recommends auto-decline of 2 discovery calls and a rest day.

Data stays local

Tempo stores everything in ~/.tempo/tempo.sqlite3. Nothing leaves your machine unless you enable the Pro cloud sync.

Develop

git clone https://github.com/tsutera09/tempo-mcp
cd tempo-mcp
pip install -e '.[dev]'
pytest
python -m tempo_mcp   # runs the MCP server on stdio

Publishing

See PUBLISH.md at the repo root for the ordered release checklist (PyPI, npm mirror, MCP registry).

License

MIT

Available Tools

11 tools
activate_licenseA

Activate a Tempo Pro or Team Solo licence key.

Paste the key from the welcome email. It is verified offline against Tempo's signing key and saved to ~/.tempo/license — nothing is sent anywhere.

ParametersJSON Schema
NameRequiredDescriptionDefault
keyYes

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries transparency. It explicitly discloses that the key is 'verified offline against Tempo's signing key,' 'saved to ~/.tempo/license,' and 'nothing is sent anywhere.' This covers safety, privacy, and side effects. It does not mention overwrite behavior or error cases, but for a simple activation tool it provides strong transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences, front-loaded with the purpose, then the usage. Every sentence earns its place: the first states the action, the second explains how to use and what happens. No redundant or filler content.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

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 and no output schema, the description covers the core aspects: what it does, how to use it, where it saves, and privacy. It omits return values or confirmation behavior, but given simplicity and the lack of output schema, it's reasonably complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has a single 'key' property with no description. The description compensates by saying 'Paste the key from the welcome email,' clarifying what the key is and its source. It adds meaning beyond the schema, though it doesn't specify format requirements or validation rules.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's function: 'Activate a Tempo Pro or Team Solo licence key.' It uses a specific verb ('Activate') and resource ('licence key'), and is easily distinguished from sibling tools like license_status, which presumably checks licensing state rather than activating.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides clear usage context: 'Paste the key from the welcome email.' This tells the user when and how to use the tool. It doesn't explicitly contrast with alternatives, but the activation vs. status distinction is implicit through the description and sibling names.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

apply_actionA

Record — or on Pro, execute — an action Tempo recommended.

Args: kind: auto_decline, reprice, rest_day, block_deep_work, ... payload: the action's parameters (who, when, how much) outcome: applied | dismissed | pending execute: Pro only. Hand the action to the connected executor (Cal.com / Stripe / Gmail) instead of only writing it down. Pro allows 3 executions per day; Team Solo is unlimited.

Logging is always free — the decision record is the point of the free tier, and it is what makes the weekly retrospective honest.

ParametersJSON Schema
NameRequiredDescriptionDefault
kindYes
executeNo
outcomeNoapplied
payloadYes

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description discloses key behavioral traits: execute hands off to external executors (Cal.com/Stripe/Gmail), Pro limits executions to 3 per day, and logging is always free. It stops short of detailing authentication or error handling, but covers the main side-effect profile well.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured with an opening purpose, an Args section, and a closing rationale. It is concise and front-loaded, though the final sentence about the weekly retrospective is slightly philosophical and could be trimmed without losing essential guidance.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's moderate complexity (4 parameters, nested payload, no output schema), the description covers the purpose, parameter meanings, and side effects well. It does not mention return values, but the absence of an output schema lowers the necessity. The free/pro distinction adds valuable context for invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description fully explains all four parameters with examples: kind (auto_decline, reprice, rest_day), payload (who/when/how much), outcome (applied/dismissed/pending), and execute (Pro-only, connected executor). This compensates completely for the 0% schema description coverage, providing semantics that the schema lacks.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description explicitly states the tool's function: 'Record — or on Pro, execute — an action Tempo recommended.' This is a specific verb+resource and distinguishes from the sibling tool 'recommend_actions' by using 'apply' and referencing the source of the action.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context on when execution is available (Pro only) and that logging is always free, which helps the agent decide whether to set execute. It does not explicitly name alternatives or exclusions, but the complementary role to recommend_actions is implied by the tool's name and description.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

export_dataA

Export the full local Tempo dataset. Pro and Team Solo only.

Args: fmt: "json" for the raw records, "csv" for one CSV block per table.

Your data is yours; this is the door out. It reads the local SQLite database and returns it inline — nothing is uploaded.

ParametersJSON Schema
NameRequiredDescriptionDefault
fmtNojson

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden. It explicitly states that the tool 'reads the local SQLite database and returns it inline — nothing is uploaded,' covering both data source and privacy implications. It also discloses the licensing limitation, though it doesn't specify the return structure or potential side effects beyond 'reads'.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise and front-loaded, with purpose, restriction, args, and behavioral note in four lines. The metaphorical 'Your data is yours; this is the door out' adds emphasis but little factual information, keeping it from being maximally efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a one-parameter export tool with no output schema, the description covers what, who, and how: full dataset, licensing, reads local SQLite, returns inline, and nothing is uploaded. It doesn't specify the exact return format beyond 'inline' or address potential size limits or errors, but it is adequate for the tool's simplicity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema's sole parameter `fmt` only defines a type and default, but the description fully explains the valid values: 'json' for raw records and 'csv' for one CSV block per table. This completely compensates for the empty schema description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with 'Export the full local Tempo dataset,' providing a specific verb and resource. It also notes the licensing restriction ('Pro and Team Solo only') and clearly distinguishes itself from sibling tools which handle scoring, check-ins, ingestion, and recommendations.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description frames this as the tool for retrieving one's own data ('this is the door out') and notes it is limited to Pro and Team Solo. It does not explicitly name alternatives or exclusions, but no sibling tool shares the export function, so the context is sufficiently clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_historyA

Return the full time-series history so Claude can surface trends.

Returns daily check-in snapshots, revenue by day, and calendar load over the requested window. Useful for building sparklines, comparing weeks, or asking "am I actually getting better?"

Free tier returns the last 7 days; Pro returns everything.

ParametersJSON Schema
NameRequiredDescriptionDefault
daysNo

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It exposes a key limitation: 'Free tier returns the last 7 days; Pro returns everything.' This is important behavioral context. It also clarifies the content returned and the window-based nature of the request. However, it omits details such as how the 'days' parameter interacts with the free tier limit (e.g., clamping or error) and whether there are any pagination or rate limits. Still, for a basic read operation, it adds meaningful transparency beyond the name.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact and front-loaded. The first sentence immediately states the tool's purpose and beneficiary ('so Claude can surface trends'). The following sentences add value: data types, use cases, and tier limit. No sentence is wasted, and the structure is easy to scan. It achieves high informational density in a few lines.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (one optional parameter, no output schema) and the presence of useful sibling context, the description is fairly complete. It covers what data is returned, typical use cases, and the free/pro tier distinction. The main gaps are the lack of detail about how 'days' maps to the window and how the system handles requests that exceed the free tier limit. These are minor for a straightforward read tool, so it earns a 4 rather than a 5.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%—the description never mentions the 'days' parameter. It says 'over the requested window' but does not explicitly tie that to the 'days' parameter or explain how it behaves (e.g., default of 30, whether it is a count of days back or a specific date range). Given low coverage, the description was expected to compensate but does not. The parameter is simple, but the connection is missing.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a clear verb and resource: 'Return the full time-series history.' It explicitly lists the data types included (daily check-in snapshots, revenue by day, calendar load), and the phrase 'so Claude can surface trends' clarifies the tool's intended role. This distinguishes it from siblings that log or ingest data (log_checkin, ingest_revenue_event) and from tempo_score or weekly_digest, which are more summary-oriented. The scope is unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides concrete usage context: 'Useful for building sparklines, comparing weeks, or asking "am I actually getting better?"' This signals when to invoke the tool for trend analysis. It does not explicitly name alternatives or state when not to use it, but the sibling tool list makes it clear that other tools handle data input or summaries. The guidance is present but not exhaustive.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ingest_calendar_eventA

Ingest a calendar event. kind ∈ {sales, deep_work, admin, personal}.

As with revenue: manual entry is free, connector-sourced ingest is Pro.

ParametersJSON Schema
NameRequiredDescriptionDefault
kindYes
titleNo
sourceNomanual
end_isoYes
externalNo
start_isoYes

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

There are no annotations, so the description carries the burden. It discloses the plan-based restriction (manual vs Pro) and the allowed kind values. However, it does not mention side effects, idempotency, required permissions, or behavior on failure, which would be useful for an ingest operation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise and front-loaded with the core action. Two sentences provide the key purpose and the main constraint without any filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With 6 parameters, no annotations, and no output schema, the description is too sparse. It lacks critical details such as whether end_iso must be after start_iso, whether events are deduplicated, what the response looks like, and any prerequisites. The provided information covers only kind and source, leaving the rest to inference.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has 0% description coverage, and the description compensates only partially. It explains the 'kind' parameter's allowed values and hints at the 'source' parameter via the manual vs connector distinction. Other parameters like 'start_iso', 'end_iso', 'title', and 'external' receive no additional meaning beyond their names.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's function: 'Ingest a calendar event.' It also specifies the allowed kinds, distinguishing it from the sibling tool 'ingest_revenue_event' by the resource type (calendar vs revenue).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context about when manual entry is free and connector-sourced ingest requires Pro, which is a usage constraint. It does not explicitly name alternative tools, but the reference to 'As with revenue' draws a parallel with the revenue ingest tool, giving contextual guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ingest_revenue_eventA

Record a revenue event. Amounts in the user's home currency.

Typing one in by hand (source="manual") is free. Automated ingest from an upstream connector — Stripe, QuickBooks, a wearable bridge — is a Pro feature.

ParametersJSON Schema
NameRequiredDescriptionDefault
metaNo
amountYes
iso_tsNo
sourceNomanual

TDQS

A3.5/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden of behavioral disclosure. It adds cost/currency context but omits critical behavior: what happens on successful ingest, whether it's reversible, what permissions are needed, or how meta and iso_ts affect behavior. The word 'Record' implies a write, but no side effects are disclosed.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise and front-loaded: the first sentence states purpose, the second clarifies pricing and source semantics. Every sentence provides meaningful information with no repetition or filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 4 parameters, no annotations, and no output schema, the description should explain return values, prerequisites, and all parameters. It covers only amount and source at a high level, leaving meta and iso_ts undocumented and not mentioning what the caller receives after recording. The tool is simple but still incomplete for an agent to invoke correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It explains 'amount' (in user's home currency) and 'source' (manual vs automated), which is helpful. However, it leaves 'meta' and 'iso_ts' entirely unexplained, and the integration between source and Pro feature is mentioned but not the param value itself.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific verb and resource: 'Record a revenue event.' This distinguishes it from siblings like ingest_calendar_event by naming the domain (revenue). The currency note adds precision without ambiguity.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear usage context: manual entry (source='manual') is free, while automated ingest from connectors is a Pro feature. This tells the agent when and how to invoke the tool depending on the source, though it doesn't explicitly name alternatives or exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

license_statusA

Show the active Tempo plan and what it unlocks.

Call this whenever the user asks what they're paying for, why a tool refused, or how much history they can see.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description is the sole source. 'Show' implies a read-only operation, and mentioning 'why a tool refused' adds useful diagnostic context. However, it doesn't describe return format or edge cases (e.g., no active license), leaving some gaps for a simple status tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two crisp sentences, front-loaded with the core purpose followed by three concrete use cases. Every sentence earns its place with zero redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no parameters, no output schema, and a straightforward read-only purpose, the description fully covers the essentials. The listed triggers provide sufficient context for an agent to decide when to invoke it.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters, so schema coverage is complete. No parameter explanation is needed; the baseline of 4 applies per the rubric.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states 'Show the active Tempo plan and what it unlocks' – a specific action and resource. Though it doesn't explicitly contrast with siblings like activate_license, the read-only status purpose is unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly instructs to call 'whenever the user asks what they're paying for, why a tool refused, or how much history they can see' – clear usage triggers. It lacks alternatives or exclusions but covers common scenarios adequately for a zero-parameter tool.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

log_checkinA

Log a morning (or moment-in-time) founder check-in.

Args: mood: 1..10, subjective mood energy: 1..10, subjective energy stress: 1..10, subjective stress sleep_hours: hours of sleep last night (can be fractional) note: optional free text

ParametersJSON Schema
NameRequiredDescriptionDefault
moodYes
noteNo
energyYes
stressYes
sleep_hoursYes

TDQS

A3.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

There are no annotations to fall back on, and the description does not disclose behavioral traits beyond the act of logging. It does not mention whether it writes a new record, overwrites existing data, requires authentication, or what side effects occur. The parameter ranges are clarified, but that belongs to parameter semantics, not behavioral transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise and well-structured: a one-sentence purpose followed by a clean bullet list of arguments. Every line delivers necessary information with no filler or redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description provides complete input semantics, which is essential for invocation. However, with no output schema and no annotations, it does not explain what the tool returns or how success is confirmed. As a logging/write operation, this missing behavioral context leaves a gap for an agent to fully understand the tool's outcome.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has zero descriptions for its properties, but the description compensates fully by explaining each parameter's meaning and range: mood, energy, stress on 1..10 scales, sleep_hours as fractional hours, and note as optional free text. This adds significant value beyond the schema's bare types and required flags.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action: 'Log a morning (or moment-in-time) founder check-in.' It names the specific resource (founder check-in) and the verb (log). However, it does not explicitly distinguish this tool from siblings like tempo_score, which might also involve mood tracking, so it lacks explicit sibling differentiation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage context is implied by the phrase 'morning (or moment-in-time) founder check-in,' suggesting when to use it. But there is no explicit guidance on when not to use it or which alternative tools to prefer. No alternatives are mentioned, so it only earns a midpoint score for implied usage.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

recommend_actionsB

Return prescriptive business actions based on current Tempo state.

These are the decisions that separate Tempo from a wellness tracker: price raises, meeting declines, rest days, deep-work blocks.

ParametersJSON Schema
NameRequiredDescriptionDefault
window_daysNo

TDQS

B3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Without annotations, the description carries full responsibility for behavioral transparency. It states the tool 'returns' actions, implying a read-only operation, but does not explicitly disclose side effects, permission requirements, or the nature of the 'current Tempo state' dependency. The examples add color but not critical transparency details.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is succinct at two sentences, with the core purpose front-loaded in the first sentence. The second sentence provides useful examples, though the phrase 'separate Tempo from a wellness tracker' is slightly superfluous. Overall, it is concise and well-structured, with minimal waste.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool has one parameter, no output schema, and no annotations, so the description must cover the essential context. It explains the tool's output type ('prescriptive business actions') but does not detail the output format, the effect of window_days, or any prerequisites. This leaves the agent under-informed for correct invocation and expectation setting.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema defines a single parameter, window_days, but provides no description for it. The tool description does not mention window_days at all, leaving the parameter's meaning and influence entirely unexplained. With 0% schema description coverage, the description fails to compensate, making the parameter effectively opaque to the agent.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with 'Return prescriptive business actions based on current Tempo state,' which is a specific verb+resource pair. It further clarifies with concrete examples (price raises, meeting declines, rest days, deep-work blocks), distinguishing it from sibling tools like apply_action. This makes the tool's purpose unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied by the description: the tool is for getting prescriptive actions. However, there is no explicit guidance on when to use this tool versus alternatives like apply_action or tempo_score. The description does not mention exclusions or conditional use cases, so while the context is clear, it lacks direct usage direction.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

tempo_scoreA

Compute the current Tempo score and supporting metrics.

Returns tempo (0..100), capacity, load, RpRH (revenue per recovery hour) and its 7-day delta, plus human-readable signals and alerts.

Free tier scores over the last 7 days; Pro over any window.

ParametersJSON Schema
NameRequiredDescriptionDefault
window_daysNo

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the transparency burden. It discloses the return values and the Free/Pro tier restriction on the scoring window. However, it does not mention whether the operation is read-only (though 'compute' implies it), how the Free tier handles a window_days greater than 7, or any error conditions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is three sentences long and each sentence carries value: the purpose, the return metrics, and the tier constraint. There is no verbosity or redundant content.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a single-parameter read tool with no output schema, the description gives the high-level behavior and return fields, which helps. However, parameter semantics and edge cases (e.g., Free tier behavior with window_days > 7) are unclear, leaving the context only somewhat complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%, so the description must explain the parameter. The mention of 'Free tier scores over the last 7 days; Pro over any window' relates to window_days but does not explicitly define that window_days sets the lookback period or its valid range. This leaves ambiguity, providing minimal compensation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description identifies a specific verb ('Compute') and resource ('Tempo score'), and enumerates the supporting metrics returned, clearly distinguishing it from siblings like 'recommend_actions' or 'weekly_digest'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies this tool is for retrieving the current tempo score and mentions tier-specific window limitations. However, it does not explicitly state when to use this tool versus other tools (e.g., 'weekly_digest') or provide exclusion criteria.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

weekly_digestA

Generate a human-readable weekly digest Claude can read aloud or send.

Compares this week vs last week on every key metric: Tempo score, capacity, load, RpRH, meeting hours, deep work hours, revenue. Returns a narrative summary string plus structured deltas.

Week-over-week needs 14 days of history, so the comparison is Pro. Free tier gets this week's digest on its own.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

There are no annotations, so the description carries the burden. It discloses the return format ('narrative summary string plus structured deltas'), the input prerequisites (14 days history), and tier-based limitations. It also reveals the intended consumption style ('read aloud or send'), indicating a non-imperative report generation. It does not explicitly state that no data is mutated, but the read-generation nature is implied by the wording.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is three short paragraphs: a clear purpose statement, a detailed list of metrics and return type, and a short note on tier constraints. Every sentence adds value, and it is front-loaded with the core purpose. No redundancy or filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a zero-parameter tool with no output schema, the description covers the essential aspects: what it does, what it returns (narrative summary plus structured deltas), and constraints (14-day history, Pro vs Free). It could slightly elaborate on the exact shape of 'structured deltas', but it is sufficiently complete for an AI to select and invoke the tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters, and the schema is an empty object with 100% coverage. Per the baseline for 0 params, the description does not need to add parameter semantics, and it correctly offers none.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific verb ('Generate') and resource ('a human-readable weekly digest'), and explicitly states its intended use ('Claude can read aloud or send'). It further clarifies scope by listing the exact metrics compared (Tempo score, capacity, load, RpRH, meeting hours, deep work hours, revenue), which distinguishes it from sibling tools like tempo_score (single metric) or get_history (raw data dump).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It provides clear context for when to use the tool: 'Week-over-week needs 14 days of history' and explains Pro vs Free tier behavior. However, it does not explicitly mention alternatives or state 'when not to use', which would be even stronger guidance given the array of sibling tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 11 tool updatesv0.2.0
    • First observedactivate_license
    • First observedapply_action
    • First observedexport_data
    • First observedget_history
    • First observedingest_calendar_event
    • First observedingest_revenue_event
    • First observedlicense_status
    • First observedlog_checkin
    • First observedrecommend_actions
    • First observedtempo_score
    • First observedweekly_digest

TDQS

A3.9/5.0

Scored across 11 tools

Disambiguation5/5

Each tool has a clearly distinct purpose: scoring, check-in logging, revenue/calendar ingestion, recommendations, action application, history, digest, license management, and export. No two tools overlap in function, and descriptions make boundaries explicit.

Naming Consistency4/5

Most tools follow a consistent verb_noun pattern (log_checkin, ingest_revenue_event, recommend_actions, apply_action), but a few like tempo_score, weekly_digest, and license_status are noun_phrases, slightly breaking the pattern. Still, all names are snake_case and readable.

Tool Count5/5

With 11 tools, the count is well within the ideal 3-15 range and each tool earns its place in the workflow—from data ingestion to scoring, recommendations, and administration. No redundancy or bloat.

Completeness5/5

The tool set covers the full domain lifecycle: input (check-in, revenue, calendar), analysis (tempo_score, recommend_actions), output (get_history, weekly_digest), execution (apply_action), and administrative functions (license_status, activate_license, export_data). Missing update/delete operations are not critical for this append-heavy logging use case.

Maintenance

ActivitySlowing
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Exposes Whoop fitness data (recovery, sleep, strain, workouts) to Claude for use as a daily training coach, enabling natural language queries about your health metrics and training readiness.
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Gives Claude read access to wearable health data from Fitbit or Wear OS devices via the Google Health API, exposing tools for metrics like steps, heart rate, sleep, and workouts, plus a computed recovery score.
    MIT
  • A
    license
    A
    quality
    B
    maintenance
    Provides Claude with real-time access to local health data including sleep, recovery, strain, and workouts from WHOOP and Apple Health, enabling informed context-aware interactions.
    6
    1
    MIT