Skip to content

note_create MCP tool requires 3 round-trips for agent use: create empty template

Goal

(promoted from note)

Context

(see source note)

Prompt

Fix the issue described in /storage2/arash/projects/projio/docs/log/issue/issue-arash-20260409-034440-983440.md. Read it first, then implement the proposed fix.

Acceptance Criteria

  • [ ]

Result

Completed in 87.0s (1 steps, model: sonnet)

Session: 6719b9a6-03ac-44bc-8123-56d03a6bf246 Result note: /storage2/arash/worklog/workflow/captures/20260409-034706-2b9567/note.md

Output

No notio-specific tests in projio's own test suite. The fix is complete.

## Summary

Updated `note_create` in two places:

1. **`src/projio/mcp/notio.py`** — The projio MCP proxy tool
2. **`packages/notio/src/notio/mcp/server.py`** — The notio standalone MCP server

Both now accept:
- `body: str` — replaces the template body entirely
- `tags: list[str]` — overrides default tags
- `series: str` — sets the series field
- `question: list[str]` — sets hypothesis/question IDs
- `milestone: str` — sets the milestone field
- `confidence: str` — sets confidence level
- `extra_fields: str` — JSON string for any other frontmatter fields

The underlying `create_note()` in `notio/core.py` already supported `body` and `extra_frontmatter` — this was purely a tool-layer exposure gap.

## Next Steps

1. Close the issue by marking it resolved: `note_update("docs/log/issue/issue-arash-20260409-034440-983440.md", '{"status": "closed"}')` and run `datalad_save("note_create: add body + frontmatter params to MCP tool")`.
2. Write a test in `packages/notio/tests/test_notio.py` that exercises `create_note` with `body` and `extra_frontmatter` to lock in the single-call behavior.
3. Update the worklog MCP server instructions and projio CLAUDE.md to document the new `body`/frontmatter params in the `note_create` tool row.