NSW Parliament Hansard MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {} |
| resources | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| hansard_search_by_yearA | Search all Hansard records for a specific year. Returns a list of sitting dates with links to Hansard documents. Coverage: September 1991 to present. |
| hansard_search_by_dateA | Get detailed Hansard information for a specific date. Returns chamber information, document IDs, and whether transcripts are corrected. |
| hansard_get_fragment_xmlA | Retrieve the raw XML content of a specific Hansard fragment/document. Useful for detailed processing of parliamentary proceedings. |
| hansard_get_fragment_htmlB | Retrieve a Hansard fragment as a JSON payload with HTML content. More readable format for display purposes. |
| hansard_get_pdf_urlB | Get the URL for downloading the PDF version of a Hansard document (post-1991 documents). |
| hansard_get_searchable_pdf_urlC | Get the URL for downloading the searchable PDF version of a Hansard document (pre-1991 historical documents). |
| hansard_get_table_of_contents_xmlA | Retrieve the table of contents for a specific Hansard day in raw XML format. |
| hansard_get_table_of_contents_jsonB | Retrieve the table of contents for a specific Hansard day as a structured JSON payload. |
| hansard_search_by_speakerA | Search Hansard records by speaker name. Supports wildcards (*) for partial matching. At least one of: parliamentSessionId, date range (startDate/endDate), or memberId must be provided. |
| hansard_search_by_billA | Search Hansard records by bill name. Finds all mentions and debates related to a specific bill. |
| hansard_list_sitting_datesB | List all parliamentary sitting dates. Returns comprehensive list of when parliament has sat. |
| hansard_list_sitting_date_typesA | List all types of sitting dates (e.g., regular sitting, budget day, etc.). |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| NSW Hansard API Information | Information about the NSW Parliament Hansard API, including coverage dates, available data, and usage notes. |
| Terms of Use | Copyright and conditions of use for NSW Parliament Hansard data. |
TDQS
Scored across 12 tools
Each tool has a clear, distinct purpose: search by year, date, bill, speaker; retrieve fragments in XML or HTML; get PDF URLs; table of contents in XML or JSON; list sitting dates and types. No overlapping functionality that would cause confusion.
All tools follow a consistent 'hansard_verb_noun' pattern (e.g., hansard_search_by_year, hansard_get_fragment_xml). The naming is predictable and easy to understand.
With 12 tools, the server is well-scoped for a Hansard document API. It covers search, retrieval in multiple formats (XML, HTML, PDF), table of contents, and date listings without being excessive.
The tool set covers core functionality: searching by year, date, bill, speaker; retrieving document fragments and PDFs; table of contents. Minor gap: no keyword search across all documents, but the existing search options handle common use cases.