trello-tools: передавать userConfig в env сервера явно

Claude Code 2.1.281 не экспортирует CLAUDE_PLUGIN_OPTION_* в MCP-сервер
сам, поэтому plugin.json подставляет их через ${user_config.*}.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
2026-09-24 14:17:00 +00:00
parent b4cabbf146
commit 3ae697ef1e
3 changed files with 17 additions and 5 deletions
+11 -1
View File
@@ -7,7 +7,17 @@
"mcpServers": { "mcpServers": {
"trello-tools": { "trello-tools": {
"command": "uv", "command": "uv",
"args": ["run", "--quiet", "--script", "${CLAUDE_PLUGIN_ROOT}/server.py"] "args": ["run", "--quiet", "--script", "${CLAUDE_PLUGIN_ROOT}/server.py"],
"env": {
"CLAUDE_PLUGIN_OPTION_TRELLO_API_KEY": "${user_config.trello_api_key}",
"CLAUDE_PLUGIN_OPTION_TRELLO_TOKEN": "${user_config.trello_token}",
"CLAUDE_PLUGIN_OPTION_QA_TASKS_TOKEN": "${user_config.qa_tasks_token}",
"CLAUDE_PLUGIN_OPTION_QA_SERVICE_API_KEY": "${user_config.qa_service_api_key}",
"CLAUDE_PLUGIN_OPTION_QA_SERVICE_URL": "${user_config.qa_service_url}",
"CLAUDE_PLUGIN_OPTION_TRELLO_BOARD_ID": "${user_config.trello_board_id}",
"CLAUDE_PLUGIN_OPTION_TRELLO_CREATE_LISTS": "${user_config.trello_create_lists}",
"CLAUDE_PLUGIN_OPTION_TRELLO_ATTACHMENTS_DIR": "${user_config.trello_attachments_dir}"
}
} }
}, },
"userConfig": { "userConfig": {
+2 -1
View File
@@ -29,7 +29,8 @@ curl -LsSf https://astral.sh/uv/install.sh | sh
| QA service API key | только владельцу, остальные оставляют пустым | | QA service API key | только владельцу, остальные оставляют пустым |
| QA service URL, Trello board, Trello lists | уже заполнены, менять не нужно | | QA service URL, Trello board, Trello lists | уже заполнены, менять не нужно |
Изменить ключи позже — через `/config`. После установки перезапусти Claude Code. Если окно с ключами не появилось или их нужно поменять:
`/plugin configure trello-tools@gp-tools`. После установки перезапусти Claude Code.
## Обновление ## Обновление
+4 -3
View File
@@ -37,9 +37,10 @@ import trello
load_dotenv(Path(__file__).parent / ".env") load_dotenv(Path(__file__).parent / ".env")
# В плагине .env нет: Claude Code передаёт поля userConfig из # В плагине .env нет: .claude-plugin/plugin.json передаёт поля userConfig
# .claude-plugin/plugin.json как CLAUDE_PLUGIN_OPTION_<KEY>. Уже заданные # в env сервера как CLAUDE_PLUGIN_OPTION_<KEY> (незаполненные — пустой
# переменные (например, QA_TASKS_TOKEN из ~/.bashrc) не перетираются. # строкой). Пустые пропускаем, уже заданные переменные (например,
# QA_TASKS_TOKEN из ~/.bashrc) не перетираются.
PLUGIN_OPTIONS = ( PLUGIN_OPTIONS = (
"TRELLO_API_KEY", "TRELLO_API_KEY",
"TRELLO_TOKEN", "TRELLO_TOKEN",