SAASH Saudi Government, Business, Workforce & Legal Services | خدمات سعودية للوكلاء
Saudi government, citizen, business, legal and workforce service discovery in Arabic and English.
Should I use this
Quality & Safety
Based on automated analysis of tool definitions and protocol compliance.
Context Cost
This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.
Install
One-Click Install
Add this to your `claude_desktop_config.json` file:
{
"mcpServers": {
"saash-gateway": {
"url": "https://saash-gateway.vercel.app/api/mcp"
}
}
}Remote endpoints
https://saash-gateway.vercel.app/api/mcpstreamable-httphttps://saash-gateway.vercel.app/mcpstreamable-httpWhat it can do
Tool inventory
Tools (4)
🟢saash_gateway_discover
Use this when the user needs to browse SAASH Government, Citizen, Legal, Workforce or Business services before choosing a tool. This is public and read-only.
Input Schema
{
"type": "object",
"properties": {},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢saash_resolve(intent, locale, limit, allow_external_effect, allow_binding_action)
Use this when the user describes a Saudi service goal in Arabic or English and you need a deterministic capability match plus trust, safety and access metadata before invocation. This does not execute the capability.
Input Schema
{
"type": "object",
"properties": {
"intent": {
"type": "string",
"minLength": 2,
"maxLength": 500
},
"locale": {
"default": "auto",
"type": "string",
"enum": [
"ar",
"en",
"auto"
]
},
"limit": {
"default": 5,
"type": "integer",
"minimum": 1,
"maximum": 10
},
"allow_external_effect": {
"default": false,
"type": "boolean"
},
"allow_binding_action": {
"default": false,
"type": "boolean"
}
},
"required": [
"intent"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟡saash_grow_invoke(engine_id, capability_id, payload, request_id, grow_acknowledgement)
Use this only after discovery or resolution identifies a declared non-effect, non-binding GROW capability. It performs a free accountless invocation, records aggregate usage, and returns a single-use receipt for optional experience contribution. Never send secrets, personal data or binding actions.
Input Schema
{
"type": "object",
"properties": {
"engine_id": {
"type": "string",
"pattern": "^[a-z0-9._-]{3,120}$"
},
"capability_id": {
"type": "string",
"minLength": 3,
"maxLength": 160
},
"payload": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
},
"request_id": {
"type": "string",
"minLength": 8,
"maxLength": 160
},
"grow_acknowledgement": {
"type": "object",
"properties": {
"no_secrets": {
"type": "boolean",
"const": true
},
"no_personal_data": {
"type": "boolean",
"const": true
},
"no_external_or_binding_effect": {
"type": "boolean",
"const": true
}
},
"required": [
"no_secrets",
"no_personal_data",
"no_external_or_binding_effect"
],
"additionalProperties": false
}
},
"required": [
"engine_id",
"capability_id",
"payload",
"request_id",
"grow_acknowledgement"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟡saash_grow_share_experience(receipt, experience)
Use this after a successful saash_grow_invoke call when the user explicitly authorizes a revocable, sanitized contribution. Submit exactly one skill item with its single-use receipt; for packages, repeat per item so routing, duplicate detection, independent specialist verification and revocation remain isolated. Never include personal data, credentials, documents, raw captures or executable code.
Input Schema
{
"type": "object",
"properties": {
"receipt": {
"type": "string",
"minLength": 80,
"maxLength": 1400
},
"experience": {
"type": "object",
"properties": {
"protocol_version": {
"type": "string",
"const": "saash.agent-experience.v2"
},
"invocation": {
"type": "object",
"properties": {
"request_id": {
"type": "string",
"minLength": 8,
"maxLength": 160,
"pattern": "^[A-Za-z0-9._:-]+$"
},
"engine_id": {
"type": "string",
"minLength": 3,
"maxLength": 160,
"pattern": "^[a-z][a-z0-9._-]+$"
},
"capability_id": {
"type": "string",
"minLength": 3,
"maxLength": 160,
"pattern": "^[a-z][a-z0-9._-]+$"
}
},
"required": [
"request_id",
"engine_id",
"capability_id"
],
"additionalProperties": false
},
"consent": {
"type": "object",
"properties": {
"user_informed": {
"type": "boolean",
"const": true
},
"share_authorized": {
"type": "boolean",
"const": true
},
"scope": {
"type": "string",
"const": "GENERALIZED_REUSABLE_EXPERIENCE"
},
"revocable": {
"type": "boolean",
"const": true
}
},
"required": [
"user_informed",
"share_authorized",
"scope",
"revocable"
],
"additionalProperties": false
},
"skill": {
"type": "object",
"properties": {
"skill_id": {
"type": "string",
"minLength": 3,
"maxLength": 160,
"pattern": "^[a-z][a-z0-9._-]+$"
},
"capability_id": {
"type": "string",
"minLength": 3,
"maxLength": 160,
"pattern": "^[a-z][a-z0-9._-]+$"
},
"engine_id": {
"type": "string",
"minLength": 3,
"maxLength": 160,
"pattern": "^[a-z][a-z0-9._-]+$"
},
"kind": {
"type": "string",
"enum": [
"EXECUTION",
"PLATFORM_INTERACTION",
"RESEARCH",
"PROFESSIONAL_KNOWLEDGE",
"DOCUMENT",
"ORGANIZATION",
"WORKFLOW",
"SCHEDULING",
"ANALYSIS",
"INTEGRATION",
"RELIABILITY"
]
},
"name_ar": {
"type": "string",
"minLength": 3,
"maxLength": 240
},
"name_en": {
"type": "string",
"minLength": 3,
"maxLength": 240
},
"description_ar": {
"type": "string",
"minLength": 3,
"maxLength": 240
},
"description_en": {
"type": "string",
"minLength": 3,
"maxLength": 240
}
},
"required": [
"skill_id",
"capability_id",
"engine_id",
"kind",
"name_ar",
"name_en",
"description_ar",
"description_en"
],
"additionalProperties": false
},
"experience": {
"type": "object",
"properties": {
"experience_group_id": {
"type": "string",
"minLength": 3,
"maxLength": 160,
"pattern": "^[a-z][a-z0-9._-]+$"
},
"evidence_mode": {
"type": "string",
"enum": [
"SYNTHETIC",
"SANITIZED_REAL"
]
},
"outcome": {
"type": "string",
"enum": [
"SIMULATED_SUCCESS",
"VERIFIED_SUCCESS"
]
},
"external_effect": {
"type": "boolean",
"const": false
},
"binding_action": {
"type": "boolean",
"const": false
},
"reusable_steps": {
"minItems": 2,
"maxItems": 30,
"type": "array",
"items": {
"type": "object",
"properties": {
"step_id": {
"type": "string",
"minLength": 3,
"maxLength": 160,
"pattern": "^[a-z][a-z0-9._-]+$"
},
"kind": {
"type": "string",
"enum": [
"DISCOVER",
"NAVIGATE",
"INPUT",
"DECIDE",
"TRANSFORM",
"VERIFY",
"HANDOFF"
]
}
},
"required": [
"step_id",
"kind"
],
"additionalProperties": false
}
},
"required_inputs": {
"minItems": 1,
"maxItems": 20,
"type": "array",
"items": {
"type": "string",
"pattern": "^[a-z][a-z0-9_]{2,63}$"
}
}
},
"required": [
"experience_group_id",
"evidence_mode",
"outcome",
"external_effect",
"binding_action",
"reusable_steps",
"required_inputs"
],
"additionalProperties": false
},
"privacy": {
"type": "object",
"properties": {
"sanitized": {
"type": "boolean",
"const": true
},
"user_data_included": {
"type": "boolean",
"const": false
},
"credentials_included": {
"type": "boolean",
"const": false
},
"personal_content_included": {
"type": "boolean",
"const": false
},
"raw_capture_included": {
"type": "boolean",
"const": false
}
},
"required": [
"sanitized",
"user_data_included",
"credentials_included",
"personal_content_included",
"raw_capture_included"
],
"additionalProperties": false
},
"source_agent": {
"type": "object",
"properties": {
"instance_ref": {
"type": "string",
"minLength": 3,
"maxLength": 160,
"pattern": "^[a-z][a-z0-9._-]+$"
},
"provider_family": {
"type": "string",
"minLength": 3,
"maxLength": 160,
"pattern": "^[a-z][a-z0-9._-]+$"
}
},
"required": [
"instance_ref",
"provider_family"
],
"additionalProperties": false
}
},
"required": [
"protocol_version",
"invocation",
"consent",
"skill",
"experience",
"privacy",
"source_agent"
],
"additionalProperties": false
}
},
"required": [
"receipt",
"experience"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}Community
Evidence