Skip to main content
Glama
Myk3rinos

MCP Personal Tools Server

by Myk3rinos

add-note

Add text to your notes file using this MCP Personal Tools Server tool. Append new entries to maintain organized personal documentation.

Instructions

Ajoute une nouvelle ligne au fichier de notes

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
textYesLe texte à ajouter au fichier de notes

Implementation Reference

  • The main handler logic for the 'add-note' tool. It creates the notes directory if necessary, appends a timestamped entry with the provided text to 'note.txt', and returns a success or error response.
    }, async ({ text }) => {
        try {
            const notesDir = path.join(userHomeDir, 'Documents', 'notes');
            // Create the directory if it doesn't exist
            await fs.mkdir(notesDir, { recursive: true });
            // Add the new line to the file
            await fs.appendFile(path.join(notesDir, 'note.txt'), `${new Date().toISOString()} - ${text}\n`);
            
            return {
                content: [{ type: "text", text: `${text},Note added successfully` }]
            };
        } catch (error) {
            console.error("Error while adding the note:", error);
            return {
                content: [{ type: "text", text: `Error while adding the note` }]
            };
        }
  • Zod input schema defining the 'text' parameter as a string.
    text: z.string().describe("The text to add to the notes file"),
  • src/server.ts:89-114 (registration)
    The server.tool registration call for the 'add-note' tool, specifying name, description, input schema, hints, and handler function.
    server.tool("add-note", "Add a new line to the notes file", {
        text: z.string().describe("The text to add to the notes file"),
    }, {
        title: "Add Note",
        readOnlyHint: false,
        destructiveHint: false,
        idempotentHint: false,
        openWorldHint: true,
    }, async ({ text }) => {
        try {
            const notesDir = path.join(userHomeDir, 'Documents', 'notes');
            // Create the directory if it doesn't exist
            await fs.mkdir(notesDir, { recursive: true });
            // Add the new line to the file
            await fs.appendFile(path.join(notesDir, 'note.txt'), `${new Date().toISOString()} - ${text}\n`);
            
            return {
                content: [{ type: "text", text: `${text},Note added successfully` }]
            };
        } catch (error) {
            console.error("Error while adding the note:", error);
            return {
                content: [{ type: "text", text: `Error while adding the note` }]
            };
        }
    })
Behavior3/5

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

The description adds minimal behavioral context beyond what annotations provide. Annotations already indicate this is a write operation (readOnlyHint: false), non-destructive, non-idempotent, and open-world. The description confirms it adds content but doesn't disclose important behavioral details like file location, format, permissions needed, or error conditions. No contradiction with annotations exists.

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, clear sentence that efficiently communicates the core purpose. There's no wasted language or unnecessary elaboration. It's appropriately sized for a simple tool with one parameter and good annotation coverage.

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 write operation with good annotation coverage and a fully documented single parameter, the description is minimally adequate. However, without an output schema, the description doesn't explain what happens after adding the note (success confirmation, error handling, or return values). The annotations help but don't fully compensate for missing behavioral details in the description.

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?

With 100% schema description coverage, the input schema already fully documents the single 'text' parameter. The description doesn't add any additional meaning about parameters beyond what's in the schema. It mentions adding a line to a notes file, which aligns with the parameter purpose, but provides no extra semantic context about parameter usage or constraints.

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

Purpose4/5

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

The description clearly states the action ('Ajoute' - adds) and resource ('une nouvelle ligne au fichier de notes' - a new line to the notes file). It specifies what gets added (a line) and where (to the notes file), which is specific and actionable. However, it doesn't explicitly distinguish this from the sibling 'create-user' tool, which is a different operation entirely.

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?

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites, constraints, or appropriate contexts for adding notes. There's no indication of when this tool should be preferred over other note-related operations (though none are listed as siblings beyond 'create-user').

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

Install Server

Other Tools

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/Myk3rinos/MCP'

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