Skip to main content
Glama
Trackfusion MCP Server

Trackfusion MCP Server

by emre6943

Trackfusion MCP Server

MCP (Model Context Protocol) server for Trackfusion. Exposes projects & tasks to AI assistants like Claude, OpenClaw, etc.

Setup

npm install
npm run build

Related MCP server: TickTick MCP

Configuration

Copy the example env file and fill in your API key:

cp .env.example .env

Edit .env with your values:

TRACKFUSION_API_KEY=tf_your_key_here
TRACKFUSION_API_URL=https://europe-west1-oz-track.cloudfunctions.net/api  # optional, defaults to production

The server loads .env automatically via dotenv.

Usage

With OpenClaw (mcporter)

mcporter add trackfusion --stdio "node /path/to/trackfusion/mcp/dist/index.js" --env TRACKFUSION_API_KEY=tf_xxx

With Claude Desktop

Add to claude_desktop_config.json:

{
  "mcpServers": {
    "trackfusion": {
      "command": "node",
      "args": ["/path/to/trackfusion/mcp/dist/index.js"],
      "env": {
        "TRACKFUSION_API_KEY": "tf_your_key_here"
      }
    }
  }
}

Tools

Tool

Description

list_projects

List all projects with task counts

list_tasks

List tasks in a project (optional status filter)

get_task

Get full task details

create_task

Create a new task

update_task

Update a task (status, title, priority, etc.)

Getting an API Key

  1. Log in to Trackfusion

  2. Go to Settings → API Keys

  3. Click "New Key", select scopes, and copy the generated key

Available Tools

76 tools
add_interactionA

Log an interaction with a person (meeting, call, message, etc.)

Inputs: date (required), note (required), typeId (required), personId (required), +2 more.

add_waterA

Add a glass of water for a specific date (default 250ml)

Inputs: dateString (required), amountMl.

create_food_definitionB

Create a custom food definition with nutritional info per serving

Inputs: fat (required), name (required), carbs (required), protein (required), +10 more.

create_habitB

Create a new habit with a goal frequency

Inputs: name (required), goalPeriod (required), goalFrequency (required), color, +4 more.

create_incomeA

Record a new income entry. Use list_spending_sources to get valid source IDs.

Inputs: date (required), name (required), income (required), sourceId (required), +1 more.

create_itemC

Track a new item/product purchase

Inputs: name (required), currency (required), categoryId (required), purchaseDate (required), +4 more.

create_journal_entryA

Create a new journal entry with rich text content

Inputs: title (required), content (required), mood, emoji.

create_meal_entryB

Log a meal entry. Can reference a food definition or be a quick-add with just calories.

Inputs: calories (required), foodName (required), mealType (required), dateString (required), +10 more.

create_meal_templateA

Create a reusable meal template from a list of foods

Inputs: name (required), items (required).

create_personC

Add a new person to your CRM

Inputs: name (required), relationshipTypeId (required), birthday, location, +6 more.

create_spendingA

Record a new expense. Use list_spending_categories and list_spending_sources first to get valid IDs.

Inputs: date (required), amount (required), sourceId (required), categoryId (required), +1 more.

create_taskC

Create a new task in a project

Inputs: title (required), projectId (required), status, dueDate, +2 more.

create_workout_sessionB

Log a workout session with exercises and sets

Inputs: date (required), exercises (required), name, notes, +2 more.

delete_food_definitionA

Delete a custom food definition (cannot delete system foods)

Inputs: foodId (required).

delete_friendA

Remove a friend (also removes them from any shared projects)

Inputs: friendshipId (required).

delete_itemA

Delete a tracked item permanently

Inputs: itemId (required).

delete_meal_entryC

Delete a meal entry

Inputs: entryId (required).

delete_meal_templateB

Delete a meal template

Inputs: id (required).

delete_spendingA

Delete an expense record permanently

Inputs: spendingId (required).

get_asset_price_historyC

Get historical price data for an asset

