agent-toolkit-mcp-server
MCP server providing persistent notes, todos, timers, and a cross-project registry — capabilities that augment Claude Code's built-in harness.
How to read this: tool names here are observed from a live tools/list handshake. The Risk label is a heuristic inferred from the tool name (write/destructive verbs), not from executing the tool — a conservative guess, not a verified capability. We never escalate risk from a description. Found one that's wrong? Tell us — we fix on report.
| Tool | Risk | Side effects | Approval |
|---|---|---|---|
| timer_cancel Cancel a pending timer. | destructive | true | true |
| todo_complete Mark a todo as done. | unknown | unknown | unknown |
| todo_set_blockers Replace the entire blocker list for a todo at once.
blockers: comma-separated todo ids; pass '' to clear all blockers.
| write | true | unknown |
| timer_resume Resume a paused timer. | unknown | unknown | unknown |
| todo_delete Delete a todo. | destructive | true | true |
| todo_tags_list List distinct tags used by todos in scope. | read | false | unknown |
| todo_transfer Bulk-move one or more todos to a different project.
ids: comma-separated todo ids.
target_project: registered project name, or '' for the global scope.
| write | true | unknown |
| todo_list List todos. project='' means _global scope (use project_register name otherwise).
status: open|in_progress|done|cancelled|active|all. 'active' = open + in_progress.
tags: comma-separated; a todo must have ALL listed tags to match.
| read | false | unknown |
| project_update Update path, description, tags, and/or members on a registered project.
members: pass a JSON array to replace the list, '[]' to clear. Omit to leave unchanged.
| write | true | unknown |
| todo_add_blocker Add another todo id as a blocker on this todo. | write | true | unknown |
| template_delete Delete a prompt template by id or name. | destructive | true | true |
| project_doc_write Create or replace a project doc. Leading H1 in content is used as the title. | write | true | unknown |
| note_clear Clear a note's body while keeping its frontmatter. | unknown | unknown | unknown |
| project_doc_list List markdown docs attached to a project (slug, title, size, updated). | read | false | unknown |
| project_remove Remove a project from the registry (does not delete files). | destructive | true | true |
| project_resolve Return the absolute path for a project, optionally joined with a relative subpath. | unknown | unknown | unknown |
| project_get Look up a single registered project by name (includes members + doc names). | read | false | unknown |
| template_get Get a prompt template by id or name. | read | false | unknown |
| note_find Literal substring search within a single note. Returns matching line refs. | read | false | unknown |
| todo_remove_blocker Remove a blocker from a todo. | destructive | true | true |
| note_append Append content to the end of a note's body. | unknown | unknown | unknown |
| timer_pause Pause a pending timer. | unknown | unknown | unknown |
| template_render Render a prompt template by substituting {variable} placeholders.
variables: comma-separated key=value pairs, e.g. "lang=Python,topic=async".
Returns the rendered text plus a list of any unresolved placeholders.
| read | false | unknown |
| todo_add_tag Add a single tag to a todo. | write | true | unknown |
| note_archive Mark a note as archived; archived notes are hidden from default list. | destructive | true | true |
| note_tail Return the last N lines of a note's body. | unknown | unknown | unknown |
| todo_create Create a new todo. Returns the new id. | write | true | unknown |
| todo_lock Lock a todo to prevent any modifications or deletion. | unknown | unknown | unknown |
| todo_comment_add Add a comment to a todo. Returns the new comment. | write | true | unknown |
| project_list List registered projects, optionally filtered by comma-separated tags. | read | false | unknown |
| timer_ack Clear all fired events for a specific timer id. | unknown | unknown | unknown |
| timer_fired List timers that have fired. If ack=true, also clear them. | read | false | unknown |
| idle_watch_list List all idle watches (both pending and already fired). | read | false | unknown |
| todo_unlock Unlock a previously locked todo, allowing modifications again. | unknown | unknown | unknown |
| todo_comment_list List all comments for a todo, ordered by creation time. | write | true | unknown |
| todo_comment_delete Delete a comment. | destructive | true | true |
| note_list List notes in scope with tags/revision; tags is a comma-separated filter. | read | false | unknown |
| note_remove_tags Remove comma-separated tags from a note. | destructive | true | true |
| template_list List all prompt templates. Optionally filter by tags (comma-separated, must match ALL). | read | false | unknown |
| note_write Create or replace a note. Leading H1 in content is used as the title. | write | true | unknown |
| note_read Read a note. mode: full | headings | section (requires `section`). | read | false | unknown |
| timer_list List pending timers. | read | false | unknown |
| note_append_section Append content under an existing heading in a note. | unknown | unknown | unknown |
| note_tags_list List distinct tags used across notes in scope. | read | false | unknown |
| project_doc_delete Delete a project doc. | destructive | true | true |
| note_rename Rename a note within the same project scope. | write | true | unknown |
| note_delete Delete a note file. | destructive | true | true |
| todo_get Get a todo's full details. | read | false | unknown |
| template_create Create a reusable prompt template.
Use {variable_name} placeholders in the template text; they are extracted automatically.
name must be unique.
| write | true | unknown |
| todo_comment_edit Edit the body of an existing comment. | write | true | unknown |
| note_add_tags Add comma-separated tags to a note. | write | true | unknown |
| todo_remove_tag Remove a single tag from a todo. | destructive | true | true |
| project_doc_read Read a project doc's full markdown content. | read | false | unknown |
| project_register Register a repo or folder by name. Path must be absolute and exist.
members: optional JSON array like '[{"path": "/abs", "label": "frontend", "description": "..."}]'.
| unknown | unknown | unknown |
| todo_update Partial update — change text, status, and/or move to a different project. | write | true | unknown |
| fire_when_idle_all Register a watch that fires once ALL listed todos reach done or cancelled status.
todo_ids: comma-separated todo ids to watch.
Fires into the same fired_timers table as time-based timers; use timer_fired to poll.
| read | false | unknown |
| template_update Partial update for a prompt template. Pass only the fields you want to change. | write | true | unknown |
| note_edit Replace a section (by heading) or a line range (1-indexed, inclusive) in a note. | write | true | unknown |
| note_search FTS5 search across notes and (optionally) project docs.
- query: FTS5 MATCH expression (e.g. 'foo bar', '"exact phrase"', 'foo OR bar').
- project: empty = search across ALL scopes (including _global and all projects);
named project = restrict to that scope only.
- kinds: comma-separated subset of {note, project_doc}.
Returns: list of {kind, project, name, title, snippet}.
| read | false | unknown |
| timer_set Schedule a timer. Provide either fire_in_seconds or an ISO8601 fire_at. | write | true | unknown |
| fire_when_idle_any Register a watch that fires once ANY of the listed todos reaches done or cancelled status.
todo_ids: comma-separated todo ids to watch.
Fires into the same fired_timers table as time-based timers; use timer_fired to poll.
| read | false | unknown |
| idle_watch_cancel Cancel (delete) an idle watch that hasn't fired yet. | destructive | true | true |
- repohttps://github.com/PaperBackPear3/awesome-agent-toolkits
- packagehttps://pypi.org/project/agent-toolkit-mcp-server
- licenseMIT
- adoption0 stars · 0 forks
The access this server can exercise, inferred from its verified tools — not a declared OAuth scope.
Add the “as seen on MCPExplorer” badge to your README.
This is one server. A loadout combines the right servers, governance, and proven plays for a whole job — assembled deliberately, not tool-dumped.
Explore loadouts →