Конфіг описує підключення, а не секрет

MCP-конфіг має зафіксувати сервер, transport, scope, auth і доступні операції. Реальні токени та паролі не повинні потрапляти до репозиторію, diff, логів або навчальних прикладів.

Файл конфігурації можна переглядати разом з іншими артефактами проєкту, але credentials мають надходити з оточення або менеджера секретів.

Приклад розташування project-scoped конфіга
workflow-kit/
└── .claude/
    └── mcp/
        └── issue-tracker.json

Transport: локальний або віддалений

TransportЯк працюєТиповий випадок
stdioClaude запускає локальний процес через стандартні потокиСкрипт або локальна утиліта
httpClaude звертається до вже запущеного сервера мережеюКомандний трекер, docs або monitoring
Схематичні transport-приклади
{
  "name": "docs-local",
  "transport": "stdio",
  "command": "python",
  "args": ["scripts/docs_server.py"]
}

{
  "name": "issue-tracker",
  "transport": "http",
  "endpoint": "${ISSUE_TRACKER_URL}"
}

Scope і auth-scope — не одне й те саме

  • user — сервер для кількох ваших проєктів;
  • local — локальний експеримент без коміту;
  • project — спільний командний workflow у репозиторії;
  • plugin — capability, доставлена разом із пакетом.
ПоняттяНа що відповідає
Scope конфігаХто бачить налаштування та де вони зберігаються
Auth-scopeЯкі операції дозволені токену або обліковому запису

Auth без секретів у Git

Змінні середовища й ігнорування локальних файлів
ISSUE_TRACKER_URL=
ISSUE_TRACKER_TOKEN=

# .gitignore
.env
.env.local
*.token
mcp/*.local.json

Перевірте підключення через /mcp

  1. Переконайтеся, що конфіг знаходиться у правильному scope.
  2. Перевірте endpoint і змінні середовища.
  3. Переконайтеся, що авторизація має мінімальні права.
  4. Перевірте, чи сервер знайдений і доступний.
  5. Лише після цього тестуйте конкретний workflow.
Концептуальна діагностика; звіряйте /help
/mcp list
/mcp get issue-tracker
/mcp status
/mcp debug

Канонічне джерело уроку · JavaRush

Відкрити матеріал JavaRush