0tokens

Apply for AI Grants India

Financial support for innovators building the future of AI in India.

Apply now

Chat · how to create a webmcp tool for agents to search for scholarship portals in west bengal

How to Create a WebMCP Tool for Agents to Search Scholarship Portals in West Bengal

  1. aigi

    AI agents can help students find scholarships faster—but only when they can access reliable, structured information. A WebMCP tool can expose a controlled search capability that enables an agent to discover scholarship portals, filter opportunities for students in West Bengal, and return source-backed results without relying on unverified web summaries.

    This guide explains how to create a WebMCP tool for agents to search for scholarship portals in West Bengal. It focuses on tool design, data quality, security, India-specific scholarship workflows, and implementation patterns that can be adapted to a browser-based or server-backed WebMCP environment.

    What Is WebMCP?

    WebMCP is a tool interface that allows an AI agent to invoke capabilities available through the web. Instead of asking a model to guess which scholarships exist, you expose a typed function such as search_scholarship_portals.

    The tool accepts structured inputs—for example, study level, domicile, category, income ceiling, district, and application status—and returns structured records with names, URLs, deadlines, eligibility notes, and verification timestamps.

    A useful WebMCP tool should be:

    • Narrowly scoped: Search scholarship portals and programmes, not arbitrary websites.
    • Machine-readable: Use predictable JSON schemas and enumerated values.
    • Source-backed: Return official URLs and retrieval timestamps.
    • Safe: Never submit applications, upload documents, or make eligibility decisions automatically.
    • India-aware: Handle state domicile, caste certificates, income certificates, minority status, disability certificates, and academic stages correctly.

    Define the User Problem Before Writing Code

    The phrase “scholarship portals in West Bengal” can refer to several different needs. A student may be looking for:

    • West Bengal government scholarship schemes.
    • Central government scholarships available to West Bengal residents.
    • University or college scholarships.
    • Minority, SC, ST, OBC, EWS, disability, or merit-based support.
    • Scholarships for school, undergraduate, postgraduate, vocational, or professional study.
    • A portal that is currently open for applications rather than a general information page.

    Your first design decision is whether the tool searches portals or individual scholarship programmes. A portal is a platform such as a state or national application system. A programme is a specific award with its own eligibility and deadline. In practice, return both where possible:

    {
      "portal_name": "Example Scholarship Portal",
      "programme_name": "Example Post-Matric Scholarship",
      "scope": "West Bengal residents",
      "official_url": "https://example.gov.in/",
      "application_url": "https://example.gov.in/apply",
      "status": "open",
      "last_verified": "2026-09-03"
    }

    Do not claim that a student is definitely eligible. The tool should identify potentially relevant opportunities and explain which official criteria the student must verify.

    Recommended Tool Architecture

    A reliable architecture has five layers:

    1. Source registry: A maintained list of official government, university, and recognised institutional portals.
    2. Fetcher or indexer: A process that retrieves public pages, feeds, APIs, or manually verified records.
    3. Normalisation layer: Converts different page formats into one scholarship schema.
    4. Search service: Applies filters and ranking to structured records.
    5. WebMCP wrapper: Exposes a safe function that agents can call.

    For a small project, the source registry and database can be a single PostgreSQL table. For a production service, use a scheduled crawler or ingestion pipeline, a search index such as OpenSearch or PostgreSQL full-text search, and an audit table recording every source update.

    A practical record model includes:

    id
    portal_name
    programme_name
    state_scope
    district_scope
    study_levels
    categories
    income_limit
    residency_requirement
    institution_types
    application_status
    opening_date
    closing_date
    official_url
    application_url
    source_type
    last_verified
    verification_notes

    Keep official_url separate from application_url. Students should be able to distinguish an official information page from a login or application endpoint.

    Design the WebMCP Input Schema

    Use explicit fields instead of a single natural-language query. This improves validation, predictable retrieval, and agent reliability.

    Example input schema:

    {
      "type": "object",
      "properties": {
        "query": { "type": "string", "maxLength": 200 },
        "study_level": {
          "type": "string",
          "enum": ["school", "post_matric", "undergraduate", "postgraduate", "professional", "vocational", "any"]
        },
        "district": { "type": "string", "maxLength": 80 },
        "category": {
          "type": "string",
          "enum": ["general", "sc", "st", "obc", "minority", "ews", "person_with_disability", "any"]
        },
        "income_ceiling_inr": { "type": "integer", "minimum": 0 },
        "only_open": { "type": "boolean", "default": true },
        "limit": { "type": "integer", "minimum": 1, "maximum": 20, "default": 10 }
      },
      "additionalProperties": false
    }

    The query field is useful for names such as “minority scholarship” or “engineering scholarship,” but structured filters should control eligibility-related searches. Avoid accepting sensitive identity documents, Aadhaar numbers, bank details, passwords, or exact certificate numbers.

    Build a West Bengal Scholarship Source Registry

    Start with sources that students can independently verify. Prioritise official government domains, recognised educational institutions, and clearly identified public agencies. Potential source categories include:

    • West Bengal government department scholarship pages.
    • The state’s official education or scholarship application systems.
    • The National Scholarship Portal for centrally supported schemes.
    • University and college financial-aid pages.
    • District administration pages when they publish local schemes.
    • Recognised boards, councils, and statutory education bodies.

    Do not treat every search result as a trusted source. Record the domain, organisation, scope, contact details, and verification method for each source. A registry entry may look like this:

    {
      "domain": "official.example.gov.in",
      "organisation": "Example Department",
      "source_type": "government",
      "allowed_paths": ["/scholarship", "/notice"],
      "requires_manual_review": true,
      "last_checked": "2026-09-03"
    }

    Government portals can change URLs, deadlines, and eligibility rules. Add a freshness policy: for example, mark records as stale after 30 days and exclude them from “open now” results until reviewed.

    Implement Search and Ranking

    A simple search pipeline should apply filters in this order:

    1. Validate the request.
    2. Restrict records to trusted sources.
    3. Filter by state or West Bengal availability.
    4. Filter by study level, category, district, and income where data is available.
    5. Filter by application status and deadline.
    6. Rank by relevance, source authority, freshness, and deadline proximity.
    7. Return a small number of results with evidence.

    Illustrative pseudocode:

    def search_scholarship_portals(request):
        validate(request)
    
        records = trusted_records()
        records = [r for r in records if serves_west_bengal(r)]
    
        if request.get("study_level") not in (None, "any"):
            records = [r for r in records if request["study_level"] in r["study_levels"]]
    
        if request.get("category") not in (None, "any"):
            records = [r for r in records if request["category"] in r["categories"]]
    
        if request.get("only_open", True):
            records = [r for r in records if r["application_status"] == "open"]
    
        records = rank(records, query=request.get("query"))
        return records[:request.get("limit", 10)]

    Missing data must not be interpreted as eligibility. Use values such as unknown, not_published, or not_applicable instead of assuming that a scheme is open to everyone.

    Define a Useful Output Schema

    Agents need compact results that can be cited and explained. Return an array of results plus warnings and metadata:

    {
      "results": [
        {
          "portal_name": "Example Portal",
          "programme_name": "Example Scholarship",
          "eligibility_summary": "For eligible students studying in West Bengal; verify category and income rules on the official page.",
          "study_levels": ["post_matric", "undergraduate"],
          "application_status": "open",
          "closing_date": "2026-10-15",
          "official_url": "https://official.example.gov.in/info",
          "application_url": "https://official.example.gov.in/apply",
          "last_verified": "2026-09-03",
          "confidence": "high"
        }
      ],
      "warnings": [
        "Deadlines and eligibility rules can change; confirm them on the official portal before applying."
      ],
      "retrieved_at": "2026-09-03T10:00:00Z"
    }

    Every result should include a direct source. Avoid returning scraped snippets without context. If a page is inaccessible or a deadline cannot be verified, state that explicitly.

    Connect the Tool to a WebMCP Interface

    The exact registration syntax depends on the WebMCP implementation you are using, but the interface should expose three things:

    • A stable tool name, such as search_scholarship_portals.
    • A JSON input schema.
    • A handler that returns schema-conforming JSON.

    Conceptually:

    registerTool({
      name: "search_scholarship_portals",
      description: "Find verified scholarship portals and programmes available to students in West Bengal.",
      inputSchema: westBengalScholarshipSchema,
      handler: async (input, context) => {
        const cleanInput = validateAndSanitise(input);
        return await scholarshipSearch(cleanInput, context);
      }
    });

    The description should tell the agent what the tool can and cannot do. Include constraints such as “returns information only,” “does not submit applications,” and “use official links for final verification.” This reduces unsafe tool calls and misleading answers.

    Security, Privacy, and Abuse Controls

    Scholarship searches may involve sensitive attributes. Build privacy protections from the beginning:

    • Do not collect Aadhaar numbers, passwords, bank account details, or uploaded certificates.
    • Minimise logs; do not store raw personal profiles unless necessary.
    • Rate-limit requests and cache public results.
    • Restrict fetching to allow-listed domains and paths.
    • Defend against prompt injection in scraped pages; treat page text as untrusted data.
    • Escape URLs and text before displaying them in a client.
    • Prevent server-side request forgery by blocking private network addresses.
    • Use HTTPS and rotate API keys or credentials.
    • Require human confirmation before any future action that could submit data.

    If your tool uses an LLM to extract fields from web pages, validate the extracted deadline, domain, and eligibility values against deterministic rules. An LLM should assist extraction, not be the final authority for dates or eligibility.

    Testing the Scholarship Search Tool

    Create a test suite using realistic West Bengal queries. Include both successful and adversarial cases:

    • “Open undergraduate scholarships for West Bengal students.”
    • “Post-matric scholarships for SC students in Nadia district.”
    • “Minority scholarship with income limit below ₹2 lakh.”
    • Empty query with only_open=true.
    • An unsupported category or invalid study level.
    • A request containing an Aadhaar number.
    • A portal whose deadline has expired.
    • A source page with contradictory dates.
    • A malicious page instructing the agent to ignore tool rules.

    Measure more than HTTP success. Track precision of relevant results, source validity, freshness, deadline accuracy, schema compliance, latency, and refusal quality. A search tool that returns ten plausible but outdated links is worse than one that returns three current, verifiable opportunities.

    Improve Agent Instructions and User Experience

    Give the agent a short operating policy:

    • Ask for missing filters only when they materially improve results.
    • Never infer eligibility from caste, income, residence, or disability information alone.
    • Explain that official rules control.
    • Show deadlines with an explicit date and timezone when available.
    • Prefer application links that belong to the verified source domain.
    • Tell the student which documents may commonly be required, while warning that requirements vary.

    For Indian users, the interface should support rupee amounts, Indian date formats where appropriate, English and Bengali labels, and district names with normalised spelling. Do not silently translate official scheme names if doing so could make portal discovery harder; show the original name alongside a plain-language explanation.

    Deployment and Maintenance Checklist

    Before publishing the WebMCP tool, confirm that:

    • The tool name and schema are stable.
    • Only trusted domains are indexed.
    • Every result has an official source URL.
    • Open/closed status is based on a documented freshness rule.
    • Deadlines are stored as dates, not ambiguous text.
    • Sensitive personal data is rejected and not logged.
    • Crawling respects robots.txt, terms, access limits, and applicable law.
    • Monitoring alerts you when a source disappears or changes structure.
    • A human review process exists for high-impact changes.
    • The tool clearly states that it is a discovery assistant, not an application authority.

    Review the source registry before major scholarship seasons and after government portals announce new cycles. Keep historical records so users can understand when a deadline or eligibility field was last verified.

    FAQ

    Can a WebMCP tool submit scholarship applications?

    It should not by default. A search tool should discover and explain opportunities, then send the user to the official portal. Application submission involves sensitive documents, consent, and irreversible actions.

    Should I search Google directly from the tool?

    Use a curated source registry first. General search can help discover new sources, but results must be verified before being presented as official scholarship portals.

    How often should West Bengal scholarship data be updated?

    Check open schemes frequently during application seasons and use a stale-data flag. The correct interval depends on the source, but every result should show a verification date.

    Can the tool decide whether a student qualifies?

    No. It can apply published filters and identify potentially relevant schemes. Final eligibility depends on official rules, documents, institution status, and verification by the scholarship authority.

    Apply for AI Grants India

    If you are an Indian AI founder building a scholarship discovery agent, WebMCP integration, or trustworthy education-access product, apply through AI Grants India. Share your technical approach, target users, and impact plan to explore support for building and deploying responsible AI in India.

AIGI may be inaccurate. Replies seeded from the guide above.