diff --git a/nextcloud_mcp_server/models/notes.py b/nextcloud_mcp_server/models/notes.py index 975aee7..6a60025 100644 --- a/nextcloud_mcp_server/models/notes.py +++ b/nextcloud_mcp_server/models/notes.py @@ -48,13 +48,16 @@ class NotesSettings(BaseModel): class CreateNoteResponse(IdResponse): """Response model for note creation.""" - note: Note = Field(description="The created note") + title: str = Field(description="The created note title") + category: str = Field(description="The created note category") class UpdateNoteResponse(BaseResponse): """Response model for note updates.""" - note: Note = Field(description="The updated note") + id: int = Field(description="The updated note ID") + title: str = Field(description="The updated note title") + category: str = Field(description="The updated note category") class DeleteNoteResponse(StatusResponse): @@ -66,7 +69,9 @@ class DeleteNoteResponse(StatusResponse): class AppendContentResponse(BaseResponse): """Response model for appending content to a note.""" - note: Note = Field(description="The updated note after appending content") + id: int = Field(description="The updated note ID") + title: str = Field(description="The updated note title") + category: str = Field(description="The updated note category") class SearchNotesResponse(BaseResponse): diff --git a/nextcloud_mcp_server/server/notes.py b/nextcloud_mcp_server/server/notes.py index 3a4beb1..2461e7b 100644 --- a/nextcloud_mcp_server/server/notes.py +++ b/nextcloud_mcp_server/server/notes.py @@ -90,7 +90,9 @@ def configure_notes_tools(mcp: FastMCP): category=category, ) note = Note(**note_data) - return CreateNoteResponse(id=note.id, note=note) + return CreateNoteResponse( + id=note.id, title=note.title, category=note.category + ) except HTTPStatusError as e: if e.response.status_code == 403: return ErrorResponse( @@ -128,7 +130,9 @@ def configure_notes_tools(mcp: FastMCP): category=category, ) note = Note(**note_data) - return UpdateNoteResponse(note=note) + return UpdateNoteResponse( + id=note.id, title=note.title, category=note.category + ) except HTTPStatusError as e: if e.response.status_code == 404: return ErrorResponse(error=f"Note {note_id} not found") @@ -151,7 +155,7 @@ def configure_notes_tools(mcp: FastMCP): async def nc_notes_append_content( note_id: int, content: str, ctx: Context ) -> AppendContentResponse | ErrorResponse: - """Append content to an existing note with a clear separator""" + """Append content to an existing note with a clear separator. The tool automatically adds separators between existing and new content - do not include separators in your content.""" logger.info("Appending content to note %s", note_id) client: NextcloudClient = ctx.request_context.lifespan_context.client try: @@ -159,7 +163,9 @@ def configure_notes_tools(mcp: FastMCP): note_id=note_id, content=content ) note = Note(**note_data) - return AppendContentResponse(note=note) + return AppendContentResponse( + id=note.id, title=note.title, category=note.category + ) except HTTPStatusError as e: if e.response.status_code == 404: return ErrorResponse(error=f"Note {note_id} not found")