Intern Task Tracker MCP Server

Intern Task Tracker MCP Server

Enables managing daily work logs with tools for adding, listing, updating status, deleting, and summarizing tasks, using SQLite for persistent storage.

Category
访问服务器

README

Intern Task Tracker - MCP Server

A Python-based Model Context Protocol (MCP) Server developed for tracking daily internship work.

The project uses FastMCP to expose task-management tools and SQLite to permanently store Daily Work Log information.


Project Overview

The Intern Task Tracker allows internship work details to be managed through MCP tools.

The current system supports:

  • Adding Daily Work Logs
  • Listing Daily Work Logs
  • Updating a work log status to Done
  • Deleting Daily Work Logs
  • Viewing an overall work summary
  • Storing all work log information in SQLite
  • Testing MCP tools through MCP Inspector

Technologies Used

  • Python
  • Model Context Protocol (MCP)
  • FastMCP
  • SQLite
  • MCP Inspector
  • VS Code
  • Node.js / NPX

Project Structure

MCP_Server/
│
├── server.py
├── database.py
├── intern_tracker.db
├── requirements.txt
├── README.md
│
├── venv/
│
└── __pycache__/

server.py

Contains the MCP server and all MCP tools.

database.py

Handles:

  • SQLite connection
  • Database initialization
  • Table creation
  • Database reset functionality

intern_tracker.db

SQLite database used to permanently store Daily Work Log records.

requirements.txt

Contains the Python dependencies required by the project.


Daily Work Log Structure

The daily_work_log table stores the following information:

Field Description
id Unique ID of the work log
work_date Date of work
day Day automatically calculated from date
task_description Work performed / task description
deliverables Deliverables or output
blockers Blockers or dependencies
hours_spent Total working hours
status Current task status
notes Additional comments
created_at Record creation timestamp
updated_at Last update timestamp

When a new Daily Work Log is created, its status is automatically:

To Do

The update_work_status MCP tool changes the status to:

Done

MCP Tools

The server currently provides five MCP tools.

1. add_daily_work_log

Adds a new Daily Work Log to the SQLite database.

Inputs include:

  • Work Date
  • Task Description
  • Deliverables
  • Blockers
  • Hours Spent
  • Notes

The day is automatically calculated from the entered date.

The default status is automatically set to To Do.


2. list_daily_work_logs

Retrieves the Daily Work Logs stored in the database.

Logs can optionally be filtered using their status.

Examples:

To Do
Done

3. update_work_status

Marks an existing Daily Work Log as:

Done

The Log ID is required to identify the record.


4. delete_daily_work_log

Deletes a Daily Work Log using its Log ID.


5. get_work_summary

Returns a summary containing:

  • Total Work Logs
  • Completed Logs
  • To Do Logs
  • Total Hours Spent

Setup Instructions

1. Open the Project

Open the project folder in VS Code:

cd D:\MCP_Server

2. Activate Virtual Environment

Run:

.\venv\Scripts\Activate.ps1

The terminal should show:

(venv) PS D:\MCP_Server>

PowerShell Execution Policy Issue

If PowerShell prevents the virtual environment from activating, run:

Set-ExecutionPolicy -Scope Process -ExecutionPolicy RemoteSigned

Then:

.\venv\Scripts\Activate.ps1

Running the Project

The following commands are used to verify and run the MCP server.

Step 1 - Check server.py for syntax errors

Run:

python -m py_compile server.py

If no error appears, the Python file compiled successfully.


Step 2 - Verify the MCP Server

Run:

python -c "from server import mcp; print('Server loaded successfully')"

Expected output:

Server loaded successfully

Step 3 - Initialize the SQLite Database

Run:

python database.py

Expected output:

==================================================
Intern Tracker Database Initialized Successfully
==================================================

This creates the database/table if it does not already exist.


Step 4 - Start MCP Inspector

Run:

npx @modelcontextprotocol/inspector python server.py

Expected output will be similar to:

Starting MCP inspector...

MCP Inspector Web is up and running at:
http://localhost:6274?MCP_INSPECTOR_API_TOKEN=...

Sandbox (MCP Apps):
http://localhost:xxxxx/sandbox

Auth token: ...

Opening browser...

The port numbers and authentication token can change every time MCP Inspector starts.

The browser should open MCP Inspector automatically.


Quick Run Commands

For normal development, use:

cd D:\MCP_Server

.\venv\Scripts\Activate.ps1

python -m py_compile server.py

python database.py

npx @modelcontextprotocol/inspector python server.py

For additional server verification, run:

python -c "from server import mcp; print('Server loaded successfully')"

Using MCP Inspector

After MCP Inspector opens:

  1. Open the Tools section.
  2. Select add_daily_work_log.
  3. Enter the work log information.
  4. Click Execute Tool.
  5. Select list_daily_work_logs.
  6. Execute the tool to verify that the record was stored.
  7. Use update_work_status to mark a work log as Done.
  8. Use delete_daily_work_log when a record needs to be removed.
  9. Use get_work_summary to view the overall internship work summary.

Data Flow

    MCP Inspector
          |
          v
      MCP Tool
          |
          v
      server.py
          |
          v
     database.py
          |
          v
        SQLite
          |
          v
    intern_tracker.db
          |
          v
    daily_work_log

For example:

User enters Daily Work Log
          |
          v
   add_daily_work_log
          |
          v
    INSERT SQL Query
          |
          v
   intern_tracker.db
          |
          v
  daily_work_log table

Viewing Stored Data

The intern_tracker.db file is a binary SQLite database file, so it should not be opened as a normal text file.

Use a SQLite viewer/editor extension in VS Code.

Open:

intern_tracker.db

Then select:

TABLES
   └── daily_work_log

The stored records will be displayed in table format.

You can also verify the data from the terminal:

python -c "import sqlite3; con=sqlite3.connect('intern_tracker.db'); rows=con.execute('SELECT * FROM daily_work_log').fetchall(); print(rows); con.close()"

Current Project Status

The following functionality has been completed:

  • [x] Python MCP server setup
  • [x] FastMCP integration
  • [x] SQLite database setup
  • [x] Daily Work Log table
  • [x] Add Daily Work Log
  • [x] List Daily Work Logs
  • [x] Update Work Status
  • [x] Delete Daily Work Log
  • [x] Work Summary
  • [x] Automatic day calculation
  • [x] Default To Do status
  • [x] MCP Inspector integration
  • [x] SQLite data persistence
  • [x] End-to-end MCP tool testing

Future Development

Future versions of the project can include:

  • MCP Resources
  • MCP Prompts
  • Additional validation
  • Duplicate work-date handling
  • Improved reporting and summaries

Developer

Soham Thoke

AI Engineering Intern


Project Purpose

This project was developed to understand and implement a Python-based MCP server while building a practical internship Daily Work Log tracking system using MCP tools and SQLite.

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选