home / mcp / absher mcp server

Absher MCP Server

Provides authentication, user data, and government service tools via an MCP server with 8 endpoints.

Installation
Add the following to your MCP client configuration file.

Configuration

View docs
{
  "mcpServers": {
    "ali-bouali-absher-mcp-server": {
      "command": "python",
      "args": [
        "/path/to/mcp-servers/absher_server.py"
      ]
    }
  }
}

The Absher MCP Server is a standalone MCP (Model Context Protocol) server that provides eight tools to handle authentication, user data, and essential government services. It runs locally in a stateless fashion and communicates with MCP clients to perform identity verification, fetch user data, check service requirements, and execute services like passport renewals, traffic fines queries, and appointment bookings.

How to use

You interact with this MCP server through any MCP-compatible client. You start by verifying the user’s identity, then fetch security questions, validate the answers, load the user’s data, choose a service, check what data you must gather, collect missing information, confirm the details, and finally execute the chosen service. All responses come in Arabic with English function names, and the system remains stateless so every request is self-contained.

How to install

# Install dependencies
pip install -r requirements.txt

Additional sections

Configuration and runtime details you need to know: the server is designed to run in Standalone mode for testing and can also be used with any MCP-compatible client. You can configure a local client to connect to the server using a standard stdio transport.

Execution flow and service usage are defined to cover common government interactions. You perform an identity check, answer security questions, load user data, and then proceed to service-specific steps such as gathering required fields, submitting renewals, querying fines, or booking appointments. The flow and required data depend on the chosen service.

Security and test data notes: the server includes mock data for three users with predefined national IDs, names, passports, traffic fines, and security questions. Use these for development and testing to simulate realistic interactions.

Usage example highlights from the authentication and service flow include: verifying national IDs, retrieving security questions, verifying answers, loading user data, obtaining service requirements, collecting missing information, confirming details, and executing the service to receive a result and confirmation.

Important service-specific requirements include the Passport Renewal flow where you must supply personal data from user_data and renewal details from user_input, the Traffic Fines flow which requires the national_id, and the Book Appointment flow which requires service_type, location, and preferred_date from user_input in addition to the national_id.

Files and integration notes

The MCP server is primarily supported through a Python runtime and a set of Python dependencies defined in requirements.txt. It runs as a local process and can be connected to via MCP clients using stdio transport.

Troubleshooting and tips

If you run into connectivity or data-massage issues, verify that the client is using stdio transport and that you are passing the exact command to start the server as shown in the runtime configuration. Ensure the server process is running and the client is configured to send requests in the MCP format.

Security considerations

Because this MCP server handles sensitive identity and government data, ensure you run it in a secure environment and restrict access to authorized MCP clients only. Treat national IDs, security questions, and user data as confidential in your integration and logging.

Available tools

verify_national_id

Check if a national ID exists in the system and return a boolean along with a message.

get_security_questions

Fetch the security questions associated with a national ID to verify identity.

verify_security_answers

Validate the provided answers to the security questions for the given national ID.

get_user_data

Load the complete user profile information including personal details and related data.

get_service_requirements

Return the required fields and data sources for a specified service.

renew_passport

Submit a passport renewal request with user data and renewal details.

get_traffic_fines

Query traffic violations and return a list of fines for the user.

book_appointment

Schedule an appointment for a government office with specified service, location, and date.