DailyBot MCP
A small local MCP server that lets Littlebird read and submit your DailyBot check-ins through the installed DailyBot CLI.
Requirements
- Python 3.10+
uv- DailyBot CLI 3.8+, authenticated as the user whose check-ins Littlebird should access
Verify DailyBot first:
dailybot --version
dailybot status --auth
If needed, authenticate with:
dailybot login
Install
From this repository directory, install dependencies:
uv sync
Run
For manual background operation:
./mcpctl start
./mcpctl status
./mcpctl logs # Ctrl-C stops following logs, not the server
./mcpctl stop
Runtime state and logs are stored under the ignored .run/ directory.
To run in the foreground instead:
uv run dailybot_mcp.py
The MCP endpoint is available only on your machine at:
http://127.0.0.1:8765/mcp
This server is localhost-only; it does not provide a remote or hosted endpoint.
Connect Littlebird
- Open Settings > Integrations in Littlebird.
- Add a custom MCP server.
- Enter
http://127.0.0.1:8765/mcpas the server URL. - Enable the integration for the chat or routine that needs DailyBot.
Tools
list_checkins(date: str | None = None) -> dict[str, Any]
get_checkin(checkin_id: str) -> dict[str, Any]
get_checkin_history(checkin_id: str, from_date: str, to_date: str, search: str | None = None, limit: int | None = None) -> dict[str, Any]
submit_checkin(checkin_id: str, answers: list[str], response_date: str | None = None, confirmed: bool = False) -> dict[str, Any]
list_checkinslists pending and completed check-ins for one date.get_checkinreturns a check-in's configuration and ordered questions.get_checkin_historyreturns responses DailyBot provides over any arbitrary inclusive date range, optionally filtered bysearchand capped bylimit.submit_checkinsubmits answers in question order only whenconfirmed=Trueafter you explicitly approve them.
Dates use YYYY-MM-DD. History results follow your DailyBot account permissions.
Development
Tests mock DailyBot and never contact a live account:
uv run python -m unittest -v
Troubleshooting
- DailyBot is not on
PATH: ensuredailybot --versionworks in the same shell used to start the server. - DailyBot is not authenticated: run
dailybot login, then verify withdailybot status --auth. - Littlebird cannot connect: confirm the server process is still running and the URL is exactly
http://127.0.0.1:8765/mcp. - Port already in use: stop the process using port
8765before starting this server.