# Framezone (remote · framezone.app)

Your life dashboard for AI: tasks, habits, goals, budgets, workouts, nutrition, journal, notes.

- Trust score: 90/100 (high trust)
- Change this week: +3
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-10-17

## Components

- remote · `framezone.app`: 90/100 (this document), [markdown](https://verifymcp.io/servers/app-framezone-framezone/framezone.md), [page](https://verifymcp.io/servers/app-framezone-framezone/framezone)

## Channel facts

- Endpoint: `https://framezone.app/mcp`
- Transports: `streamable-http`
- Auth: `required`
- Version: `2.3.0`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-10-17.

- **Endpoint Security**: 94/100
  - The endpoint's TLS certificate is valid, in date, and uses a strong key.
  - Authorisation is enforced on tool calls, advertised via RFC 9728 protected-resource metadata. Discovery is public, which costs nothing: no tool can be invoked without a token.
  - HTTPS is enforced; there's no plaintext access path.
  - The HSTS (Strict-Transport-Security) header is present.
  - DNSSEC check failed: this domain isn't protected by DNSSEC.
  - The authorisation server offers only Dynamic Client Registration (RFC 7591), which MCP 2026-07-28 deprecated in favour of Client ID Metadata Documents.
- **Transport & Reachability**: 100/100
  - Verified streamable-http transport via a live MCP handshake.
- **Schema Quality & AI Usability**: 76/100
  - AI-judged instruction clarity (excellent).
  - Context-footprint check failed: tool/resource definitions use about 7299 tokens (~117/item across 62 items; 62 tools + 0 resources), over budget; trim descriptions and params.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 77/100
  - Stability observed for 23 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **Tool Coverage**: 100/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 100% of tool parameters carry a description.
- **Tool Safety**: 100/100
  - No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.
  - All 8 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation.
  - An AI judge read all 63 captured unit(s) of tool text and found none that tries to manipulate the model reading it.
- **Capabilities**: 100/100
  - Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.

## Install

### How do I install the Framezone MCP server?

Framezone is a hosted endpoint at https://framezone.app/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

### Claude

```bash
claude mcp add --transport http app-framezone-framezone 'https://framezone.app/mcp'
```

### Cursor

```json
{
  "mcpServers": {
    "app-framezone-framezone": {
      "url": "https://framezone.app/mcp"
    }
  }
}
```

### VS Code

```json
{
  "servers": {
    "app-framezone-framezone": {
      "type": "http",
      "url": "https://framezone.app/mcp"
    }
  }
}
```

### Codex

```toml
[mcp_servers.app-framezone-framezone]
url = "https://framezone.app/mcp"
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "app-framezone-framezone": {
      "type": "remote",
      "url": "https://framezone.app/mcp",
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add app-framezone-framezone --url 'https://framezone.app/mcp' --transport streamable-http
```

### Hermes

```yaml
mcp_servers:
  app-framezone-framezone:
    url: "https://framezone.app/mcp"
```

### Netclaw

```json
{
  "McpServers": {
    "app-framezone-framezone": {
      "Transport": "http",
      "Url": "https://framezone.app/mcp"
    }
  }
}
```

### Vellum

```bash
assistant mcp add app-framezone-framezone -t streamable-http -u 'https://framezone.app/mcp'
```

### Other

```json
{
  "mcpServers": {
    "app-framezone-framezone": {
      "type": "http",
      "url": "https://framezone.app/mcp"
    }
  }
}
```

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-10-16 (score 90, +1)

No change was recorded against any check on this day. Stability & Change Management went from 70 to 73. That category is still filling its 30-day observation window: 21 days of observed history at the previous scan, 22 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-10-14 (score 89, +1)

No change was recorded against any check on this day. Stability & Change Management went from 63 to 67. That category is still filling its 30-day observation window: 19 days of observed history at the previous scan, 20 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-10-12 (score 88, +1)

No change was recorded against any check on this day. Stability & Change Management went from 53 to 60. That category is still filling its 30-day observation window: 16 days of observed history at the previous scan, 18 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-10-10 (score 87, +1)

No change was recorded against any check on this day. Stability & Change Management went from 50 to 53. That category is still filling its 30-day observation window: 15 days of observed history at the previous scan, 16 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-10-09 (score 86, +1)

No change was recorded against any check on this day. Stability & Change Management went from 40 to 50. That category is still filling its 30-day observation window: 12 days of observed history at the previous scan, 15 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-10-06 (score 85, +1)

No change was recorded against any check on this day. Stability & Change Management went from 33 to 40. That category is still filling its 30-day observation window: 10 days of observed history at the previous scan, 12 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-10-04 (score 84, +1)

No change was recorded against any check on this day. Stability & Change Management went from 30 to 33. That category is still filling its 30-day observation window: 9 days of observed history at the previous scan, 10 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-10-01 (score 83, +1)

No change was recorded against any check on this day. Stability & Change Management went from 20 to 23. That category is still filling its 30-day observation window: 6 days of observed history at the previous scan, 7 at this one. The score rises as the window fills, whether or not the server changes.

## MCP tools (62)

### `list_tasks` (~104 tokens)

List tasks

List tasks, optionally filtered by status, priority, project, or top3 flag.

Input parameters:

- `include_archived` (boolean): Include archived tasks (default: false)
- `is_top3` (boolean): Only show Top 3 focus tasks
- `priority` (integer): Filter by priority: 1=high, 2=medium, 3=low
- `project_id` (integer): Filter by project ID
- `status` (string): Filter by status

### `create_task` (~133 tokens)

Create task

Create a new task with optional project, priority, due date, and recurrence.

Input parameters:

- `description` (string): Task description
- `due_date` (string): Due date (Y-m-d format)
- `is_top3` (boolean): Mark as Top 3 focus task (max 3 allowed)
- `priority` (integer): Priority: 1=high, 2=medium, 3=low
- `project_id` (integer): Assign to project by ID
- `recurrence` (string): Recurrence pattern
- `status` (string): Initial status
- `title` (string, required): Task title

### `update_task` (~125 tokens)

Update task

Update an existing task. Only provided fields are changed.

Input parameters:

- `description` (string): New description
- `due_date` (string): New due date (Y-m-d)
- `is_top3` (boolean): Set Top 3 status
- `priority` (integer): Priority: 1=high, 2=medium, 3=low
- `project_id` (integer): Assign to project by ID
- `status` (string): New status
- `task_id` (integer, required): ID of the task to update
- `title` (string): New title

### `complete_task` (~41 tokens)

Complete task

Toggle a task between completed and pending. Cascades to subtasks and handles recurrence.

Input parameters:

- `task_id` (integer, required): ID of the task to complete/uncomplete

### `delete_task` (~32 tokens)

Delete task

Soft-delete a task (can be restored later).

Input parameters:

- `task_id` (integer, required): ID of the task to delete

### `list_habits` (~74 tokens)

List habits

List active habits with the value logged and done status for a date, plus current streaks. Streaks count from yesterday while today is still open; times_per_week habits have weekly streaks (streak_unit=weeks).

Input parameters:

- `date` (string): Date to check (Y-m-d, defaults to today)

### `create_habit` (~198 tokens)

Create habit

Create a new habit. Tracking types: check (daily toggle), count (hit a number), duration (minutes), times_per_week (weekly frequency).

Input parameters:

- `color` (string): Color as #rrggbb, e.g. #10AC84
- `icon` (string): Lucide icon name (lowercase, dashes), e.g. book-open
- `name` (string, required): Habit name
- `target_duration` (integer): Target duration in minutes (for duration type, 5-480)
- `target_value` (integer): Target count value (for count type)
- `time_of_day` (string): When during the day
- `times_per_week` (integer): Times per week target (for times_per_week type, 1-7)
- `tracking_type` (string): Tracking type (default: check)
- `unit` (string): Unit label (e.g., "pages", "glasses")

### `update_habit` (~181 tokens)

Update habit

Update an existing habit. Only provided fields are changed.

Input parameters:

- `active` (boolean): Enable or disable the habit
- `color` (string): Color as #rrggbb, e.g. #10AC84
- `habit_id` (integer, required): ID of the habit to update
- `icon` (string): Lucide icon name (lowercase, dashes), e.g. book-open
- `name` (string): New habit name
- `target_duration` (integer): New target duration in minutes (5-480)
- `target_value` (integer): New target count value
- `time_of_day` (string): When during the day
- `times_per_week` (integer): New times per week target (1-7)
- `tracking_type` (string): New tracking type
- `unit` (string): New unit label

### `log_habit` (~119 tokens)

Log habit

Log a habit entry for a date. Sets the value for a day (0 clears it). Without a value the day is marked fully done.

Input parameters:

- `date` (string): Date to log (Y-m-d, defaults to today, cannot be in the future)
- `habit_id` (integer, required): ID of the habit
- `value` (number): Value to set for that day (default: the habit's full daily target, i.e. done). 0 clears the day. Count/duration habits are only done when value >= target.

### `list_goals` (~46 tokens)

List goals

List goals with progress, type, and status. Supports filtering by status or category.

Input parameters:

- `category` (string): Filter by category
- `status` (string): Filter by status

### `create_goal` (~206 tokens)

Create goal

Create a new goal. Types: milestone (checklist), numeric (value tracking), habit, vision.

Input parameters:

- `category` (string): Category (e.g., Health, Career, Finance)
- `current_value` (number): Current value (numeric goals, >= 0)
- `description` (string): Goal description
- `goal_type` (string): Type
- `milestones` (array): Milestones array [{title: "..."}] (for milestone goals)
- `priority` (integer): Priority: 1=high, 2=medium, 3=low
- `start_value` (number): Starting value; defaults to current_value. Lets goals that go down (90 -> 80 kg) show progress
- `target_date` (string): Target date (Y-m-d)
- `target_value_num` (number): Target value (for numeric goals)
- `title` (string, required): Goal title
- `unit` (string): Unit of measurement (for numeric goals)

### `update_goal` (~219 tokens)

Update goal

Update a goal: change status, progress, toggle milestones, or add a progress note.

Input parameters:

- `current_value` (number): Current value (for numeric goals, >= 0)
- `description` (string): New description
- `goal_id` (integer, required): Goal ID
- `note` (string): Progress update note (saved in goal timeline)
- `priority` (integer): Priority: 1=high, 2=medium, 3=low
- `start_value` (number): Value the goal started from; progress is measured from it (use for goals that go down, e.g. 90 -> 80 kg)
- `status` (string): New status
- `target_date` (string): New target date (Y-m-d)
- `target_value_num` (number): Target value (numeric and habit goals)
- `title` (string): New title
- `toggle_milestone` (integer): Toggle milestone by index (0-based). Ticking the last open one completes the goal; unticking reopens it.

### `list_projects` (~74 tokens)

List projects

List projects with task counts, tier, status, and linked goal.

Input parameters:

- `include_archived` (boolean): Include archived projects in an unfiltered list (default: false)
- `status` (string): Filter by status. Archived projects are excluded unless you ask for them explicitly.
- `tier` (string): Filter by tier

### `create_project` (~132 tokens)

Create project

Create a new project with tier (A/B/C), optional goal link, and target date.

Input parameters:

- `color` (string): Color hex code (e.g., #3B82F6)
- `description` (string): Project description
- `goal_id` (integer): Link to a goal by ID
- `icon` (string): Lucide icon name
- `name` (string, required): Project name
- `status` (string): Initial status
- `target_date` (string): Target completion date (Y-m-d)
- `tier` (string): Priority tier
- `url` (string): Project URL

### `update_project` (~132 tokens)

Update project

Update a project: change name, tier, status, goal link, or target date.

Input parameters:

- `color` (string): Color hex
- `description` (string): New description
- `goal_id` (integer): Link to goal by ID (0 to unlink)
- `icon` (string): Lucide icon name
- `name` (string): New name
- `project_id` (integer, required): Project ID
- `status` (string): New status
- `target_date` (string): Target date (Y-m-d)
- `tier` (string): New tier
- `url` (string): Project URL

### `get_daily_entry` (~48 tokens)

Get daily entry

Get the daily journal entry for a date: mood, energy, focus, morning/evening notes.

Input parameters:

- `date` (string): Date to get (Y-m-d, defaults to today)

### `update_daily_entry` (~133 tokens)

Update daily entry

Update the daily journal: set mood (1-5), energy (1-5), focus text, morning/evening notes.

Input parameters:

- `date` (string): Date to update (Y-m-d, defaults to today)
- `energy` (integer): Energy rating 1-5
- `evening_note` (string): Evening reflection note
- `focus_completed` (boolean): Whether the focus was achieved
- `focus_text` (string): Today's focus/intention text (max 255 characters)
- `mood` (integer): Mood rating 1-5
- `morning_note` (string): Morning journal note

### `list_notes` (~72 tokens)

List notes

List notes, optionally filtered by search query or tag. Returns title, tags, and truncated body.

Input parameters:

- `limit` (integer): Max results (default: 20, max: 50)
- `search` (string): Search query (matches title and body)
- `tag` (string): Filter by tag name

### `create_note` (~77 tokens)

Create note

Create a new note with title, body text, and optional tags.

Input parameters:

- `body` (string, required): Note body (plain text)
- `is_pinned` (boolean): Pin this note
- `project_id` (integer): Link to project by ID
- `tags` (array): Tags array
- `title` (string, required): Note title

### `delete_note` (~27 tokens)

Delete note

Soft-delete a note.

Input parameters:

- `note_id` (integer, required): ID of the note to delete

### `list_books` (~37 tokens)

List books

List books with optional status filter. Returns title, author, status, progress, and rating.

Input parameters:

- `status` (string): Filter by status

### `create_book` (~98 tokens)

Create book

Add a book to your library. Set status to "reading", "wishlist", "to_check", etc.

Input parameters:

- `author` (string): Author name
- `notes` (string): Personal notes about the book
- `pages` (integer): Total pages
- `rating` (integer): Rating 1-5
- `status` (string): Reading status
- `tags` (array): Tags
- `title` (string, required): Book title

### `update_book` (~107 tokens)

Update book

Update a book: change status, rating, notes, or update reading progress (current page).

Input parameters:

- `author` (string): New author
- `book_id` (integer, required): Book ID
- `current_page` (integer): Current page (updates reading progress)
- `notes` (string): Personal notes
- `rating` (integer): Rating 1-5
- `status` (string): New status
- `tags` (array): Tags
- `title` (string): New title

### `delete_book` (~29 tokens)

Delete book

Delete a book from the library.

Input parameters:

- `book_id` (integer, required): ID of the book to delete

### `list_quotes` (~43 tokens)

List quotes

List saved quotes, optionally filtered by book or favorites only.

Input parameters:

- `book_id` (integer): Filter by book ID
- `favorites_only` (boolean): Only show favorites

### `create_quote` (~89 tokens)

Create quote

Save a quote with author and optional book link.

Input parameters:

- `author` (string): Who said/wrote it
- `body` (string, required): The quote text
- `book_id` (integer): Link to a book by ID
- `is_favorite` (boolean): Mark as favorite
- `source` (string): Source (book title, speech, etc.)
- `tags` (array): Tags

### `add_bookmark` (~73 tokens)

Add bookmark

Save a bookmark URL with optional title, description, category, and tags.

Input parameters:

- `category` (string): Category
- `description` (string): Description
- `tags` (array): Tags
- `title` (string): Title (auto-detected from domain if omitted)
- `url` (string, required): Bookmark URL

### `delete_bookmark` (~28 tokens)

Delete bookmark

Delete a bookmark permanently.

Input parameters:

- `bookmark_id` (integer, required): ID of the bookmark to delete

### `list_accounts` (~16 tokens)

List accounts

List financial accounts with balances and types.

### `list_categories` (~32 tokens)

List categories

List transaction categories with type (income/expense) and monthly budget.

Input parameters:

- `type` (string): Filter by type

### `add_transaction` (~114 tokens)

Add transaction

Add a financial transaction (income or expense) to an account with optional category.

Input parameters:

- `account_id` (integer): Account ID (see list_accounts). Defaults to the user's main account.
- `amount` (number, required): Transaction amount (positive number)
- `category_id` (integer): Category ID
- `description` (string, required): What is this transaction for
- `notes` (string): Additional notes
- `transaction_date` (string): Date (Y-m-d, defaults to today)
- `type` (string, required): Transaction type

### `list_subscriptions` (~22 tokens)

List subscriptions

List active subscriptions with amounts, frequency, and next billing date.

### `create_subscription` (~132 tokens)

Create subscription

Add a recurring subscription (monthly, yearly, or weekly).

Input parameters:

- `amount` (number, required): Amount per billing period
- `category_id` (integer): Category ID
- `currency` (string): ISO 4217 currency code, e.g. USD, EUR, GBP. Defaults to the user's currency.
- `frequency` (string): Billing frequency
- `name` (string, required): Subscription name (e.g., Netflix, Spotify)
- `next_billing_date` (string): Next billing date (Y-m-d)
- `notes` (string): Notes
- `url` (string): Service URL (http or https)

### `list_holdings` (~45 tokens)

List holdings

List portfolio holdings with market value, P/L, and allocation. Totals are in the user's currency; holdings without a live price are valued at cost and have null P/L.

### `add_trade` (~93 tokens)

Add trade

Record a buy or sell trade for a portfolio holding. Updates shares and average cost.

Input parameters:

- `holding_id` (integer, required): Holding ID
- `notes` (string): Trade notes
- `price_per_share` (number, required): Price per share
- `shares` (number, required): Number of shares
- `traded_at` (string): Trade date (Y-m-d, defaults to now)
- `type` (string, required): Trade type

### `log_focus_session` (~102 tokens)

Log focus session

Log a completed focus/pomodoro session with duration, project, and task link.

Input parameters:

- `duration_minutes` (integer, required): Session duration in minutes
- `label` (string): Session label/name
- `project_id` (integer): Link to project
- `started_at` (string): When it started (Y-m-d H:i, defaults to now minus duration)
- `task_id` (integer): Link to task
- `type` (string): Session type

### `get_focus_summary` (~65 tokens)

Get focus summary

Get focus time summary: total minutes, sessions, and breakdown by project for a date range.

Input parameters:

- `from` (string): Start date (Y-m-d, defaults to start of current week)
- `to` (string): End date (Y-m-d, defaults to today)

### `log_workout` (~172 tokens)

Log workout

Log a workout session with type, duration, calories, and heart rate.

Input parameters:

- `active_calories` (integer): Active calories (Apple Watch)
- `avg_hr` (integer): Average heart rate
- `calories` (integer): Total calories burned
- `duration_minutes` (integer): Duration in minutes
- `ended_at` (string): Session end (Y-m-d H:i:s)
- `location` (string): Where the session happened
- `max_hr` (integer): Max heart rate
- `min_hr` (integer): Min heart rate
- `notes` (string): Notes
- `started_at` (string): Session start (Y-m-d H:i:s)
- `type` (string, required): Workout type
- `workout_date` (string): Workout date (Y-m-d, defaults to today)

### `log_workout_sets` (~249 tokens)

Log workout sets

Add exercises and sets to a workout. Accepts gym shorthand ("lateral raise 5kg 4x12", "2min rowing machine") and creates the workout for that date if none exists.

Input parameters:

- `allow_duplicates` (boolean): Write blocks that already exist on that date with the same load and set count. Off by default — a repeated call is far more often a re-send than a second round.
- `duration_minutes` (integer): Session duration in minutes
- `notes` (string): Notes
- `sets_text` (string, required): One movement per line. Understands "4x12", "40kg", "2dk"/"90sn", "3 set". Example: "lateral raise 5kg 4x12\nincline bench press machine 40kg 4x8"
- `type` (string): Workout type. Sets go to the session of this type on that date; a new session is created when there is none.
- `workout_date` (string): Date (Y-m-d, defaults to today)
- `workout_id` (integer): Add to this session. Needed when the date holds more than one session of the same type.

### `log_body_measurement` (~223 tokens)

Log body measurement

Log body measurements: weight, body fat %, waist, chest, etc.

Input parameters:

- `body_fat` (number): Body fat percentage
- `chest` (number): Chest circumference in cm
- `hips` (number): Hips circumference in cm
- `left_arm` (number): Left arm circumference in cm
- `left_quad` (number): Left quad circumference in cm
- `measured_at` (string): Measurement date (Y-m-d, defaults to now)
- `neck` (number): Neck circumference in cm
- `notes` (string): Notes
- `right_arm` (number): Right arm circumference in cm
- `right_quad` (number): Right quad circumference in cm
- `shoulders` (number): Shoulders circumference in cm
- `vo2max` (number): VO2 max
- `waist` (number): Natural waist (narrowest point) in cm — the primary trend metric
- `waist_navel` (number): Waist at the navel in cm — secondary
- `weight` (number): Weight in kg

### `log_nutrition` (~207 tokens)

Log nutrition

Log a day of nutrition — day totals plus optional food-by-food line items. Re-sending the same date replaces that day.

Input parameters:

- `calories` (integer): Total calories for the day
- `carbs_g` (integer): Total carbs in grams
- `entries` (array): Food-by-food line items. Each: {name, calories, protein_g, carbs_g, fat_g, fiber_g, sugar_g, sodium_mg, consumed_at "HH:MM"}
- `fat_g` (integer): Total fat in grams
- `fiber_g` (integer): Total fiber in grams
- `is_complete` (boolean): False when the day was only partially logged — excluded from averages
- `log_date` (string, required): Date (Y-m-d)
- `notes` (string): Notes
- `protein_g` (integer): Total protein in grams
- `sodium_mg` (integer): Total sodium in mg
- `sugar_g` (integer): Total sugar in grams

### `list_exercises` (~106 tokens)

List exercises

The movement catalog: canonical names, muscle groups and the aliases that resolve to them. Check here before logging sets — using the catalog name keeps one lift on one row instead of splitting its history across near-duplicates.

Input parameters:

- `muscle_group` (string): chest, back, shoulders, biceps, triceps, legs, core, cardio
- `search` (string): Match against names and aliases
- `trained_only` (boolean): Only movements this user has actually logged sets for

### `get_fitness_summary` (~108 tokens)

Get fitness summary

Current fitness state: weight trend vs target rate, waist thresholds, nutrition averages vs macro targets, training frequency and volume, plus which days are missing data.

Input parameters:

- `include_training_grid` (boolean): Add the movement-by-session grid — what was lifted last time and whether it went up. Use it before advising on a session.
- `nutrition_days` (integer): Nutrition averaging window in days (default 7)
- `training_days` (integer): Training window in days (default 28)

### `delete_workout` (~87 tokens)

Delete workout

Delete a whole training session and every set in it. To remove only part of a session use delete_workout_sets.

Input parameters:

- `type` (string): Narrow to one session type on that date
- `workout_date` (string): Session date (Y-m-d, defaults to today)
- `workout_id` (integer): Session id — required only when a date carries more than one session

### `delete_workout_sets` (~140 tokens)

Delete workout sets

Remove sets from a session without touching the session itself. Use duplicates_only to undo a log that was sent twice, or exercise to drop one movement that was entered by mistake.

Input parameters:

- `duplicates_only` (boolean): Remove blocks that repeat an identical earlier block in the same session — the fix for a log sent twice. Keeps the first occurrence.
- `exercise` (string): Remove every set of this movement from the session, e.g. "leg press"
- `workout_date` (string): Session date (Y-m-d, defaults to today)
- `workout_id` (integer): Session id — required only when a date carries more than one session

### `delete_body_measurement` (~78 tokens)

Delete body measurement

Delete a body measurement that was logged by mistake. Two entries on one date drag the weight trend and the waist rule, so a bad one is worth removing rather than logging over.

Input parameters:

- `measured_at` (string): Delete every measurement on this date (Y-m-d)
- `measurement_id` (integer): Id of the measurement to delete

### `list_wishlist` (~35 tokens)

List wishlist

List wishlist items with price, priority, and purchase status.

Input parameters:

- `status` (string): Filter by status (default: pending)

### `add_wishlist_item` (~119 tokens)

Add wishlist item

Add an item to the wishlist with price range, priority, and optional URL.

Input parameters:

- `category` (string): Category
- `currency` (string): 3-letter currency code, e.g. GBP. Defaults to the user's currency
- `description` (string): Description
- `name` (string, required): Item name
- `notes` (string): Notes
- `price_max` (number): Maximum price
- `price_min` (number): Minimum price
- `priority` (string): Priority
- `url` (string): Product URL

### `update_wishlist_item` (~204 tokens)

Update wishlist item

Update a wishlist item — mark it purchased or cancelled, change priority, price or notes. Purchased and cancelled items drop out of the active list.

Input parameters:

- `category` (string): Category
- `currency` (string): 3-letter currency code of the prices, e.g. GBP
- `item_id` (integer, required): Wishlist item ID
- `name` (string): New name
- `notes` (string): Notes — reasoning, alternatives considered, purchase trigger
- `price_max` (number): Upper price estimate
- `price_min` (number): Lower price estimate
- `priority` (string): high | medium | low | waiting (waiting = wanted but gated on a trigger)
- `purchased_at` (string): Purchase date (Y-m-d). Defaults to today when status becomes purchased.
- `status` (string): pending = still wanted · purchased = bought · cancelled = no longer wanted
- `url` (string): Product URL (http or https)

### `list_contacts` (~57 tokens)

List contacts

List contacts. Filter by relationship type or get contacts needing reach-out.

Input parameters:

- `favorites_only` (boolean): Only favorite contacts
- `needs_contact` (boolean): Only contacts overdue for check-in
- `relationship` (string): Filter by type

### `create_contact` (~189 tokens)

Create contact

Create a new contact (personal CRM). Track birthdays, relationship types, and contact frequency reminders.

Input parameters:

- `birthday` (string): Birthday (Y-m-d). Year unknown: use 1604 as the year
- `city` (string): City/location
- `company` (string): Company/organization
- `contact_frequency_days` (integer): Remind to contact every N days
- `email` (string): Email address
- `first_name` (string, required): First name
- `how_we_met` (string): How you met this person
- `last_name` (string): Last name
- `notes` (string): Notes about this person
- `phone` (string): Phone number
- `project_id` (integer): Link to project by ID
- `relationship` (string): Relationship type
- `tags` (array): Tags array, e.g. ["investor", "design"]

### `update_contact` (~181 tokens)

Update contact

Update a contact. Use mark_contacted=true to record a check-in with today's date.

Input parameters:

- `birthday` (string): Birthday (Y-m-d). Year unknown: use 1604 as the year
- `company` (string): Company
- `contact_frequency_days` (integer): Contact reminder interval in days
- `email` (string): Email
- `first_name` (string): First name
- `id` (integer, required): Contact ID
- `is_favorite` (boolean): Favorite status
- `last_name` (string): Last name (empty string clears it)
- `mark_contacted` (boolean): Mark as contacted today
- `name` (string): Full name; split into first and last name at the first space
- `notes` (string): Notes
- `phone` (string): Phone
- `relationship` (string): Type

### `list_achievements` (~24 tokens)

List achievements

List all achievements: unlocked and locked, with descriptions and unlock dates.

### `get_user_memories` (~39 tokens)

Get user memories

Get the user's AI memory entries — personal facts, preferences, and context that personalize AI responses.

Input parameters:

- `category` (string): Filter by category

### `add_user_memory` (~65 tokens)

Add user memory

Add a personal fact to the user's AI memory. Keep it concise (1-2 sentences). Max 50 memories per user.

Input parameters:

- `category` (string): Memory category
- `content` (string, required): The memory content (max 500 chars, 1-2 sentences)

### `delete_user_memory` (~31 tokens)

Delete user memory

Delete a specific AI memory entry by ID.

Input parameters:

- `id` (integer, required): ID of the memory to delete

### `search` (~42 tokens)

Search

Search the user's Framezone data by keyword: tasks, projects, notes, bookmarks, books and goals.

Input parameters:

- `query` (string, required): Search query (min 2 characters)

### `weekly_summary` (~51 tokens)

Weekly summary

Get a comprehensive weekly review: tasks, habits, mood/energy, portfolio, books, focus time.

Input parameters:

- `week` (string): ISO week format like "2026-W13" (defaults to current week)

### `get_project_analytics` (~105 tokens)

Get project analytics

Get daily Search Console + GA4 metrics for a project. Returns clicks, impressions, CTR, position, sessions, users, pageviews, bounce rate per day. Use for trend analysis, performance reports, comparing periods.

Input parameters:

- `end_date` (string): End date (Y-m-d). Default: today
- `project_id` (integer, required): Project ID (required)
- `start_date` (string): Start date (Y-m-d). Default: 30 days ago

### `get_top_queries` (~166 tokens)

Get top queries

Get top search queries for a project from Search Console data. Returns query text, total clicks, impressions, avg CTR, avg position. Use for keyword analysis, content strategy, SEO optimization, finding ranking opportunities.

Input parameters:

- `end_date` (string): End date (Y-m-d). Default: today
- `limit` (integer): Max results (default 100, max 500)
- `min_clicks` (integer): Minimum clicks filter
- `min_impressions` (integer): Minimum impressions filter
- `project_id` (integer, required): Project ID (required)
- `search` (string): Filter queries containing this text
- `sort_by` (string): Sort by metric
- `start_date` (string): Start date (Y-m-d). Default: 30 days ago

### `get_top_pages` (~144 tokens)

Get top pages

Get top performing pages for a project from Search Console data. Returns page URL, total clicks, impressions, avg CTR, avg position. Use for content performance analysis, finding underperforming pages, identifying top content.

Input parameters:

- `end_date` (string): End date (Y-m-d). Default: today
- `limit` (integer): Max results (default 100, max 500)
- `project_id` (integer, required): Project ID (required)
- `search` (string): Filter pages containing this URL path
- `sort_by` (string): Sort by metric
- `start_date` (string): Start date (Y-m-d). Default: 30 days ago

### `compare_analytics_periods` (~149 tokens)

Compare analytics periods

Compare two date periods for a project. Shows SC and GA metrics for both periods with percentage changes. Use for week-over-week, month-over-month comparisons, measuring campaign impact, tracking growth/decline.

Input parameters:

- `current_end` (string): Current period end (Y-m-d). Default: today
- `current_start` (string): Current period start (Y-m-d). Default: 7 days ago
- `previous_end` (string): Previous period end (Y-m-d). Default: 7 days ago
- `previous_start` (string): Previous period start (Y-m-d). Default: 14 days ago
- `project_id` (integer, required): Project ID (required)

## Diagnostics

Captured diagnostic sections: TLS, DNSSEC, Authorisation, Transports. The full working is on the page: https://verifymcp.io/servers/app-framezone-framezone/framezone#diagnostics

## Score history

- 2026-10-17: 90
- 2026-10-16: 90
- 2026-10-15: 89
- 2026-10-14: 89
- 2026-10-13: 88
- 2026-10-12: 88
- 2026-10-10: 87
- 2026-10-09: 86
- 2026-10-06: 85
- 2026-10-04: 84
- 2026-10-03: 83
- 2026-10-02: 83
- 2026-10-01: 83
- 2026-09-30: 82
- 2026-09-29: 82
- 2026-09-28: 81
- 2026-09-27: 81
- 2026-09-26: 80
- 2026-09-25: 80
- 2026-09-24: 80

## Common questions

### What is the Framezone MCP server?

Framezone is an MCP server listed in the public MCP registry as app.framezone/framezone. Your life dashboard for AI: tasks, habits, goals, budgets, workouts, nutrition, journal, notes. This page covers its hosted endpoint (https://framezone.app/mcp).

### Is the Framezone MCP server safe to use?

Framezone scores 90 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

### What tools does the Framezone MCP server expose?

Framezone exposes 62 tools: list_tasks, create_task, update_task, complete_task, delete_task, and 57 more. Their descriptions and schemas cost roughly 6,269 tokens of context every time the server is loaded.

### Does the Framezone MCP server require authentication?

Yes. Framezone asked us for credentials when we connected, so you will need to authorise it in your MCP client before it can do anything.

### Is the Framezone MCP server still maintained?

Framezone is still listed as active in the MCP registry. We last reached this channel on 17 October 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

## Links

- Remote endpoint: https://framezone.app/mcp
- Website: https://framezone.app/mcp-for-life-management
- Changelog RSS feed: https://verifymcp.io/servers/app-framezone-framezone/framezone.xml
- Changelog JSON feed: https://verifymcp.io/servers/app-framezone-framezone/framezone.json
- HTML version of this page: https://verifymcp.io/servers/app-framezone-framezone/framezone
