← WebMCP Directory

Tool tree

webmcp-cpgrams-simulation.vercel.app

Developer ToolsTools verified
Website
A WebMCP-powered public grievance sandbox: your own browser agent helps you file, track, remind, rate and appeal grievances through structured tools and human-controlled actions. Simulation,…
Explore capabilities
    get_app_stateAnswer

    Snapshot of the citizen's case workspace: current screen, language, case counts by status, which cases need attention today (SLA overdue / unrated / appeal-eligible), and which write actions are currently available. Start here. Returns JSON {ok, speakable, data:{view, lang, counts, attention:[{regId,subject,why}], can:{...}}, nextActions}. Read-only.

    View tool JSON
    {
      "name": "get_app_state",
      "kind": "answer",
      "impl": "imperative",
      "description": "Snapshot of the citizen's case workspace: current screen, language, case counts by status, which cases need attention today (SLA overdue / unrated / appeal-eligible), and which write actions are currently available. Start here. Returns JSON {ok, speakable, data:{view, lang, counts, attention:[{regId,subject,why}], can:{...}}, nextActions}. Read-only.",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false
      }
    }
    list_grievance_categoriesAnswer

    Categories this simulation accepts, routed to Central Ministries/Departments (Railways, EPFO, Health, Education, Power, Consumer Affairs) with a 21-day redressal target. Titles return in ONE locale (default en; pass lang:'hi' for Hindi). Use before filing so category ids are valid. Returns JSON {ok, speakable, data:{categories:[{id,title,ministry,needsEvidence}],redressalTargetDays}, nextActions}. Read-only.

    View tool JSON
    {
      "name": "list_grievance_categories",
      "kind": "answer",
      "impl": "imperative",
      "description": "Categories this simulation accepts, routed to Central Ministries/Departments (Railways, EPFO, Health, Education, Power, Consumer Affairs) with a 21-day redressal target. Titles return in ONE locale (default en; pass lang:'hi' for Hindi). Use before filing so category ids are valid. Returns JSON {ok, speakable, data:{categories:[{id,title,ministry,needsEvidence}],redressalTargetDays}, nextActions}. Read-only.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "lang": {
            "type": "string",
            "enum": [
              "en",
              "hi"
            ],
            "description": "Locale for category titles; default en."
          }
        },
        "additionalProperties": false
      }
    }
    get_grievance_detailsAnswer

    Full record of one grievance by registration ID (e.g. PG-26-03877): subject, description, relief requested, ministry, status, evidence list, interim reply, reminders, disposal, rating, appeal, and the movement timeline. Input: {grievanceId}. Returns JSON {ok, speakable, data:{grievance}, nextActions}. Read-only.

    View tool JSON
    {
      "name": "get_grievance_details",
      "kind": "answer",
      "impl": "imperative",
      "description": "Full record of one grievance by registration ID (e.g. PG-26-03877): subject, description, relief requested, ministry, status, evidence list, interim reply, reminders, disposal, rating, appeal, and the movement timeline. Input: {grievanceId}. Returns JSON {ok, speakable, data:{grievance}, nextActions}. Read-only.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "grievanceId": {
            "type": "string",
            "description": "Registration ID (PG-26-XXXXX) or internal id."
          }
        },
        "required": [
          "grievanceId"
        ],
        "additionalProperties": false
      }
    }
    get_sla_statusAnswer

    SLA picture for one grievance (input {grievanceId}) or ALL of the citizen's cases (no input): days elapsed vs the 21-day target, whether an interim reply exists, and the honest next action (wait / remind / rate / appeal). This answers 'which grievance needs attention today?'. Returns JSON {ok, speakable, data:{cases:[{regId,subject,phase,daysElapsed,target,needsAttention,reason,eligibleActions}]}}. Read-only.

    View tool JSON
    {
      "name": "get_sla_status",
      "kind": "answer",
      "impl": "imperative",
      "description": "SLA picture for one grievance (input {grievanceId}) or ALL of the citizen's cases (no input): days elapsed vs the 21-day target, whether an interim reply exists, and the honest next action (wait / remind / rate / appeal). This answers 'which grievance needs attention today?'. Returns JSON {ok, speakable, data:{cases:[{regId,subject,phase,daysElapsed,target,needsAttention,reason,eligibleActions}]}}. Read-only.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "grievanceId": {
            "type": "string",
            "description": "Optional: one registration ID; omit to survey all cases."
          }
        },
        "additionalProperties": false
      }
    }
    get_kb_answerAnswer

    Plain-language answers about grievance process rules in this simulation: the 21-day target, interim replies, reminders, rating & appeals, exclusions, and the simulation's honesty policy. Input {question}. Returns JSON {ok, speakable, data:{answer, topic}, nextActions}. Read-only.

    View tool JSON
    {
      "name": "get_kb_answer",
      "kind": "answer",
      "impl": "imperative",
      "description": "Plain-language answers about grievance process rules in this simulation: the 21-day target, interim replies, reminders, rating & appeals, exclusions, and the simulation's honesty policy. Input {question}. Returns JSON {ok, speakable, data:{answer, topic}, nextActions}. Read-only.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "question": {
            "type": "string",
            "description": "The citizen's process question, 6–300 chars."
          }
        },
        "required": [
          "question"
        ],
        "additionalProperties": false
      }
    }
    check_duplicate_grievancesAnswer

    Before filing, check whether the citizen already has a similar open grievance (input {keywords, optional categoryId}). Avoids duplicate filings. Returns JSON {ok, speakable, data:{matches:[{regId,subject,status}]}}. Read-only.

    View tool JSON
    {
      "name": "check_duplicate_grievances",
      "kind": "answer",
      "impl": "imperative",
      "description": "Before filing, check whether the citizen already has a similar open grievance (input {keywords, optional categoryId}). Avoids duplicate filings. Returns JSON {ok, speakable, data:{matches:[{regId,subject,status}]}}. Read-only.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "keywords": {
            "type": "string",
            "description": "Key terms of the new issue, e.g. 'EPF withdrawal stuck'."
          },
          "categoryId": {
            "type": "string",
            "description": "Optional category id from list_grievance_categories."
          }
        },
        "required": [
          "keywords"
        ],
        "additionalProperties": false
      }
    }
    set_voice_modeAction

    Turn the portal's voice narration on or off (input {enabled: boolean}). When on, the page SPEAKS key citizen moments aloud in their language — the registration ID after filing, approval prompts, reminders, ratings, appeals — alongside the screen-reader live announcements that stay active either way. Use for citizens who prefer listening. Reversible preference, no confirmation needed. Returns JSON {ok, speakable, data:{voiceMode}}.

    View tool JSON
    {
      "name": "set_voice_mode",
      "kind": "act",
      "impl": "imperative",
      "description": "Turn the portal's voice narration on or off (input {enabled: boolean}). When on, the page SPEAKS key citizen moments aloud in their language — the registration ID after filing, approval prompts, reminders, ratings, appeals — alongside the screen-reader live announcements that stay active either way. Use for citizens who prefer listening. Reversible preference, no confirmation needed. Returns JSON {ok, speakable, data:{voiceMode}}.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "enabled": {
            "type": "boolean",
            "description": "true to enable page narration, false to disable."
          }
        },
        "required": [
          "enabled"
        ],
        "additionalProperties": false
      }
    }
    create_grievance_draftAction

    Prepare a structured grievance draft for the citizen to review (no submission happens). Input {categoryId, subject (8-120), description (20-1200), reliefRequested (4-300)}. Get category ids from list_grievance_categories. The draft appears on the portal for the citizen to edit and confirm. Returns JSON {ok, speakable, data:{draft}, nextActions}. Reversible — no confirmation needed.

    View tool JSON
    {
      "name": "create_grievance_draft",
      "kind": "act",
      "impl": "imperative",
      "description": "Prepare a structured grievance draft for the citizen to review (no submission happens). Input {categoryId, subject (8-120), description (20-1200), reliefRequested (4-300)}. Get category ids from list_grievance_categories. The draft appears on the portal for the citizen to edit and confirm. Returns JSON {ok, speakable, data:{draft}, nextActions}. Reversible — no confirmation needed.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "categoryId": {
            "type": "string",
            "description": "Category id from list_grievance_categories."
          },
          "subject": {
            "type": "string",
            "description": "Short headline, 8–120 chars."
          },
          "description": {
            "type": "string",
            "description": "Facts of the case, 20–1200 chars. No sensitive IDs or passwords."
          },
          "reliefRequested": {
            "type": "string",
            "description": "The specific outcome wanted, 4–300 chars."
          }
        },
        "required": [
          "categoryId",
          "subject",
          "description",
          "reliefRequested"
        ],
        "additionalProperties": false
      }
    }
    send_reminderSensitive Action

    Send a Reminder on a pending grievance past its 21-day target (C5). CONSEQUENTIAL: the citizen confirms in the page first (first call returns CONFIRMATION_REQUIRED; retry identical arguments after approval). Input {grievanceId}. At most one reminder per 7 days per case. Returns JSON {ok, speakable, data:{regId,reminders}}.

    View tool JSON
    {
      "name": "send_reminder",
      "kind": "transact",
      "impl": "imperative",
      "description": "Send a Reminder on a pending grievance past its 21-day target (C5). CONSEQUENTIAL: the citizen confirms in the page first (first call returns CONFIRMATION_REQUIRED; retry identical arguments after approval). Input {grievanceId}. At most one reminder per 7 days per case. Returns JSON {ok, speakable, data:{regId,reminders}}.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "grievanceId": {
            "type": "string",
            "description": "Registration ID (PG-26-XXXXX)."
          }
        },
        "required": [
          "grievanceId"
        ],
        "additionalProperties": false
      }
    }
    rate_disposalAction

    Record the citizen's feedback on a disposed grievance (C6). CONSEQUENTIAL: confirm with the citizen first (first call returns CONFIRMATION_REQUIRED; retry identical arguments after approval). Input {grievanceId, rating: Satisfactory|Average|Poor}. A Poor rating opens the 30-day appeal window — after which create_appeal_draft becomes available. Returns JSON {ok, speakable, data:{regId,rating}}.

    View tool JSON
    {
      "name": "rate_disposal",
      "kind": "act",
      "impl": "imperative",
      "description": "Record the citizen's feedback on a disposed grievance (C6). CONSEQUENTIAL: confirm with the citizen first (first call returns CONFIRMATION_REQUIRED; retry identical arguments after approval). Input {grievanceId, rating: Satisfactory|Average|Poor}. A Poor rating opens the 30-day appeal window — after which create_appeal_draft becomes available. Returns JSON {ok, speakable, data:{regId,rating}}.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "grievanceId": {
            "type": "string",
            "description": "Registration ID (PG-26-XXXXX)."
          },
          "rating": {
            "type": "string",
            "enum": [
              "Satisfactory",
              "Average",
              "Poor"
            ],
            "description": "The citizen's satisfaction with the disposal."
          }
        },
        "required": [
          "grievanceId",
          "rating"
        ],
        "additionalProperties": false
      }
    }