Serveur MCP

VA Heroes PH — From Zero to Hero | Become a Virtual Assistant

io.github.janoliverautomation-stack/vaheroesph-com
Éducation Public et accessible MCP 2025-11-25

Ce que fait ce MCP

Provides information about virtual-assistant training paths, career tracks, application details, and applicant FAQs.

get_hero_path
Get a Hero Path
Retrieve the full published detail of one VA Heroes PH Hero Path, identified by its slug (for example 'general-va'), so an agent can explain that specific track to a visitor. Use it after get_hero_paths when the user asks about one track — what it covers, who it suits, or where to read more. Requires 'slug': the exact lowercase slug of an existing path; an unknown or misspelled slug returns a NOT_FOUND error that lists the valid slugs. Returns one record with slug, name, label, tagline, description, intro, highlights, type, featured, externalUrl and canonical url. It does NOT return pricing, schedules, enrolment or applicant data, and it cannot submit an application.
Lecture seule Idempotent
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['slug'], 'properties': {'slug': {'type': 'string', 'pattern': '^[A-Za-z0-9-]+$', 'maxLength': 64, 'minLength': 1, 'description': "Required. Slug of an existing Hero Path, e.g. 'general-va'."}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['slug', 'name', 'label', 'tagline', 'description', 'intro', 'highlights', 'type', 'featured', 'externalUrl', 'url'], 'properties': {'url': {'type': 'string', 'description': 'Absolute canonical URL of the Hero Path page.'}, 'name': {'type': 'string', 'description': 'Display name of the Hero Path.'}, 'slug': {'type': 'string', 'description': "URL slug identifying the Hero Path, e.g. 'general-va'."}, 'type': {'enum': ['training', 'sales'], 'type': 'string', 'description': "'training' for VA training paths, 'sales' for the Loan Officer career path."}, 'intro': {'type': 'string', 'description': 'Longer introduction shown on the path page.'}, 'label': {'type': ['string', 'null'], 'description': 'Short badge label, null when the path has none.'}, 'tagline': {'type': 'string', 'description': 'One-line summary shown on the path card.'}, 'featured': {'type': 'boolean', 'description': 'True for the highlighted starter path.'}, 'highlights': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Key learning or role highlights.'}, 'description': {'type': 'string', 'description': 'Short description used in listings.'}, 'externalUrl': {'type': ['string', 'null'], 'description': 'External program website, null when none exists.'}}, 'additionalProperties': False}
get_hero_paths
List Hero Paths
Retrieve every publicly published VA Heroes PH Hero Path — the career and training tracks a Filipino virtual assistant can start with or specialise in — so an agent can help a visitor identify a suitable path. Use it when someone asks what programs, tracks, specialisations or career options VA Heroes PH offers, or to obtain a slug before calling get_hero_path. Requires no input; optional filters are 'type' ('training' for VA skill paths, 'sales' for the Loan Officer path), 'featured' (only the recommended starting path) and 'limit' (1-100). Returns { total, count, items[] } where each item has slug, name, label, tagline, description, intro, highlights, type, featured, externalUrl and canonical url. It does NOT return pricing, schedules, enrolment status, applicant records or any private data, and it cannot submit an application.
Lecture seule Idempotent
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'type': {'enum': ['training', 'sales'], 'type': 'string', 'description': "Optional. Filter by path type: 'training' or 'sales'."}, 'limit': {'type': 'integer', 'maximum': 100, 'minimum': 1, 'description': 'Optional. Maximum number of paths to return (1-100). Omit to return all.'}, 'featured': {'type': 'boolean', 'description': 'Optional. When true, return only paths flagged as featured.'}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['total', 'count', 'items'], 'properties': {'count': {'type': 'integer', 'description': 'Number of paths actually returned.'}, 'items': {'type': 'array', 'items': {'type': 'object', 'required': ['slug', 'name', 'label', 'tagline', 'description', 'intro', 'highlights', 'type', 'featured', 'externalUrl', 'url'], 'properties': {'url': {'type': 'string', 'description': 'Absolute canonical URL of the Hero Path page.'}, 'name': {'type': 'string', 'description': 'Display name of the Hero Path.'}, 'slug': {'type': 'string', 'description': "URL slug identifying the Hero Path, e.g. 'general-va'."}, 'type': {'enum': ['training', 'sales'], 'type': 'string', 'description': "'training' for VA training paths, 'sales' for the Loan Officer career path."}, 'intro': {'type': 'string', 'description': 'Longer introduction shown on the path page.'}, 'label': {'type': ['string', 'null'], 'description': 'Short badge label, null when the path has none.'}, 'tagline': {'type': 'string', 'description': 'One-line summary shown on the path card.'}, 'featured': {'type': 'boolean', 'description': 'True for the highlighted starter path.'}, 'highlights': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Key learning or role highlights.'}, 'description': {'type': 'string', 'description': 'Short description used in listings.'}, 'externalUrl': {'type': ['string', 'null'], 'description': 'External program website, null when none exists.'}}, 'additionalProperties': False}, 'description': 'The matching Hero Path records.'}, 'total': {'type': 'integer', 'description': "Number of paths matching the filters before 'limit'."}}, 'additionalProperties': False}
get_program_information
Get program information
Retrieve a single structured overview of how the VA Heroes PH program works: the training Hero Paths, the separate sales (Loan Officer) path, the published community impact statistics, and the page where candidates apply. Use it when a visitor asks broadly what VA Heroes PH offers, how the training works, or how to get started, instead of asking about one specific track. Requires no input. Returns { applicationUrl, trainingPrograms[], salesPrograms[], impactStats[] }, where each program carries slug, name, tagline, description, highlights, featured and url. It does NOT expose pricing, class schedules, enrolment status, batch dates or any applicant data — programs in this project are the Hero Paths and no separate course catalogue exists.
Lecture seule Idempotent
Schéma d’entrée
{'type': 'object', 'properties': {}}
Schéma de sortie
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['applicationUrl', 'trainingPrograms', 'salesPrograms', 'impactStats'], 'properties': {'impactStats': {'type': 'array', 'items': {'type': 'object', 'required': ['label', 'value', 'suffix', 'display'], 'properties': {'label': {'type': 'string', 'description': 'What the statistic measures.'}, 'value': {'type': ['number', 'null'], 'description': 'Numeric value, null when the statistic is text.'}, 'suffix': {'type': ['string', 'null'], 'description': "Unit or suffix appended to the value, such as '+'."}, 'display': {'type': ['string', 'null'], 'description': 'Text shown instead of a number, when value is null.'}}, 'additionalProperties': False}, 'description': 'Published community impact statistics.'}, 'salesPrograms': {'type': 'array', 'items': {'$ref': '#/properties/trainingPrograms/items'}, 'description': "Hero Paths of type 'sales' (the Loan Officer path)."}, 'applicationUrl': {'type': 'string', 'description': 'Public page where candidates submit an application.'}, 'trainingPrograms': {'type': 'array', 'items': {'type': 'object', 'required': ['slug', 'name', 'tagline', 'description', 'highlights', 'featured', 'url'], 'properties': {'url': {'type': 'string', 'description': 'Absolute canonical URL of the program page.'}, 'name': {'type': 'string', 'description': 'Program display name.'}, 'slug': {'type': 'string', 'description': 'URL slug identifying the program (Hero Path).'}, 'tagline': {'type': 'string', 'description': 'One-line summary.'}, 'featured': {'type': 'boolean', 'description': 'True for the recommended starting program.'}, 'highlights': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Key learning or role highlights.'}, 'description': {'type': 'string', 'description': 'Short description.'}}, 'additionalProperties': False}, 'description': "Hero Paths of type 'training'."}}, 'additionalProperties': False}
get_site_information
Get site information
Retrieve the public organization profile of VA Heroes PH — name, website URL, logo, slogan, description, area served, social profile links and the application page URL — together with the published testimonials (Hero Stories), so an agent can introduce the organization and point a visitor to the right page. Use it when a visitor asks who VA Heroes PH is, what it does, whether it is credible, where to follow it, or where to apply. Requires no input. Returns { organization, heroStories[] } with quote, display name and role per story. It does NOT return phone numbers, postal addresses, staff contacts, applicant records or any private data — only content already visible on the public website.
Lecture seule Idempotent
Schéma d’entrée
{'type': 'object', 'properties': {}}
Schéma de sortie
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['organization', 'heroStories'], 'properties': {'heroStories': {'type': 'array', 'items': {'type': 'object', 'required': ['quote', 'name', 'role'], 'properties': {'name': {'type': 'string', 'description': 'Display name as published on the website.'}, 'role': {'type': 'string', 'description': 'Role or Hero Path the person follows.'}, 'quote': {'type': 'string', 'description': 'Testimonial text as published.'}}, 'additionalProperties': False}, 'description': 'Published testimonials exactly as shown on the website.'}, 'organization': {'type': 'object', 'required': ['name', 'url', 'logoUrl', 'slogan', 'description', 'areaServed', 'socialProfiles', 'applicationUrl'], 'properties': {'url': {'type': 'string', 'description': 'Website home page URL.'}, 'name': {'type': 'string', 'description': 'Organization name.'}, 'slogan': {'type': 'string', 'description': 'Public slogan.'}, 'logoUrl': {'type': 'string', 'description': 'Public logo image URL.'}, 'areaServed': {'type': 'string', 'description': 'Primary area served.'}, 'description': {'type': 'string', 'description': 'Public organization description.'}, 'applicationUrl': {'type': 'string', 'description': 'Public page where candidates submit an application.'}, 'socialProfiles': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Public social profile URLs.'}}, 'description': 'Public organization profile.', 'additionalProperties': False}}, 'additionalProperties': False}
search_faq
Search FAQs
Search the published VA Heroes PH FAQ entries (About VA Heroes page) so an agent can answer applicant questions with the organization's own wording. Use it for questions about who can apply, required experience, needed skills, equipment and internet, how to apply, what happens after submitting, interviews, working hours, earnings, and whether applying costs anything. Requires no input; optional 'query' is case-insensitive text matched against both question and answer (max 200 characters) and optional 'limit' caps results (1-100). Returns { total, count, items[] } with id, question and answer verbatim. It does NOT generate answers: when nothing matches, the list is empty — say so or use another tool rather than inventing an answer.
Lecture seule Idempotent
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'limit': {'type': 'integer', 'maximum': 100, 'minimum': 1, 'description': 'Optional. Maximum number of FAQ entries to return (1-100).'}, 'query': {'type': 'string', 'maxLength': 200, 'description': 'Optional. Free-text search phrase (max 200 chars). Omit to return all FAQs.'}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['total', 'count', 'items'], 'properties': {'count': {'type': 'integer', 'description': 'Number of entries actually returned.'}, 'items': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'question', 'answer'], 'properties': {'id': {'type': 'integer', 'description': 'Stable position-based identifier of the FAQ entry.'}, 'answer': {'type': 'string', 'description': 'The answer as published.'}, 'question': {'type': 'string', 'description': 'The question as published.'}}, 'additionalProperties': False}, 'description': 'Matching published FAQ entries.'}, 'total': {'type': 'integer', 'description': "Number of FAQ entries matching the query before 'limit'."}}, 'additionalProperties': False}
Ajouté
get_site_information
17 September 2026 12:42
Ajouté
search_faq
17 September 2026 12:42
Ajouté
get_program_information
17 September 2026 12:42
Ajouté
get_hero_path
17 September 2026 12:42
Ajouté
get_hero_paths
17 September 2026 12:42