ainote
Server Details
Agent-native notes, tasks, dev-docs, vaults, sync & handoffs. MCP + OpenAPI dual surface.
Glama couldn't complete the latest health check. If this server requires authentication, missing or expired test credentials may be the cause. A test profile lets Glama authenticate for health checks and discover tools; it is separate from your personal connections.
If you are the author, claim ownership, then add or update a test profile under Admin → Test Profile.
- Status
- Unhealthy
- Uptime
- 72.4% over 60 days
- OAuth
- Not connectable
- Last Tested
- Transport
- Streamable HTTP
- URL
TDQS
Scored across 35 tools
The set is organized by domain prefixes and most tools are clearly separated, but there are confusable clusters: sync_read and vault_sync both list/pull from the primary vault, and list_papers / memory_read / dev_docs_read all serve 'find my note' use cases. Descriptions mitigate the overlap, but an agent could still pick the wrong read surface.
The dominant pattern is snake_case with a domain prefix, but verb placement is inconsistent: delete_task, list_papers, and get_setup_guide use verb_noun while task_write, dev_docs_read, and vault_read use noun_verb. The dot-separated env_sync.secret_* tools and exceptions like auth_key and sync_audit_layer5 further break uniformity, though the names remain readable.
35 top-level tools is too many for typical agent navigation, even if several are consolidated action wrappers. The high count is compounded by overlapping surfaces like sync_read versus vault_sync and single-purpose tools like get_setup_guide or sync_audit_layer5 that could be grouped.
Core CRUD exists for tasks, dev docs, vault files, and graph entities, but notable gaps remain: assumptions can be written but never read or deleted, memory has only a read tool, and papers are list-only. Project deletion is replaced by archive, but the missing assumption lifecycle and memory write path force agents to work around them.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
2 tool updates
- Changed
sync_read4 fields changed- added
Input schema / properties / cursorAdded value: +{ + "description": "[list] Pass `next_cursor` from the previous response to fetch the next page. [pull] Pass `next_cursor` from the previous response to fetch the next page.", + "type": "string" +} - changed
Input schema / properties / limit / descriptionPrevious value: -"[conflicts] Optional: max rows to return (default 50, max 200)."New value: +"[list] Max entries per page. Default 200, max 1000. [pull] Max files per page. Default 25, max 100. [conflicts] Optional: max rows to return (default 50, max 200)." - changed
Input schema / properties / path / descriptionPrevious value: -"[list] Directory to list (e.g., 'global'). Omit to list all files. [pull] Optional directory filter (e.g., 'global' to pull only global files) [diff] Relative vault path. [merge] Relative vault path (e.g., 'global/MEMORY.md'). [conflicts] Optional: filter to a specific path."New value: +"[list] Directory to list (e.g., 'global'). Omit to list from the first page. [pull] Optional directory filter (e.g., 'global' to pull only global files) [diff] Relative vault path. [merge] Relative vault path (e.g., 'global/MEMORY.md'). [conflicts] Optional: filter to a specific path." - changed
Input schema / properties / since / descriptionPrevious value: -"[pull] ISO 8601 timestamp. Only return files updated after this time. Omit to get all files."New value: +"[pull] ISO 8601 timestamp. Only return files updated after this time. Omit to start from the first page."
- Changed
vault_sync2 fields changed- added
Input schema / properties / cursorAdded value: +{ + "description": "Pass `next_cursor` from the previous response to fetch the next page.", + "type": "string" +} - added
Input schema / properties / limitAdded value: +{ + "description": "Max entries per page. list: default 200, max 1000. pull: default 25, max 100.", + "type": "integer" +}
35 tool updates
- Changed
assumption_write1 field changed- added
Input schema / $schemaAdded value: +"https://json-schema.org/draft/2020-12/schema"
- Changed
auth_key1 field changed- added
Input schema / $schemaAdded value: +"https://json-schema.org/draft/2020-12/schema"
- Changed
delete_dev_doc1 field changed- added
Input schema / $schemaAdded value: +"https://json-schema.org/draft/2020-12/schema"
- Changed
delete_task1 field changed- added
Input schema / $schemaAdded value: +"https://json-schema.org/draft/2020-12/schema"
- Changed
dev_doc_write1 field changed- added
Input schema / $schemaAdded value: +"https://json-schema.org/draft/2020-12/schema"
- Changed
dev_docs_read1 field changed- added
Input schema / $schemaAdded value: +"https://json-schema.org/draft/2020-12/schema"
- Changed
env_sync_read1 field changed- added
Input schema / $schemaAdded value: +"https://json-schema.org/draft/2020-12/schema"
- Changed
env_sync_txn_push1 field changed- added
Input schema / $schemaAdded value: +"https://json-schema.org/draft/2020-12/schema"
- Changed
env_sync_txn_rollback1 field changed- added
Input schema / $schemaAdded value: +"https://json-schema.org/draft/2020-12/schema"
- Changed
env_sync_write1 field changed- added
Input schema / $schemaAdded value: +"https://json-schema.org/draft/2020-12/schema"
- Changed
env_sync.secret_pull1 field changed- added
Input schema / $schemaAdded value: +"https://json-schema.org/draft/2020-12/schema"
- Changed
env_sync.secret_push1 field changed- added
Input schema / $schemaAdded value: +"https://json-schema.org/draft/2020-12/schema"
- Changed
env_sync.secret_rotate1 field changed- added
Input schema / $schemaAdded value: +"https://json-schema.org/draft/2020-12/schema"
- Changed
get_setup_guide1 field changed- added
Input schema / $schemaAdded value: +"https://json-schema.org/draft/2020-12/schema"
- Changed
graph_read1 field changed- added
Input schema / $schemaAdded value: +"https://json-schema.org/draft/2020-12/schema"
- Changed
graph_soft_delete1 field changed- added
Input schema / $schemaAdded value: +"https://json-schema.org/draft/2020-12/schema"
- Changed
graph_write1 field changed- added
Input schema / $schemaAdded value: +"https://json-schema.org/draft/2020-12/schema"
- Changed
handoff_read1 field changed- added
Input schema / $schemaAdded value: +"https://json-schema.org/draft/2020-12/schema"
- Changed
handoff_save1 field changed- added
Input schema / $schemaAdded value: +"https://json-schema.org/draft/2020-12/schema"
- Changed
judgment_list1 field changed- added
Input schema / $schemaAdded value: +"https://json-schema.org/draft/2020-12/schema"
- Changed
judgment_submit1 field changed- added
Input schema / $schemaAdded value: +"https://json-schema.org/draft/2020-12/schema"
- Changed
list_papers1 field changed- added
Input schema / $schemaAdded value: +"https://json-schema.org/draft/2020-12/schema"
- Changed
memory_read1 field changed- added
Input schema / $schemaAdded value: +"https://json-schema.org/draft/2020-12/schema"
- Changed
project_read1 field changed- added
Input schema / $schemaAdded value: +"https://json-schema.org/draft/2020-12/schema"
- Changed
project_write1 field changed- added
Input schema / $schemaAdded value: +"https://json-schema.org/draft/2020-12/schema"
- Changed
sync_audit_layer51 field changed- added
Input schema / $schemaAdded value: +"https://json-schema.org/draft/2020-12/schema"
- Changed
sync_delete1 field changed- added
Input schema / $schemaAdded value: +"https://json-schema.org/draft/2020-12/schema"
- Changed
sync_push1 field changed- added
Input schema / $schemaAdded value: +"https://json-schema.org/draft/2020-12/schema"
- Changed
sync_push_batch1 field changed- added
Input schema / $schemaAdded value: +"https://json-schema.org/draft/2020-12/schema"
- Changed
sync_read1 field changed- added
Input schema / $schemaAdded value: +"https://json-schema.org/draft/2020-12/schema"
- Changed
task_write1 field changed- added
Input schema / $schemaAdded value: +"https://json-schema.org/draft/2020-12/schema"
- Changed
tasks_read1 field changed- added
Input schema / $schemaAdded value: +"https://json-schema.org/draft/2020-12/schema"
- Changed
vault_create1 field changed- added
Input schema / $schemaAdded value: +"https://json-schema.org/draft/2020-12/schema"
- Changed
vault_read1 field changed- added
Input schema / $schemaAdded value: +"https://json-schema.org/draft/2020-12/schema"
- Changed
vault_sync1 field changed- added
Input schema / $schemaAdded value: +"https://json-schema.org/draft/2020-12/schema"
6 tool updates
- Changed
env_sync_read2 fields changed- changed
Input schema / properties / device_id / descriptionPrevious value: -"[drift]"New value: +"[devices] Optional calling device id for audit attribution. The X-Ainote-Device-Id header is the canonical source; this argument is the backwards-compatible fallback for clients that predate the header. If both are sent and disagree, the request is rejected (DEVICE_MISMATCH). [drift] [status] Optional calling device id for audit attribution. The X-Ainote-Device-Id header is the canonical source; this argument is the backwards-compatible fallback for clients that predate the header. If both are sent and disagree, the request is rejected (DEVICE_MISMATCH). [txn_pull] Optional calling device id for audit attribution. The X-Ainote-Device-Id header is the canonical source; this argument is the backwards-compatible fallback for clients that predate the header. If both are sent and disagree, the request is rejected (DEVICE_MISMATCH)." - removed
Input schema / properties / device_id / formatRemoved value: -"uuid"
- Changed
env_sync_txn_push1 field changed- added
Input schema / properties / device_idAdded value: +{ + "description": "Optional calling device id for audit attribution. The X-Ainote-Device-Id header is the canonical source; this argument is the backwards-compatible fallback for clients that predate the header. If both are sent and disagree, the request is rejected (DEVICE_MISMATCH).", + "type": "string" +}
- Changed
env_sync_txn_rollback1 field changed- added
Input schema / properties / device_idAdded value: +{ + "description": "Optional calling device id for audit attribution. The X-Ainote-Device-Id header is the canonical source; this argument is the backwards-compatible fallback for clients that predate the header. If both are sent and disagree, the request is rejected (DEVICE_MISMATCH).", + "type": "string" +}
- Changed
env_sync_write2 fields changed- changed
Input schema / properties / device_id / descriptionPrevious value: -"[request_share] The existing device performing the re-encryption (must own access to all secret_node_ids). [heartbeat]"New value: +"[enroll] Optional calling device id for audit attribution. The X-Ainote-Device-Id header is the canonical source; this argument is the backwards-compatible fallback for clients that predate the header. If both are sent and disagree, the request is rejected (DEVICE_MISMATCH). [request_share] The existing device performing the re-encryption (must own access to all secret_node_ids). [heartbeat]" - removed
Input schema / properties / device_id / formatRemoved value: -"uuid"
- Changed
env_sync.secret_pull1 field changed- added
Input schema / properties / device_idAdded value: +{ + "description": "Optional calling device id for audit attribution. The X-Ainote-Device-Id header is the canonical source; this argument is the backwards-compatible fallback for clients that predate the header. If both are sent and disagree, the request is rejected (DEVICE_MISMATCH).", + "type": "string" +}
- Changed
graph_read1 field changed- added
Input schema / properties / device_idAdded value: +{ + "description": "[get] Optional calling device id for audit attribution. The X-Ainote-Device-Id header is the canonical source; this argument is the backwards-compatible fallback for clients that predate the header. If both are sent and disagree, the request is rejected (DEVICE_MISMATCH). [list] Optional calling device id for audit attribution. The X-Ainote-Device-Id header is the canonical source; this argument is the backwards-compatible fallback for clients that predate the header. If both are sent and disagree, the request is rejected (DEVICE_MISMATCH).", + "type": "string" +}
3 tool updates
- Changed
handoff_save1 field changed- added
Input schema / properties / device_idAdded value: +{ + "description": "Optional: client device identifier (e.g., from ~/.claude/ainote-sync/device.id). Stored on FileIndex so future conflict responses can report which device last wrote the handoff. Same field sync_push uses.", + "type": "string" +}
- Changed
vault_create2 fields changed- changed
Input schema / properties / name / descriptionPrevious value: -"Vault name. Slug is derived from this value and used as the GitHub repo name."New value: +"Vault display name. The GitHub repo name (slug) is derived from it unless `slug` is given." - added
Input schema / properties / slugAdded value: +{ + "description": "Optional explicit repo slug (ASCII lowercase-hyphen). Required when `name` has no ASCII letters or digits — e.g. a Korean-only name — because GitHub repo names are ASCII-only.", + "type": "string" +}
- Changed
vault_read1 field changed- added
Input schema / properties / include_commit_shaAdded value: +{ + "description": "[list] Include each vault's latest_commit_sha (default false). Costs one GitHub API round-trip per vault, so only ask for it when you actually need the remote HEAD.", + "type": "boolean" +}
5 tool updates
- Added
assumption_write - Added
judgment_list - Added
judgment_submit - Added
project_read - Added
project_write
1 tool update
- Changed
handoff_save1 field changed- changed
Input schema / requiredPrevious value: -[ - "project", - "topic", - "content" -]New value: +[ + "project", + "topic" +]
1 tool update
- Changed
memory_read1 field changed- added
Input schema / properties / hopAdded value: +{ + "description": "[search] Expand results by following [[wikilinks]] N hops from keyword hits (vault only). Scores decay 0.5 per hop. Default 0 (off).", + "maximum": 2, + "minimum": 0, + "type": "integer" +}
48 tool updates
- Added
auth_key - Removed
create_dev_doc - Removed
create_task - Added
dev_doc_write - Added
dev_docs_read - Added
env_sync_read - Removed
env_sync_txn_pull - Added
env_sync_write - Removed
env_sync.device_enroll - Removed
env_sync.device_list - Removed
env_sync.device_request_secret_share - Removed
env_sync.drift_status - Removed
env_sync.heartbeat_ping - Removed
env_sync.sync_status - Removed
get_dev_doc - Removed
graph_add_entity - Removed
graph_get_node - Removed
graph_list_nodes - Added
graph_read - Removed
graph_update_entity - Added
graph_write - Removed
handoff_get - Removed
handoff_list - Added
handoff_read - Removed
list_categories - Removed
list_dev_categories - Removed
list_dev_docs - Removed
list_tasks - Removed
login_and_get_key - Removed
memory_get - Added
memory_read - Removed
memory_search - Removed
pull_dev_docs - Removed
signup_and_get_key - Removed
sync_diff - Removed
sync_list - Removed
sync_merge - Removed
sync_pending_conflicts - Removed
sync_pull - Added
sync_read - Added
task_write - Added
tasks_read - Removed
update_dev_doc - Removed
update_task - Removed
vault_clone - Removed
vault_connect_status - Removed
vault_list - Added
vault_read
1 tool update
- Added
sync_push_batch
1 tool update
- Changed
sync_push1 field changed- added
Input schema / properties / supports_supersededAdded value: +{ + "description": "Optional capability opt-in. When true AND resolves_conflict_id points at an already-resolved conflict whose (path, remote_sha) matches this push, the server returns a NORMAL 200 with resource_data {status:'superseded', reason:'resolved_elsewhere', applied:false, git_sha:<current remote>} instead of a -32009 error, so the client pulls to converge. Omit (default) to keep the legacy -32009 contract.", + "type": "boolean" +}
17 tool updates
- Added
env_sync_txn_pull - Added
env_sync_txn_push - Added
env_sync_txn_rollback - Added
env_sync.device_enroll - Added
env_sync.device_list - Added
env_sync.device_request_secret_share - Added
env_sync.drift_status - Added
env_sync.heartbeat_ping - Added
env_sync.secret_pull - Added
env_sync.secret_push - Added
env_sync.secret_rotate - Added
env_sync.sync_status - Added
graph_add_entity - Added
graph_get_node - Added
graph_list_nodes - Added
graph_soft_delete - Added
graph_update_entity
34 tool updates
- First observed
create_dev_doc - First observed
create_task - First observed
delete_dev_doc - First observed
delete_task - First observed
get_dev_doc - First observed
get_setup_guide - First observed
handoff_get - First observed
handoff_list - First observed
handoff_save - First observed
list_categories - First observed
list_dev_categories - First observed
list_dev_docs - First observed
list_papers - First observed
list_tasks - First observed
login_and_get_key - First observed
memory_get - First observed
memory_search - First observed
pull_dev_docs - First observed
signup_and_get_key - First observed
sync_audit_layer5 - First observed
sync_delete - First observed
sync_diff - First observed
sync_list - First observed
sync_merge - First observed
sync_pending_conflicts - First observed
sync_pull - First observed
sync_push - First observed
update_dev_doc - First observed
update_task - First observed
vault_clone - First observed
vault_connect_status - First observed
vault_create - First observed
vault_list - First observed
vault_sync
Related MCP Connectors
System-of-record notebook for AI coding agents: pages, datastores, tasks, skills over MCP.
Private-by-default, local-first memory/context/task orchestrator for MCP apps and agents.
Persistent memory, knowledge graph, task management and more for AI agents via MCP.
MCP-native notes and memory for ChatGPT, Claude, and other AI tools.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceMCP server for AI agents to read, write, and organize notes in a local-first, human-in-the-loop note-taking app.5 npm2MIT
- AlicenseNot gradedqualityAmaintenanceLocal-first, file-based memory layer for AI agents — one shared Markdown vault across Claude, Codex, Gemini, Cursor and any MCP client. Provides read/write memory tools with an audit trail, per-agent trust levels, and Git sync; no cloud and no lock-in.2MIT
- FlicenseAqualityAmaintenanceMCP-native knowledge base for AI agents — vault-scoped docs, tables, and files, git-versioned, with hybrid search (BM25 + pgvector dense + reranker) and an event stream so external consolidators / gardeners stay decoupled.50162-
- AlicenseNot gradedqualityAmaintenanceLocal Markdown/HTML note-taking app with built-in MCP server, agentic workflow runtime engine, wikilinks, and state-machine approval gates.37 npm1MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.