Skip to content

add MCP server for AI assistant integration#2

Open
MicroProofs wants to merge 23 commits intomainfrom
feat/mcp-server
Open

add MCP server for AI assistant integration#2
MicroProofs wants to merge 23 commits intomainfrom
feat/mcp-server

Conversation

@MicroProofs
Copy link
Collaborator

No description provided.

@cloudflare-workers-and-pages
Copy link

cloudflare-workers-and-pages bot commented Dec 26, 2025

Deploying mach with  Cloudflare Pages  Cloudflare Pages

Latest commit: bdbdd0c
Status: ✅  Deploy successful!
Preview URL: https://642a43f8.mach-76x.pages.dev
Branch Preview URL: https://feat-mcp-server.mach-76x.pages.dev

View logs

SeaORM 2.0 uses SQLx which doesn't recognize rusqlite-style URL
parameters (_journal_mode, _busy_timeout). Execute PRAGMAs after
connection instead.
Add optional workspace and project filters to the mach_list_todos MCP
endpoint. Filters are resolved independently (no cross-validation) so
mismatched workspace/project simply returns 0 results.

- Add workspace_id and project_id to ListOptions struct
- Add filtering logic to TodoService::list()
- Add workspace/project params to ListTodosParams with schema docs
- Update tool description to reflect new capabilities
Add optional status param that accepts an array of strings to filter
todos by status (pending, done, etc). When provided, status filter
takes precedence over include_done boolean for clearer API semantics.
Empty array falls through to include_done logic.
Update AddTodoParams and UpdateTodoParams title descriptions to document
the convention-based priority system: HIGH:, LOW:, SPEC: prefixes.
By default, list_projects now hides done projects. Pass includeDone: true
to include them. Matches the existing pattern from list_todos.
Add a new MCP tool to delete multiple todos in a single operation.
Includes SQLite batch size limit (500) to avoid variable overflow.
Add support for an "in_progress" status to indicate actively worked-on
todos. Includes TodoService.mark_in_progress() method and MCP tool
mach_mark_in_progress. Items marked in_progress sort with pending items
(above done). Transitioning from done to in_progress reorders the item
to the top of the list.
Allow setting todo status (pending, in-progress, done) via the update
command instead of requiring separate done/reopen commands. Also fixes
mark_pending to handle in_progress -> pending transition.
Implements `mach workspaces delete <ref>` command with safety checks:
- Prevents deletion if workspace has projects (asks to delete them first)
- Prevents deletion if workspace has todos (asks to delete/move them first)
- Supports lookup by name or UUID
Notes are now hidden by default in list_todos responses. Pass
includeNotes: true to include them.
…ification

Add return type info to all 18 tool descriptions and clarify what
'backlog' means (someday items with no scheduled date) in parameter
descriptions.
Add mach_batch_move_todos tool that moves multiple todos to a new date
in a single call. Use cases include rescheduling all overdue items to
today or moving items from one day to another.

- Accept array of todo UUIDs, target scope, and optional placement
- Validate batch size (max 500) and UUID formats upfront
- Handle individual failures gracefully with detailed error reporting
- Preserve input order in visual results regardless of placement
- Return {moved, count, requested, ids, failures} response
Service layer already exists; adds mach_delete_project to MCP server
for parity with CLI. Validates UUID and delegates to ProjectService::delete
which prevents deletion if project has todos.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant