Stats Daily is a web application designed to help users track their daily tasks, set targets, and evaluate their work performance. By visualizing their progress and statistics, users can gain insights into their productivity and make necessary changes to improve.
- User authentication
- Daily task input and tracking
- Visualization of task completion statistics
- Clean and user-friendly interface
- API Key management (create, revoke, scope-based access)
- MCP-compatible context endpoint for AI agents
- Secure, scoped, and revocable access
Stats Daily exposes a MCP context API that allows users to connect their data to AI agents (Claude, Cursor, custom agents, etc.).
API keys use scopes to control what MCP clients are allowed to access. Each MCP endpoint validates scopes before processing the request.
Areas
mcp:areas:read– Read areas and its tasks and note
Achievements
mcp:achievements:read– Read achievementsmcp:achievements:write– Create achievements
- Read endpoints require the corresponding
:readscope - Write endpoints require the corresponding
:writescope - Requests without the required scope return 403 Forbidden
To allow an MCP client to read context and add achievements, assign:
["mcp:areas:read", "mcp:achievements:read", "mcp:achievements:write"]Scopes can be updated at any time from the API Keys → Permissions settings for each API Key.
All MCP requests are authenticated using Bearer API keys.
Authorization: Bearer <API_KEY>GET /api/mcp/contextReturns all areas with tasks for the authenticated user.
GET /api/mcp/achievements?date=YYYY-MM-DDReturns all achievements and note for the authenticated user on the specified date.
POST /api/mcp/achievementsRequest body:
{
"text": "Achievement text",
"note": "Added note with it" // Optional
}Adds a new achievement for the authenticated user.
Stats Daily provides an official Model Context Protocol (MCP) server that allows AI agents to securely access a user’s tasks and notes using API keys.
npx @snvshal/sndoThis MCP server communicates over stdio and is compatible with MCP-enabled clients such as Claude, Cursor, and custom agents.
- Go to API Keys
- Create a new key
Set your API key as an environment variable:
export SNDO_API_KEY=your_api_key_hereOr provide it directly in your MCP client configuration.
{
"mcpServers": {
"sndo": {
"command": "npx",
"args": ["@snvshal/sndo"],
"env": {
"SNDO_API_KEY": "your_api_key_here"
}
}
}
}- Areas
- Tasks
- Notes
- Last updated timestamps
Access is read-only, scoped, and can be revoked at any time.
To get started with the project, follow these steps:
-
Clone the repository:
git clone https://github.com/snvshal/stats-daily.git cd stats-daily -
Install dependencies:
npm install
-
Run the development server:
npm run dev
The application will be available at http://localhost:3000.
Contributions are welcome! Please open an issue or submit a pull request for any changes or improvements.
- Fork the repository
- Create a new branch
git checkout -b feature-branch
- Commit your changes
git commit -m 'Add new feature' - Push to the branch
git push origin feature-branch
- Open a pull request
MIT