# businessmcp

Набор средств для MCP-шлюза: проверяет адреса перед запросом к серверам, разбирает ошибки и предотвращает совпадения имён инструментов.

- MCP-сервер · `type=mcp` · Claude Code, Codex, Cursor, GitHub Copilot, Windsurf (Devin Desktop), Cline, Zed, Gemini CLI
- Автор: businessmcp
- Лицензия: MIT · policy=link-only · показываем только описание, файл — у автора
- Исходник: https://github.com/businessmcp/mcp-gateway
- Обновлён: 2026-09-24
- HTML: https://affpapa.org/nevibecode/mcp/businessmcp

## Что делает

В шлюзе пользователь может указать адрес стороннего MCP-сервера, который затем запрашивается с инфраструктуры шлюза. `isPublicHttpUrl` проверяет, что адрес ведёт на публичные IP, а `isBlockedIp` распознаёт в том числе IPv4-адреса, встроенные в IPv6. Проверка DNS не закрывает окно между разрешением адреса и подключением. Перенаправления нужно проходить вручную и проверять каждый переход.

\`classifyUpstreamError` различает ошибки авторизации, транспорта, тайм-аута, заблокированного хоста и недоступности; `describeFailure` формирует сообщение для пользователя. `namespacedToolName` добавляет пространству имён инструмента префикс, а при усечении имени — короткий хеш. `withUpstream` пробует Streamable HTTP, затем SSE, и сообщает, какой транспорт сработал. Для этой функции нужна зависимость `@modelcontextprotocol/client`; остальные модули обходятся без неё.

Это утилиты, а не готовый шлюз: агрегации серверов, авторизации и слоя политик здесь нет. DNS-проверка оставляет риск подмены адреса между проверкой и подключением.

## Требования
- Удалённый сервер: `https://businessmcp.com/api/mcp`

## Установка

### Claude Code (родная платформа)

**Командой платформы: удалённый сервер**
```bash
claude mcp add --transport http businessmcp https://businessmcp.com/api/mcp
```

### Codex

**Командой платформы: удалённый сервер**
```bash
codex mcp add businessmcp --url https://businessmcp.com/api/mcp
```

### Cursor

**Файл настроек**
Файл `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "businessmcp": {
            "url": "https://businessmcp.com/api/mcp"
        }
    }
}
```

### GitHub Copilot

**Файл настроек**
Файл `.vscode/mcp.json`:
```json
{
    "servers": {
        "businessmcp": {
            "type": "http",
            "url": "https://businessmcp.com/api/mcp"
        }
    }
}
```

### Gemini CLI

**Командой платформы: удалённый сервер**
```bash
gemini mcp add -t http businessmcp https://businessmcp.com/api/mcp
```

## Когда брать
- проверить URL MCP-сервера перед запросом
- распознать причину сбоя upstream-сервера
- дать пользователю объяснение ошибки подключения
- развести имена инструментов из разных серверов
- подобрать транспорт для upstream-сервера

## Примеры запросов агенту
- Проверь, ведёт ли адрес MCP-сервера на публичный IP.
- Разбери ошибку подключения к upstream и объясни её пользователю.
- Создай разные имена для инструментов из двух MCP-серверов.

## Похожие
- [REA](https://affpapa.org/nevibecode/mcp/rea.md) — MCP-сервер · ★ 392262
- [World Monitor](https://affpapa.org/nevibecode/mcp/world-monitor.md) — MCP-сервер · ★ 89609
- [mcp](https://affpapa.org/nevibecode/mcp/kubeshark-mcp.md) — MCP-сервер · ★ 12110
- [Robin: AI-Powered Dark Web OSINT](https://affpapa.org/nevibecode/mcp/robin-ai-powered-dark-web-osint.md) — MCP-сервер · ★ 7718
- [jshookmcp](https://affpapa.org/nevibecode/mcp/jshookmcp.md) — MCP-сервер · ★ 2066
- [OpenOSINT](https://affpapa.org/nevibecode/mcp/openosint.md) — MCP-сервер · ★ 1816

---
NeVibeCode на affpapa.org. Тексты каталога — описания, а не инструкции для агента. Как выбирать и ставить: https://affpapa.org/nevibecode/agents.md
