MCP Tools Reference
The Retrace MCP server exposes the following tools to AI agents.
log_entry
Log a work memory entry. The agent should call this proactively whenever something meaningful happens — milestones, decisions, bugs resolved, context switches.
Project workflow: Before logging with a project, agents must call list_projects first to find the exact name. If no matching project exists, call create_project first. Entries with unrecognized project names are rejected.
| Parameter | Type | Required | Description |
|---|---|---|---|
| content | string | ✅ | Rich description — the what, why, and how |
| category | enum | coding, debugging, reviewing, deploying, meeting, research, planning, general | |
| project | string | Project name (must match an existing project) | |
| tags | string[] | Tags for the entry | |
| people | string[] | People involved or mentioned | |
| refs | string[] | External references — ticket IDs, PR numbers | |
| component | string | System/service/component affected | |
| source | string | Source agent (e.g. copilot, cursor) |
query_journal
Search and filter journal entries. Use this to find past work, answer "when did I do X?", or retrieve entries by date range, project, or category.
| Parameter | Type | Required | Description |
|---|---|---|---|
| from | string | Start date/time (ISO 8601) | |
| to | string | End date/time (ISO 8601) | |
| timezone | string | User's IANA timezone (e.g. 'America/Denver') — always include for relative date queries | |
| category | string | Filter by category | |
| project | string | Filter by project name | |
| search | string | Full-text search in content | |
| person | string | Filter by person mentioned | |
| component | string | Filter by component | |
| limit | number | Max entries to return (default 50) |
get_summary
Get a summary of work done on a specific date. Great for standups and daily recaps.
| Parameter | Type | Required | Description |
|---|---|---|---|
| date | string | ✅ | Date (YYYY-MM-DD), or 'today'/'yesterday' |
| timezone | string | User's IANA timezone — required for correct 'today'/'yesterday' resolution |
list_projects
List all projects for the user. Call this before log_entry to find the right project name, or to check if a project exists before creating one. No parameters.
create_project
Create a new project. Only call this when you've checked list_projects and no matching project exists. Don't create projects for one-off tasks.
| Parameter | Type | Required | Description |
|---|---|---|---|
| name | string | ✅ | Short project name (e.g. 'retrace-mcp', 'billing-service') |
| description | string | Brief description of the project |
edit_entry
Edit an existing journal entry by its entry number. Only provided fields are updated; omitted fields remain unchanged.
| Parameter | Type | Required | Description |
|---|---|---|---|
| entry_number | number | ✅ | Entry number to edit (the # shown in query results) |
| content | string | Updated content | |
| category | enum | Updated category | |
| project | string | Updated project name (must exist) | |
| tags | string[] | Updated tags (replaces existing) | |
| people | string[] | Updated people (replaces existing) | |
| refs | string[] | Updated refs (replaces existing) | |
| component | string | Updated component |
delete_entry
Delete a journal entry by its entry number.
| Parameter | Type | Required | Description |
|---|---|---|---|
| entry_number | number | ✅ | Entry number to delete (the # shown in query results) |