Amazing Marvin MCP
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Amazing Marvin MCP What tasks do I have today?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
๐ Amazing Marvin AI Assistant Integration
Connect your Amazing Marvin productivity system with AI assistants for smarter task management
๐ Table of Contents
Related MCP server: Amazing Marvin MCP
๐ฏ 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
Open Amazing Marvin โ Settings โ API
Enable the API and copy your token
Keep this handy! ๐
Step 2: Install
Easy way (Smithery):
npx -y @smithery/cli install @bgheneti/amazing-marvin-mcp --client claudePaste the API key when prompted
Alternative (pip):
pip install amazing-marvin-mcpThen 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 claudeVisit 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.jsonWindows:
%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?" |
|
"What tasks do I have today?" |
|
"Show me my projects" |
|
"What's overdue?" |
|
"Create a new task for X" |
|
"Mark task Y as done" |
|
"Start tracking time on this" |
|
๐ 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:
Verify your API key is correct in Amazing Marvin Settings โ API
Check the environment variable:
echo $AMAZING_MARVIN_API_KEYRestart your AI client after setting the key
Ensure no extra spaces in your API key
Problem: Can't connect to Amazing Marvin API.
Solutions:
Check your internet connection
Verify Amazing Marvin service status
Try the connection test:
python -c "import requests; print(requests.get('https://serv.amazingmarvin.com/api').status_code)"Check if you're behind a corporate firewall
Problem: MCP is running but not returning data.
Solutions:
Ask explicitly: "Use the Amazing Marvin tool to get my tasks"
Check if you have any tasks in Amazing Marvin
Verify API permissions in Amazing Marvin settings
Restart your AI client
Problem: ModuleNotFoundError: No module named 'amazing_marvin_mcp'
Solutions:
Reinstall:
pip install --force-reinstall amazing-marvin-mcpCheck Python path:
python -c "import sys; print(sys.path)"Use full path:
which pythonand 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 onlyget_projects()- All projectsget_categories()- All categoriesget_due_items()- Overdue/due items onlyget_child_tasks( parent_id: str, recursive: bool = False )- Subtasks of a parent task/projectget_all_tasks( label: str = None )- Find all tasks with optional label filter (comprehensive search)get_labels()- Task labelsget_goals()- Goals and objectivesget_account_info()- Account detailsget_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 analyticsget_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 tasksmark_task_done( item_id: str, timezone_offset: int = 0 )- Complete taskscreate_project( title: str, project_type: str = "project" )- Create new projectsstart_time_tracking( task_id: str )- Begin time trackingstop_time_tracking( task_id: str )- End time trackingbatch_mark_done( task_ids: list[str] )- Complete multiple tasksbatch_create_tasks( task_list: list[str], project_id: str = None, category_id: str = None )- Create multiple tasksclaim_reward_points( points: int, item_id: str, date: str )- Claim kudos pointsget_kudos_info()- Get reward system and kudos information
๐ง Utility Operations:
test_api_connection()- Verify API connectivityget_project_overview( project_id: str )- Project analyticsget_daily_focus()- Daily prioritiesget_productivity_summary()- Performance metricstime_tracking_summary()- Time analyticsquick_daily_planning()- Planning assistancecreate_project_with_tasks( project_title: str, task_titles: list[str], project_type: str = "project" )- Project setupget_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.xThe workflow:
โ Tests run on Python 3.8-3.12
โ Linting and type checking pass
๐ฆ Package is built and checked
๐ 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
Available Tools
28 toolsbatch_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
Scored across 28 tools
Most tools have distinct purposes, especially the task retrieval tools which are clearly differentiated by descriptions (e.g., get_all_tasks for comprehensive search, get_tasks for today's scheduled, get_due_items for overdue). However, there is still some overlap that could cause confusion for an agent, such as multiple ways to get completed tasks.
All tool names follow a consistent verb_noun pattern in snake_case (e.g., create_task, mark_task_done, get_projects). Even batch operations follow the same pattern. No mixing of conventions, making it predictable and easy to understand.
With 28 tools, the server covers a wide range of functionality for a task management system (CRUD, time tracking, goals, kudos, etc.). While slightly above the ideal range, each tool serves a specific purpose and there are no unnecessary duplicates. A few tools could potentially be merged but overall it's well-scoped.
The tool set is notably incomplete for a task management system. There is no tool to update existing tasks (e.g., change title, due date, or description) nor to delete tasks permanently. The missing update and delete operations are significant gaps that will limit an agent's ability to fully manage tasks.
Maintenance
Related MCP Connectors
Amazing Marvin MCP server for ChatGPT, Claude and any AI agent: list Inbox tasks, list tasks for a day, list tasks due by a date, create task, reschedule task, mark task done, start and stop timer and create project in your own Amazing Marvin account. Cotlet works in the account through your Cloud Browser, a real Chrome where you sign in to Amazing Marvin yourself; Cotlet does not store your password and you need no Amazing Marvin API key. About the official Amazing Marvin API: Yes, Amazing Marvin has a public REST API for tasks, projects, time tracking and habits, but no official MCP server (checked 6 Nov 2026). You call it with an API token you copy from your account, and every request counts against 1 request per 3 seconds and 1440 requests a day. Setup and FAQ: https://cotlet.dev/integrations/amazing-marvin-api-mcp-server
Read your tracked time and projects, pause tracking or add a note, from Claude or ChatGPT.
Persistent context for Claude. Your AI always knows your projects and next actions across sessions.
Connect Claude, ChatGPT or any MCP client to your Atwork sheets, tasks, pages and dashboards.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceConnects AI assistants to Amazing Marvin for comprehensive task management, including creating and organizing tasks, time tracking, viewing schedules, and managing projects through natural language.1MIT
- AlicenseBqualityDmaintenanceIntegrates the Amazing Marvin productivity system with AI assistants to manage tasks, projects, and time tracking. It enables users to query their workload, receive personalized productivity coaching, and update their schedule through natural language.2823 PyPI44MIT
- FlicenseNot gradedqualityDmaintenanceConnects Claude.ai to your Motion workspace, enabling task and project management via natural language.-
- FlicenseNot gradedqualityDmaintenanceEnables AI assistants like Claude to create and manage projects, todos, priorities, and statuses through natural language, bridging the gap between AI and project management workflows.-