TaskFlow AI MCP Server
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., "@TaskFlow AI MCP ServerCreate a task to finish the hackathon submission and then list my tasks"
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.
TaskFlow AI
Less task juggling. More follow-through.
TaskFlow AI is a hackathon MVP exploring a unified productivity workflow across task management, Gmail context, and Google Calendar. Its mission workspace follows Plan → Act → Verify → Recover: a supported request triggers a tool call, and task creation is followed by a separate task-list check.
Prototype status: This project is an MVP, not a production-ready autonomous agent. Its mission runner supports a small set of rule-based requests rather than free-form LLM planning. Reminder records can be created and listed, but they do not deliver notifications or create Google Calendar events. Before presenting the hosted demo, configure the Render and Apps Script secrets and run the checks in
docs/TESTING.md.
What is in this repository?
Index.html— TaskFlow AI web interface.Code.gs— Google Apps Script backend/client. It communicates with the MCP server for task and reminder tools; Gmail and Calendar reads are handled in Apps Script.server.py— Python/FastAPI stateless MCP server over Streamable HTTP.requirements.txt— Python dependencies.render.yaml— Render service configuration.docs/— architecture, user/testing guide, product feedback, submission description, and friction log.LICENSE— MIT open-source license.
Related MCP server: Todolist MCP Server
MCP implementation
The server implements MCP protocol version 2025-11-25 and accepts JSON-RPC requests at POST /mcp. The Apps Script client performs initialization, sends notifications/initialized, lists tools, and makes tool calls using the MCP-Protocol-Version header.
The six tools are:
create_tasklist_tasksset_task_donedelete_taskcreate_reminderlist_reminders
The server uses a bearer token for /mcp. Keep that token in environment/script properties only; never put it in Index.html, commit it to Git, or paste it into public issue trackers.
Requirements
A GitHub account for source control.
A Render account (or another host capable of running the Python server) if using the hosted MCP endpoint.
A Google account with permission to create/deploy Apps Script projects.
A modern browser.
Deploy the MCP server on Render
If you already have a public GitHub repository, upload/replace the project files from this package in that repository. Otherwise, create a repository and upload the extracted files. Keep
LICENSEat the repository root so GitHub can detect and display the license.In Render, choose New + → Web Service and connect the repository.
Use these settings if Render does not automatically detect
render.yaml:Runtime: Python 3
Build command:
pip install -r requirements.txtStart command:
uvicorn server:app --host 0.0.0.0 --port $PORT
Create a strong token locally:
python3 -c "import secrets; print(secrets.token_urlsafe(32))"Set
MCP_API_TOKENin the Render service's environment variables to the generated token. Do not put the value in the repository.Deploy. Test
https://YOUR-SERVICE.onrender.com/health; expect JSON containing"ok": true.Use
https://YOUR-SERVICE.onrender.com/mcpas the MCP endpoint, not/healthor the site root.
The service rejects browser-origin requests to /mcp by default. Apps Script should call it server-to-server with the bearer token. Do not expose the bearer token to browser JavaScript.
Connect Google Apps Script
Open Google Apps Script and open the TaskFlow AI project.
Replace the
Code.gscontents with this repository'sCode.gs, and replace theIndex.htmlcontents with this repository'sIndex.html.Open Project Settings → Script Properties and add/update the following properties:
MCP_SERVER_URL— the full HTTPS URL ending in/mcp.MCP_API_TOKEN— exactly the same token configured in Render.
Save the properties. If this project uses an explicit
appsscript.json, preserve needed Gmail and Calendar scopes and includehttps://www.googleapis.com/auth/script.external_request.Choose Deploy → Manage deployments → Edit → New version → Deploy. Review and approve requested permissions.
Restrict the Apps Script web app to yourself or trusted users. It can read Gmail and Calendar using the accessing user's Google authorization; do not publish it with unrestricted access.
Open the deployed web-app URL ending in
/exec.
Test the main flow
Navigate to Mission Control and click Test MCP. The expected result is protocol version
2025-11-25and all six tool names.Enter
Add task: Finish the hackathon submissionand click Run mission.Inspect the activity log. The expected sequence includes
create_taskfollowed bylist_tasksverification, with the new task appearing in the task list.Try showing, completing, and deleting a task.
Create a reminder and confirm that the app describes it as a saved record. Do not claim that a notification was delivered: notifications are not implemented in this MVP.
Record the actual date, environment, result, and any error in
docs/TESTING.md. A listed test case is not evidence that a test has passed.
Troubleshooting
Symptom | Check |
| Both Script Properties exist and are spelled correctly. |
|
|
|
|
| Set |
| Review Render deployment events and logs. |
First request times out | A free host may be waking up; retry |
Gmail/Calendar reads fail | Check Google authorization, Apps Script scopes, and execution logs. |
Security and known limitations
The server stores task/reminder records in a local JSON file. Some free-host filesystems are ephemeral, so data may be lost after restarts or redeploys. Production use needs persistent storage.
The server uses a shared bearer token.
owner_idseparates records within the demo, but this is not a hardened multi-tenant production architecture.Gmail/Calendar functionality is read-only in this MVP. The app does not send email, create calendar events, or deliver reminders.
The mission runner is rule-based for a small set of supported requests; it is not a general LLM planner.
Do not commit real secrets, personal email/calendar data,
.envfiles, or production credentials.
Documentation
License
Released under the MIT License. See LICENSE.
This server cannot be deployed
Maintenance
Related MCP Connectors
Local-first task manager: create, edit, and complete tasks, projects, and checklists via MCP.
Create, list, and complete todo items through MCP.
- mcpOAuthnet.todoist
Official Todoist MCP server for AI assistants to manage tasks, projects, and workflows.
Streamable HTTP MCP server exposing planner flows, tasks, and squads.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceEnables MCP clients to manage Google Tasks, including creating, updating, deleting, and listing tasks and task lists, with optional due dates and subtasks.59 npmMIT
- AlicenseBqualityAmaintenanceEnables task management through MCP, including creating, reading, updating, deleting, and completing tasks, with filtering by status, priority, or due date and secure token-based authentication.6GPL 3.0
- FlicenseNot gradedqualityBmaintenanceEnables personal productivity management by exposing MCP tools to create, retrieve, list, update, complete, and delete tasks and calendar events, with validation and conflict detection.-
- AlicenseNot gradedqualityCmaintenanceEnables clients to create tasks and subscribe to a task.created event stream, delivering signed, filterable webhook callbacks with verified challenges and managed subscription lifecycles. It exposes event discovery, listing, subscribing, and unsubscribing alongside the task tool over a single MCP endpoint.3MIT