mcp-notes mcp

v1.0.0 · MCP Tool · storage · registry.pascalai.org

Markdown note store with BM25 full-text search. Notes are stored as .md files with YAML-like frontmatter (id, title, tags, timestamps). An in-memory BM25 inverted index enables fast ranked search with relevance scoring and snippets.

notesmarkdownsearchbm25full-textknowledge-basedocumentsagent

Input Parameters

ParameterTypeDescription
operationrequired string Operation to perform. One of: write, read, delete, search, list, tags, reindex.
idoptional string Note identifier (used as filename slug). Required for: write, read, delete.
titleoptional string Note title. Required for: write.
contentoptional string Markdown content. Required for: write.
tagsoptional string Comma-separated tags. Optional for: write.
queryoptional string BM25 search query. Required for: search.
limitoptional integer Max results for search. Default: 10. Default: 10.
tagoptional string Filter by tag for list operation.
storagePathoptional string Base directory for .md files. Default: {Documents}/mcp-notes/

Output Fields

FieldTypeDescription
ok boolean
id string
title string
content string
tags string
created_at string
updated_at string
is_new boolean
existed boolean
results array[object]
notes array[object]
tags_obj object
indexed integer
count integer
error string

Examples

Write a note

// Input
{
  "operation": "write",
  "id": "api-design",
  "title": "API Design Notes",
  "content": "## REST principles\nUse nouns for resources...",
  "tags": "api,design,rest"
}

// Output
{
  "ok": true,
  "id": "api-design",
  "is_new": true,
  "created_at": "2026-04-01T10:00:00"
}

BM25 search

// Input
{
  "operation": "search",
  "query": "REST resource design",
  "limit": 5
}

// Output
{
  "ok": true,
  "results": [
    {
      "id": "api-design",
      "title": "API Design Notes",
      "score": 3.14,
      "snippet": "## REST principles\nUse nouns for resources..."
    }
  ],
  "count": 1
}

List notes by tag

// Input
{
  "operation": "list",
  "tag": "api"
}

// Output
{
  "ok": true,
  "notes": [
    {
      "id": "api-design",
      "title": "API Design Notes",
      "tags": "api,design,rest"
    }
  ],
  "count": 1
}

Install & Discovery

Install

ppm install mcp-notes

Get JSON Schema

GET /v1/packages/mcp-notes/1.0.0/schema

Discover by keyword

GET /v1/mcp/discover?q=notes
Discovery hint: Install with ppm install mcp-notes or invoke remotely via POST /v1/invoke/mcp-notes on the MCP Service.

PascalAI Usage

uses toolslib;
var Tool := LoadTool('mcp-notes');
Tool.Call(JsonObj(['operation','write','id','my-note','title','My Note','content','Content here...','tags','demo']));
var R := Tool.Call(JsonObj(['operation','search','query','content here','limit',5]));
var Results := R['results'];