Skip to content

Commit 69ca6d9

Browse files
committed
Update README, version
1 parent 7b38071 commit 69ca6d9

3 files changed

Lines changed: 311 additions & 1154 deletions

File tree

README.md

Lines changed: 81 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,28 @@ To run the MCP server directly, use the `uv tool` interface:
2020
uvx postcode-eu-ai-tools
2121
```
2222

23-
This starts the server on stdio transport. Connect via an MCP client (e.g., Claude Desktop or compatible tools) to use the address validation functions.
23+
This starts the server on STDIO transport.
24+
25+
### Connect MCP clients
26+
27+
Use the address validation tools in any client that supports local MCP servers. Just add the `uvx postcode-eu-ai-tools` command to your configuration.
28+
29+
Example configuration for Claude Code:
30+
31+
```json
32+
{
33+
"mcpServers": {
34+
"postcode-eu-address-validation": {
35+
"command": "uvx",
36+
"args": ["postcode-eu-ai-tools"],
37+
"env": {
38+
"POSTCODE_EU_API_KEY": "your_api_key",
39+
"POSTCODE_EU_API_SECRET": "your_api_secret"
40+
}
41+
}
42+
}
43+
}
44+
```
2445

2546
## Configuration
2647

@@ -50,24 +71,83 @@ Look up a Dutch address by postcode (e.g., "1234AB") and house number (e.g., "69
5071

5172
See https://developer.postcode.eu/documentation/nl/v1/Address/viewByPostcode
5273

74+
**Examples**:
75+
76+
User:
77+
> What is the address for postcode 2012es with house number 30?
78+
79+
Assistant:
80+
>Julianastraat 30
81+
2012ES Haarlem
82+
Noord-Holland, Netherlands
83+
84+
User:
85+
>What is the address for 2161AM with house number 166b?
86+
87+
Assistant:
88+
>Stationsweg 166, 2161AM Lisse, Zuid-Holland, Netherlands (house number addition "b" incorrect).
89+
Valid additions: "" (166) or "A" (166 A). Which one?
90+
91+
User:
92+
>Is the address 1000AA 1 a PO box?
93+
94+
Assistant:
95+
>Yes, Postbus 1, 1000AA Amsterdam, Noord-Holland, Netherlands (addressType: "PO box").
96+
5397
### validate_address
5498

5599
Validate and complete an international address. Returns the first match if valid (meaning it's a full address that closely corresponds to the input). Otherwise returns an error message describing why the address is invalid. Partial addresses are considered invalid.
56100

57101
See https://developer.postcode.eu/documentation/international/v1/Validate/validate
58102

103+
**Examples**:
104+
105+
User:
106+
>Can you validate the address "leystraat 11 2000 antwerpen"?
107+
108+
Assistant:
109+
>Leysstraat 11
110+
2000 Antwerpen
111+
Belgium
112+
Validated (grade B, building level).
113+
114+
User:
115+
>How about "Kirsten Flagstads plass 1" in Oslo?
116+
117+
Assistant:
118+
>Kirsten Flagstads plass 1
119+
0150 Oslo
120+
Norway
121+
Validated (grade A, building level).
122+
59123
### get_supported_countries
60124

61125
List countries that are supported for address validation.
62126

63127
See https://developer.postcode.eu/documentation/international/v1/Autocomplete/getSupportedCountries
64128

129+
**Example**:
130+
131+
User:
132+
>For which countries can you validate addresses?
133+
134+
Assistant:
135+
>Netherlands, Belgium, Germany, Luxembourg, Austria, Switzerland, France, United Kingdom, Spain, Denmark, Norway, Finland, Sweden.
136+
65137
### is_supported_country
66138

67139
Check if a country is supported for address validation.
68140

69141
See https://developer.postcode.eu/documentation/international/v1/Autocomplete/getSupportedCountries
70142

143+
**Example**:
144+
145+
User:
146+
>Could you validate an address from Kazakhstan?
147+
148+
Assistant:
149+
>No, Kazakhstan (KAZ) is not supported.
150+
71151
## Requirements
72152

73153
- Python 3.11+

pyproject.toml

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[project]
22
name = "postcode-eu-ai-tools"
3-
version = "0.1.0"
3+
version = "1.0.0"
44
description = "AI tools / MCP server for address validation via the Postcode.eu API"
55
license = "BSD-2-Clause"
66
readme = "README.md"
@@ -28,10 +28,6 @@ build-backend = "uv_build"
2828
dev = [
2929
"ruff>=0.14",
3030
]
31-
examples = [
32-
"gradio>=5.0",
33-
"python-dotenv>=1.0",
34-
]
3531

3632
[tool.ruff]
3733
line-length = 120

0 commit comments

Comments
 (0)