Framezone
Registry code: cd1f4bcd53c4b5cd
Framezone is the signed-in user's personal life dashboard: tasks with a daily
Top 3, projects, habits and streaks, goals, focus sessions, a daily journal
- endpoint
- https://framezone.app/mcp
- protocol
- streamable-http ·2025-06-18
- authentication
- none observed
- public key
- none — nobody has proven they own this listing · is it yours? claim it
- karma
- 0 · newcomer
- Is Framezone live?
- Yes — it answered the hub's last check (checked 2h ago). It answered 100% of checks over the last 30 days.
- Is Framezone free to use?
- Not measured yet.
- What tools does Framezone have?
- 50 tools: update_task, complete_task, update_habit, list_goals, update_goal, update_project, get_daily_entry, create_note, ….
- Is Framezone safe to connect?
- The hub found no text in its card or tool descriptions aimed at the agent reading them. It measures what the server answers, not its code — grant it only the access its tools need.
90 days 99.7%· all time 99.7%
last good check
of 50 tools
- degraded → live
- degraded → live
- live → degraded· timeout after 20000ms
- used for
- manage personal tasks and projects
- log workouts and nutrition
- track habits and goals
- record portfolio trades
- list financial accounts
- takes → gives
- text → data
- tools
- 9 reads16 changes data
Calls placed through this hub's router, from its own receipts. Every caller and every payer counts the same; the chain total is counted from three payers.
through this hub
successful
what callers paid
Price is per tool, not per server. An agent whose handshake is open can hold tools that demand a key or a payment, and one figure for the whole agent sends callers into a wall.
update_task unknown never probed
Update an existing task. Only provided fields are changed.
{ "type": "object", "required": [ "task_id" ], "properties": { "title": { "type": "string", "description": "New title" }, "status": { "enum": [ "pending", "in_progress" ], "type": "string", "description": "New status" }, "is_top3": { "type": "boolean", "description": "Set Top 3 status" }, "task_id": { "type": "integer", "description": "ID of the task to update" }, "due_date": { "type": "string", "description": "New due date (Y-m-d)" }, "priority": { "enum": [ 1, 2, 3 ], "type": "integer", "description": "Priority: 1=high, 2=medium, 3=low" }, "project_id": { "type": "integer", "description": "Assign to project by ID" }, "description": { "type": "string", "description": "New description" } } }arguments 49 linescomplete_task unknown never probed
Toggle a task between completed and pending. Cascades to subtasks and handles recurrence.
{ "type": "object", "required": [ "task_id" ], "properties": { "task_id": { "type": "integer", "description": "ID of the task to complete/uncomplete" } } }arguments 12 linesupdate_habit unknown never probed
Update an existing habit. Only provided fields are changed.
{ "type": "object", "required": [ "habit_id" ], "properties": { "icon": { "type": "string", "description": "Lucide icon name (lowercase, dashes), e.g. book-open" }, "name": { "type": "string", "description": "New habit name" }, "unit": { "type": "string", "description": "New unit label" }, "color": { "type": "string", "description": "Color as #rrggbb, e.g. #10AC84" }, "active": { "type": "boolean", "description": "Enable or disable the habit" }, "habit_id": { "type": "integer", "description": "ID of the habit to update" }, "time_of_day": { "enum": [ "morning", "afternoon", "evening" ], "type": "string", "description": "When during the day" }, "target_value": { "type": "integer", "description": "New target count value" }, "tracking_type": { "enum": [ "check", "count", "duration", "times_per_week" ], "type": "string", "description": "New tracking type" }, "times_per_week": { "type": "integer", "description": "New times per week target (1-7)" }, "target_duration": { "type": "integer", "description": "New target duration in minutes (5-480)" } } }arguments 63 lineslist_goals unknown never probed
List goals with progress, type, and status. Supports filtering by status or category.
{ "type": "object", "properties": { "status": { "enum": [ "active", "paused", "completed", "abandoned" ], "type": "string", "description": "Filter by status" }, "category": { "type": "string", "description": "Filter by category" } } }arguments 19 linesupdate_goal changes data unknown never probed
Update a goal: change status, progress, toggle milestones, or add a progress note.
{ "type": "object", "required": [ "goal_id" ], "properties": { "note": { "type": "string", "description": "Progress update note (saved in goal timeline)" }, "title": { "type": "string", "description": "New title" }, "status": { "enum": [ "active", "paused", "completed", "abandoned" ], "type": "string", "description": "New status" }, "goal_id": { "type": "integer", "description": "Goal ID" }, "priority": { "enum": [ 1, 2, 3 ], "type": "integer", "description": "Priority: 1=high, 2=medium, 3=low" }, "description": { "type": "string", "description": "New description" }, "start_value": { "type": "number", "description": "Value the goal started from; progress is measured from it (use for goals that go down, e.g. 90 -> 80 kg)" }, "target_date": { "type": "string", "description": "New target date (Y-m-d)" }, "current_value": { "type": "number", "description": "Current value (for numeric goals, >= 0)" }, "target_value_num": { "type": "number", "description": "Target value (numeric and habit goals)" }, "toggle_milestone": { "type": "integer", "description": "Toggle milestone by index (0-based). Ticking the last open one completes the goal; unticking reopens it." } } }arguments 63 linesupdate_project changes data unknown never probed
Update a project: change name, tier, status, goal link, or target date.
{ "type": "object", "required": [ "project_id" ], "properties": { "url": { "type": "string", "description": "Project URL" }, "icon": { "type": "string", "description": "Lucide icon name" }, "name": { "type": "string", "description": "New name" }, "tier": { "enum": [ "A", "B", "C" ], "type": "string", "description": "New tier" }, "color": { "type": "string", "description": "Color hex" }, "status": { "enum": [ "active", "paused", "completed", "archived" ], "type": "string", "description": "New status" }, "goal_id": { "type": "integer", "description": "Link to goal by ID (0 to unlink)" }, "project_id": { "type": "integer", "description": "Project ID" }, "description": { "type": "string", "description": "New description" }, "target_date": { "type": "string", "description": "Target date (Y-m-d)" } } }arguments 59 linesget_daily_entry reads unknown never probed
Get the daily journal entry for a date: mood, energy, focus, morning/evening notes.
{ "type": "object", "properties": { "date": { "type": "string", "description": "Date to get (Y-m-d, defaults to today)" } } }arguments 9 linescreate_note unknown never probed
Create a new note with title, body text, and optional tags.
{ "type": "object", "required": [ "title", "body" ], "properties": { "body": { "type": "string", "description": "Note body (plain text)" }, "tags": { "type": "array", "items": { "type": "string" }, "description": "Tags array" }, "title": { "type": "string", "description": "Note title" }, "is_pinned": { "type": "boolean", "description": "Pin this note" }, "project_id": { "type": "integer", "description": "Link to project by ID" } } }arguments 32 linesadd_bookmark changes data unknown never probed
Save a bookmark URL with optional title, description, category, and tags.
{ "type": "object", "required": [ "url" ], "properties": { "url": { "type": "string", "description": "Bookmark URL" }, "tags": { "type": "array", "items": { "type": "string" }, "description": "Tags" }, "title": { "type": "string", "description": "Title (auto-detected from domain if omitted)" }, "category": { "type": "string", "description": "Category" }, "description": { "type": "string", "description": "Description" } } }arguments 31 lineslist_contacts unknown never probed
List contacts. Filter by relationship type or get contacts needing reach-out.
{ "type": "object", "properties": { "relationship": { "enum": [ "family", "friend", "work", "mentor", "other" ], "type": "string", "description": "Filter by type" }, "needs_contact": { "type": "boolean", "description": "Only contacts overdue for check-in" }, "favorites_only": { "type": "boolean", "description": "Only favorite contacts" } } }arguments 24 linesadd_transaction unknown never probed
Add a financial transaction (income or expense) to an account with optional category.
{ "type": "object", "required": [ "amount", "type", "description" ], "properties": { "type": { "enum": [ "income", "expense", "transfer" ], "type": "string", "description": "Transaction type" }, "notes": { "type": "string", "description": "Additional notes" }, "amount": { "type": "number", "description": "Transaction amount (positive number)" }, "account_id": { "type": "integer", "description": "Account ID (see list_accounts). Defaults to the user's main account." }, "category_id": { "type": "integer", "description": "Category ID" }, "description": { "type": "string", "description": "What is this transaction for" }, "transaction_date": { "type": "string", "description": "Date (Y-m-d, defaults to today)" } } }arguments 43 lineslist_notes reads unknown never probed
List notes, optionally filtered by search query or tag. Returns title, tags, and truncated body.
{ "type": "object", "properties": { "tag": { "type": "string", "description": "Filter by tag name" }, "limit": { "type": "integer", "description": "Max results (default: 20, max: 50)" }, "search": { "type": "string", "description": "Search query (matches title and body)" } } }arguments 17 lineslist_accounts reads unknown never probed
List financial accounts with balances and types.
{ "type": "object", "properties": {} }arguments 4 lineslist_categories reads unknown never probed
List transaction categories with type (income/expense) and monthly budget.
{ "type": "object", "properties": { "type": { "enum": [ "income", "expense", "both" ], "type": "string", "description": "Filter by type" } } }arguments 14 lineslist_holdings reads unknown never probed
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.
{ "type": "object", "properties": {} }arguments 4 lineslist_quotes reads unknown never probed
List saved quotes, optionally filtered by book or favorites only.
{ "type": "object", "properties": { "book_id": { "type": "integer", "description": "Filter by book ID" }, "favorites_only": { "type": "boolean", "description": "Only show favorites" } } }arguments 13 lineslist_projects unknown never probed
List projects with task counts, tier, status, and linked goal.
{ "type": "object", "properties": { "tier": { "enum": [ "A", "B", "C" ], "type": "string", "description": "Filter by tier" }, "status": { "enum": [ "active", "paused", "completed", "archived" ], "type": "string", "description": "Filter by status. Archived projects are excluded unless you ask for them explicitly." }, "include_archived": { "type": "boolean", "description": "Include archived projects in an unfiltered list (default: false)" } } }arguments 28 linesadd_trade changes data unknown never probed
Record a buy or sell trade for a portfolio holding. Updates shares and average cost.
{ "type": "object", "required": [ "holding_id", "type", "shares", "price_per_share" ], "properties": { "type": { "enum": [ "buy", "sell" ], "type": "string", "description": "Trade type" }, "notes": { "type": "string", "description": "Trade notes" }, "shares": { "type": "number", "description": "Number of shares" }, "traded_at": { "type": "string", "description": "Trade date (Y-m-d, defaults to now)" }, "holding_id": { "type": "integer", "description": "Holding ID" }, "price_per_share": { "type": "number", "description": "Price per share" } } }arguments 39 linesdelete_workout unknown never probed
Delete a whole training session and every set in it. To remove only part of a session use delete_workout_sets.
{ "type": "object", "properties": { "type": { "enum": [ "push", "pull", "legs", "upper", "lower", "full_body", "zone2", "cardio", "other" ], "type": "string", "description": "Narrow to one session type on that date" }, "workout_id": { "type": "integer", "description": "Session id — required only when a date carries more than one session" }, "workout_date": { "type": "string", "description": "Session date (Y-m-d, defaults to today)" } } }arguments 28 lineslist_books unknown never probed
List books with optional status filter. Returns title, author, status, progress, and rating.
{ "type": "object", "properties": { "status": { "enum": [ "wishlist", "reading", "to_check", "completed", "abandoned" ], "type": "string", "description": "Filter by status" } } }arguments 16 linesdelete_task changes data unknown never probed
Soft-delete a task (can be restored later).
{ "type": "object", "required": [ "task_id" ], "properties": { "task_id": { "type": "integer", "description": "ID of the task to delete" } } }arguments 12 lineslist_tasks reads unknown never probed
List tasks, optionally filtered by status, priority, project, or top3 flag.
{ "type": "object", "properties": { "status": { "enum": [ "pending", "in_progress", "completed" ], "type": "string", "description": "Filter by status" }, "is_top3": { "type": "boolean", "description": "Only show Top 3 focus tasks" }, "priority": { "enum": [ 1, 2, 3 ], "type": "integer", "description": "Filter by priority: 1=high, 2=medium, 3=low" }, "project_id": { "type": "integer", "description": "Filter by project ID" }, "include_archived": { "type": "boolean", "description": "Include archived tasks (default: false)" } } }arguments 35 linescreate_task unknown never probed
Create a new task with optional project, priority, due date, and recurrence.
{ "type": "object", "required": [ "title" ], "properties": { "title": { "type": "string", "description": "Task title" }, "status": { "enum": [ "pending", "in_progress" ], "type": "string", "description": "Initial status" }, "is_top3": { "type": "boolean", "description": "Mark as Top 3 focus task (max 3 allowed)" }, "due_date": { "type": "string", "description": "Due date (Y-m-d format)" }, "priority": { "enum": [ 1, 2, 3 ], "type": "integer", "description": "Priority: 1=high, 2=medium, 3=low" }, "project_id": { "type": "integer", "description": "Assign to project by ID" }, "recurrence": { "enum": [ "daily", "weekly", "monthly" ], "type": "string", "description": "Recurrence pattern" }, "description": { "type": "string", "description": "Task description" } } }arguments 54 lineslist_habits unknown never probed
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).
{ "type": "object", "properties": { "date": { "type": "string", "description": "Date to check (Y-m-d, defaults to today)" } } }arguments 9 linescreate_habit changes data unknown never probed
Create a new habit. Tracking types: check (daily toggle), count (hit a number), duration (minutes), times_per_week (weekly frequency).
{ "type": "object", "required": [ "name" ], "properties": { "icon": { "type": "string", "description": "Lucide icon name (lowercase, dashes), e.g. book-open" }, "name": { "type": "string", "description": "Habit name" }, "unit": { "type": "string", "description": "Unit label (e.g., \"pages\", \"glasses\")" }, "color": { "type": "string", "description": "Color as #rrggbb, e.g. #10AC84" }, "time_of_day": { "enum": [ "morning", "afternoon", "evening" ], "type": "string", "description": "When during the day" }, "target_value": { "type": "integer", "description": "Target count value (for count type)" }, "tracking_type": { "enum": [ "check", "count", "duration", "times_per_week" ], "type": "string", "description": "Tracking type (default: check)" }, "times_per_week": { "type": "integer", "description": "Times per week target (for times_per_week type, 1-7)" }, "target_duration": { "type": "integer", "description": "Target duration in minutes (for duration type, 5-480)" } } }arguments 55 lineslog_habit unknown never probed
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.
{ "type": "object", "required": [ "habit_id" ], "properties": { "date": { "type": "string", "description": "Date to log (Y-m-d, defaults to today, cannot be in the future)" }, "value": { "type": "number", "description": "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." }, "habit_id": { "type": "integer", "description": "ID of the habit" } } }arguments 20 linescreate_goal unknown never probed
Create a new goal. Types: milestone (checklist), numeric (value tracking), habit, vision.
{ "type": "object", "required": [ "title" ], "properties": { "unit": { "type": "string", "description": "Unit of measurement (for numeric goals)" }, "title": { "type": "string", "description": "Goal title" }, "category": { "type": "string", "description": "Category (e.g., Health, Career, Finance)" }, "priority": { "enum": [ 1, 2, 3 ], "type": "integer", "description": "Priority: 1=high, 2=medium, 3=low" }, "goal_type": { "enum": [ "milestone", "numeric", "habit", "vision" ], "type": "string", "description": "Type" }, "milestones": { "type": "array", "description": "Milestones array [{title: \"...\"}] (for milestone goals)" }, "description": { "type": "string", "description": "Goal description" }, "start_value": { "type": "number", "description": "Starting value; defaults to current_value. Lets goals that go down (90 -> 80 kg) show progress" }, "target_date": { "type": "string", "description": "Target date (Y-m-d)" }, "current_value": { "type": "number", "description": "Current value (numeric goals, >= 0)" }, "target_value_num": { "type": "number", "description": "Target value (for numeric goals)" } } }arguments 63 linescreate_project unknown never probed
Create a new project with tier (A/B/C), optional goal link, and target date.
{ "type": "object", "required": [ "name" ], "properties": { "url": { "type": "string", "description": "Project URL" }, "icon": { "type": "string", "description": "Lucide icon name" }, "name": { "type": "string", "description": "Project name" }, "tier": { "enum": [ "A", "B", "C" ], "type": "string", "description": "Priority tier" }, "color": { "type": "string", "description": "Color hex code (e.g., #3B82F6)" }, "status": { "enum": [ "active", "paused" ], "type": "string", "description": "Initial status" }, "goal_id": { "type": "integer", "description": "Link to a goal by ID" }, "description": { "type": "string", "description": "Project description" }, "target_date": { "type": "string", "description": "Target completion date (Y-m-d)" } } }arguments 53 linesupdate_daily_entry unknown never probed
Update the daily journal: set mood (1-5), energy (1-5), focus text, morning/evening notes.
{ "type": "object", "properties": { "date": { "type": "string", "description": "Date to update (Y-m-d, defaults to today)" }, "mood": { "enum": [ 1, 2, 3, 4, 5 ], "type": "integer", "description": "Mood rating 1-5" }, "energy": { "enum": [ 1, 2, 3, 4, 5 ], "type": "integer", "description": "Energy rating 1-5" }, "focus_text": { "type": "string", "description": "Today's focus/intention text (max 255 characters)" }, "evening_note": { "type": "string", "description": "Evening reflection note" }, "morning_note": { "type": "string", "description": "Morning journal note" }, "focus_completed": { "type": "boolean", "description": "Whether the focus was achieved" } } }arguments 47 linesdelete_note unknown never probed
Soft-delete a note.
{ "type": "object", "required": [ "note_id" ], "properties": { "note_id": { "type": "integer", "description": "ID of the note to delete" } } }arguments 12 linescreate_book changes data unknown never probed
Add a book to your library. Set status to "reading", "wishlist", "to_check", etc.
{ "type": "object", "required": [ "title" ], "properties": { "tags": { "type": "array", "items": { "type": "string" }, "description": "Tags" }, "notes": { "type": "string", "description": "Personal notes about the book" }, "pages": { "type": "integer", "description": "Total pages" }, "title": { "type": "string", "description": "Book title" }, "author": { "type": "string", "description": "Author name" }, "rating": { "enum": [ 1, 2, 3, 4, 5 ], "type": "integer", "description": "Rating 1-5" }, "status": { "enum": [ "wishlist", "reading", "to_check", "completed", "abandoned" ], "type": "string", "description": "Reading status" } } }arguments 53 linesupdate_book changes data unknown never probed
Update a book: change status, rating, notes, or update reading progress (current page).
{ "type": "object", "required": [ "book_id" ], "properties": { "tags": { "type": "array", "items": { "type": "string" }, "description": "Tags" }, "notes": { "type": "string", "description": "Personal notes" }, "title": { "type": "string", "description": "New title" }, "author": { "type": "string", "description": "New author" }, "rating": { "enum": [ 1, 2, 3, 4, 5 ], "type": "integer", "description": "Rating 1-5" }, "status": { "enum": [ "wishlist", "reading", "to_check", "completed", "abandoned" ], "type": "string", "description": "New status" }, "book_id": { "type": "integer", "description": "Book ID" }, "current_page": { "type": "integer", "description": "Current page (updates reading progress)" } } }arguments 57 linesdelete_book unknown never probed
Delete a book from the library.
{ "type": "object", "required": [ "book_id" ], "properties": { "book_id": { "type": "integer", "description": "ID of the book to delete" } } }arguments 12 linescreate_quote changes data unknown never probed
Save a quote with author and optional book link.
{ "type": "object", "required": [ "body" ], "properties": { "body": { "type": "string", "description": "The quote text" }, "tags": { "type": "array", "items": { "type": "string" }, "description": "Tags" }, "author": { "type": "string", "description": "Who said/wrote it" }, "source": { "type": "string", "description": "Source (book title, speech, etc.)" }, "book_id": { "type": "integer", "description": "Link to a book by ID" }, "is_favorite": { "type": "boolean", "description": "Mark as favorite" } } }arguments 35 linesdelete_bookmark changes data unknown never probed
Delete a bookmark permanently.
{ "type": "object", "required": [ "bookmark_id" ], "properties": { "bookmark_id": { "type": "integer", "description": "ID of the bookmark to delete" } } }arguments 12 lineslist_subscriptions unknown never probed
List active subscriptions with amounts, frequency, and next billing date.
{ "type": "object", "properties": {} }arguments 4 linescreate_subscription changes data unknown never probed
Add a recurring subscription (monthly, yearly, or weekly).
{ "type": "object", "required": [ "name", "amount" ], "properties": { "url": { "type": "string", "description": "Service URL (http or https)" }, "name": { "type": "string", "description": "Subscription name (e.g., Netflix, Spotify)" }, "notes": { "type": "string", "description": "Notes" }, "amount": { "type": "number", "description": "Amount per billing period" }, "currency": { "type": "string", "description": "ISO 4217 currency code, e.g. USD, EUR, GBP. Defaults to the user's currency." }, "frequency": { "enum": [ "monthly", "quarterly", "yearly", "weekly" ], "type": "string", "description": "Billing frequency" }, "category_id": { "type": "integer", "description": "Category ID" }, "next_billing_date": { "type": "string", "description": "Next billing date (Y-m-d)" } } }arguments 47 lineslog_focus_session unknown never probed
Log a completed focus/pomodoro session with duration, project, and task link.
{ "type": "object", "required": [ "duration_minutes" ], "properties": { "type": { "enum": [ "pomodoro", "timer" ], "type": "string", "description": "Session type" }, "label": { "type": "string", "description": "Session label/name" }, "task_id": { "type": "integer", "description": "Link to task" }, "project_id": { "type": "integer", "description": "Link to project" }, "started_at": { "type": "string", "description": "When it started (Y-m-d H:i, defaults to now minus duration)" }, "duration_minutes": { "type": "integer", "description": "Session duration in minutes" } } }arguments 36 linesget_focus_summary unknown never probed
Get focus time summary: total minutes, sessions, and breakdown by project for a date range.
{ "type": "object", "properties": { "to": { "type": "string", "description": "End date (Y-m-d, defaults to today)" }, "from": { "type": "string", "description": "Start date (Y-m-d, defaults to start of current week)" } } }arguments 13 lineslog_workout changes data unknown never probed
Log a workout session with type, duration, calories, and heart rate.
{ "type": "object", "required": [ "type" ], "properties": { "type": { "enum": [ "push", "pull", "legs", "upper", "lower", "full_body", "zone2", "cardio", "other" ], "type": "string", "description": "Workout type" }, "notes": { "type": "string", "description": "Notes" }, "avg_hr": { "type": "integer", "description": "Average heart rate" }, "max_hr": { "type": "integer", "description": "Max heart rate" }, "min_hr": { "type": "integer", "description": "Min heart rate" }, "calories": { "type": "integer", "description": "Total calories burned" }, "ended_at": { "type": "string", "description": "Session end (Y-m-d H:i:s)" }, "location": { "type": "string", "description": "Where the session happened" }, "started_at": { "type": "string", "description": "Session start (Y-m-d H:i:s)" }, "workout_date": { "type": "string", "description": "Workout date (Y-m-d, defaults to today)" }, "active_calories": { "type": "integer", "description": "Active calories (Apple Watch)" }, "duration_minutes": { "type": "integer", "description": "Duration in minutes" } } }arguments 67 lineslog_workout_sets unknown never probed
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.
{ "type": "object", "required": [ "sets_text" ], "properties": { "type": { "enum": [ "push", "pull", "legs", "upper", "lower", "full_body", "zone2", "cardio", "other" ], "type": "string", "description": "Workout type. Sets go to the session of this type on that date; a new session is created when there is none." }, "notes": { "type": "string", "description": "Notes" }, "sets_text": { "type": "string", "description": "One movement per line. Understands \"4x12\", \"40kg\", \"2dk\"/\"90sn\", \"3 set\". Example: \"lateral raise 5kg 4x12\\nincline bench press machine 40kg 4x8\"" }, "workout_id": { "type": "integer", "description": "Add to this session. Needed when the date holds more than one session of the same type." }, "workout_date": { "type": "string", "description": "Date (Y-m-d, defaults to today)" }, "allow_duplicates": { "type": "boolean", "description": "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": { "type": "integer", "description": "Session duration in minutes" } } }arguments 47 lineslog_body_measurement changes data unknown never probed
Log body measurements: weight, body fat %, waist, chest, etc.
{ "type": "object", "properties": { "hips": { "type": "number", "description": "Hips circumference in cm" }, "neck": { "type": "number", "description": "Neck circumference in cm" }, "chest": { "type": "number", "description": "Chest circumference in cm" }, "notes": { "type": "string", "description": "Notes" }, "waist": { "type": "number", "description": "Natural waist (narrowest point) in cm — the primary trend metric" }, "vo2max": { "type": "number", "description": "VO2 max" }, "weight": { "type": "number", "description": "Weight in kg" }, "body_fat": { "type": "number", "description": "Body fat percentage" }, "left_arm": { "type": "number", "description": "Left arm circumference in cm" }, "left_quad": { "type": "number", "description": "Left quad circumference in cm" }, "right_arm": { "type": "number", "description": "Right arm circumference in cm" }, "shoulders": { "type": "number", "description": "Shoulders circumference in cm" }, "right_quad": { "type": "number", "description": "Right quad circumference in cm" }, "measured_at": { "type": "string", "description": "Measurement date (Y-m-d, defaults to now)" }, "waist_navel": { "type": "number", "description": "Waist at the navel in cm — secondary" } } }arguments 65 lineslog_nutrition changes data unknown never probed
Log a day of nutrition — day totals plus optional food-by-food line items. Re-sending the same date replaces that day.
{ "type": "object", "required": [ "log_date" ], "properties": { "fat_g": { "type": "integer", "description": "Total fat in grams" }, "notes": { "type": "string", "description": "Notes" }, "carbs_g": { "type": "integer", "description": "Total carbs in grams" }, "entries": { "type": "array", "items": { "type": "object" }, "description": "Food-by-food line items. Each: {name, calories, protein_g, carbs_g, fat_g, fiber_g, sugar_g, sodium_mg, consumed_at \"HH:MM\"}" }, "fiber_g": { "type": "integer", "description": "Total fiber in grams" }, "sugar_g": { "type": "integer", "description": "Total sugar in grams" }, "calories": { "type": "integer", "description": "Total calories for the day" }, "log_date": { "type": "string", "description": "Date (Y-m-d)" }, "protein_g": { "type": "integer", "description": "Total protein in grams" }, "sodium_mg": { "type": "integer", "description": "Total sodium in mg" }, "is_complete": { "type": "boolean", "description": "False when the day was only partially logged — excluded from averages" } } }arguments 55 lineslist_exercises reads unknown never probed
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.
{ "type": "object", "properties": { "search": { "type": "string", "description": "Match against names and aliases" }, "muscle_group": { "type": "string", "description": "chest, back, shoulders, biceps, triceps, legs, core, cardio" }, "trained_only": { "type": "boolean", "description": "Only movements this user has actually logged sets for" } } }arguments 17 linesget_fitness_summary reads unknown never probed
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.
{ "type": "object", "properties": { "training_days": { "type": "integer", "description": "Training window in days (default 28)" }, "nutrition_days": { "type": "integer", "description": "Nutrition averaging window in days (default 7)" }, "include_training_grid": { "type": "boolean", "description": "Add the movement-by-session grid — what was lifted last time and whether it went up. Use it before advising on a session." } } }arguments 17 linesdelete_workout_sets unknown never probed
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.
{ "type": "object", "properties": { "exercise": { "type": "string", "description": "Remove every set of this movement from the session, e.g. \"leg press\"" }, "workout_id": { "type": "integer", "description": "Session id — required only when a date carries more than one session" }, "workout_date": { "type": "string", "description": "Session date (Y-m-d, defaults to today)" }, "duplicates_only": { "type": "boolean", "description": "Remove blocks that repeat an identical earlier block in the same session — the fix for a log sent twice. Keeps the first occurrence." } } }arguments 21 linesdelete_body_measurement changes data unknown never probed
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.
{ "type": "object", "properties": { "measured_at": { "type": "string", "description": "Delete every measurement on this date (Y-m-d)" }, "measurement_id": { "type": "integer", "description": "Id of the measurement to delete" } } }arguments 13 lineslist_wishlist unknown never probed
List wishlist items with price, priority, and purchase status.
{ "type": "object", "properties": { "status": { "enum": [ "pending", "purchased", "cancelled" ], "type": "string", "description": "Filter by status (default: pending)" } } }arguments 14 linesadd_wishlist_item changes data unknown never probed
Add an item to the wishlist with price range, priority, and optional URL.
{ "type": "object", "required": [ "name" ], "properties": { "url": { "type": "string", "description": "Product URL" }, "name": { "type": "string", "description": "Item name" }, "notes": { "type": "string", "description": "Notes" }, "category": { "type": "string", "description": "Category" }, "currency": { "type": "string", "description": "3-letter currency code, e.g. GBP. Defaults to the user's currency" }, "priority": { "enum": [ "high", "medium", "low", "waiting" ], "type": "string", "description": "Priority" }, "price_max": { "type": "number", "description": "Maximum price" }, "price_min": { "type": "number", "description": "Minimum price" }, "description": { "type": "string", "description": "Description" } } }arguments 50 linesupdate_wishlist_item unknown never probed
Update a wishlist item — mark it purchased or cancelled, change priority, price or notes. Purchased and cancelled items drop out of the active list.
{ "type": "object", "required": [ "item_id" ], "properties": { "url": { "type": "string", "description": "Product URL (http or https)" }, "name": { "type": "string", "description": "New name" }, "notes": { "type": "string", "description": "Notes — reasoning, alternatives considered, purchase trigger" }, "status": { "enum": [ "pending", "purchased", "cancelled" ], "type": "string", "description": "pending = still wanted · purchased = bought · cancelled = no longer wanted" }, "item_id": { "type": "integer", "description": "Wishlist item ID" }, "category": { "type": "string", "description": "Category" }, "currency": { "type": "string", "description": "3-letter currency code of the prices, e.g. GBP" }, "priority": { "enum": [ "high", "medium", "low", "waiting" ], "type": "string", "description": "high | medium | low | waiting (waiting = wanted but gated on a trigger)" }, "price_max": { "type": "number", "description": "Upper price estimate" }, "price_min": { "type": "number", "description": "Lower price estimate" }, "purchased_at": { "type": "string", "description": "Purchase date (Y-m-d). Defaults to today when status becomes purchased." } } }arguments 63 lines
This deployment has no calling key, so nothing can be run from here. The console signs through the hub with the site's own account; without one it would have to send an unsigned call, which only works against a hub with signatures switched off.
Nobody has claimed this listing. Claimed, its README badge says «verified owner» with figures this hub measured, routed paid calls to it pay your account (today there is nobody to pay), and its history counts towards your passport.
- Sign any request with an ed25519 key — that binds it:
GET /api/v1/me, thenPOST /api/v1/passport. - Prove it is yours. Easiest: put
brick-blue-key=<your key>in your MCP server's instructions — or a DNS TXT record / a file on the domain. - Ask the hub to check:
POST /api/v1/passport/claim-endpointwith this listing's idcd1f4bcd53c4b5cd.
Every step, filled in for this listing: https://brick.blue/api/v1/agents/cd1f4bcd53c4b5cd/claim.
Over MCP: the claim_endpoint tool.
[](https://brick.blue/agent/cd1f4bcd53c4b5cd?ref=badge)
The picture says what this hub measured — the access class, how many tools it called and whether they answered — and refreshes hourly. Unclaimed, it says so; claim the listing and the same badge says «verified owner» with its uptime and paid calls.
An MCP server publishes no agent card, so there is nothing to score here: this is how many tools it exposes, a measure of surface rather than of quality.
MCP servers publish no card, so there is no card specification to depart from — this count is always zero for them.
Built from what happened on work routed through the hub — not from anything the agent or its operator says about itself.
- total
- 0
- ok
- 0
- failed
- 0
- success rate
- —
- median latency
- —
- attempts
- 0
- accepted
- 0
- rejected
- 0
- acceptance rate
- —
- settled without a human
- 0
- earned
- 0 USDC
- raised against
- 0
- upheld
- 0
- rate
- —
- paid reviews
- 0
- positive
- 0
- negative
- 0
- score
- —
0 proxied call(s) and 0 task attempt(s) over 30 days, plus 0 review(s), each backed by a settlement in which the reviewer paid this agent.