mcp_notes
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@mcp_notessave the authentication task report as a note"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Notes MCP Server
Отдельный MCP-сервер для сохранения, чтения и списка Markdown-заметок в файловой системе. Он нужен как второй MCP-сервер рядом с внешними источниками данных, например YouTrack MCP:
YouTrack MCP -> агент получает данные -> агент готовит отчет -> Notes MCP сохраняет отчет -> агент отвечает пользователюСервер использует Node.js, TypeScript, @modelcontextprotocol/sdk, Streamable HTTP transport и обычные .md файлы. База данных не нужна.
Быстрый запуск
Из корня проекта:
npm install
cp .env.example .env.local
npm run build
npm run start:httpПосле старта HTTP endpoint доступен по адресу:
http://127.0.0.1:8788/mcpHealthcheck:
curl http://127.0.0.1:8788/healthЕсли все в порядке, ответ будет таким:
{"status":"ok","service":"notes-mcp"}Related MCP server: M5 Petit Notes
Установка
cd mcp_notes_server
npm install
npm run buildНастройка .env.local
Создай файл mcp_notes_server/.env.local:
MCP_SERVER_TOKEN=change_me
MCP_HTTP_HOST=0.0.0.0
MCP_HTTP_PORT=8788
MCP_HTTP_PATH=/mcp
NOTES_DATA_DIR=./data/notesПеременные:
MCP_SERVER_TOKEN- bearer token для HTTP endpoint.MCP_HTTP_HOST- host HTTP-сервера.MCP_HTTP_PORT- порт HTTP-сервера.MCP_HTTP_PATH- путь MCP endpoint.NOTES_DATA_DIR- папка для Markdown-файлов.
Запуск HTTP mode
Используй этот режим для bridge, браузерного UI, удаленного подключения или любого клиента, который ходит в MCP по HTTP.
npm run build
npm run start:httpПо умолчанию endpoint будет доступен здесь:
http://127.0.0.1:8788/mcpHealthcheck:
curl http://127.0.0.1:8788/healthMCP-запросы к /mcp должны передавать заголовок:
Authorization: Bearer change_meБез MCP_SERVER_TOKEN HTTP mode не стартует.
Smoke-проверка HTTP MCP
После запуска можно проверить, что MCP tools реально доступны:
curl -s http://127.0.0.1:8788/mcp \
-H 'Authorization: Bearer change_me' \
-H 'Content-Type: application/json' \
-H 'Accept: application/json, text/event-stream' \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list","params":{}}'В ответе должны быть tools:
notes_save
notes_read
notes_listЗапуск stdio mode
Для локальных MCP-клиентов, которым нужен stdio transport:
npm run build
npm run start:stdioВ stdio mode HTTP endpoint и bearer token не используются. Клиент запускает процесс сервера сам и общается с ним через stdin/stdout.
Пример команды для MCP-клиента:
{
"command": "node",
"args": ["/absolute/path/to/mcp_notes_server/dist/index.js"]
}Перед подключением stdio mode один раз собери проект через npm run build.
Tools
Сервер регистрирует три tools:
notes_save- сохраняет Markdown-заметку и возвращает metadata плюс embedded MCPresourceс содержимым файла.notes_read- читает заметку поidилиfileName.notes_list- возвращает список последних заметок.
notes_save
Пример аргументов:
{
"title": "Отчет по задачам авторизации",
"content": "Markdown content...",
"tags": ["youtrack", "auth", "report"]
}Файл сохраняется в NOTES_DATA_DIR с безопасным именем вроде:
2026-06-28-otchet-po-zadacham-avtorizacii.mdЕсли такой файл уже существует, сервер добавит suffix.
notes_read
{
"id": "2026-06-28-otchet-po-zadacham-avtorizacii"
}Или:
{
"fileName": "2026-06-28-otchet-po-zadacham-avtorizacii.md"
}notes_list
{
"limit": 20
}Формат Markdown
Каждая заметка сохраняется человекочитаемо:
---
title: Отчет по задачам авторизации
createdAt: 2026-06-28T12:00:00.000Z
tags:
- youtrack
- auth
- report
---
# Отчет по задачам авторизации
Markdown content...Подключение к bridge
Пример MCP_SERVERS_JSON для bridge:
{
"servers": [
{
"id": "notes",
"name": "Notes",
"url": "http://127.0.0.1:8788/mcp",
"authTokenEnv": "NOTES_MCP_TOKEN",
"enabled": true
}
]
}В .env.local bridge укажи:
NOTES_MCP_TOKEN=change_me
MCP_SERVERS_JSON={"servers":[{"id":"notes","name":"Notes","url":"http://127.0.0.1:8788/mcp","authTokenEnv":"NOTES_MCP_TOKEN","enabled":true}]}Если bridge уже подключает YouTrack MCP, добавь Notes вторым элементом массива servers.
Demo prompt
Проверочный prompt для агента:
Найди задачи по авторизации во внешней системе, составь короткий отчет с рисками и сохрани его в заметки. Потом скажи, как называется сохраненная заметка.Ожидаемый flow:
1. агент вызывает tool из YouTrack MCP;
2. агент анализирует результат;
3. агент вызывает notes_save из Notes MCP;
4. агент отвечает пользователю, что отчет сохранен.Пользователь при этом не должен знать названия tools.
Безопасность
HTTP mode требует
MCP_SERVER_TOKENи проверяетAuthorization: Bearer <MCP_SERVER_TOKEN>.Токены не логируются.
idиfileNameнормализуются и не позволяют path traversal.Чтение и запись ограничены
NOTES_DATA_DIR.Максимальный размер содержимого заметки - 100 KB.
Available Tools
3 toolsnotes_listList Markdown notesB
List recent Markdown notes from NOTES_DATA_DIR.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It mentions 'recent' but does not explain how recency is determined, what fields are returned, or whether the list contains full content or summaries. The behavioral scope is under-specified.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, well-structured sentence with no redundant words. It front-loads the verb and provides the key resource and source location, earning a top score for efficiency.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple but there is no output schema, so the description should explain what the list returns. It does not describe the response format, ordering, or meaning of 'recent', leaving the agent uncertain about the tool's output. This is a significant gap for a tool with no structured return information.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, yet the description does not mention the 'limit' parameter at all. The agent only knows its type, default, and constraints, but not what it controls (e.g., number of notes returned). The description fails to compensate for the lack of schema descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('List') and the resource ('recent Markdown notes from NOTES_DATA_DIR'), which is specific and distinguishes the tool from siblings notes_save and notes_read.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use the tool (to get an overview of notes) but does not explicitly contrast it with notes_save or notes_read, nor does it mention any exclusions such as returning full content versus metadata.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
notes_readRead Markdown noteA
Read a Markdown note by id or fileName from NOTES_DATA_DIR.
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | ||
| fileName | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full responsibility for disclosing behavior. It only names the operation and source directory, but doesn't explain what happens when neither id nor fileName is provided (both are optional in the schema), which parameter takes precedence if both are given, or whether the note content is returned directly. It also omits error behavior for missing notes. This leaves meaningful behavioral gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that is front-loaded and contains no filler. Every word contributes to understanding the tool's purpose and key parameters.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read tool, the description is passable but incomplete without annotations or an output schema. It lacks details about return value, missing-note behavior, and the semantics of the optional parameters, which are important for an agent to use it correctly. More context would be needed for full confidence.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It does clarify that id and fileName are alternative identifiers, which adds semantic value beyond the plain schema properties. However, it doesn't specify the relationship (mutually exclusive? precedence?), value formats, or whether fileName includes extension, leaving room for confusion.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool reads a Markdown note by id or fileName, with a specific source (NOTES_DATA_DIR). The verb 'Read' and resource 'Markdown note' are explicit, and the two parameters are identified. This distinguishes it from sibling tools like notes_save (writing) and notes_list (listing).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage: you call this when you need the content of a specific note by id or fileName. It doesn't explicitly mention alternatives or exclusions, but the context is clear. A more explicit 'use notes_list to enumerate notes' would have been stronger, but the core guidance is present.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
notes_saveSave Markdown noteB
Save a Markdown note/report into NOTES_DATA_DIR and return metadata plus the saved file resource.
| Name | Required | Description | Default |
|---|---|---|---|
| tags | No | ||
| title | Yes | ||
| content | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. Mentions saving to NOTES_DATA_DIR and returning metadata/file resource, but fails to disclose overwrite behavior, file naming, or permission requirements. For a mutation tool, these are significant omissions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence conveying action, destination, and return value. No redundant phrasing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Tool is a write operation with no annotations, no output schema, and poorly documented parameters. While it mentions return value, it lacks usage guidance, side-effect disclosure, and parameter detail, making it incomplete for reliable agent invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema has zero property descriptions, and the description does not explain title, content, or tags. Only indirect hint is 'Markdown' which could correspond to content format. No semantic elaboration beyond parameter names.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States clearly that the tool saves a Markdown note/report to NOTES_DATA_DIR and returns metadata plus the saved file resource. The verb 'save' distinguishes it from sibling read/list tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Description implies a write operation but does not explicitly state when to prefer this over notes_read or notes_list. No exclusion or alternative guidance given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
3 tool updates
v0.1.0- First observed
notes_list - First observed
notes_read - First observed
notes_save
TDQS
Each tool has a distinct, non-overlapping purpose: save, read, and list notes. There is no ambiguity about which tool to select for a given operation.
All tools follow the same 'notes_' prefix followed by a verb (save, read, list), creating a predictable and consistent naming pattern.
With 3 tools, the server is tightly scoped to basic note operations. Each tool earns its place, and the count is well-suited to a minimal notes management server.
The server covers create (save), read, and list, but notably lacks update and delete operations. For a notes management domain, these are significant missing pieces that may force workarounds.
Maintenance
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
Markdown-based note-taking with a hosted MCP server. Your notes serve you and your AI.
Google Keep-style notes app with an MCP server for AI agents to read/write notes.
Shared Markdown notes for MCP-compatible AI tools.
Persistent memory layer for AI tools. Save and recall notes across Claude and other MCP clients.
Related MCP Servers
- FlicenseAqualityBmaintenanceA local MCP server for managing Markdown notes, enabling create, list, read, search, summarize, and delete operations through natural language.61-
- AlicenseAqualityCmaintenanceA note-taking MCP server for Claude-based agents that provides persistent markdown files for easily referable notes, supporting create, read, update, append, and delete operations.5Apache 2.0
- AlicenseAqualityAmaintenanceMCP server for managing a local, domain-agnostic knowledge base using Markdown notes with frontmatter. Enables AI agents to capture, read, search, link, and maintain notes with atomic writes and privacy controls.13MIT
- AlicenseAqualityBmaintenanceA local MCP server that provides AI agents with persistent sticky-note memory, storing Markdown notes on disk and offering tools for creating, reading, updating, deleting, searching, and listing notes across sessions.13MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/FielderNik/mcp_notes'
If you have feedback or need assistance with the MCP directory API, please join our Discord server