Skip to main content
Glama
hald

Things MCP Server

by hald

update_project

Modify project details like title, notes, schedule, deadline, tags, or status in the Things app. Use the tool to update or mark projects as completed/canceled by specifying the project ID.

Instructions

Update an existing project in Things

Args: id: ID of the project to update title: New title notes: New notes when: New schedule deadline: New deadline tags: New tags completed: Mark as completed canceled: Mark as canceled

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
canceledNo
completedNo
deadlineNo
idYes
notesNo
tagsNo
titleNo
whenNo

Implementation Reference

  • MCP tool handler for 'update_project'. Decorated with @mcp.tool for registration. Defines input parameters (serving as schema) and executes the update by constructing and running a Things URL.
    @mcp.tool
    async def update_project(
        id: str,
        title: str = None,
        notes: str = None,
        when: str = None,
        deadline: str = None,
        tags: List[str] = None,
        completed: bool = None,
        canceled: bool = None
    ) -> str:
        """Update an existing project in Things
        
        Args:
            id: ID of the project to update
            title: New title
            notes: New notes
            when: New schedule
            deadline: New deadline
            tags: New tags
            completed: Mark as completed
            canceled: Mark as canceled
        """
        url = url_scheme.update_project(
            id=id,
            title=title,
            notes=notes,
            when=when,
            deadline=deadline,
            tags=tags,
            completed=completed,
            canceled=canceled
        )
        url_scheme.execute_url(url)
        return f"Updated project with ID: {id}"
  • Supporting function that constructs the specific 'update-project' URL used by the handler.
    def update_project(id: str, title: Optional[str] = None, notes: Optional[str] = None,
                       when: Optional[str] = None, deadline: Optional[str] = None,
                       tags: Optional[list[str]] = None, completed: Optional[bool] = None,
                       canceled: Optional[bool] = None) -> str:
        """Construct URL to update an existing project."""
        params = {
            'id': id,
            'title': title,
            'notes': notes,
            'when': when,
            'deadline': deadline,
            'tags': tags,
            'completed': completed,
            'canceled': canceled
        }
        return construct_url('update-project', {k: v for k, v in params.items() if v is not None})

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/hald/things-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server