Skip to main content
Glama

๐Ÿš€ Amazing Marvin AI Assistant Integration

PyPI version Python 3.10+ License: MIT Model Context Protocol

Connect your Amazing Marvin productivity system with AI assistants for smarter task management

๐Ÿ“‹ Table of Contents

Related MCP server: productive-mcp-rb2

๐ŸŽฏ What is this?

This connects your Amazing Marvin productivity system with AI assistants like Claude, Cursor, and others. Instead of manually copying your tasks and projects into chat, your AI assistant can see and help with your actual Amazing Marvin data.

โœจ Key Benefits

  • ๐Ÿ”„ Stay in sync - Your AI assistant always sees your current tasks, projects, and goals

  • ๐Ÿ“‹ Smart help - Get personalized advice based on your actual workload and priorities

  • โšก Save time - No more copy-pasting task lists or explaining your projects

  • ๐ŸŽฏ Better focus - AI helps you identify what's most important right now

  • ๐Ÿ”’ Private - Your data stays between Amazing Marvin and your AI assistant

โšก Quick Start (2 minutes)

Step 1: Get your Amazing Marvin API key

  1. Open Amazing Marvin โ†’ Settings โ†’ API (navigating here may be easier on mobile)

  2. Enable the API and copy your token

  3. Keep this handy! ๐Ÿ”‘

Step 2: Install

Easy way (Smithery):

npx -y @smithery/cli mcp add @bgheneti/amazing-marvin-mcp --client claude

Paste the API key when prompted

Alternative (pip):

pip install amazing-marvin-mcp

Then add to your AI client config (see installation guide)

Step 3: Verify it's working

Ask your AI: "What tasks do I have today?"

๐ŸŽ‰ That's it! Your AI can now see your Amazing Marvin data.


๐Ÿ’ก What can you do with this?

Once connected, your AI assistant becomes your personal productivity coach with access to your real Amazing Marvin data:

๐Ÿ“… Daily Planning Help

"What should I focus on today?" - Get personalized recommendations based on your actual deadlines and priorities

"I'm feeling overwhelmed - what's most important?" - AI helps you cut through the noise and identify what really matters

๐ŸŽฏ Project Insights

"How is my website redesign project going?" - See progress, completed tasks, and what's left to do

"Show me everything related to client work this week" - Get organized views of your tasks by project or category

๐Ÿ“Š Progress Tracking

"What did I accomplish this week?" - Review your productivity patterns and celebrate wins

"Which days am I most productive?" - Understand your patterns to plan better

โฐ Smart Scheduling

"What's overdue and needs attention?" - Never lose track of important deadlines

"Help me plan tomorrow based on what I have scheduled" - Get realistic daily plans that work

โฑ๏ธ Time Tracking

"Start tracking time on this task" - Seamlessly manage time tracking from your AI chat

"What have I been working on today?" - Review your time allocation and focus

Why this is better than generic productivity advice: Your AI sees your actual tasks, deadlines, and progress - so the help you get is personalized to your real situation, not generic tips.

Note: This covers most Amazing Marvin features, though some advanced customizations and strategies have limited API access.

๐Ÿ“ฆ Installation

Option 1: Smithery (Easiest)

npx -y @smithery/cli install @bgheneti/amazing-marvin-mcp --client claude

Visit Smithery Registry for other clients.

Option 2: Pip + Manual Config

Why choose this option:

  • โœ… Works with any MCP-compatible AI client

  • โœ… Easy to update: just pip install --upgrade amazing-marvin-mcp

Prerequisites

  • โœ… Python 3.10+

  • โœ… Claude Desktop, Cursor, Windsurf, VS Code, or another MCP client

  • โœ… Amazing Marvin account with API access

Installation

# Install from PyPI (recommended)
pip install amazing-marvin-mcp

๐Ÿ“ฑ Client Configuration

Add to your claude_desktop_config.json:

๐Ÿ“ Config file locations:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

  • Windows: %APPDATA%\Claude\claude_desktop_config.json

{
  "mcpServers": {
    "amazing-marvin": {
      "command": "python",
      "args": ["-m", "amazing_marvin_mcp"],
      "env": {
        "AMAZING_MARVIN_API_KEY": "your-api-key-here"
      }
    }
  }
}

Add to your MCP settings:

{
  "mcpServers": {
    "amazing-marvin": {
      "command": "python",
      "args": ["-m", "amazing_marvin_mcp"],
      "env": {
        "AMAZING_MARVIN_API_KEY": "your-api-key-here"
      }
    }
  }
}

Add to your Windsurf MCP configuration:

{
  "mcpServers": {
    "amazing-marvin": {
      "command": "python",
      "args": ["-m", "amazing_marvin_mcp"],
      "env": {
        "AMAZING_MARVIN_API_KEY": "your-api-key-here"
      }
    }
  }
}

Add to your VS Code MCP configuration:

{
  "mcpServers": {
    "amazing-marvin": {
      "command": "python",
      "args": ["-m", "amazing_marvin_mcp"],
      "env": {
        "AMAZING_MARVIN_API_KEY": "your-api-key-here"
      }
    }
  }
}

๐Ÿ’ก Usage Examples

The MCP provides specific tools that your AI can use. Simply ask your AI to help with productivity tasks and it will use the appropriate tools:

What you might ask

Tools the AI will use

"What should I focus on today?"

get_daily_productivity_overview()

"What tasks do I have today?"

get_daily_productivity_overview() or get_tasks()

"Show me my projects"

get_projects()

"What's overdue?"

get_due_items() or get_daily_productivity_overview()

"Create a new task for X"

create_task()

"Mark task Y as done"

mark_task_done()

"Start tracking time on this"

start_time_tracking()

๐Ÿ“ How it understands your setup

Your AI assistant automatically understands your Amazing Marvin structure:

  • Work & Personal projects - Keeps your professional and personal tasks organized

  • Categories and labels - Knows how you've organized your productivity system

  • Due dates and priorities - Understands what's urgent vs. important

  • Completed vs. pending - Tracks your progress and momentum

No need to explain your system - your AI just gets it!

๐Ÿ”ง Troubleshooting

โŒ Common Issues

Problem: The MCP can't find your API key.

Solutions:

  1. Verify your API key is correct in Amazing Marvin Settings โ†’ API

  2. Check the environment variable: echo $AMAZING_MARVIN_API_KEY

  3. Restart your AI client after setting the key

  4. Ensure no extra spaces in your API key

Problem: Can't connect to Amazing Marvin API.

Solutions:

  1. Check your internet connection

  2. Verify Amazing Marvin service status

  3. Try the connection test: python -c "import requests; print(requests.get('https://serv.amazingmarvin.com/api').status_code)"

  4. Check if you're behind a corporate firewall

Problem: MCP is running but not returning data.

Solutions:

  1. Ask explicitly: "Use the Amazing Marvin tool to get my tasks"

  2. Check if you have any tasks in Amazing Marvin

  3. Verify API permissions in Amazing Marvin settings

  4. Restart your AI client

Problem: ModuleNotFoundError: No module named 'amazing_marvin_mcp'

Solutions:

  1. Reinstall: pip install --force-reinstall amazing-marvin-mcp

  2. Check Python path: python -c "import sys; print(sys.path)"

  3. Use full path: which python and use that in your config

โ“ Common Questions

Absolutely! Your Amazing Marvin data stays between you, Amazing Marvin, and your AI assistant. The connection runs on your computer - nothing is stored on external servers or shared with anyone else.

Any AI assistant that supports the Model Context Protocol, including Claude Desktop, Cursor, VS Code, and Windsurf. More are being added regularly.

Your AI can see:

  • โœ… Your tasks, projects, and categories

  • โœ… Due dates, priorities, and completion status

  • โœ… Time tracking and goals

  • โœ… Labels and organizational structure

  • โœ… Productivity history and patterns

Basically everything you see in Amazing Marvin, your AI can see too.

Not noticeably. The system fetches your data from Amazing Marvin when you ask productivity questions. Response time depends on your internet connection, but it's usually very quick.

Yes, if you ask it to! Your AI can:

  • โœ… Create new tasks and projects

  • โœ… Mark tasks as done

  • โœ… Start and stop time tracking

  • โœ… Organize tasks in batches

Don't worry - it only makes changes when you specifically ask it to.

Yes! The MCP can find and display completed tasks in several ways:

๐Ÿ“Š In Daily Focus View:

  • โœ… Shows today's completed tasks alongside pending ones

  • โœ… Includes completion count and productivity notes

  • โœ… Separates completed from pending for clear progress tracking

๐Ÿ“ In Project Overviews:

  • โœ… Lists completed vs pending tasks separately

  • โœ… Shows completion rate and progress summary

  • โœ… Provides detailed task breakdowns

