update_survey_summary_block
Update survey summary blocks in Notion by providing page IDs and content to maintain current research data for review and analysis.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| page_id | Yes | ||
| body | Yes |
Implementation Reference
- server.py:128-140 (handler)The main handler function for the "update_survey_summary_block" tool. It finds or creates the first code block captioned 'AI Generated' in the Notion page and updates its markdown content with the provided body.@mcp.tool() def update_survey_summary_block(page_id: str, body: str): code_block = get_first_code_block(page_id) notion.blocks.update(code_block["id"], code={ "rich_text": [{ "type": "text", "text": { "content": body, } }], "language": "markdown" }) return f"Survey page body of {page_id} updated"
- server.py:31-63 (helper)Supporting helper function that retrieves the first 'AI Generated' code block from a Notion page's children or creates and appends an empty one if none exists. Called by the tool handler.def get_first_code_block(block_id: str): children = notion.blocks.children.list(block_id) for child in children["results"]: if child["type"] == "code": captions = child["code"]["caption"] for caption in captions: if caption["plain_text"] == "AI Generated": return child empty_code_block = { "object": "block", "type": "code", "code": { "caption": [ { "type": "text", "text": { "content": "AI Generated", }, } ], "rich_text": [{ "type": "text", "text": { "content": "", } }], "language": "markdown" } } ret = notion.blocks.children.append(block_id, children=[empty_code_block]) return ret["results"][0]