Inputs: assetId (required), to, from, limit.

get_day_entryB

Get the day entry (daily notes) for a specific date

Inputs: dateString (required).

get_diet_daily_summaryA

Get a daily diet summary with totals and meals grouped by type

Inputs: date (required).

get_diet_profileA

Get user diet profile (TDEE calculation inputs: sex, DOB, height, activity, goal, macro preset)

Inputs: no named parameters.

get_habit_analyticsA

Get analytics for a habit: streaks, completion rate, monthly/yearly completions

Inputs: habitId (required).

get_nutrition_goalsA

Get the user's daily nutrition goals (calories and macros)

Inputs: no named parameters.

get_personal_recordsA

Get personal records (PRs), optionally filtered by exercise

Inputs: exerciseId.

get_portfolio_summaryA

Get portfolio overview: total value, P&L, allocation, and all holdings

Inputs: no named parameters.

get_spending_analyticsA

Get monthly spending analytics (total spend & income for a month)

Inputs: yearMonth (required).

get_taskA

Get full details of a specific task

Inputs: taskId (required).

get_water_intakeA

Get water intake for a specific date

Inputs: date (required).

list_assetsA

List available assets (stocks, crypto, etc.) with current prices

Inputs: search, assetType.

list_exercisesA

List available exercise definitions (system + custom)

Inputs: no named parameters.

list_food_definitionsB

List food definitions (system + custom). Optionally search by name or filter by category.

Inputs: search, category.

list_friend_requestsA

List pending friend requests (sent and received)

Inputs: no named parameters.

list_friendsA

List your accepted friends

Inputs: no named parameters.

list_habitsA

List all habits, optionally filtered by active status. Returns name, goal, streak info, and priority.

Inputs: active.

list_incomesA

List income records, optionally filtered by date range

Inputs: to, from.

list_investment_transactionsB

List investment transactions (buys/sells), optionally filtered

Inputs: to, from, limit, assetId, +1 more.

list_item_categoriesA

List all item categories (needed for creating items)

Inputs: no named parameters.

list_itemsA

List tracked items/products, optionally filtered by status or category

Inputs: status, categoryId.

list_journal_entriesB

List journal entries, optionally filtered by date range

Inputs: to, from, limit.

list_journal_todosA

List journal todos (task items), optionally filtered by completion status

Inputs: completed.

list_meal_entriesA

List logged meal entries. Filter by date, date range, or meal type.

Inputs: to, date, from, limit, +1 more.

list_meal_templatesA

List all saved meal templates (reusable food combinations)

Inputs: no named parameters.

list_peopleB

List people in your CRM, optionally filtered by search or relationship type

Inputs: search, archived, relationshipTypeId.

list_projectsB

List all Trackfusion projects with task counts and metadata

Inputs: includeArchived.

list_spending_categoriesA

List all spending categories (needed for creating expenses)

Inputs: no named parameters.

list_spendingsA

List expense records, optionally filtered by date range, category, or source

Inputs: to, from, limit, sourceId, +1 more.

list_spending_sourcesA

List all payment sources (needed for creating expenses and incomes)

Inputs: no named parameters.

list_tasksA

List tasks in a project, optionally filtered by status

Inputs: projectId (required), status.

list_workout_sessionsA

List workout sessions, optionally filtered by date range

Inputs: to, from, limit.

list_workout_templatesA

List saved workout templates

Inputs: no named parameters.

log_meal_templateA

Log all items from a meal template as meal entries for a specific date and meal

Inputs: id (required), mealType (required), dateString (required).

lookup_barcodeA

Look up a product by barcode. Tries Open Food Facts first, then UPC ItemDB as fallback.

Inputs: barcode (required).

respond_to_friend_requestA

Accept or reject a pending friend request

Inputs: action (required), friendshipId (required).

search_community_foodsB

Search or browse community-contributed food definitions, sorted by popularity

Inputs: limit, search, barcode, category.

