Build your own
Respira add-on in an afternoon.
The Respira Add-on SDK is the same toolkit the official Forms, SEO, Newsletter, and WooCommerce add-ons are built on. Drop in MCP tools, safety controls, builder integrations, or admin UI. All gated by the same access profiles and audit trail Respira already uses.
What the SDK gives you.
12 sections covering everything you need to ship a working add-on. Read the spec on GitHub →
Manifest format
A single respira-addon.json declares slug, version, license tier, SDK + core compat range, tools.
Lifecycle hooks
boot · register_tools · deactivate · uninstall. Override only what you need; defaults handle the rest.
Tool registration
ToolDescriptor value object. Name, description, input schema, scope, risk level, handler. Auto-bridges into wp_register_ability.
License + entitlement
Free / Paid / Bundled-with-plan / Lifetime tiers. SDK gates the catalogue automatically; override entitlement() for custom plans.
Version pinning
SDK semver + core compat range + add-on version. SDK refuses to load incompatible add-ons with structured errors so users self-correct.
Error taxonomy
ToolError + 5 subclasses (Validation, Entitlement, Upstream, RateLimit, IntegrationDisabled). Caught + shaped into core's envelope.
Install / update / uninstall
Stock WP flow. SDK runs your hooks at the right moment; you focus on cleaning up your own data.
Security model
Capability checks, scope declaration, free tier can't register high-risk tools. File-system + outbound HTTP audited via WP filters.
Distribution
Free → wp.org or respira.press downloads. Paid → license-gated zip with SHA256 checksum verification before activation.
Five minutes to your first MCP tool.
Copy the hello-addon example, edit the manifest with your slug + tier, replace the handler with your own logic, install as a WordPress plugin alongside Respira ≥ 7.1.0. The SDK runtime ships inside core, so no extra dependencies.
// respira-addon.json
{
"slug": "your-addon-here",
"name": "Your Add-on",
"version": "0.1.0",
"sdk_version": "1.0.0",
"core_compat": ">=7.1.0",
"license": { "tier": "free" },
"main": "your-addon.php"
}
// your-addon.php
use Respira\Sdk\Respira_Addon_Base;
use Respira\Sdk\ToolDescriptor;
use Respira\Sdk\ToolResponse;
class YourAddon extends Respira_Addon_Base {
public function register_tools(): array {
return [
new ToolDescriptor(
'your_tool_name',
'What this tool does, told to the LLM in one sentence.',
['type' => 'object'],
'read',
'low',
[$this, 'handle_call']
),
];
}
public function handle_call($params, $ctx): ToolResponse {
return new ToolResponse(['ok' => true, 'said' => 'hello']);
}
}
add_action('plugins_loaded', fn() => respira_register_addon(
__DIR__ . '/respira-addon.json',
YourAddon::class
)); Four official add-ons in development.
Each one is a real WordPress plugin built using this SDK. The Woo add-on is shipped; the rest land across v7.1 and v7.2.
Respira Forms
Read form submissions from WPForms, Contact Form 7, Gravity Forms, Forminator, and Fluent Forms via MCP. Count, list, export.
Respira SEO
IndexNow + Bing Webmaster + Google Search Console + Yoast / RankMath / AIOSEO / SEOPress / The SEO Framework. Schema, AEO, internal linking, broken-link sweep, image-alt automation.
Respira Newsletter
Sync your newsletter list with the Satollo Newsletter plugin. Import subscribers, send via your existing transactional infra, export campaign performance.
Respira for WooCommerce
Order-aware MCP tools, refund flows, stock drift detection, AI product copy with brand guardrails. The reference implementation the SDK was extracted from.
Ship your own.
Plugin + theme developers can publish their own add-ons under any license (MIT / GPL / proprietary). Submit your manifest URL via a GitHub issue on the SDK repo to get listed in the in-plugin marketplace.