๐Ÿ” Efficient Historical Access:

  • โœ… Get completed tasks for any specific date (e.g., "June 10th")

  • โœ… Flexible time range summaries (1 day, 7 days, 30 days, or custom date ranges)

  • โœ… Complete task data included - no additional API calls needed for task details

  • โœ… Smart caching - historical data cached for 10 minutes to avoid redundant calls

  • โœ… Project-wise completion analytics with resolved project names

  • โœ… Efficient API filtering with cache hit rate tracking

  • โœ… Real-time access to completion timestamps and project correlations

๐Ÿšซ Cannot Delete or Remove:

  • โŒ Delete tasks (requires special API permissions)

  • โŒ Delete projects or categories

  • โŒ Remove labels or goals

  • โŒ Clear time tracking history

๐Ÿ“ Cannot Edit:

  • โŒ Modify existing task content (title, notes, due dates)

  • โŒ Move tasks between projects

  • โŒ Change task priorities or labels

  • โŒ Update project settings

๐Ÿ“š Limited Access:

  • โŒ Full historical completed task archive

  • โŒ Detailed time tracking reports (only basic tracking)

  • โŒ Private notes or sensitive data

  • โŒ Advanced Amazing Marvin features (strategies, rewards setup)

For these operations, use the Amazing Marvin app directly.

Data is fetched in real-time with each request to Amazing Marvin's API. There's no background syncing or caching - you always get the most current data from your Amazing Marvin account.

๐Ÿ‘จโ€๐Ÿ’ป Development

๐Ÿ› ๏ธ Setup

git clone https://github.com/bgheneti/Amazing-Marvin-MCP.git
cd Amazing-Marvin-MCP
pip install -e ".[dev]"
pre-commit install

๐Ÿ”‘ Set your API key

Option A: Environment variable

export AMAZING_MARVIN_API_KEY="your-api-key-here"

Option B: Create a .env file

AMAZING_MARVIN_API_KEY=your-api-key-here

๐Ÿงช Testing

pytest tests/ -v

โš ๏ธ Note: Tests create temporary items in your Amazing Marvin account with [TEST] prefixes. These may need manual cleanup due to API limitations.

๐Ÿ“‹ Code Quality

# Run all checks
pre-commit run --all-files

# Individual tools
ruff check .          # Linting
ruff format .         # Formatting
mypy .               # Type checking
pytest tests/        # Tests

๐Ÿ”„ Available Tools

The MCP provides 28 comprehensive tools to AI assistants:

