Skip to main content
Glama

Akiflow MCP Server

MCP server for Akiflow task management with Meeting Assistant support.

Features

  • Get tasks, events, calendars with filters

  • Create and update tasks

  • Schedule/unschedule tasks on calendar

  • Mark tasks done

  • List projects and tags

  • Meeting Assistant: Get recordings with summaries, transcripts, and action items

  • Meeting Briefs: Get pre-meeting research briefs

  • Action Items → Tasks: Create Akiflow tasks directly from meeting action items

  • Auto-refreshing authentication

  • Persistent local cache with per-entity sync tokens for faster repeated queries

Related MCP server: ticktick-sdk

Setup

1. Get Your Refresh Token

  1. Open Akiflow web app (web.akiflow.com)

  2. Open DevTools: Cmd+Option+I (Mac) or Ctrl+Shift+I (Windows/Linux)

  3. Go to Network tab

  4. Refresh the page or wait for a refreshToken request

  5. Copy the refresh_token value from the request/response

2. Configure MCP

Add to your Claude Desktop config (~/Library/Application Support/Claude/claude_desktop_config.json):

{
  "mcpServers": {
    "akiflow": {
      "command": "npx",
      "args": ["-y", "@shrimpwtf/mcp-akiflow@latest"],
      "env": {
        "AKIFLOW_REFRESH_TOKEN": "your_refresh_token_here"
      }
    }
  }
}

Sync Model

  • v5 entities (tasks, events, tags, labels, time_slots, calendars) are cached locally and refreshed with per-entity sync_tokens

  • Meeting Assistant resources (recordings, researches) are cached separately using cursor-based refreshes

  • Tool queries run against the merged local cache after refresh, so date filtering and sorting happen on a complete local view rather than partial API deltas

Available Tools

Tasks

get-tasks

List tasks with optional filters.

  • done (boolean): Filter by completion status (default: false)

  • status (string): 1=Inbox, 2=Planned, 4=Snoozed, 7=Someday, 10=Scheduled

  • limit (number): Max tasks to return

add-task

Create a new task.

  • title (string, required): Task title

  • description (string): Task description

  • date (string): Plan date (YYYY-MM-DD)

  • datetime (string): Plan datetime (ISO 8601)

  • due_date (string): Deadline (YYYY-MM-DD)

  • duration (number): Duration in minutes

  • priority (string): -1=goal, 1=high, 2=medium, 3=low

  • status (string): 1=Inbox, 2=Planned, 7=Someday, 10=Scheduled

  • listId (string): Project UUID

  • tags_ids (array): Tag UUIDs

edit-task

Update an existing task.

  • id (string, required): Task UUID

  • All fields from add-task (optional, nullable to clear values)

mark-done

Mark a task as completed.

  • id (string, required): Task UUID

schedule-task

Schedule a task on the calendar.

  • id (string, required): Task UUID

  • date (string, required): Date (YYYY-MM-DD)

  • datetime (string): Specific time (ISO 8601)

  • duration (number): Duration in minutes (default: 30)

unschedule-task

Remove a task from the calendar.

  • id (string, required): Task UUID

  • to_inbox (boolean): Move to inbox (default: true)

Calendar

get-events

Get calendar events.

  • limit (number): Max events to return

  • calendar_id (string): Filter by calendar ID

get-calendars

Get all calendars with metadata.

Meeting Assistant

Requires the Meeting Assistant add-on in Akiflow.

get-recordings

List meeting recordings.

  • limit (number): Max recordings to return

get-recording

Get full detail for a single recording including summary, action items, and transcript.

  • id (string, required): Recording UUID

get-meeting-briefs

List pre-meeting research briefs.

  • limit (number): Max briefs to return

get-meeting-brief

Get full detail for a single pre-meeting brief.

  • id (string, required): Meeting brief UUID

create-task-from-action-item

Create an Akiflow task from a meeting recording's action item.

  • recording_id (string, required): Recording UUID

  • action_item_id (string, required): Action item ID within the recording

Organization

get-projects

List all projects and folders.

get-tags

List all tags.

API Details

Task Status

  • 1: Inbox

  • 2: Planned

  • 4: Snoozed

  • 7: Someday

  • 10: Scheduled

Task Priority

  • -1: Goal

  • 1: High

  • 2: Medium

  • 3: Low

  • null: None

