MCP server for Fleck note-taking application, providing tools for reading/writing notes, managing tasks, and tracking agent activity
Fleck MCP Server demonstrates solid definition quality with complete JSON Schema for all 13 tools, consistent naming patterns (verb_noun), and comprehensive parameter descriptions. All tools have descriptions (10-200 chars, within baseline). Parameters include type definitions, descriptions, and constraints (e.g., UUID format, positive integers, 65,536-byte limits). However, output schemas are not documented in the source code provided, and error handling guidance is absent. Write operations include idempotency tokens (operation_id, expected_revision) which is excellent for safety. Tool composition is clean, each tool has a single responsibility. Missing: output schema documentation, error recovery guidance, and per-tool risk annotations in the schema itself.
Add a checklist task whose text is at most 65,536 UTF-8 bytes. Requires expected revision and operation ID.
Append up to 65,536 UTF-8 bytes to a shared note. Requires expected revision and operation ID.
Delete an inclusive one-based line range. Requires expected revision and operation ID.
Insert up to 65,536 UTF-8 bytes before a one-based line. Requires expected revision and operation ID.
List visible integration activity.
List notes explicitly shared with this integration.
List checklist tasks in a shared note.
Output schemas not documented. Tool descriptions state what is returned (e.g., 'List notes', 'Read a note') but do not specify the structure of the response object, field names, or types. LLMs cannot plan downstream tool calls or extract required data without knowing response structure.
Error handling and recovery guidance absent. No tool description explains what errors can occur, how to recover, or what the LLM should do if a call fails (e.g., 'If note_id is invalid, call list_shared_notes() first'). Agents will have no guidance on retry vs. user-fixable vs. fatal errors.
Write operation descriptions lack explicit state-modification language. Descriptions say 'Append', 'Insert', 'Replace', 'Delete' but do not explicitly state 'This modifies the note' or 'This is irreversible'. Agents need to know which calls have side effects and which are safe to retry.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 62 | <=2025-11-25 | v2 |
Read a shared note, optionally using one-based line windows.
Remove a checklist task. Requires expected revision and operation ID.
Rename a checklist task with text of at most 65,536 UTF-8 bytes. Requires expected revision and operation ID.
Replace an inclusive one-based line range with up to 65,536 UTF-8 bytes. Requires expected revision and operation ID.
Mark a checklist task completed or open. Requires expected revision and operation ID.
Undo an eligible integration change. Requires expected revision and operation ID.
Tool annotations (readOnlyHint, destructiveHint, idempotentHint) not visible in schema. Source shows 'readOnly: true' flag in code but not in the JSON Schema output. Destructive tools (delete_lines, remove_task) should carry destructiveHint annotation for agent safety.
Pagination not supported for list operations. list_shared_notes, list_tasks, and list_agent_activity have no limit, offset, or cursor parameters. If a user has hundreds of notes or tasks, the response could exhaust context window. Baseline pattern requires pagination for list tools.