Skip to main content
Glama
lzientek

notlai-mcp

by lzientek

Notlai MCP

Access your Notlai notes directly from any MCP-compatible AI assistant. Create, search, organize, and read your notes with Markdown support — all through natural conversation.

Quick Start

1. Create an account

Go to www.notlai.com/signup and sign up with your email address. You'll receive a verification code by email — enter it to activate your account.

2. Install the MCP server

Choose the method matching your AI assistant:


Claude Desktop (Extension)

Download the .mcpb file from the latest release, then double-click it. Claude Desktop will install the extension automatically.


Claude Desktop (Manual)

Add to your config file (~/Library/Application Support/Claude/claude_desktop_config.json on macOS, %APPDATA%\Claude\claude_desktop_config.json on Windows):

{
  "mcpServers": {
    "notlai": {
      "command": "npx",
      "args": ["-y", "notlai-mcp"]
    }
  }
}

Restart Claude Desktop.


Kiro

Add to .kiro/settings/mcp.json in your workspace (or ~/.kiro/settings/mcp.json for global access):

{
  "mcpServers": {
    "notlai": {
      "command": "npx",
      "args": ["-y", "notlai-mcp"],
      "timeout": 30000,
      "type": "stdio",
      "autoApprove": [
        "notlai_status",
        "notlai_list_notes",
        "notlai_get_note",
        "notlai_list_tags"
      ]
    }
  }
}

Note: The timeout and autoApprove fields are recommended for Kiro. Without timeout, the first launch (when npx downloads the package) may be considered unresponsive. autoApprove allows read-only tools to run without manual confirmation.


Cursor

Add to your MCP settings (Settings > MCP Servers > Add):

{
  "notlai": {
    "command": "npx",
    "args": ["-y", "notlai-mcp"]
  }
}

Windsurf

Add to ~/.codeium/windsurf/mcp_config.json:

{
  "mcpServers": {
    "notlai": {
      "command": "npx",
      "args": ["-y", "notlai-mcp"]
    }
  }
}

Any MCP-compatible client

The server runs as a stdio process. Use the command:

npx -y notlai-mcp

Configure your client to launch this command and communicate via stdin/stdout using the Model Context Protocol.


3. Log in

Once the server is running, ask your assistant:

"Log me in to Notlai via web"

It will start the web login flow and give you a URL. Open it in your browser, enter your credentials, and your session is stored locally.

Alternative: Log in directly in the chat:

"Log me in to Notlai with email user@example.com"

Related MCP server: MCP Notes Server

Available Tools

Tool

Description

notlai_list_notes

List notes with filters (tags, search, dates, folders, pagination)

notlai_get_note

Get the full content of a note

notlai_create_note

Create a note (supports Markdown content)

notlai_update_note

Update a note's title, content, tags, or folder

notlai_delete_note

Permanently delete a note

notlai_bulk_delete_notes

Permanently delete multiple notes at once

notlai_list_folders

List all your folders

notlai_create_folder

Create a new folder

notlai_delete_folder

Delete a folder (notes move back to root)

notlai_move_note

Move a note into a folder or back to root

notlai_list_tags

List all your tags

notlai_create_tag

Create a new tag

notlai_delete_tag

Delete a tag (removes it from all notes)

notlai_web_login

Start web-based login (recommended)

notlai_login

Log in with email/password directly

notlai_register

Create a new account

notlai_status

Check authentication status

notlai_logout

Log out and delete local credentials

Features

  • Markdown content: Notes support full Markdown (headings, lists, code blocks, links, tables, etc.)

  • Folders: Organize notes into folders — move, reclassify, or keep them at root

  • Tags: Organize notes with tags — the AI will automatically suggest relevant tags

  • Bulk operations: Delete multiple notes at once to clean up quickly

  • Search: Full-text search across titles and content

  • Date filters: Filter notes by time period

  • Web view: Browse your notes at www.notlai.com (read-only)