๐Ÿ“– Read Operations:

  • get_daily_productivity_overview() - PRIMARY comprehensive daily view (today's tasks, overdue, completed, planning insights)

  • get_tasks() - Today's scheduled items only

  • get_projects() - All projects

  • get_categories() - All categories

  • get_due_items() - Overdue/due items only

  • get_child_tasks( parent_id: str, recursive: bool = False ) - Subtasks of a parent task/project

  • get_all_tasks( label: str = None ) - Find all tasks with optional label filter (comprehensive search)

  • get_labels() - Task labels

  • get_goals() - Goals and objectives

  • get_account_info() - Account details

  • get_completed_tasks() - Completed items with date categorization (defaults to past 7 days)

  • get_completed_tasks_for_date( date: str ) - Completed items for specific date (YYYY-MM-DD format)

  • get_productivity_summary_for_time_range( days: int = 7, start_date: str = None, end_date: str = None ) - Flexible productivity analytics

  • get_currently_tracked_item() - Active time tracking

โœ๏ธ Write Operations:

  • create_task( title: str, project_id: str = None, category_id: str = None, due_date: str = None, note: str = None ) - Create new tasks

  • mark_task_done( item_id: str, timezone_offset: int = 0 ) - Complete tasks

  • create_project( title: str, project_type: str = "project" ) - Create new projects

  • start_time_tracking( task_id: str ) - Begin time tracking

  • stop_time_tracking( task_id: str ) - End time tracking

  • batch_mark_done( task_ids: list[str] ) - Complete multiple tasks

  • batch_create_tasks( task_list: list[str], project_id: str = None, category_id: str = None ) - Create multiple tasks

  • claim_reward_points( points: int, item_id: str, date: str ) - Claim kudos points

  • get_kudos_info() - Get reward system and kudos information

๐Ÿ”ง Utility Operations:

  • test_api_connection() - Verify API connectivity

  • get_project_overview( project_id: str ) - Project analytics

  • get_daily_focus() - Daily priorities

  • get_productivity_summary() - Performance metrics

  • time_tracking_summary() - Time analytics

  • quick_daily_planning() - Planning assistance

  • create_project_with_tasks( project_title: str, task_titles: list[str], project_type: str = "project" ) - Project setup

  • get_time_tracks( task_ids: list[str] ) - Time tracking history

๐Ÿค Contributing

๐Ÿš€ Publishing New Versions

This project uses automated publishing to PyPI via GitHub Actions.

For maintainers:

# Make your changes and test them
pytest tests/ -v
ruff check src/
mypy src/amazing_marvin_mcp/

# Use the release script to bump version and create tag
python scripts/release.py patch   # for bug fixes
python scripts/release.py minor   # for new features
python scripts/release.py major   # for breaking changes

# Push to trigger CI and PyPI publish
git push origin main
git push origin v1.x.x

The workflow:

  1. โœ… Tests run on Python 3.8-3.12

  2. โœ… Linting and type checking pass

  3. ๐Ÿ“ฆ Package is built and checked

  4. ๐Ÿš€ Published to PyPI automatically on version tags

๐Ÿ”ง Local Development Setup

git clone https://github.com/bgheneti/Amazing-Marvin-MCP.git
cd Amazing-Marvin-MCP
pip install -e ".[dev]"
pre-commit install

๐Ÿงช Testing

You can also manually publish to Test PyPI by running the workflow manually on GitHub.

๐Ÿ”’ Privacy & Security

๐Ÿ›ก๏ธ Your Data Protection

  • Local Processing: MCP runs entirely on your machine

  • Direct Connection: Data goes directly from Amazing Marvin to your AI

  • No Cloud Storage: Nothing is stored on external servers

  • API Key Security: Store your key securely using environment variables

๐Ÿ” Best Practices

  • โœ… Use environment variables for API keys (not config files)

  • โœ… Don't share your API key in screenshots or logs

  • โœ… Keep your API key secure and treat it like a password

โš–๏ธ Performance & Limitations

What to expect:

  • Your AI assistant fetches fresh data from Amazing Marvin when you ask questions

  • Historical data is cached briefly to avoid repeated requests

  • Response time depends on your internet connection to Amazing Marvin

  • Very frequent requests might occasionally hit rate limits (just wait a moment)

Technical details:

  • Data is fetched in real-time for accuracy

  • Some data is cached for 10 minutes to improve speed

  • Batch operations work efficiently for multiple tasks

  • All the core Amazing Marvin features are supported

๐Ÿ“„ License

MIT License - see LICENSE for details.


Made with โค๏ธ for Amazing Marvin users

Report Issues โ€ข Suggest Improvements โ€ข Star on GitHub

Available Tools

28 tools
batch_create_tasksB

Create multiple tasks at once with optional project/category assignment

Inputs: task_list (required), project_id, category_id, debug. Returns: Standard response structure for all tools

batch_mark_doneC

Mark multiple tasks as done at once

Inputs: task_ids (required), debug. Returns: Standard response structure for all tools

claim_reward_pointsC

Claim reward points for completing a task

Inputs: points (required), item_id (required), date (required), debug. Returns: Standard response structure for all tools

create_projectC

Create a new project in Amazing Marvin

Inputs: title (required), project_type, debug. Returns: Standard response structure for all tools

create_project_with_tasksC

Create a project with multiple tasks at once

Inputs: project_title (required), task_titles (required), project_type, debug. Returns: Standard response structure for all tools

create_taskB

Create a new task in Amazing Marvin.

Inputs: title (required), project_id, category_id, due_date, +2 more. Returns: Standard response structure for all tools

get_account_infoC

Get account information from Amazing Marvin

Inputs: debug. Returns: Standard response structure for all tools

get_all_tasksA

Get all tasks across all projects with optional label filtering (comprehensive search).

Use when you need to search/filter across your entire task system. For daily focus, use get_daily_productivity_overview() instead.

Inputs: label, debug. Returns: Standard response structure for all tools

get_categoriesC

Get categories from Amazing Marvin

Inputs: debug. Returns: Standard response structure for all tools

get_child_tasksA

Get child tasks of a specific parent task or project (experimental).

Use when you need to see subtasks within a project or parent task. Returns both tasks and sub-projects. Set recursive=True for deep hierarchy.

Inputs: parent_id (required), recursive, debug. Returns: Standard response structure for all tools

get_completed_tasksA

Get completed tasks from past 7 days with efficient date filtering and categorization.

Use when you need to review recent accomplishments or productivity patterns. For specific date, use get_completed_tasks_for_date(date). For custom time ranges, use get_productivity_summary_for_time_range().

Inputs: debug. Returns: Standard response structure for all tools

get_completed_tasks_for_dateB

Get completed tasks for a specific date using efficient API filtering

Inputs: date (required), debug. Returns: Standard response structure for all tools

get_currently_tracked_itemC

Get currently tracked item from Amazing Marvin

Inputs: debug. Returns: Standard response structure for all tools

get_daily_productivity_overviewA

Get comprehensive daily productivity overview with today's tasks, overdue items, completed items, and planning insights.

Primary tool for daily planning and productivity. Consolidates multiple data sources efficiently. Use when you need a complete view of today's work situation.

For specific data only, use: get_tasks() (today's scheduled), get_due_items() (overdue), get_all_tasks() (comprehensive search), or get_completed_tasks() (recent completions).

Inputs: debug. Returns: Standard response structure for all tools

get_due_itemsA

Get overdue and due tasks only (past due date).

Use when you need to focus specifically on urgent/overdue items. For complete daily view including today's tasks, use get_daily_productivity_overview().

Inputs: debug. Returns: Standard response structure for all tools

get_goalsC

Get all goals from Amazing Marvin

Inputs: debug. Returns: Standard response structure for all tools

get_kudos_infoC

Get kudos and achievement information

Inputs: debug. Returns: Standard response structure for all tools

get_labelsC

Get all labels from Amazing Marvin

Inputs: debug. Returns: Standard response structure for all tools

get_productivity_summary_for_time_rangeC

Get a comprehensive productivity summary for a specified time range

Inputs: days, start_date, end_date, debug. Returns: Standard response structure for all tools

get_project_overviewC

Get comprehensive overview of a project including tasks and progress

Inputs: project_id (required), debug. Returns: Standard response structure for all tools

get_projectsA

Get all projects (categories with type 'project').

Use when you need project list for organization or project selection. For detailed project analysis, use get_project_overview(project_id).

Inputs: debug. Returns: Standard response structure for all tools

get_tasksA

Get today's scheduled tasks only.

Use when you need only today's scheduled items without overdue or completed items. For comprehensive daily overview, use get_daily_productivity_overview() instead. For all tasks across projects, use get_all_tasks().

Inputs: debug. Returns: Standard response structure for all tools

get_time_tracksC

Get time tracking data for specific tasks

Inputs: task_ids (required), debug. Returns: Standard response structure for all tools

mark_task_doneC

Mark a task as completed in Amazing Marvin.

Inputs: item_id (required), timezone_offset, debug. Returns: Standard response structure for all tools

start_time_trackingA

Start time tracking for a specific task.

Use when beginning focused work on a task to measure time spent. Check current tracking status with get_currently_tracked_item() or time_tracking_summary(). Stop tracking with stop_time_tracking(task_id).

Inputs: task_id (required), debug. Returns: Standard response structure for all tools

stop_time_trackingC

Stop time tracking for a specific task

Inputs: task_id (required), debug. Returns: Standard response structure for all tools

test_api_connectionA

Test the API connection and credentials.

Use when troubleshooting connection issues or verifying API setup. Returns "OK" if successful or error details if failed.

Inputs: debug. Returns: Standard response structure for all tools

time_tracking_summaryA

Get time tracking overview and productivity insights.

Use when you need to check current time tracking status and get productivity metrics. For starting/stopping tracking, use start_time_tracking() or stop_time_tracking(). For daily productivity overview, use get_daily_productivity_overview().

Inputs: debug. Returns: Standard response structure for all tools

Tool Schema Changelog

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

Loading tool schema changelogโ€ฆ

    TDQS

    B3.1/5.0

    Scored across 28 tools

    Disambiguation4/5

    Tools have clear purposes with distinct resource focuses, but there is some overlap among task retrieval tools (e.g., get_all_tasks, get_tasks, get_daily_productivity_overview, get_completed_tasks). Descriptions help disambiguate, so agents can generally select correctly.

    Naming Consistency5/5

    All tool names follow a consistent verb_noun pattern using snake_case (e.g., create_task, get_projects, start_time_tracking). No deviations or mixed styles, making the API predictable.

    Tool Count4/5

    With 28 tools, the server covers a broad domain including tasks, projects, time tracking, goals, and account info. While slightly above the ideal range, each tool serves a specific purpose and the count is justified by the scope.

    Completeness3/5

    The tool surface provides strong retrieval and creation capabilities, but lacks update and delete operations for tasks and projects. Critical workflows like editing or removing tasks are missing, creating notable gaps.

    Maintenance

    ActivityInactive
    ResponsivenessLimited data

    Related MCP Connectors

    Related MCP Servers