Skip to main content
Glama

mcp-server-sample — минимальный MCP-сервер для сохранения и поиска заметок

Это минимальный MCP-сервер, который только сохраняет и ищет заметки. Он не подключается ни к каким внешним системам. Данные хранятся в единственном файле notes.json в той же папке.

Сервер содержит по одному из трёх примитивов MCP.

Примитив

Кто решает

Содержимое в этом сервере

Tools

Определяет модель

add_note (добавить заметку) / search_notes (искать заметки)

Resources

AI-приложение получает и передаёт

notes://all (все сохранённые заметки)

Prompts

Пользователь явно выбирает

weekly_review (обзор за неделю)

Требования

  • Node.js 24 или выше (LTS. Проверьте командой node --version)

  • git

Установка

git clone https://github.com/utakatano/mcp-server-sample.git
cd mcp-server-sample
npm install

Если npm install выполнился успешно, подготовка завершена. На этом этапе сервер не запускается. MCP-сервер запускается AI-приложением, поэтому вам не нужно запускать его из терминала самостоятельно.

Подключение к AI-приложению

Claude Code

claude mcp add notes -- node /絶対パス/mcp-server-sample/index.js

Если команда claude mcp list показывает ✔ Connected, значит подключение установлено.

Claude Desktop

Настройки → Developer → «Edit Config», откройте claude_desktop_config.json и добавьте следующее.

{
  "mcpServers": {
    "notes": {
      "command": "node",
      "args": ["/絶対パス/mcp-server-sample/index.js"]
    }
  }
}

После сохранения полностью закройте Claude Desktop и запустите заново (просто закрытие окна не применяет изменения).

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

  • Windows: %APPDATA%\Claude\claude_desktop_config.json

Проверка работы

「来週までにネットワーク構成を確認する」とメモして
「ネットワーク」を含むメモを探して

Убедитесь, что создан файл notes.json и его содержимое увеличивается.

Изменение места хранения

Передайте абсолютный путь в переменную окружения NOTES_FILE, чтобы изменить место хранения.

{
  "mcpServers": {
    "notes": {
      "command": "node",
      "args": ["/絶対パス/mcp-server-sample/index.js"],
      "env": { "NOTES_FILE": "/絶対パス/my-notes.json" }
    }
  }
}

Если не подключается

Сначала посмотрите логи. Обычно причина указана в них.

tail -20 ~/Library/Logs/Claude/mcp-server-notes.log   # macOS
# Windows: %APPDATA%\Claude\logs\mcp-server-notes.log

Проверьте, нет ли ошибок после строки Server started and connected successfully.

Что в логах

Причина

Решение

Cannot find module '/.../index.js'

Неправильный путь в args

Выполните pwd в корне репозитория и вставьте результат + /index.js

spawn node ENOENT

AI-приложение не находит node. Возникает, если PATH задан только в настройках оболочки (nvm/volta и т.п.)

Вставьте вывод which node (абсолютный путь) в command

Cannot find package '@modelcontextprotocol/server'

Не установлены зависимости

Выполните npm ci в корне репозитория

Логи пусты или не обновляются

Конфигурация не загружена

Проверьте синтаксис JSON (запятые, скобки), полностью закройте Claude Desktop (macOS: ⌘Q) и запустите заново

Чтобы определить, проблема на стороне сервера или AI-приложения, проще всего запустить сервер вручную.

printf '{"jsonrpc":"2.0","id":1,"method":"tools/list","params":{"_meta":{"io.modelcontextprotocol/protocolVersion":"2026-07-28"}}}\n' \
  | node /絶対パス/mcp-server-sample/index.js

Если возвращается JSON с add_note и search_notes, сервер работает нормально. В этом случае проверяйте настройки AI-приложения (путь, формат JSON, перезапуск).

Защита цепочки поставок

В файл .npmrc добавлены настройки на случай компрометации npm-пакетов. Они действуют при каждом npm install / npm ci.

Настройка

Что делает

ignore-scripts=true

Не выполняет скрипты жизненного цикла зависимых пакетов (например, postinstall) при установке. Блокирует первый путь выполнения скомпрометированного пакета. npm start / npm run работают как обычно (только pre/post скрипты не выполняются)

save-exact=true

npm install <pkg> записывает в package.json точную версию без ^

min-release-age=7

Устанавливает только версии, опубликованные более 7 дней назад. npm преобразует это в before=<дата 7 дней назад> при разрешении зависимостей

Зависимости в package.json зафиксированы точно (@modelcontextprotocol/server2.0.0, zod4.4.3), в package-lock.json записаны с хешами integrity. Если нужно установить в точности по lock-файлу, используйте npm ci, а не npm install.

При обновлении зависимостей обновляйте их по одной осознанно.

npm outdated
npm install @modelcontextprotocol/server@2.1.0   # save-exact により完全固定で書かれる
npm ls --all                                      # 増えた依存を目で確認する

Лицензия

MIT

-
license - not tested
-
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

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

  • Search, read, and write your Apple Notes from ChatGPT/Claude via a local Mac agent + MCP relay.

  • Cross-session, cross-device memory for your agent: remember and recall notes. No key to start.

  • Serve a folder of Markdown notes as an MCP server: hybrid search, reading, and sourced answers.

View all MCP Connectors

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/utakatano/mcp-server-sample'

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