Personal Timesheet Mcp — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited Personal Timesheet Mcp (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
A Model Context Protocol (MCP) server that provides CRUD operations for timesheet management via REST API endpoints.
👤 For End Users: See README-USER.md for simple installation instructions 👨💻 For Developers: Continue reading below 📦 Publishing: See Publishing Guide to distribute your connector
cd mcpnpm installcp .env.example .env
# Edit .env and set TIMESHEET_API_BASE_URLnpm run buildCreate a .env file or set environment variables:
TIMESHEET_API_BASE_URL=http://localhost:3000/apiAdd to your Claude Desktop configuration file:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
For end users (after publishing to npm):
{
"mcpServers": {
"timesheet": {
"command": "timesheet-mcp",
"env": {
"TIMESHEET_API_BASE_URL": "http://localhost:3000/api"
}
}
}
}For local development:
{
"mcpServers": {
"timesheet": {
"command": "node",
"args": ["/absolute/path/to/timesheet_logger/mcp/build/index.js"],
"env": {
"TIMESHEET_API_BASE_URL": "http://localhost:3000/api"
}
}
}
}Run in development mode with auto-reload:
npm run devBuild and run:
npm run build
npm startCreate a new timesheet entry.
Parameters:
project_id (string, required): Project IDdate (string, required): Entry date (YYYY-MM-DD)hours (number, required): Hours workeddescription (string, optional): Entry descriptionbillable (boolean, optional): Whether entry is billable (default: true)List timesheet entries with optional filters.
Parameters:
start_date (string, optional): Filter by start date (YYYY-MM-DD)end_date (string, optional): Filter by end date (YYYY-MM-DD)project_id (string, optional): Filter by project IDlimit (number, optional): Maximum results (default: 50)offset (number, optional): Offset for pagination (default: 0)Get a single timesheet entry by ID.
Parameters:
entry_id (string, required): Entry IDUpdate an existing timesheet entry.
Parameters:
entry_id (string, required): Entry IDproject_id (string, optional): New project IDdate (string, optional): New date (YYYY-MM-DD)hours (number, optional): New hoursdescription (string, optional): New descriptionbillable (boolean, optional): New billable statusDelete a timesheet entry.
Parameters:
entry_id (string, required): Entry IDList available projects.
Parameters: None
Create a new project. Requires admin or manager role.
Parameters:
name (string, required): Project namedescription (string, optional): Project descriptionis_active (boolean, optional): Whether project is active (default: true)Manually trigger browser-based login. Opens a browser window for authentication.
Parameters: None
Note: Useful after logout or for manual authentication. If already logged in, will show current user.
Logout from the current session and clear stored authentication tokens.
Parameters: None
Note: After logout, you will need to re-authenticate (via browser login) on the next request.
# From backend/api-nodejs or backend/api-go
docker-compose upnpm run devTIMESHEET_API_BASE_URL is correctnpm run buildmcp/
├── src/
│ ├── index.ts # Main MCP server entry point
│ ├── config.ts # Configuration management
│ ├── types.ts # TypeScript types
│ ├── api/
│ │ ├── client.ts # HTTP client wrapper
│ │ └── timesheet.ts # Timesheet API operations
│ └── tools/
│ ├── create-entry.ts # Create tool
│ ├── list-entries.ts # List tool
│ ├── get-entry.ts # Get tool
│ ├── update-entry.ts # Update tool
│ └── delete-entry.ts # Delete tool
├── build/ # Compiled output
├── package.json
├── tsconfig.json
└── README.mdsrc/tools/src/index.tsMIT
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.