Wathba agent plugin

MCP serverCommunication

Saudi payments, OTP/SMS, KYC, ZATCA e-invoicing and shipping for AI coding agents.

Available today. Use it from your connected AI after setup.

Add ahel to your AI once: Claude, ChatGPT, Cursor, Claude Code or Codex. Then ask it to use this.

Then ask your AI: use Wathba agent plugin

Install Wathba agent plugin

The server’s own address, for the clients that take one directly. Or connect ahel once and every client you use reads it from one address, with the account kept on ahel rather than in each client’s config.

  • Claude Code

    claude mcp add --transport http --scope user wathba-agent-plugin 'https://api.wathba.info/mcp'

    Run it once in your project, then open /mcp to approve any sign-in the server asks for.

  • Claude Desktop

    https://api.wathba.info/mcp

    Add a custom connector in Settings, paste this address, and approve the sign-in.

  • Cursor

    cursor://anysphere.cursor-deeplink/mcp/install?name=wathba-agent-plugin&config=eyJ1cmwiOiJodHRwczovL2FwaS53YXRoYmEuaW5mby9tY3AifQ==

    Open the link and Cursor adds the server at that address.

  • ChatGPT

    https://api.wathba.info/mcp

    In Settings, enable Developer mode, create an MCP app, and paste this address. Your plan and workspace must allow custom apps.

  • Codex

    codex mcp add wathba-agent-plugin --url 'https://api.wathba.info/mcp'

    Run it once, then sign in with codex mcp login wathba-agent-plugin if the server asks for an account.

From the project's README

As published by wathba-org/wathba-plugin in README.md.

The official Wathba (وثبة) plugin for AI coding agents. It connects Codex, the ChatGPT desktop app, Claude Code and other Agent Plugins clients to Wathba's hosted MCP server, and adds one short skill that tells the agent how to use it. Payments, OTP/SMS, KYC, ZATCA e-invoicing and shipping reach your app through Wathba; the plugin never handles API keys, and members sign in through the browser (OAuth).

EnvironmentBranchInstall idMCP server
Productionmainwathba@wathbahttps://api.wathba.info/mcp
Developmentdevwathba-dev@wathba-developmenthttps://apidev.wathba.info/mcp

Install

Claude Code

/plugin marketplace add wathba-org/wathba-plugin
/plugin install wathba@wathba

For the development environment, add wathba-org/wathba-plugin#dev and install wathba-dev@wathba-development. Then run /mcp, choose the Wathba server and sign in. To get updates automatically, open /plugin, go to Marketplaces, select the marketplace and choose Enable auto-update.

Codex and the ChatGPT desktop app

codex plugin marketplace add wathba-org/wathba-plugin
codex plugin add wathba@wathba

For the development environment, add --ref dev and install wathba-dev@wathba-development. Installing from the app's Plugins page starts sign-in; in a terminal, run codex mcp login wathba (or wathba-dev). Codex checks the marketplace for updates when it starts.

Any other MCP client

Add the remote MCP server URL from the table above with the Streamable HTTP transport; the client discovers Wathba's OAuth settings on its own. Claude (web, Desktop and Cowork) and ChatGPT take it as a custom connector. Use either the plugin or a direct connection, not both, or every Wathba tool appears twice.

How this repository works

Nothing under plugins/, .claude-plugin/, .agents/ or contract.json is edited by hand. They are generated from two sources:

  • plugin.config.json: identities, origins, version, branding and listing text.
  • src/: the shared skill (src/skills/wathba/SKILL.md), the icon, and the README for the dev branch.

scripts/sync.mjs builds one marketplace per environment and enforces the packaging rules: identities, paths, one MCP server per package with no headers or scopes, environment isolation, no credentials, the skill's tool list, and the icon hash.

WorkflowWhenWhat it does
validateEvery PR, push to main, weeklyGenerator rules, version rule, then installs both builds into throwaway Claude Code and Codex homes, then checks the live OAuth metadata
publish-devPush to mainBuilds the development marketplace, verifies it, and publishes it to the dev branch
driftDailyChecks both environments' live OAuth metadata and opens an issue when it stops matching
releasev* tag on mainGitHub release with the plugin ZIP, then the MCP Registry entry

The packages carry no scopes. The Wathba server decides the grant: every connection gets full agent access, and the consent page shows exactly what that allows.

Change the plugin

  1. Edit plugin.config.json or src/.
  2. Run node scripts/sync.mjs check.
  3. If the production package changes, raise version in plugin.config.json. CI refuses a changed package with the same version, because Claude Code updates only when the version changes.
  4. Open a pull request. Every change here reaches members' agents, so the owner's review is required.

contract.json lists the Wathba tools the skill names. The platform's CI reads it and fails a backend change that would remove or rename one of them.

Release production

  1. Merge the change (with its higher version) to main. Plugin installs pick it up from main.
  2. Tag the merge commit v<version> and push the tag. release.yml checks that the tag, config and package agree, attaches the plugin ZIP, server.json and checksums to a GitHub release, then publishes server.json to the official MCP Registry after the owner approves the registry environment.

listing/ holds the material for the Anthropic and OpenAI directories.

Acceptance

docs/acceptance/ records the real host journeys (sign-in, reads, project creation, replay, recovery, update, rollback). A host is listed as supported only after a recorded run.

License

Apache-2.0

Signals

Last commit
Oct 2026
Advanced
Delivery
wathba MCP server → your ahel connector (mcp.ahel.ai) → your AI.
Item type
mcp-server
Key
io-github-wathba-org-wathba
Source
github.com/wathba-org/wathba-plugin
Hosted endpoint
https://api.wathba.info/mcp