Редакторы кода и CLI-агенты
Редакторам кода и агентам командной строки нужны адрес сервера и токен в заголовке. Выпустите токен на странице профиля - по одному на инструмент, чтобы любой из них можно было отключить отдельно, - и не храните его в файлах, которые попадают в репозиторий.
В примерах токен берётся из переменной окружения PUBLICWWW_TOKEN
или запрашивается один раз; где клиент не умеет ни того, ни другого,
YOUR_TOKEN обозначает сам токен. Claude Code описан на странице
Claude.
VS Code
Режим агента GitHub Copilot. Добавьте в .vscode/mcp.json в
проекте или в пользовательскую конфигурацию (палитра команд: MCP: Open User
Configuration):
{
"inputs": [
{ "type": "promptString", "id": "publicwww-token",
"description": "PublicWWW token", "password": true }
],
"servers": {
"publicwww": {
"type": "http",
"url": "https://api.publicwww.com/mcp",
"headers": { "Authorization": "Bearer ${input:publicwww-token}" }
}
}
}
VS Code спросит токен при первом запуске сервера и сохранит его в своём хранилище секретов, а не в файле. То же самое в один клик: установить в VS Code.
Cursor
~/.cursor/mcp.json - для всех проектов или
.cursor/mcp.json - для одного:
{
"mcpServers": {
"publicwww": {
"url": "https://api.publicwww.com/mcp",
"headers": { "Authorization": "Bearer ${env:PUBLICWWW_TOKEN}" }
}
}
}
Или в один клик: добавить в Cursor -
токен берётся из PUBLICWWW_TOKEN.
Devin Desktop (бывший Windsurf)
~/.config/devin/mcp_config.json, в Windows -
%APPDATA%\devin\mcp_config.json:
{
"mcpServers": {
"publicwww": {
"url": "https://api.publicwww.com/mcp",
"headers": { "Authorization": "Bearer YOUR_TOKEN" }
}
}
}
Используйте url: прежний serverUrl понимает только
старый агент Cascade.
Gemini CLI
В виде расширения: оно один раз спросит токен, сохранит его в системной связке ключей и добавит навык с синтаксисом запросов:
gemini extensions install https://github.com/publicwww-com/publicwww-mcp
Или вручную в ~/.gemini/settings.json - для сервера Streamable
HTTP ключ называется httpUrl:
{
"mcpServers": {
"publicwww": {
"httpUrl": "https://api.publicwww.com/mcp",
"headers": { "Authorization": "Bearer ${PUBLICWWW_TOKEN}" }
}
}
}
С url вместо httpUrl Gemini CLI заговорит по старому
транспорту SSE, который этот сервер не поддерживает.
Codex CLI
codex mcp add publicwww --url https://api.publicwww.com/mcp \
--bearer-token-env-var PUBLICWWW_TOKEN
или то же самое вручную в ~/.codex/config.toml; Codex берёт токен
из указанной ему переменной:
[mcp_servers.publicwww] url = "https://api.publicwww.com/mcp" bearer_token_env_var = "PUBLICWWW_TOKEN"
Codex умеет входить и через OAuth вместо токена:
codex mcp add publicwww --url https://api.publicwww.com/mcp codex mcp login publicwww
Codex на сервере по SSH. После нажатия «Разрешить» браузер переходит на
http://127.0.0.1:<port>/callback?code=… - адрес, который
слушает только сам Codex на сервере, поэтому браузер покажет ошибку
соединения. Скопируйте этот адрес целиком из адресной строки и, пока
codex mcp login ещё ждёт, откройте его на сервере:
curl "http://127.0.0.1:<port>/callback?code=...&state=..."
Codex сообщит, что вход выполнен. Код срабатывает один раз и действует десять
минут, а адрес должен быть получен в том же запуске codex mcp login.
DeepSeek Harness
dsh plugin --profile web add github:publicwww-com/dsh-publicwww
Плагин подключает сервер через собственный MCP-клиент DeepSeek Harness и берёт
токен из PUBLICWWW_TOKEN - см.
страницу плагина.
Другие клиенты
Подойдёт любой клиент, который умеет добавлять удалённый MCP-сервер по
Streamable HTTP и задавать заголовок запроса: укажите адрес и заголовок
Authorization: Bearer. Клиент, который запускает только локальные
серверы, может обращаться к этому через мост mcp-remote (нужен
Node.js):
{
"mcpServers": {
"publicwww": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://api.publicwww.com/mcp",
"--header", "Authorization:${AUTH_HEADER}"],
"env": { "AUTH_HEADER": "Bearer YOUR_TOKEN" }
}
}
}
Готовые файлы для всех этих клиентов, навык для агентов с синтаксисом запросов и кнопки установки - на GitHub.
Пробела после Authorization: нет намеренно: некоторые клиенты
неправильно передают аргументы с пробелами, поэтому часть с пробелом вынесена
в env.