search_community_templatesA

Search or browse community-shared meal templates, sorted by popularity

Inputs: limit, search.

search_foodsA

Search external food databases (Open Food Facts + USDA) for nutrition data

Inputs: query (required), page, source.

send_friend_requestA

Send a friend request by email address

Inputs: email (required).

set_diet_profileB

Set/update user diet profile for TDEE calculation and goal setup

Inputs: sex (required), heightCm (required), weightGoal (required), dateOfBirth (required), +5 more.

set_nutrition_goalsB

Set daily nutrition goals (calories and macro targets)

Inputs: fatGrams (required), carbsGrams (required), proteinGrams (required), dailyCalories (required).

set_water_intakeB

Set water intake to a specific amount for a date

Inputs: glasses (required), amountMl (required), dateString (required).

share_food_to_communityA

Share a user food definition to the community database so all users can access it

Inputs: foodId (required).

share_meal_templateA

Share a user meal template to the community database

Inputs: templateId (required).

share_projectA

Share a project with a friend (owner only)

Inputs: projectId (required), friendUserId (required).

toggle_habit_entryA

Toggle a habit completion for a specific date. If already completed, removes it. If not completed, marks it done.

Inputs: date (required), habitId (required).

toggle_journal_todoB

Toggle a journal todo completion, or update its fields

Inputs: todoId (required), title, dueDate, priority, +1 more.

unshare_projectA

Remove a friend from a shared project (owner only)

Inputs: projectId (required), friendUserId (required).

update_food_definitionA

Update a custom food definition (cannot update system foods)

Inputs: foodId (required), fat, name, brand, +11 more.

update_habitC

Update a habit (name, goal, active status, etc.)

Inputs: habitId (required), name, color, emoji, +6 more.

update_itemC

Update an existing tracked item

Inputs: itemId (required), name, notes, status, +1 more.

update_meal_entryC

Update an existing meal entry

Inputs: entryId (required), fat, carbs, notes, +11 more.

update_meal_templateA

Update a meal template name or items

Inputs: id (required), name, items.

update_personC

Update a person in your CRM

Inputs: personId (required), name, birthday, location, +7 more.

update_spendingC

Update an existing expense record

Inputs: spendingId (required), date, amount, sourceId, +2 more.

update_taskC

Update an existing task (title, description, status, priority, due date)

Inputs: taskId (required), title, status, dueDate, +2 more.

Tool Schema Changelog

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

Loading tool schema changelog…

    TDQS

    C2.9/5.0

    Scored across 76 tools

    Disambiguation3/5

    Most tools are grouped by clear noun objects, but the sheer number and near-synonymous actions create ambiguity: search_foods vs lookup_barcode vs search_community_foods, get_day_entry vs journal entries, create_item vs create_food_definition, and update_* vs set_* vs add_* all blur boundaries. Descriptions usually clarify, but an agent selecting among 76 tools will still struggle to pick the right one.

    Naming Consistency4/5

    Names overwhelmingly follow a verb_noun snake_case pattern (list/create/update/delete/get), which is predictable and readable. Consistency is weakened by irregular singular/plural forms (spending/spendings, income/incomes, person/people) and by interchangeable verbs such as add_interaction vs create_*, set_nutrition_goals vs update_*, and log_meal_template vs create_meal_entry.

    Tool Count1/5

    With 76 tools, the server presents an extreme, unwieldy flat namespace that is very difficult for an agent to navigate during tool selection. Even though each tool spans a different module, the aggregate count far exceeds what is appropriate for an MCP server, especially with many single-purpose tools like water intake helpers.

    Completeness2/5

    The server covers many domains, but several core lifecycles are incomplete: projects can be listed/shared but not created, tasks have no delete, income has no update/delete, workouts have no update/delete, and journal/day entries cannot be edited or deleted. These gaps will cause agent failures when users try to correct or manage data beyond basic creation.

    Maintenance

    ActivityInactive
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers