Skip to main content
Glama

Australian Postcodes MCP Server

README.md4.54 kB
# Australian Postcodes MCP Server A high-performance MCP (Model Context Protocol) server providing Australian postcode and suburb data with intelligent fuzzy matching, designed specifically for AI assistants handling customer service interactions. ## Features ### 🔍 Core Search Capabilities - **Postcode to Suburbs**: Find all suburbs for a given postcode - **Suburb to Postcodes**: Find postcodes for suburbs (with fuzzy matching) - **Smart Validation**: Verify suburb-postcode combinations - **LGA Queries**: List all suburbs in a Local Government Area (city/council) ### 🎯 AI-Optimized Features - **Fuzzy Matching**: Handles typos and misspellings with confidence scoring - **Phonetic Search**: Matches spoken names that may be misheard - **Autocomplete**: Suggests completions for partial suburb names - **Smart Suggestions**: Provides alternatives when exact matches aren't found - **Geographic Search**: Find nearby suburbs within a radius ### 📊 Data Coverage - ~17,000 Australian postcodes and suburbs - Local Government Areas (LGAs) - Statistical Areas (SA3/SA4) - Geographic coordinates (latitude/longitude) - Electoral divisions - State and region information ## Quick Start ### Installation ```bash # Clone the repository git clone https://github.com/yourusername/australian-postcodes-mcp.git cd australian-postcodes-mcp # Install dependencies pip install -r requirements.txt # Import postcode data python src/utils/data_loader.py # Test locally fastmcp dev src/server.py ``` ### Usage with Claude Desktop Add to your Claude Desktop configuration: ```json { "mcpServers": { "australian-postcodes": { "command": "fastmcp", "args": ["run", "/path/to/australian-postcodes-mcp/src/server.py"] } } } ``` ## Available Tools ### Search Tools - `search_by_postcode` - Find suburbs for a postcode - `search_by_suburb` - Find postcodes for a suburb - `validate_suburb_postcode` - Verify a combination is valid - `get_location_details` - Smart search accepting either postcode or suburb ### Fuzzy Matching Tools - `find_similar_suburbs` - Find closest matches for misspelled suburbs - `autocomplete_suburb` - Get completions for partial names - `validate_spelling` - Suggest spelling corrections - `phonetic_search` - Handle phone-misheard names ### Location Tools - `list_suburbs_in_lga` - All suburbs in a Local Government Area - `find_lga_for_suburb` - Get the LGA/city for a suburb - `list_suburbs_in_radius` - Find nearby postcodes within radius - `get_neighboring_suburbs` - Find adjacent areas ### Analytics Tools - `get_state_statistics` - Postcode and suburb counts by state - `list_all_lgas` - Available Local Government Areas - `search_by_region` - Query by statistical area ## Examples ### Basic Search ```python # Find suburbs for postcode 2300 result = await search_by_postcode("2300") # Returns: Newcastle, Newcastle West, etc. # Find postcode for suburb result = await search_by_suburb("Newcastle", state="NSW") # Returns: 2300 ``` ### Fuzzy Matching ```python # Handle misspellings result = await find_similar_suburbs("Newcaslte", state="NSW") # Returns: Newcastle (confidence: 0.92), New Lambton (confidence: 0.75) # Phonetic search result = await phonetic_search("new castle") # Returns: Newcastle, Newcastle West ``` ### LGA Queries ```python # List suburbs in Newcastle LGA result = await list_suburbs_in_lga("Newcastle", state="NSW") # Returns: All suburbs in Newcastle city council area ``` ## Deployment ### FastMCP Cloud (Recommended) 1. Push to GitHub 2. Connect repository at [fastmcp.cloud](https://fastmcp.cloud) 3. Configure environment variables 4. Deploy with one click ### Local Development ```bash # Run development server fastmcp dev src/server.py # Run production server python src/server.py ``` ## Data Source Data sourced from the community-maintained [Australian Postcodes](https://github.com/matthewproctor/australianpostcodes) repository. ## Performance - SQLite with optimized indexes for fast queries - Sub-100ms response time for most queries - Efficient fuzzy matching using rapidfuzz library - Cached phonetic encodings for voice queries ## Contributing Contributions welcome! Please see [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines. ## License MIT License - See [LICENSE](LICENSE) for details. ## Support For issues or questions, please open an issue on GitHub or contact the maintainers. --- Built with [FastMCP](https://github.com/jlowin/fastmcp) for the [Model Context Protocol](https://modelcontextprotocol.io)

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/jezweb/australian-postcodes-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server