Compare commits

..

3 Commits

Author SHA1 Message Date
github-actions[bot] daeb95f3c3 bump: version 0.8.1 → 0.8.2 2025-08-31 10:36:56 +00:00
Chris Coutinho 36d44d1781 Merge pull request #139 from cbcoutinho/feature/notes-no-return-content
fix(notes): Remove note contents from responses to reduce token usage
2025-08-31 12:36:30 +02:00
Chris Coutinho 949fb7124b fix(notes): Remove note contents from responses to reduce token usage 2025-08-31 11:55:15 +02:00
5 changed files with 26 additions and 9 deletions
+6
View File
@@ -1,3 +1,9 @@
## v0.8.2 (2025-08-31)
### Fix
- **notes**: Remove note contents from responses to reduce token usage
## v0.8.1 (2025-08-30)
### Fix
+8 -3
View File
@@ -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):
+10 -4
View File
@@ -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")
+1 -1
View File
@@ -1,6 +1,6 @@
[project]
name = "nextcloud-mcp-server"
version = "0.8.1"
version = "0.8.2"
description = ""
authors = [
{name = "Chris Coutinho",email = "chris@coutinho.io"}
Generated
+1 -1
View File
@@ -505,7 +505,7 @@ wheels = [
[[package]]
name = "nextcloud-mcp-server"
version = "0.8.1"
version = "0.8.2"
source = { editable = "." }
dependencies = [
{ name = "httpx" },