New Introducing Splynx v.6.0: Run. Build. Scale. Learn more →
Developer guide

Splynx Add-ons MCP Server

Give Claude Code full context on the Splynx add-on architecture, API, and conventions - scaffold new add-ons, generate boilerplate, and follow guided workflows for common integration types. Runs on your own machine; nothing here touches your live Splynx data.

Splynx ADD-ONS MCP
19 doc topics
9 generators
9 workflows
Claude Code
+ Any MCP client

Runs locally or on your own infrastructure - no live Splynx connection required to use the server itself.

01

Overview

Requirements

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.

Looking for the other Splynx MCP server?

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.

Built for

Developers writing custom Splynx add-ons - in-house ISP/WISP developers, or integration partners.

Connects to

Nothing live. It works with your own codebase and a bundled copy of Splynx’s add-on documentation.

Primary client

Built and demonstrated with Claude Code. Speaks the standard MCP protocol, so other MCP-compatible clients can connect too.

What it does

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

“Scaffold a new Splynx add-on called ‘SMS Notifications’ that reacts to customer and invoice events.”
“Add a hook handler for the customer/create event to this add-on.”
“Generate a config.json for a settings screen with an API key field and a toggle.”
“Explain how Splynx’s API handles pagination for the customers endpoint.”
02

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.

Platform fundamentals
Splynx PlatformComplete platform overview (all modules)
Splynx APIREST API v2.0 reference (authentication, endpoints, filtering)
Addon ArchitectureDirectory structure, key concepts, lifecycle
Building blocks
InstallControllerAPI permissions, entry points, hooks, additional fields
Config FileSettings UI definition - blocks, items, field types
Entry PointsMenu links, code injection, action links, tabs
HooksEvent system with 800+ available events
DatabaseMySQL and SQLite configuration
ModelsBaseCustomer, BaseActiveApi, ActiveRecord patterns
ControllersAccess control, error handling, multi-auth
ViewsTwig templates, layouts, Bootstrap UI
Web ConfigYii2 application configuration
User AuthorizationAdmin, customer, and multi-identity auth
Browser CommunicationNotifications, WebSocket, Redis
DatasetsCustom entity/module creation
Specialized integration guides
Payment AddonPayment gateway integration guide
Accounting AddonOAuth2 sync engine, entity pairing, rate limiting, PID locking (QuickBooks/Xero patterns)
E-Invoicing AddonGovernment tax authority submission, tracker pattern, XML generation, hash chaining, QR codes (AADE/Verifactu patterns)
Advanced PatternsConsole-only add-ons, ActionInterface, dual DB, repository caching, bank import, fee registry, cron pipelines, commission engines

Code generators (9 tools)

ToolGenerates
scaffold_addonA complete add-on skeleton - all files at once
generate_install_controllerInstallController.php
generate_config_jsonconfig.json settings definition
generate_web_configconfig/web.php
generate_migrationDatabase migrations
generate_controllerYii2 controllers with access control
generate_modelModels (API, ActiveRecord, SQLite, or Dataset)
generate_viewTwig views - tables, forms, dashboards
generate_hook_controllerHookController for event processing

Guided workflows (9 prompts)

PromptWalks you through
create_addonBuilding a new add-on from scratch (general, payment, monitoring, integration, accounting, e-invoicing, reporting, or notification type)
create_accounting_addonAn accounting/ERP integration - OAuth2, sync engine, entity pairing
create_einvoicing_addonAn e-invoicing add-on - government API, XML, certificates
add_hook_handlerAdding event handling to an existing add-on
add_payment_gatewayIntegrating a payment gateway
add_custom_datasetCreating a new entity type
add_entry_pointAdding a UI integration point
explain_splynx_apiA deep-dive into specific API endpoints
debug_addonDiagnosing common add-on issues
03

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
Note

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.

04

Building an add-on

A single request walks through the full build. For example:

“Create a Splynx add-on called ‘SMS Notifications’ that sends an SMS when customers are created or invoices are generated.”
1

The assistant reads the add-on architecture reference to confirm the directory structure and lifecycle.

2

It scaffolds the skeleton with hooks enabled, using scaffold_addon.

3

It configures the InstallController with the right API permissions and hook events.

4

It creates a HookController for the customer/create and invoice/create events.

5

It sets up config.json for the SMS gateway credentials.

6

It writes the files to your project - ready for you to review and fill in the SMS-sending logic.

05

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.
06

Troubleshooting

SymptomLikely cause & fix
Claude Code doesn’t see the serverCheck the path in .mcp.json / ~/.claude.json matches your build output, then restart Claude Code.
npm run build failsCheck your Node.js version against the repository’s package.json.
Remote HTTP client can’t connectConfirm the --port/--host flags match your client config, and that the port isn’t blocked by a firewall.
Not sure the server is actually runningHit its /health endpoint - a healthy server returns {"status":"ok","server":"splynx-addons-mcp","version":"1.0.0"}.
Docker container exits immediatelyCheck docker logs <container> for the actual startup error.
07

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:

08

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.