Skip to main content
Glama

TaskPilot AI ✦

A local-first productivity copilot with a self-hosted MCP Streamable HTTP server.

TaskPilot gives you one workspace for task management, focus planning, and quick notes. It includes a responsive dashboard and a small local agent interface that maps natural-language requests to workspace actions. A self-hosted MCP endpoint exposes the same core capabilities as tools.

Honest demo note: The included chat uses deterministic local intent matching, not a hosted LLM. It does not call Amazon Bedrock by default. The MCP server is implemented with the official Model Context Protocol SDK. This keeps the project runnable without AWS credentials; describe it as a local agent demo rather than claiming generative AI is connected.

🚀 Run the Live Demo Locally

The application currently runs locally on your computer.

Local URL: http://localhost:3939

Note: This URL is accessible only on the computer running the server. To try the application, clone the repository and follow the setup instructions below.

Run Locally

npm install
node server.mjs

Then open http://localhost:3939 in your browser.

Related MCP server: FocusRoom MCP Server

Features

  • Responsive dark dashboard with overview, task list, notes, and assistant views.

  • Add tasks, set priorities, mark tasks complete, and view a workspace summary.

  • Ask the local assistant to add/complete tasks, show tasks, plan a focus session, save a note, or summarize progress.

  • Self-hosted MCP endpoint at http://localhost:3939/mcp using Streamable HTTP.

  • Six MCP tools: list_tasks, add_task, complete_task, create_focus_plan, save_note, and get_daily_summary.

  • No API key required for the local demo.

Requirements

  • Node.js 20.11 or newer

  • npm

Run locally

  1. Download or clone this repository.

  2. Open a terminal in the project folder.

  3. Install dependencies:

    npm install
  4. Start the app:

    npm start
  5. Open http://localhost:3939.

The MCP endpoint is http://localhost:3939/mcp. Health details and the available tool names are available at http://localhost:3939/api/health.

To change the port on Windows PowerShell:

$env:PORT=4040
npm start

Then open http://localhost:4040.

Try these prompts

  • Add task to prepare the project demo, high priority

  • Show my tasks

  • Make me a 25-minute focus plan

  • Give me a workspace summary

  • Save note: explore Bedrock integration next

The initial task list and notes are demo data. Data is kept in server memory and resets when the process restarts; this is not durable database storage.

MCP server

The server registers these tools through @modelcontextprotocol/sdk and exposes them over Streamable HTTP:

Tool

Purpose

list_tasks

List all, open, or completed tasks

add_task

Add a task with a priority

complete_task

Complete a task by ID or exact title

create_focus_plan

Create a focus block using open tasks

save_note

Save a note to the current process memory

get_daily_summary

Return task and note counts

The /mcp route handles MCP initialization and subsequent session requests. To validate the endpoint, use a compatible MCP client configured for Streamable HTTP with the URL http://localhost:3939/mcp.

Architecture

Browser UI (HTML/CSS/vanilla JS)
       |
       | JSON API
       v
Node.js + Express ----------------------> In-memory tasks / notes
       |
       | MCP Streamable HTTP endpoint
       v
Official MCP SDK tools (/mcp)

The current web assistant calls the local /api/agent route, which runs predictable local intent matching and workspace actions. The MCP tools are separately exposed for compatible MCP clients. A future version could connect an LLM/Bedrock orchestration layer to these tools.

Security and limitations

  • This demo is intended to run locally. Do not expose it publicly without adding authentication, rate limiting, input validation appropriate to deployment, and secure session handling.

  • Task and note data is in memory and resets on restart.

  • No Amazon Bedrock credentials are needed or used in the default build.

  • Google Fonts are loaded from an external CDN; if offline, the page falls back to system fonts.

Hackathon submission checklist

  • Run the project locally and test the features.

  • Test /mcp with a compatible MCP client and verify tools can be listed/called.

  • Record a public demo video under 3 minutes showing the app functioning.

  • Include the public GitHub repository and a visible open-source license.

  • Complete the hackathon product feedback fields honestly.

  • If this builds on a pre-existing repository, explain exactly what was changed during the hackathon.

License

MIT. See LICENSE.

Attribution

Built as an original TaskPilot AI demo. The UI and local workflow are included in this repository; do not claim third-party services or AI models are connected unless you add and test that integration.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    Exposes remote, agent-facing MCP endpoints over Streamable HTTP for web search, webpage parsing, local knowledge-base retrieval and document creation, and delegation of tasks to configurable LLM providers. Also bundles an admin console with onboarding, provider/model configuration, API-key management, and call logging.
    MIT