Date Formats

  • Date: YYYY-MM-DD

  • Datetime: ISO 8601 (2026-01-26T10:00:00.000Z)

Security

  • Refresh token is sensitive - treat like a password

  • Never commit tokens to git

  • Access tokens auto-refresh on 401

License

MIT

Available Tools

22 tools
add-eventC

Create a new calendar event. Syncs to the source calendar (Google, etc.)

Inputs: title (required), calendar_id (required), start_datetime (required), end_datetime (required), +3 more.

add-taskC

Create a new task in Akiflow

Inputs: title (required), description, date, datetime, +6 more.

add-task-to-timeslotB

Add a task to a time slot. Links the task to an existing time slot block on the calendar.

Inputs: task_id (required), time_slot_id (required).

add-time-slotA

Create a time slot (internal calendar block). Does not sync to external calendars.

Inputs: title (required), calendar_id (required), start_time (required), end_time (required), +1 more.

create-task-from-action-itemA

Create an Akiflow task from a meeting recording's action item. Bridges meeting action items into your task list.

Inputs: recording_id (required), action_item_id (required).

edit-eventB

Edit a calendar event. Changes sync back to the source calendar (Google, etc.)

Inputs: id (required), title, description, location, +3 more.

edit-taskC

Update an existing task

Inputs: id (required), title, description, date, +8 more.

edit-time-slotD

Edit a time slot

Inputs: id (required), title, start_time, end_time, +1 more.

get-calendarsA

Get all calendars. Returns calendar metadata including colors, settings, and sync status.

Inputs: no named parameters.

get-eventsB

Get calendar events (v5 API). Returns detailed event data including attendees, location, recurrence.

Inputs: limit, calendar_id, date_from, date_to.

get-meeting-briefB

Get full detail for a single pre-meeting research brief by ID.

Inputs: id (required).

get-meeting-briefsA

List pre-meeting research briefs. Briefs provide background context and attendee info before meetings.

Inputs: date_from, date_to, limit.

get-projectsA

List all projects and folders. Note: Folders have type='folder', projects/labels have type=null

Inputs: no named parameters.

get-recordingA

Get full detail for a single meeting recording including summary, action items, raw transcript, and brief.

Inputs: id (required).

get-recordingsB

List meeting recordings from Meeting Assistant. Each recording has a summary, action items, transcript, and brief.

Inputs: date_from, date_to, limit.

get-tagsA

List all tags

Inputs: no named parameters.

get-tasksA

Get tasks with optional filters. Returns active (non-deleted, non-trashed) tasks sorted by date.

Inputs: done, status, date_from, date_to, +3 more.

get-time-slotsA

Get time slots (internal calendar blocks that don't sync to external calendars)

Inputs: limit, date_from, date_to.

mark-doneB

Mark a task as completed

Inputs: id (required).

remove-task-from-timeslotA

Remove a task from its time slot. Unlinks the task from its associated time slot block.

Inputs: task_id (required).

schedule-taskB

Schedule a task on the calendar at a specific date/time

Inputs: id (required), date (required), datetime, duration.

unschedule-taskA

Remove a task from the calendar and optionally move to inbox

Inputs: id (required), to_inbox.

Tool Schema Changelog

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

Loading tool schema changelog…

    TDQS

    B3.2/5.0

    Scored across 22 tools

    Disambiguation5/5

    Each tool targets a distinct action or resource. Even within the task-related tools (add, edit, schedule, timeslot operations), the descriptions clearly differentiate purposes, so an agent can reliably select the correct one.

    Naming Consistency4/5

    Most tools follow verb_noun pattern (e.g., add-event, get-tasks). Minor deviations include 'create-task-from-action-item' uses 'create' instead of 'add', and 'mark-done' uses a state instead of a noun. Overall, predictable.

    Tool Count4/5

    22 tools is somewhat high but justified by the server's broad scope covering tasks, events, time slots, recordings, and briefs. A few tools could be merged (e.g., get-recording and get-recordings), but the count is still reasonable.

    Completeness4/5

    The tool surface covers core CRUD for tasks, events, and time slots, plus meeting briefs and recordings. Missing operations include delete for events/tasks and create for projects/tags, but these are acceptable gaps given the domain.

    Maintenance

    ActivityInactive
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers