Ghana Post GPS MCP Server
by kreativwiz1
README.md
# Ghana Post GPS MCP Server
A Model Context Protocol (MCP) server that converts Ghana Post GPS addresses into detailed location information including coordinates.
## Features
- **GPS Address Lookup**: Convert Ghana Post GPS codes (e.g., "GA-554-3608") to detailed location information
- **Address Validation**: Validate GPS code format before processing
- **Batch Processing**: Look up multiple GPS addresses at once (up to 10)
- **Nearby Coordinates**: Generate coordinates within a specified radius of a known location
- **Real API Integration**: Uses the actual Ghana Post GPS API
## Installation
### Prerequisites
- Node.js 18.0.0 or higher
- npm
### Setup
1. **Clone or download this project**
2. **Install dependencies**:
```bash
npm install
```
3. **Build the project**:
```bash
npm run build
```
## Usage
### Development Mode
```bash
npm run dev
```
### Production Mode
```bash
npm run start
```
### Testing
```bash
# Test server connection
npm run test
# Test GPS lookup
npm run test-lookup
```
## Available Tools
### 1. lookup_gps_address
Converts a Ghana Post GPS address to detailed location information.
**Input**:
- `gps_code` (string): GPS address code (e.g., "GA-554-3608")
**Output**: Location details including coordinates, street, area, district, region, and postcode.
### 2. validate_gps_code
Validates if a string matches the Ghana Post GPS address format.
**Input**:
- `gps_code` (string): GPS code to validate
**Output**: Validation result with format information and examples.
### 3. batch_lookup_gps
Looks up multiple GPS addresses at once (maximum 10).
**Input**:
- `gps_codes` (array): Array of GPS codes to look up
**Output**: Results for all provided GPS codes with status information.
### 4. find_nearby_coordinates
Generates coordinates within a radius of a known GPS location.
**Input**:
- `gps_code` (string): Base GPS code
- `radius_km` (number, optional): Search radius in kilometers (default: 1)
- `count` (number, optional): Number of points to generate (default: 5)
**Output**: Base location info and array of nearby coordinates.
## Claude Desktop Integration
To use this MCP server with Claude Desktop:
### Windows
1. Edit `%APPDATA%\\Claude\\claude_desktop_config.json`
2. Add the server configuration:
```json
{
"mcpServers": {
"ghana-post-gps": {
"command": "node",
"args": ["C:\\Users\\FRANKO\\OneDrive\\Desktop\\ghana-post-mcp\\dist\\index.js"],
"env": {}
}
}
}
```
### macOS
1. Edit `~/Library/Application Support/Claude/claude_desktop_config.json`
2. Add the server configuration:
```json
{
"mcpServers": {
"ghana-post-gps": {
"command": "node",
"args": ["/path/to/ghana-post-mcp/dist/index.js"],
"env": {}
}
}
}
```
### Linux
1. Edit `~/.config/Claude/claude_desktop_config.json`
2. Add the server configuration with the appropriate path.
## GPS Address Format
Ghana Post GPS addresses follow this format:
- **Format**: `XX-YYY-ZZZZ`
- **XX**: 2-letter region code (e.g., GA, AK, CP)
- **YYY**: 3-digit area code
- **ZZZZ**: 3-4 digit location code
### Examples
- `GA-554-3608` (Greater Accra)
- `AK-039-5028` (Ashanti)
- `CP-078-2542` (Central)
## API Information
This server uses the Ghana Post GPS API endpoint:
- **URL**: `https://ghanapostgps.sperixlabs.org/get-location`
- **Method**: POST
- **Content-Type**: `application/x-www-form-urlencoded`
## Development
### Project Structure
```
ghana-post-mcp/
├── src/
│ └── index.ts # Main MCP server implementation
├── dist/ # Compiled JavaScript (after build)
├── package.json # Dependencies and scripts
├── tsconfig.json # TypeScript configuration
└── README.md # This file
```
### Building
```bash
npm run build
```
### Cleaning
```bash
npm run clean
```
## Error Handling
The server includes comprehensive error handling for:
- Invalid GPS code formats
- API connection failures
- Missing or malformed data
- Rate limiting considerations
## Contributing
1. Fork the repository
2. Create a feature branch
3. Make your changes
4. Test thoroughly
5. Submit a pull request
## License
MIT License
## Support
For issues or questions about Ghana Post GPS addresses, refer to the official Ghana Post documentation or contact Ghana Post directly.
This server cannot be deployed
Maintenance
ActivityInactive
ResponsivenessNo issues