FocusPal Local MCP Server
No description available
Ask AI about FocusPal Local MCP Server
Powered by Claude Β· Grounded in docs
I know everything about FocusPal Local MCP Server. Ask me about installation, configuration, usage, or troubleshooting.
0/500
Reviews
Documentation
π§ FocusPal β AI Productivity & Mood Tracker (Local MCP Server)
FocusPal is a local MCP (Model Context Protocol) server built using FastMCP. It helps you log daily productivity, detect mood automatically, summarize progress, and get AI-powered improvement suggestions β all inside Claude Desktop.
π§© Features
β Log your daily focus or study sessions β Auto-detect mood using TextBlob sentiment analysis β Summarize weekly productivity stats β Get personalized AI suggestions for better focus β Lightweight local database using SQLite (no internet needed)
βοΈ Installation
1. Clone the repository
git clone https://github.com/rishu5kumar/FocusPal-Local-MCP-Server.git
cd FocusPal-Local-MCP-Server
2. Install dependencies
Make sure you have uv installed and initialized. Then run:
uv add fastmcp textblob numpy
π Running FocusPal as a Local MCP Server
Since this is a local MCP server, it uses STDIO transport. That means it runs directly on your system and connects locally to Claude Desktop.
π§ To connect FocusPal to Claude Desktop:
Run this once in your project folder:
uv run fastmcp install claude-desktop main.py
This command:
- Starts your local MCP server (
FocusPal) - Automatically registers it inside Claude Desktop
- Claude can now use FocusPal tools in chats
β Once installed, youβll see FocusPal listed under Claude β Settings β Tools β Installed MCP Servers.
π Development & Testing
To test your MCP server with MCP Inspector (before installing):
uv run fastmcp dev main.py
Then open the MCP Inspector (from the FastMCP app or CLI) and enter the default URL:
http://127.0.0.1:6274/mcp
Youβll see your tools live β like:
log_entry(date, hours, activity, mood, note)summarize_week(start_date, end_date)suggest_improvement(start_date, end_date)
π¬ Example Commands in Claude
After connecting FocusPal to Claude, you can say things like:
ποΈ βFocusPal, log that I studied for 2.5 hours today and felt tired.β π βFocusPal, summarize my productivity from 2025-11-01 to 2025-11-07.β π‘ βFocusPal, suggest improvements for this weekβs focus.β
π Project Structure
focuspal/
βββ main.py # Main MCP server script
βββ focuspal.db # SQLite database (auto-created)
βββ README.md # Youβre here
βββ pyproject.toml
π§± Tech Stack
- FastMCP β To easily create MCP servers
- SQLite β For local data storage
- TextBlob β For AI-based mood sentiment analysis
- NumPy β For mood statistics and averages
π§ How It Works
-
You log your daily activity using
log_entry()β If you skip themood, itβs auto-detected from your journal note. -
You can check your weekly summary using
summarize_week()β It shows total hours, frequent activity, and average mood. -
You can ask for AI tips via
suggest_improvement()β It gives suggestions based on your mood & average working hours.
π§° Example Code Snippet
uv run fastmcp install claude-desktop main.py
Then in Claude:
βFocusPal, summarize_week('2025-11-01', '2025-11-07')β
π§βπ» Developer Notes
-
If you modify
main.py, rerun:uv run fastmcp install claude-desktop main.pyto update Claude with the latest version.
-
No internet or authentication is required β itβs 100% local.
-
To remove it, go to Claude β Settings β Tools β Installed MCP Servers β Remove FocusPal.
π Summary
| Command | Purpose |
|---|---|
uv run fastmcp dev main.py | Test locally with MCP Inspector |
uv run fastmcp install claude-desktop main.py | Register local server with Claude |
uv run fastmcp run main.py | Run normally (without inspector) |
