Overview
Splynx 6.0 or later. This server targets the add-on architecture and APIs introduced in 6.0 - earlier versions aren't supported.
The Splynx Add-ons MCP Server packages Splynx add-on development knowledge - architecture, hooks, API reference, and code patterns - directly into an AI coding assistant’s context. Connect it to Claude Code and the assistant stops guessing at Splynx conventions: it can generate an InstallController, wire up a hook handler, or scaffold a whole add-on skeleton that already matches how Splynx add-ons are structured.
If you want an AI assistant to look up customers, check invoices, or manage tariffs on your live Splynx instance, that’s the Splynx MCP Server - a different tool for ISP admin staff. This page is about the Add-ons MCP Server: a developer tool for building new add-ons. It never connects to your running Splynx instance and never touches customer data.
Developers writing custom Splynx add-ons - in-house ISP/WISP developers, or integration partners.
Nothing live. It works with your own codebase and a bundled copy of Splynx’s add-on documentation.
Built and demonstrated with Claude Code. Speaks the standard MCP protocol, so other MCP-compatible clients can connect too.
Embeds add-on documentation, generates boilerplate code, and walks through guided workflows for common integration types.
Why use it
- Skip re-reading the add-on architecture guide for every new project - the directory structure, lifecycle, and conventions are already loaded into the assistant’s context.
- Scaffold a working skeleton in one request - files,
InstallController, hooks,config.json- instead of copying an existing add-on and stripping it down by hand. - Get code that matches Splynx’s own conventions - generated controllers, models, and views follow the same Yii2 patterns used across Splynx’s built-in add-ons.
- Guided workflows for the integration types ISPs build most often - payment gateways, accounting sync, e-invoicing - that walk through the parts that are easy to get wrong, like OAuth2 flows, entity pairing, or hash-chaining a submission for a tax authority.
What you can ask it to do
What’s inside
The server bundles three things: reference documentation, code generators, and guided workflows. Nothing here is fetched live - it all ships with the server.
Documentation, embedded (19 topics)
Grouped here for readability - the server ships all 19 as a flat reference set.
| Splynx Platform | Complete platform overview (all modules) |
| Splynx API | REST API v2.0 reference (authentication, endpoints, filtering) |
| Addon Architecture | Directory structure, key concepts, lifecycle |
| InstallController | API permissions, entry points, hooks, additional fields |
| Config File | Settings UI definition - blocks, items, field types |
| Entry Points | Menu links, code injection, action links, tabs |
| Hooks | Event system with 800+ available events |
| Database | MySQL and SQLite configuration |
| Models | BaseCustomer, BaseActiveApi, ActiveRecord patterns |
| Controllers | Access control, error handling, multi-auth |
| Views | Twig templates, layouts, Bootstrap UI |
| Web Config | Yii2 application configuration |
| User Authorization | Admin, customer, and multi-identity auth |
| Browser Communication | Notifications, WebSocket, Redis |
| Datasets | Custom entity/module creation |
| Payment Addon | Payment gateway integration guide |
| Accounting Addon | OAuth2 sync engine, entity pairing, rate limiting, PID locking (QuickBooks/Xero patterns) |
| E-Invoicing Addon | Government tax authority submission, tracker pattern, XML generation, hash chaining, QR codes (AADE/Verifactu patterns) |
| Advanced Patterns | Console-only add-ons, ActionInterface, dual DB, repository caching, bank import, fee registry, cron pipelines, commission engines |
Code generators (9 tools)
| Tool | Generates |
|---|---|
scaffold_addon | A complete add-on skeleton - all files at once |
generate_install_controller | InstallController.php |
generate_config_json | config.json settings definition |
generate_web_config | config/web.php |
generate_migration | Database migrations |
generate_controller | Yii2 controllers with access control |
generate_model | Models (API, ActiveRecord, SQLite, or Dataset) |
generate_view | Twig views - tables, forms, dashboards |
generate_hook_controller | HookController for event processing |
Guided workflows (9 prompts)
| Prompt | Walks you through |
|---|---|
create_addon | Building a new add-on from scratch (general, payment, monitoring, integration, accounting, e-invoicing, reporting, or notification type) |
create_accounting_addon | An accounting/ERP integration - OAuth2, sync engine, entity pairing |
create_einvoicing_addon | An e-invoicing add-on - government API, XML, certificates |
add_hook_handler | Adding event handling to an existing add-on |
add_payment_gateway | Integrating a payment gateway |
add_custom_dataset | Creating a new entity type |
add_entry_point | Adding a UI integration point |
explain_splynx_api | A deep-dive into specific API endpoints |
debug_addon | Diagnosing common add-on issues |
Setting it up
Three ways to run it, depending on how your team works.
Option 1 - Local (stdio)
Build it once, then point Claude Code at the compiled server:
git clone https://github.com/ruslan-splynx/splynx-addons-mcp-server cd splynx-addons-mcp-server npm install npm run build
Add it to your Claude Code MCP configuration - either a project-level .mcp.json (shared with your team) or your user-level ~/.claude.json:
{
"mcpServers": {
"splynx-addons": {
"command": "node",
"args": ["/path/to/splynx-addons-mcp-server/dist/index.js"]
}
}
}
Option 2 - Self-hosted, remote HTTP
Run it as a server your whole team can point to:
node dist/index.js --http --port=3000 --host=0.0.0.0
{
"mcpServers": {
"splynx-addons": {
"type": "url",
"url": "https://your-host.example.com/mcp"
}
}
}
Option 3 - Docker
docker build -t splynx-addons-mcp . docker run -d --name splynx-mcp --restart always -p 3000:3000 splynx-addons-mcp
There’s no Splynx-hosted endpoint yet - you run this yourself, locally or on your own infrastructure. Exact config field names can differ between Claude Code versions; if something doesn’t match, look for the equivalent “add MCP server” option.
Building an add-on
A single request walks through the full build. For example:
The assistant reads the add-on architecture reference to confirm the directory structure and lifecycle.
It scaffolds the skeleton with hooks enabled, using scaffold_addon.
It configures the InstallController with the right API permissions and hook events.
It creates a HookController for the customer/create and invoice/create events.
It sets up config.json for the SMS gateway credentials.
It writes the files to your project - ready for you to review and fill in the SMS-sending logic.
Data & security
- No live customer data. The server works with your own codebase and a bundled copy of Splynx’s add-on documentation - nothing is fetched from a running Splynx instance.
- No admin API calls. It never reads or writes anything through your Splynx admin API - for that, see the Splynx MCP Server.
- Review before you deploy. Treat generated code like any AI-assisted output - review it before installing it on a production Splynx instance.
Troubleshooting
| Symptom | Likely cause & fix |
|---|---|
| Claude Code doesn’t see the server | Check the path in .mcp.json / ~/.claude.json matches your build output, then restart Claude Code. |
npm run build fails | Check your Node.js version against the repository’s package.json. |
| Remote HTTP client can’t connect | Confirm the --port/--host flags match your client config, and that the port isn’t blocked by a firewall. |
| Not sure the server is actually running | Hit its /health endpoint - a healthy server returns {"status":"ok","server":"splynx-addons-mcp","version":"1.0.0"}. |
| Docker container exits immediately | Check docker logs <container> for the actual startup error. |
Official docs
The server doesn’t replace Splynx’s existing developer references - it packages them for your AI assistant so you don’t have to keep them open in another tab. For anything not covered here, these remain the source of truth:
- Addon Howto - the official add-on development guide
- Addon Skeleton - the starter template
- Splynx API v2.0 reference
- Splynx Knowledge Base
FAQ
Does this give the AI access to my customers’ data?+
No. It works with your codebase and a bundled copy of Splynx’s add-on documentation - nothing live, no customer records. If you want an AI assistant that can read or act on your actual Splynx data, that’s the Splynx MCP Server.
Do I need a running Splynx instance to use it?+
Not to use the server itself - the documentation and generators are self-contained. You’ll need a Splynx instance to install and test the add-on you build, same as with any add-on.
Which AI clients does it work with?+
It’s built and demonstrated with Claude Code. Since it speaks the standard MCP protocol, other MCP-compatible clients should be able to connect as well.
Do I still need to know PHP and Yii2?+
Yes - this speeds up the parts that are repetitive or easy to get wrong (boilerplate, hook wiring, following Splynx’s conventions). It’s a head start, not a replacement for a developer.