Skip to content
xNotePadAI
๐Ÿ“ App

What Are MCP Tools?

August 23, 2026 · 4 min read

MCP tools are individual functions that an MCP server exposes to AI agents. Each tool has a name, a description the AI reads, and a JSON schema describing its inputs. When an agent wants to do something โ€” search your notes, create a file, send a message โ€” it calls a tool.

Anatomy of a Tool

Every MCP tool has three parts:

Name โ€” a machine-readable identifier (e.g. search_notes)

Description โ€” a human/AI-readable explanation of what it does

Input schema โ€” JSON Schema defining what parameters it accepts

The AI agent reads the description to decide when to use the tool, and uses the schema to construct valid arguments. No developer writes this integration โ€” the agent figures it out from the metadata.

Tool Annotations

Tools can carry annotations โ€” hints that tell the AI client how to handle them safely:

readOnlyHint

Tool only reads data โ€” no confirmation needed

destructiveHint

Tool may destroy data โ€” confirm before running

idempotentHint

Safe to retry โ€” same result every time

xNotePadAI's 13 Tools

Here's what xNotePadAI's MCP server exposes, grouped by behaviour:

Read-only (no confirmation needed)

list_notes get_note search_notes ask_notes get_versions

Write (safe, non-destructive)

create_note tag_note link_notes index_notes archive_note

Destructive (requires confirmation)

update_note delete_note merge_notes

How Discovery Works

When an agent connects, it calls tools/list and receives the full catalogue:

// Agent sends:
{"jsonrpc":"2.0","id":1,"method":"tools/list"}

// Server returns 13 tools with schemas + annotations
// Agent now knows what it can do

Why This Matters

Traditional integrations are brittle โ€” they break when APIs change. MCP tools are self-documenting. If xNotePadAI adds a 14th tool tomorrow, every connected agent discovers it automatically on the next tools/list call. Zero code changes on the client side.