How It Works

  • Credentials are stored locally at ~/.mcp-notes/credentials.json (owner read/write only)

  • Tokens refresh automatically when they expire

  • The web login flow uses a temporary local server on localhost:9876 that shuts down after receiving tokens

  • No data is sent to third parties — authentication goes directly to the Notlai backend (AWS Cognito)

Troubleshooting

Kiro: tools not appearing after setup

If the Notlai tools don't appear in your Kiro session:

  1. Make sure your config includes "timeout": 30000 — without it, the first launch (npx downloading the package) may timeout before the server responds.

  2. Restart your Kiro session after editing mcp.json. MCP servers are loaded at session start.

  3. Check that npx -y notlai-mcp works in your terminal (it should hang waiting for stdin — that's normal).

"Not authenticated" error

Ask your assistant to run notlai_web_login or notlai_login to sign in.

Web login page says "MCP server not reachable"

Make sure your AI client is running and you've asked it to start the web login before opening the link.

Port 9876 is already in use

Ask: "Log me in via web on port 9877" — any available port works.

Requirements

  • Node.js 20+

License

MIT

Available Tools

21 tools
notlai_bulk_delete_notesA

Permanently delete multiple notes at once. This cannot be undone. Use notlai_list_notes to find note IDs.

ParametersJSON Schema
NameRequiredDescriptionDefault
noteIdsYesArray of note IDs to delete (ULID format, max 50 at a time)

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description carries full burden. Clearly discloses permanent deletion and irreversibility. Lacks details on authorization or error handling, but the destructive nature is well communicated.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, highly efficient. First sentence states the action, second sentence adds warning and usage hint. No unnecessary words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no annotations and no output schema, the description adequately covers the tool's purpose and key warnings. Could mention what happens on success (e.g., deletion confirmation) but is still sufficient for a simple bulk-deletion tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema has 100% coverage and already describes noteIds as an array of ULID strings with max 50 items. Description adds practical guidance to use notlai_list_notes to find IDs, which is helpful for correct usage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly states 'permanently delete multiple notes at once,' specifying the verb (delete), resource (notes), and scope (multiple/bulk). Distinguishes from the sibling tool notlai_delete_note which deletes a single note.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides a strong warning that the action cannot be undone and explicitly suggests using notlai_list_notes to find note IDs. Does not explicitly state when not to use, but the warning implies caution.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

notlai_create_folderA

Create a new folder to organize your notes. After creating a folder, use notlai_move_note to move notes into it.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesFolder name (e.g., "Work", "Personal", "Projects")

TDQS

A3.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full burden. It only states the basic action and lacks details on constraints (e.g., uniqueness, permissions, error handling) or side effects.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two concise sentences, front-loaded with the primary purpose, no redundant information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple single-parameter create tool, the description covers the basic usage and follow-up step. However, it omits details on return values, error conditions, and prerequisites (e.g., authentication).

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and the schema already well-documents the 'name' parameter with length constraints and example values. The description adds no additional parameter meaning.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('create') and resource ('folder') with a specific purpose ('to organize your notes'). It distinguishes from sibling tools like notlai_delete_folder and notlai_list_folders.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides a usage hint: after creating, use notlai_move_note to move notes. It implies context but lacks explicit when-not-to-use or alternative tool comparisons.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

notlai_create_noteA

Create a new note. Content supports Markdown formatting (headings, lists, code blocks, links, bold, italic, etc.). Before creating, consider using notlai_list_tags to find relevant tags to assign.

ParametersJSON Schema
NameRequiredDescriptionDefault
tagsNoTag names to assign (must exist — use notlai_list_tags to check, or notlai_create_tag to create new ones)
titleYesNote title
contentYesNote content in Markdown format. Supports headings (#), bold (**), italic (*), lists (- or 1.), code blocks (```), links ([text](url)), blockquotes (>), and tables.
isFavoriteNoMark as favorite (default: false)

TDQS

A3.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of disclosing behavioral traits. It only mentions Markdown support, which is already detailed in the input schema. It lacks information about authentication, idempotency, side effects (e.g., whether a note ID is returned), or rate limits.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences long, with no redundant information. The first sentence clearly states the purpose, and the second provides a useful usage hint. Every sentence is justified.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has 4 parameters, no output schema, and no annotations, the description is somewhat incomplete. It does not explain the return value (e.g., note ID), authentication prerequisites, or error handling. However, it does cover the main purpose and provides a workflow hint.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 100% description coverage for all 4 parameters, so the baseline is 3. The description adds value only for the 'tags' parameter by suggesting a workflow (use notlai_list_tags), but does not enhance understanding of other parameters like 'isFavorite' or 'content' beyond what is already in the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Create a new note', specifying the verb and resource. It also mentions Markdown formatting support and suggests using notlai_list_tags for tag assignment, which distinguishes it from sibling tools like notlai_update_note or notlai_delete_note.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives explicit guidance to 'consider using notlai_list_tags to find relevant tags to assign' before creating a note. However, it does not mention when not to use this tool or provide direct comparisons to alternatives like notlai_update_note.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

notlai_create_tagA

Create a new tag for categorizing notes. Check existing tags first with notlai_list_tags to avoid duplicates. Tag names are stored in lowercase.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesTag name (e.g., "work", "ideas", "project-x"). Will be stored in lowercase.

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must disclose behaviors. It mentions tag names are stored in lowercase, which is good. However, it does not describe what happens if a duplicate is created (e.g., error or silent overwrite), nor does it mention any destructive actions (though creating is not destructive). More detail on error handling would improve transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two concise sentences. It front-loads the action and purpose, then provides a usage advisory. Every sentence carries meaningful information without redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple create tool with one parameter and no output schema, the description covers the purpose, parameter behavior, and a usage best practice. It does not specify success response or common errors, but for a straightforward operation, it is largely complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema covers the single parameter with examples and constraints (maxLength, minLength). The description adds the lowercase storage behavior but largely reiterates schema content. With 100% schema coverage, the description adds marginal value beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool creates a tag for categorizing notes. It distinguishes itself from sibling tools like notlai_list_tags and notlai_delete_tag by specifying creation action. The note categorization context provides a clear purpose.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly advises checking existing tags first with notlai_list_tags to avoid duplicates, providing a clear usage guideline. While it does not mention when not to use it, the advisory is sufficient for a simple create tool.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

notlai_delete_folderA

Delete a folder by its ID. Notes inside the folder are moved back to the root (they are not deleted). Use notlai_list_folders to see folder IDs.

ParametersJSON Schema
NameRequiredDescriptionDefault
folderIdYesThe folder ID to delete (ULID format, get from notlai_list_folders)

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description fully explains the key behavior: notes are moved to the root and not deleted. This prevents the agent from assuming notes are lost. It does not mention whether the folder must be empty, but that is implied by the move behavior. No contradictions with any annotations (none present).

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences: first defines the action, second explains the consequence and provides a reference tool. Perfectly concise with no redundant information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a single-parameter delete operation with no output schema, the description covers the essential: what happens to contents, how to obtain the ID, and the core action. It is complete for the tool's complexity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema provides 100% coverage with a description for folderId. The tool description additionally reinforces the source of the ID (from notlai_list_folders) and the ID format (ULID), adding value beyond the schema alone.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action (delete a folder by ID), explains the side effect (notes moved to root, not deleted), and distinguishes from siblings by mentioning folder-specific behavior. It also references a sibling tool (notlai_list_folders) for obtaining IDs.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description advises using notlai_list_folders to get folder IDs, which is helpful. However, it does not explicitly state when to avoid using this tool (e.g., if notes should be permanently deleted instead), nor does it mention prerequisites like permissions. Still, it provides clear context for its primary use.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

notlai_delete_noteA

Permanently delete a note by its ID. This cannot be undone.

ParametersJSON Schema
NameRequiredDescriptionDefault
noteIdYesThe note ID to delete (ULID format)

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Discloses permanent deletion and irreversibility, which is the key behavioral trait. No annotations are provided, so description carries burden; lacks details on permissions, side effects, or error conditions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences, no filler. Every word earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Adequately describes the operation and key constraint (irreversible). Missing return value or error handling details, but acceptable for a simple delete with no output schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with clear parameter description. Tool description adds no new parameter semantics beyond what schema already provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly states verb 'delete' and resource 'note', specifies permanence and deletion by ID. Distinguishes from siblings like `bulk_delete_notes` (bulk) and `move_note` (move).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Implies usage for single note deletion by ID and warns of irreversibility, but does not explicitly differentiate from `bulk_delete_notes` or provide when-not-to-use guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

notlai_delete_tagA

Delete a tag by its ID. This also removes the tag from all notes that use it. Use notlai_list_tags to see available tags and their IDs.

ParametersJSON Schema
NameRequiredDescriptionDefault
tagIdYesThe tag ID to delete (ULID format, get from notlai_list_tags)

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden and discloses the critical behavioral trait that deleting a tag removes it from all notes. This is a significant side effect beyond a simple deletion, and it is clearly stated. No mention of authorization or reversibility, but adequate for a simple tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise with two economically structured sentences. The first sentence states the purpose and side effect, and the second provides a usage hint. No extraneous content, front-loaded with critical information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple tool with one parameter and no output schema, the description covers the purpose, side effect, and how to obtain the input. It is fully complete for an agent to understand and invoke the tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema description coverage is 100% and already includes the ULID format and sourcing hint. The tool description repeats this information but does not add additional meaning beyond what the schema provides, justifying a baseline score of 3.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'delete' and the resource 'tag by ID', and explains the important side effect of removing the tag from all notes. It distinguishes itself from sibling tools like notlai_create_tag and notlai_list_tags.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly mentions 'Use notlai_list_tags to see available tags and their IDs', providing clear guidance on how to obtain the required parameter. It does not explicitly state when not to use the tool, but the context is clear for a deletion scenario.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

notlai_get_noteA

Get the full content of a specific note by its ID.

ParametersJSON Schema
NameRequiredDescriptionDefault
noteIdYesThe note ID (ULID format, from notlai_list_notes)

TDQS

A3.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full burden. It correctly indicates a read-only operation but does not disclose authentication needs, error behavior (e.g., missing note), rate limits, or what 'full content' includes. The behavioral disclosure is superficial.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence of 12 words with no redundancy. It efficiently communicates the tool's purpose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple get operation with one parameter and no output schema or annotations, the description is mostly complete. However, it does not specify the return format or what fields constitute 'full content', which could require supplementary documentation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and the schema's description for noteId already includes format and source (ULID, from notlai_list_notes). The tool description adds no additional meaning; thus baseline of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'Get' and the resource 'full content of a specific note by its ID'. It distinguishes from siblings like notlai_list_notes (which lists metadata) and notlai_update_note/notlai_delete_note by specifying it retrieves the full content of a single note.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage when full note content is needed but does not explicitly state when to use versus alternatives (e.g., notlai_list_notes for metadata) nor when not to use. It provides minimal guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

notlai_get_note_activityA

Get the activity history of a note: who modified what, when, and from which AI. Returns most recent events first.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMax events to return (default: 20)
noteIdYesThe note ID (ULID format)

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description carries full burden. It discloses that results are ordered most recent first, which is helpful. However, it does not mention whether the operation is read-only, required permissions, or any rate limits. Behavioral transparency is adequate but not thorough.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two concise sentences with essential information front-loaded. No unnecessary words or redundancy. Efficiently communicates purpose and key behavior.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given only 2 simple parameters and no output schema, the description provides enough context for selection: it covers what data is returned and ordering. However, it could mention if there are any time constraints or pagination details. Overall, highly useful for a straightforward activity tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, and schema descriptions for both parameters (noteId as ULID, limit with default) are clear. The description adds no additional parameter-level meaning beyond the schema baseline, so score is 3.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool retrieves activity history of a note, specifying the details it returns (who, what, when, which AI) and the order (most recent first). It distinguishes itself from sibling note tools by focusing on activity.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for viewing note activity but does not provide explicit guidance on when to use this tool versus alternatives (e.g., get_note for content, list_notes for overview). No exclusions or context about prerequisites.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

notlai_list_foldersA

List all your folders. Use folder IDs to filter notes by folder or to move notes into a folder.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations. Description states read-only list operation. No mention of pagination, ordering, or return format. Adequate but minimal for a simple list tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, no fluff. First sentence states core purpose; second adds relevant context. Efficient and front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Tool is simple; description adequately covers listing folders and hints at folder ID usage. Lacks details on return structure or pagination, but sufficient for basic use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

No parameters; schema coverage 100%. By baseline (0 params = 4), description adds no parameter info but that's acceptable as none needed.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clear verb+resource: 'List all your folders.' Distinct from sibling folder tools (create, delete). Additional context about using folder IDs for filtering or moving notes adds purpose clarity.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Implied usage: listing folders. No explicit when-to-use or when-not, nor comparison to alternatives like list_notes or list_tags. Basic guidance only.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

notlai_list_notesA

List your notes. Supports filtering by tags, date range, text search, and favorites. Returns the most recently updated notes first.

ParametersJSON Schema
NameRequiredDescriptionDefault
toNoEnd date filter (ISO format, e.g. "2025-12-31")
fromNoStart date filter (ISO format, e.g. "2025-01-01")
tagsNoFilter by tag names (notes with at least one matching tag)
limitNoMax number of notes to return (default: 20)
scopeNoWhich notes to list: "own" (default), "shared" (notes shared with you), or "all" (both)
cursorNoPagination cursor from a previous response
searchNoSearch text in title and content
folderIdNoFilter by folder ID. Use "root" to list notes not in any folder.
favoritesNoIf true, only return favorite notes

TDQS

A3.9/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description bears full burden. It discloses the listing scope ('your notes'), filtering capabilities, and sort order (most recently updated first). It does not mention authorization requirements or rate limits, but the read-only nature is implied.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, no fluff. First sentence states purpose, second adds key details (filtering and sort order). Everything earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description covers filtering and sorting but omits pagination details (default limit, cursor usage) and return format. With no output schema, more context on response structure would be helpful.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so baseline is 3. The description adds no new parameter details beyond what the schema already provides (e.g., default limit, enum values are in schema).

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool lists notes, specifies filtering options (tags, date range, text search, favorites), and indicates sort order. This distinguishes it from sibling tools like notlai_get_note (single note) and notlai_create_note.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description does not explicitly state when to use this tool versus alternatives or provide exclusion criteria. It implies listing multiple notes but lacks guidance like 'use notlai_get_note for a single note by ID'.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

notlai_list_tagsA

List all your existing tags with their IDs. Use this before creating or updating a note to find relevant tags to assign. When creating a note, pass existing tag names in the tags field.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Describes the basic function (list tags with IDs) but with no annotations, doesn't disclose additional behavior like auth requirements or pagination. Adequate for a simple read operation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, front-loaded with the core function, no superfluous words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no parameters, no output schema, and a simple task, the description provides all necessary context: what, when, and how to use the results.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

No parameters exist, so baseline is 4. Description adds no parameter info, but none is needed.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly states the tool lists all existing tags with their IDs, distinguishing it from sibling tools like create_tag or delete_tag.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly advises using this tool before creating or updating a note to find relevant tags, and explains how to use the tags in creation. Lacks guidance on when not to use it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

notlai_loginA

Authenticate with email and password to obtain access tokens

ParametersJSON Schema
NameRequiredDescriptionDefault
emailYesYour email address
passwordYesYour password

TDQS

A3.5/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must disclose behavioral traits. It only mentions obtaining access tokens but omits important details like token lifetime, storage requirements, or whether the tool is safe (e.g., no destructive actions). The description is insufficient for an authentication tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence of 10 words, highly concise with no wasted text. It front-loads the core action and resource.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple login tool with 2 parameters and no output schema, the description is adequate but lacks completeness regarding the token output and any side effects. Given the context, a score of 3 is reasonable.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with descriptions for both parameters ('Your email address', 'Your password'). The tool description adds no extra meaning beyond the schema, so baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool authenticates with email and password to obtain access tokens. The verb 'authenticate' and resource 'access tokens' are specific. It differentiates from siblings like 'notlai_register' (account creation) and 'notlai_logout' (session termination).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for obtaining tokens but does not explicitly state when to use this tool versus siblings like 'notlai_register' or 'notlai_web_login'. No exclusion or alternative guidance is provided, making it adequate but not comprehensive.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

notlai_logoutA

Delete local credentials and end the session

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description must fully disclose behavior. It clearly states the tool deletes local credentials and ends the session, which is accurate and transparent. However, it could mention that this makes further authenticated requests fail without re-login, but the core action is well described.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence that conveys the entire purpose without any superfluous text. Every word earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the simplicity of the tool (no parameters, no output schema), the description is largely complete. It covers the action and effect. A minor improvement would be to mention that the session is immediately invalidated, but it is still adequate.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters, and the schema is empty with 100% coverage. The description does not need to add parameter details. A score of 4 is appropriate as per the guideline (0 params = baseline 4).

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's action: 'Delete local credentials and end the session.' It uses a specific verb ('delete') and resource ('local credentials'), and distinguishes from sibling tools like 'notlai_login' and 'notlai_register' which handle authentication setup.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no explicit guidance on when to use or avoid this tool. It is implied that logout ends a session, but it does not mention prerequisites (e.g., being logged in) or consequences (e.g., subsequent API calls requiring re-login). No alternatives are discussed.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

notlai_move_noteA

Move a note into a folder, or back to root. Use this to reclassify and organize your notes. Use notlai_list_folders to find folder IDs.

ParametersJSON Schema
NameRequiredDescriptionDefault
noteIdYesThe note ID to move (ULID format)
folderIdYesTarget folder ID to move the note into, or null to move back to root (no folder)

TDQS

A4.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations exist, so the description must convey behavioral traits. It mentions moving into a folder or root but does not detail side effects (e.g., changes to note metadata, permissions, or undo behavior). The move operation is inherently non-destructive, but more disclosure would improve transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences, each serving a distinct purpose: stating the action and providing usage guidance. It is front-loaded with the core functionality and wastes no words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 2-parameter tool with no output schema and no annotations, the description covers the essential use case and gives a practical tip for parameter preparation. It could mention result details (e.g., whether the note object is returned) but is otherwise sufficient for an agent to invoke correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3. The description adds meaning by explaining the folderId's null option ('back to root') and directing to notlai_list_folders for IDs, which is valuable beyond the schema's type-only descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action: moving a note into a folder or back to root. It distinguishes the tool from siblings like notlai_create_note or notlai_delete_note by specifying the exact operation and target, including the null case for moving to root.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It explicitly ties the tool to reclassification and organization, and advises using notlai_list_folders to find folder IDs. This provides clear context for when to use it, though it does not explicitly exclude alternative tools or set negative examples.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

notlai_registerB

Create a new Notlai account with email and password

ParametersJSON Schema
NameRequiredDescriptionDefault
emailYesYour email address
passwordYesYour password (minimum 8 characters)

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It only states 'Create' but does not disclose side effects (e.g., auto-login), authentication needs, or error behaviors.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence, no wasted words. The description is concise and front-loaded with the core action.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Lacks details about return values, success/error handling, or post-account creation flow. Given the absence of output schema and annotations, the description is critically incomplete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, providing description for both parameters (email, password). The tool description merely echoes these, adding no further semantic value.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Create a new Notlai account' with a specific verb and resource. It effectively distinguishes from sibling tools like notlai_login and notlai_logout.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives (e.g., notlai_login for existing accounts). The description lacks context about prerequisites or intended use cases.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

notlai_share_noteA

Share a note. Without email: creates a public link (read-only). With email: shares with a specific user at the given permission level.

ParametersJSON Schema
NameRequiredDescriptionDefault
emailNoRecipient email. If omitted, creates a public link.
noteIdYesThe note ID to share
permissionNoPermission level for user shares (default: "read"). Ignored for public links.

TDQS

A4.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Given no annotations, the description carries the full burden. It discloses that public links are read-only and that the permission parameter is ignored for public links. However, it does not describe other behavioral aspects like idempotency, effects on existing shares, or return values.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences, concise and front-loaded. Every sentence provides essential information with no redundancy or fluff.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple share tool with no output schema and no annotations, the description adequately covers the two main use cases and parameter roles. It could mention the return format (e.g., link for public share) but is otherwise complete for practical use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 100% coverage, so baseline is 3. The description adds value by explaining the behavioral difference when `email` is present vs. absent and that `permission` is ignored for public links. This goes beyond the schema's attribute descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description explicitly states 'Share a note' and distinguishes two distinct modes: public link (without email) and user share (with email). This clearly identifies the tool's action and differentiates it from siblings like `notlai_unshare_note` or `notlai_create_note`.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear guidance on when to use each mode: without email for a public read-only link, with email for user-specific sharing with a permission level. It does not explicitly mention alternatives or when not to use, but the context is sufficient for typical usage.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

notlai_statusA

Check authentication status and refresh token if needed

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must fully disclose behavior. It mentions token refresh as a side effect, but does not explain conditions for refresh, failure modes, or whether user interaction is required. This leaves significant gaps.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single sentence that is front-loaded and contains only necessary information. Every word adds value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite simplicity, the description does not specify the output format (e.g., returns status object or boolean). With no output schema, additional detail would improve completeness for an agent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has no parameters, resulting in 100% schema description coverage. Per guidelines, baseline is 4; the description adds no extra param info but none is needed.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool checks authentication status and optionally refreshes the token. This distinguishes it from sibling tools like notlai_login (authentication) and notlai_logout (session termination).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit guidance on when to use this tool versus alternatives such as notlai_login or a separate refresh tool. The name implies it should be used to verify current auth state, but no when-not or context is provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

notlai_unshare_noteA

Revoke a share. Without email: revokes the public link. With email: revokes access for that specific user.

ParametersJSON Schema
NameRequiredDescriptionDefault
emailNoRecipient email to revoke. If omitted, revokes the public link.
noteIdYesThe note ID to unshare

TDQS

A4.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Without annotations, the description reveals the destructive action (revoke) but lacks details on prerequisites, permissions, or consequences such as immediacy or irreversibility.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, front-loads the key action, and eliminates unnecessary words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Adequate for a simple revoke action with parameter guidance, but could mention irreversibility or immediate effect given no output schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema descriptions cover all parameters at 100%, and the description adds meaningful behavior context (public link vs specific user) beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description explicitly states 'Revoke a share' and differentiates between two clear cases (with/without email), distinguishing it from sibling tool 'notlai_share_note'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It provides clear context on when to use each variant (public link vs specific user), but does not state when not to use this tool or mention alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

notlai_update_noteA

Update an existing note. Only provided fields will be changed. Content supports Markdown formatting. Use notlai_list_notes to find the note ID.

ParametersJSON Schema
NameRequiredDescriptionDefault
tagsNoNew tags to assign (replaces all current tags). Pass [] to remove all tags. Omit to keep current tags.
titleNoNew title (omit to keep current)
noteIdYesThe note ID to update (ULID format)
contentNoNew content in Markdown format (omit to keep current). Supports headings, bold, italic, lists, code blocks, links, blockquotes, and tables.
folderIdNoMove to a folder by ID, or pass null to move back to root. Omit to keep current folder.
isFavoriteNoSet favorite status. Omit to keep current.

TDQS

A3.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, description carries burden. It explains partial update ('Only provided fields will be changed'), Markdown support, and tag replacement. Missing details on authorization, error handling, or what happens on invalid noteId.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three concise sentences: purpose, partial update behavior, usage hint. No extraneous information. Well-structured and easy to parse.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema, so description should mention return value (e.g., success indicator or updated note). Does not cover that. Also lacks differentiation from move_note for folder changes. Adequate but could be more complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage 100%, baseline 3. Description adds some value for tags ('Pass [] to remove all tags') but largely restates schema. No additional constraint details beyond schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clear verb 'Update' and resource 'existing note'. Distinguishes from siblings like create_note and delete_note. Adds detail on partial update behavior.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Suggests using notlai_list_notes to find note ID, but does not clarify when to use this tool versus notlai_move_note for folder changes. No explicit exclusions or alternative tools guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

notlai_web_loginA

Start web-based login flow. Opens a local auth server and provides a URL to authenticate via the web.

ParametersJSON Schema
NameRequiredDescriptionDefault
portNoLocal server port (default: 9876)

TDQS

A3.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Without annotations, the description carries the full burden. It discloses that a local auth server is opened and a URL is provided, which is useful. However, it does not mention side effects (e.g., server lifecycle, browser interaction), required permissions, or what happens to authentication state.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single sentence containing all essential information with no extraneous words. Every phrase adds value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no annotations, no output schema, and a single parameter, the description covers the basic action but lacks context about return values, error scenarios, or how the URL is delivered. It is minimally complete but leaves gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and the description adds the default value ('default: 9876') beyond the schema's description ('Local server port'), providing practical guidance for the optional parameter.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('start'), resource ('web-based login flow'), and explicitly mentions opening a local auth server and providing a URL, which clearly distinguishes it from sibling tools like 'notlai_login' (presumably non-web) and 'notlai_logout'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies use for web-based authentication compared to other login methods, but does not explicitly state when to use this over alternatives like 'notlai_login' or provide context like prerequisites or when not to use it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

TDQS

A4/5.0
Disambiguation5/5

Each tool targets a distinct action: authentication, note CRUD, folder/tag management, sharing, and activity tracking. No two tools have ambiguous boundaries; descriptions clearly differentiate them.

Naming Consistency5/5

All tools follow a consistent 'notlai_verb_noun' pattern in snake_case, making the action and resource clear. Variations like 'bulk_delete_notes' and 'get_note_activity' are predictable extensions.

Tool Count5/5

With 21 tools, the server covers authentication, note management, folders, tags, sharing, and bulk operations. The scope is appropriate for a feature-rich note-taking service without excessive tools.

Completeness4/5

The tool surface is comprehensive, including full CRUD for notes, folders, tags, plus sharing and activity. Missing a tag update tool is a minor gap, but the core workflows are well-covered.

Maintenance

ActivitySlowing
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Connects Claude.ai to your local Obsidian vault for full CRUD access, search, and daily note creation via the Model Context Protocol.
    15
    14
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables AI to manage Obsidian notes, including creation, reading, updating, deletion, full-text search, listing with filtering, sorting, and metadata extraction via the Model Context Protocol.
    18
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Integrates Notion with Claude Code, enabling search, read, and write operations on Notion pages and databases via the Model Context Protocol.
    991
    MIT

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/lzientek/notlai-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server