Урок 14MCP
Настройка MCP
Конфигурация и транспорт
Области конфигурации
User
~/.claude/settings.jsonДоступно во всех проектах
Общие серверы (GitHub, Slack)
Project
.claude/settings.jsonТолько в этом проекте
Специфичные для проекта (DB, API)
Local
.claude/settings.local.jsonЛокально, не в git
Секреты и персональные настройки
💡 Конфигурации мержатся: user → project → local
Типы транспорта
Стандартный ввод/вывод (по умолчанию)
Плюсы
- • Простая настройка
- • Работает локально
- • Безопасно
Минусы
- • Только локальные серверы
{
"mcpServers": {
"filesystem": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-filesystem", "/path"]
}
}
}Переменные окружения
Используйте переменные окружения для секретов с синтаксисом $VAR_NAME:
"env": {
"GITHUB_TOKEN": "$GITHUB_TOKEN",
"DATABASE_URL": "$DATABASE_URL"
}Способ 1: .env файл
GITHUB_TOKEN=ghp_xxx
DATABASE_URL=postgresql://...
DATABASE_URL=postgresql://...
Способ 2: Shell export
export GITHUB_TOKEN=ghp_xxx
export DATABASE_URL=postgresql://...
export DATABASE_URL=postgresql://...
⚠️ Никогда не коммитьте секреты в settings.json! Используйте переменные окружения.
Полный пример конфигурации
{
"mcpServers": {
"github": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-github"],
"env": {
"GITHUB_TOKEN": "$GITHUB_TOKEN"
}
},
"postgres": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-postgres"],
"env": {
"POSTGRES_URL": "$DATABASE_URL"
}
},
"brave-search": {
"command": "npx",
"args": ["-y", "@anthropic-ai/mcp-server-brave-search"],
"env": {
"BRAVE_API_KEY": "$BRAVE_API_KEY"
}
}
}
}Лучшие практики конфигурации
- 1.Секреты — в переменных окружения или settings.local.json
- 2.Общие серверы (GitHub) — в user config
- 3.Project-specific (DB) — в project config, но без секретов
- 4.Добавьте .claude/settings.local.json в .gitignore
Этот урок — часть структурированного курса по LLM.
Мой путь обучения