pnlcs-mcp
pnlcs-mcp
Сервер Model Context Protocol для PNLCS — биллинговой панели с открытым исходным кодом. Подключите Claude Code, Claude Desktop, Cursor, VS Code или любой другой MCP-клиент к вашей установке PNLCS и работайте с ней простыми словами:
«Какие счета просрочены?» — «Покажи услуги и домены этого клиента.» — «Есть заказы, помеченные как мошеннические сегодня?» — «Открой тикет для ada@example.com по поводу продления её домена.»
Ноль зависимостей. Сервер — это один небольшой процесс Node, который общается с уже имеющимся у вас административным API PNLCS. На стороне PNLCS ничего не устанавливается.
npm:
pnlcs-mcpТребуется: Node 18+ на машине, где работает ваш AI-клиент
Транспорт: stdio (запускается вашим клиентом — никаких портов, ничего хостить не нужно)
1. Создайте учётные данные API в PNLCS
Войдите в административную панель вашей установки PNLCS.
Перейдите в Конфигурация → Учётные данные API.
Нажмите Создать, дайте ему имя, например
mcp, и скопируйте два значения, которые он покажет:Идентификатор — имя пользователя учётной записи
Секрет — показывается один раз; сохраните его в надёжном месте
Этой пары серверу достаточно; она передаётся через три переменные окружения:
Variable | Value |
| Адрес вашей установки, например |
| Идентификатор учётной записи |
| Секрет учётной записи |
| Необязательно. Установите |
Related MCP server: WHMCS MCP Server
2. Подключите ваш клиент
Claude Code (CLI)
Одна команда:
claude mcp add pnlcs \
--env PNLCS_URL=https://billing.example.com \
--env PNLCS_IDENTIFIER=your_identifier \
--env PNLCS_SECRET=your_secret \
-- npx -y pnlcs-mcpДобавьте --env PNLCS_ALLOW_WRITES=1, если вам также нужны инструменты записи.
Используйте --scope project, чтобы поделиться записью с командой через .mcp.json (поместите секрет в окружение вашей оболочки, а не в файл, попадающий в коммит).
Проверьте с помощью claude mcp list; удалите с помощью claude mcp remove pnlcs.
Claude Desktop
Отредактируйте claude_desktop_config.json (macOS: ~/Library/Application Support/Claude/, Windows: %APPDATA%\Claude\):
{
"mcpServers": {
"pnlcs": {
"command": "npx",
"args": ["-y", "pnlcs-mcp"],
"env": {
"PNLCS_URL": "https://billing.example.com",
"PNLCS_IDENTIFIER": "your_identifier",
"PNLCS_SECRET": "your_secret"
}
}
}
}Перезапустите Claude Desktop; инструменты появятся под значком молотка.
Cursor
Настройки → MCP → Добавить новый глобальный MCP-сервер или создайте .cursor/mcp.json в вашем проекте (та же структура JSON, что и для Claude Desktop выше).
VS Code (Copilot agent mode)
Создайте .vscode/mcp.json:
{
"servers": {
"pnlcs": {
"type": "stdio",
"command": "npx",
"args": ["-y", "pnlcs-mcp"],
"env": {
"PNLCS_URL": "https://billing.example.com",
"PNLCS_IDENTIFIER": "your_identifier",
"PNLCS_SECRET": "your_secret"
}
}
}
}Всё остальное (Windsurf, Cline, Zed, ...)
Любой MCP-клиент, умеющий запускать stdio-сервер, использует те же три составляющие: команда npx, аргументы ["-y", "pnlcs-mcp"] и переменные окружения выше. Из git-клона node mcp/server.js работает точно так же.
3. Инструменты
Инструменты чтения — доступны всегда
Tool | What it answers |
| Итоги по клиентам, заказам, счетам и выручке |
| Состояние самой установки |
| Клиенты, с поиском по имени/email/компании и постраничной выдачей |
| Один клиент с контактами, по |
| Хостинг-услуги одного клиента |
| Домены одного клиента |
| Счета; фильтр по |
| Один счёт с его позициями |
| Заказы; фильтр по |
| Тикеты поддержки; фильтр по статусу |
| Один тикет с ответами и заметками |
| Количество тикетов по статусам |
| Платежи, сначала новые |
| Каталог продуктов |
| Недавняя активность администраторов и системы |
Инструменты записи — только с PNLCS_ALLOW_WRITES=1
Tool | What it does |
| Создать клиента; с |
| Выставить счёт клиенту с одной или несколькими позициями |
| Записать платёж; помечает счёт оплаченным, когда сумма покрыта |
| Открыть тикет поддержки |
| Ответить на тикет |
| Приостановить хостинг-услугу на её сервере |
| Снять приостановку |
Без этого флага инструменты записи не просто скрыты — вызов любого из них отклоняется до выполнения каких-либо HTTP-запросов. Ассистент, настроенный на составление отчётов, даже не увидит кнопку приостановки. Чтобы отчётная конфигурация оставалась в режиме только для чтения, просто не устанавливайте флаг.
4. Замечания по безопасности
Секрет передаётся только между машиной, на которой работает ваш AI-клиент, и вашей установкой PNLCS, по тому же HTTPS API, который используют ваши административные экраны. Он никогда не отправляется провайдеру модели; модель видит только результаты работы инструментов.
Предпочитайте отдельные учётные данные API для MCP, чтобы можно было отозвать только их.
PNLCS ограничивает частоту запросов для учётных данных API (300 запросов в минуту на одни учётные данные), поэтому вышедший из-под контроля агент не сможет перегружать вашу установку.
Не включайте
PNLCS_ALLOW_WRITES, если вы действительно не хотите, чтобы ассистент действовал в вашей бухгалтерии, и читайте, что он предлагает, прежде чем одобрять вызовы инструментов, которые создают или изменяют что-либо.
5. Устранение неполадок
Симптом | Причина |
Каждый инструмент отвечает | Одна из трёх переменных отсутствует в конфигурации клиента |
Каждый инструмент отвечает | Пара идентификатор/секрет неверна, или учётные данные были деактивированы |
| Установка недоступна с этой машины — проверьте URL и любой файрвол |
Инструменты отсутствуют в клиенте | Перезапустите клиент после изменения его конфигурации; проверьте его MCP-лог на наличие указанной выше строки stderr |
Инструменты записи отсутствуют | Это поведение по умолчанию — установите |
6. Тесты
npm test запускает офлайн-набор тестов: он поднимает реальный процесс сервера, общается с ним по настоящему протоколу и проверяет HTTP-форму каждого инструмента на локальном стабе — а также шлюз записи в обоих направлениях, пакетные запросы из старых ревизий протокола, согласование версий, таймауты и корректное завершение при остановке.
node test/live.mjs запускает все инструменты против реальной установки — направьте его на демо, но никогда на боевые данные; он создаёт явно именованные временные данные для инструментов записи и печатает по одной строке PASS/FAIL для каждого инструмента.
Разработка
Этот пакет разрабатывается внутри PNLCS monorepo в каталоге mcp/; этот репозиторий является его автономным зеркалом для распространения и всегда соответствует версии, опубликованной на npm.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceEnables AI assistants to manage WHM hosting accounts and server administration tasks including account management, server stats, updates, SSL, backups, and email through a secure API.10
- AlicenseNot gradedqualityBmaintenanceEnables AI agents to administrate WHMCS installations through the External API, providing ~50 tools for clients, billing, orders, services, domains, support, and aggregators with safety features and governance.392ISC
- AlicenseBqualityBmaintenanceEnables AI assistants to manage invoices, clients, companies, and ANAF e-Factura through the Storno.ro e-invoicing API.1008Elastic 2.0
- FlicenseNot gradedqualityCmaintenanceEnables AI assistants to manage cPanel hosting accounts including DNS, email, databases, SSL, files, security, and more through natural language using cPanel's UAPI and API2.
Related MCP Connectors
Peru CPE invoices for AI agents - issue, query, void facturas/boletas via SUNAT (2 backends).
Let AI agents add Yolfi crypto checkout, paylinks, webhooks, and status checks.
Chilean DTE/SII invoicing — issue invoices, reconcile payments and manage clients with AI agents.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Panelica/pnlcs-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server