Developers
The whole catalogue is available as a JSON API, ready for an MCP server or any other client. Add ?lang=ar for Arabic.
| Method | Path | What it does |
|---|---|---|
| GET | /api/entity | The entity: name, contact, news |
| GET | /api/categories | Service categories |
| GET | /api/services?q=&category=&audience=&lang= | List or search services |
| GET | /api/services/{id} | One service, with its application form |
| POST | /api/applications | Submit a mock application as the signed-in person (bearer token) |
| GET | /api/applications/{reference} | Track one of your applications (bearer token) |
| GET | /api/applications | Your applications (bearer token) |
| POST | /api/applications/{reference}/advance | Move one of your applications to its next status (demo, bearer token) |
| GET | /api/openapi.json | OpenAPI 3.1 description of all of the above |
POST /api/applications
{
"serviceId": "event-permit",
"answers": {
"eventName": "Neighbourhood market",
"startDate": "2026-12-05",
"days": 2,
"attendance": 300,
"venue": "Community park"
}
}
MCP server
The same services and applications are available to AI assistants as an MCP server (Streamable HTTP). Add this address as a custom connector in Claude; it asks you to sign in:
https://test.autowork.ae/mcp
| Tool | What it does |
|---|---|
| search_services | Find Demo Services Authority services by words in English or Arabic, optionally by category or audience. An empty query lists every service. |
| get_service | One service in full: description, who can apply, documents, steps, fee, time, channels, FAQs, and the form fields submit_application needs. |
| list_categories | The service categories, for filtering search_services. |
| get_entity_info | The Demo Services Authority itself: name, contact details, working hours and news. |
| get_my_profile | The person signed in to the portal: name, email, mobile and how they signed in (UAE PASS or the demo sign-in). Applications are made in their name. |
| submit_application | Submit a mock application for a service, in the signed-in person's name. answers needs one value per field in the service's form (see get_service). mobile is only needed when the profile has none. Returns the reference number, or the fields to correct. |
| track_application | The status and history of one of the signed-in person's applications, by its reference number. In this demo an application moves to review after a minute and is decided a few minutes later. |
| list_my_applications | Every application the signed-in person has made, newest first. |
| advance_application | Move one of the signed-in person's applications to its next status now, standing in for a staff decision so a demo need not wait. |
In Claude Code, add it with this command. Either way the assistant asks you to sign in to the portal first.
claude mcp add --transport http demo-services-authority https://test.autowork.ae/mcp