@shyzus/mcp-geocrafter 1.0.3 β 1.0.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +48 -13
- package/package.json +17 -6
package/README.md
CHANGED
|
@@ -3,8 +3,8 @@
|
|
|
3
3
|
GeoCrafter is a clean, modular MCP server for geocoding and reverse geocoding - Powered by Nominatim API (OpenStreetMap).
|
|
4
4
|
|
|
5
5
|
[](https://github.com/Shyzkanza/mcp-location/actions/workflows/deploy.yml)
|
|
6
|
-
[](https://www.npmjs.com/package/@shyzus/mcp-geocrafter)
|
|
6
|
+
[](https://www.npmjs.com/package/@shyzus/mcp-geocrafter)
|
|
7
|
+
[](https://www.npmjs.com/package/@shyzus/mcp-geocrafter)
|
|
8
8
|
[](https://geocrafter.rankorr.red/health)
|
|
9
9
|

|
|
10
10
|

|
|
@@ -195,7 +195,9 @@ You get a public URL like:
|
|
|
195
195
|
https://abc123.ngrok-free.dev
|
|
196
196
|
```
|
|
197
197
|
|
|
198
|
-
**Important**:
|
|
198
|
+
**Important**:
|
|
199
|
+
- Note the complete URL: `https://abc123.ngrok-free.dev/mcp` (or just `https://abc123.ngrok-free.dev/` - both work)
|
|
200
|
+
- The server uses **Streamable HTTP** transport (modern MCP standard, replaces deprecated SSE)
|
|
199
201
|
|
|
200
202
|
#### 3. Configure the application in ChatGPT
|
|
201
203
|
|
|
@@ -276,8 +278,9 @@ See the [Apps SDK deployment guide](https://developers.openai.com/apps-sdk/deplo
|
|
|
276
278
|
#### **Configure your server in ChatGPT**
|
|
277
279
|
|
|
278
280
|
Once deployed:
|
|
279
|
-
1. Note your server URL: `https://your-domain.com/mcp`
|
|
280
|
-
2.
|
|
281
|
+
1. Note your server URL: `https://your-domain.com/mcp` (or `/` - both endpoints work)
|
|
282
|
+
2. The server uses **Streamable HTTP** transport (modern MCP standard)
|
|
283
|
+
3. Follow the instructions in [π Quick Start](#-quick-start)
|
|
281
284
|
|
|
282
285
|
---
|
|
283
286
|
|
|
@@ -385,7 +388,7 @@ mcp-location/
|
|
|
385
388
|
β β βββ mapViewerTemplate.ts # Template HTML (text/html+skybridge) pour ChatGPT
|
|
386
389
|
β βββ servers/
|
|
387
390
|
β β βββ stdio.ts # Serveur stdio (IDEs)
|
|
388
|
-
β β βββ http.ts # Serveur HTTP (ChatGPT)
|
|
391
|
+
β β βββ http.ts # Serveur Streamable HTTP (ChatGPT)
|
|
389
392
|
β βββ utils/
|
|
390
393
|
β β βββ errors.ts # Gestion erreurs centralisΓ©e
|
|
391
394
|
β βββ index.ts # Entry point stdio
|
|
@@ -404,17 +407,43 @@ mcp-location/
|
|
|
404
407
|
|
|
405
408
|
## π οΈ Available Commands
|
|
406
409
|
|
|
410
|
+
> π **Full documentation**: [COMMANDS.md](./COMMANDS.md)
|
|
411
|
+
|
|
412
|
+
### Quick Reference
|
|
413
|
+
|
|
407
414
|
```bash
|
|
408
|
-
#
|
|
409
|
-
npm run
|
|
410
|
-
npm run dev
|
|
415
|
+
# π Recommended for ChatGPT development (2 terminals)
|
|
416
|
+
npm run tunnel # Terminal 1: ngrok (keep running)
|
|
417
|
+
npm run dev # Terminal 2: Dev server with hot-reload
|
|
418
|
+
|
|
419
|
+
# Alternative: All-in-one
|
|
420
|
+
npm run dev:tunnel # Dev + ngrok in parallel
|
|
411
421
|
|
|
412
|
-
#
|
|
422
|
+
# Testing
|
|
423
|
+
npm run inspect # Launch MCP Inspector
|
|
424
|
+
npm run health # Health check
|
|
425
|
+
|
|
426
|
+
# Build & Production
|
|
413
427
|
npm run build # Compile TypeScript
|
|
414
|
-
npm run
|
|
415
|
-
npm run start
|
|
428
|
+
npm run rebuild # Clean + Build
|
|
429
|
+
npm run build:start # Build then start
|
|
430
|
+
|
|
431
|
+
# Utilities
|
|
432
|
+
npm run kill # Kill process on port 3000
|
|
433
|
+
npm run kill:tunnel # Kill ngrok
|
|
416
434
|
```
|
|
417
435
|
|
|
436
|
+
### Cursor Commands
|
|
437
|
+
|
|
438
|
+
Available via **Cmd+Shift+P**:
|
|
439
|
+
- `dev-server` - Dev with hot-reload (recommended)
|
|
440
|
+
- `tunnel-only` - Launch ngrok (keep running)
|
|
441
|
+
- `mcp-inspector` - Launch MCP Inspector
|
|
442
|
+
- `build` / `rebuild` / `clean`
|
|
443
|
+
- `kill-server` / `kill-tunnel`
|
|
444
|
+
|
|
445
|
+
See [COMMANDS.md](./COMMANDS.md) for the complete list.
|
|
446
|
+
|
|
418
447
|
---
|
|
419
448
|
|
|
420
449
|
## π§ Advanced Configuration
|
|
@@ -449,7 +478,7 @@ This project serves as a **template/base** for future MCP servers with a clean,
|
|
|
449
478
|
- **`types.ts`**: Shared TypeScript interfaces
|
|
450
479
|
- **`client/`**: External API abstraction (Nominatim)
|
|
451
480
|
- **`tools/`**: Business logic (validation, transformation, formatting)
|
|
452
|
-
- **`servers/`**: MCP implementation (stdio/HTTP), reuses tools
|
|
481
|
+
- **`servers/`**: MCP implementation (stdio/Streamable HTTP), reuses tools
|
|
453
482
|
- **`utils/errors.ts`**: Custom error classes, formatting
|
|
454
483
|
|
|
455
484
|
See [CONTEXT.md](CONTEXT.md) for detailed architecture documentation.
|
|
@@ -458,6 +487,12 @@ See [CONTEXT.md](CONTEXT.md) for detailed architecture documentation.
|
|
|
458
487
|
|
|
459
488
|
## π Resources & Documentation
|
|
460
489
|
|
|
490
|
+
### Project Documentation
|
|
491
|
+
|
|
492
|
+
- [CONTEXT.md](./CONTEXT.md) - Project memory (status, decisions, changelog)
|
|
493
|
+
- [COMMANDS.md](./COMMANDS.md) - All npm scripts and Cursor commands
|
|
494
|
+
- [OPENAI_APPS_SDK_REFERENCE.md](./OPENAI_APPS_SDK_REFERENCE.md) - Complete SDK reference guide
|
|
495
|
+
|
|
461
496
|
### Official documentation
|
|
462
497
|
|
|
463
498
|
- [OpenAI Apps SDK](https://developers.openai.com/apps-sdk) - Complete ChatGPT Apps guide
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@shyzus/mcp-geocrafter",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.4",
|
|
4
4
|
"description": "GeoCrafter - MCP server for geocoding and reverse geocoding - Powered by Nominatim API",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -23,17 +23,28 @@
|
|
|
23
23
|
},
|
|
24
24
|
"scripts": {
|
|
25
25
|
"build": "tsc",
|
|
26
|
-
"
|
|
27
|
-
"
|
|
28
|
-
"
|
|
29
|
-
"
|
|
26
|
+
"typecheck": "tsc --noEmit",
|
|
27
|
+
"clean": "rm -rf dist",
|
|
28
|
+
"rebuild": "npm run clean && npm run build",
|
|
29
|
+
"dev": "npm run kill --silent; tsx watch src/http-server.ts",
|
|
30
|
+
"dev:http": "npm run dev",
|
|
31
|
+
"dev:tunnel": "npm run kill:tunnel --silent; npm-run-all --parallel dev tunnel",
|
|
32
|
+
"start": "npm run kill --silent; node dist/http-server.js",
|
|
33
|
+
"start:http": "npm run start",
|
|
34
|
+
"build:start": "npm run build && npm run start",
|
|
35
|
+
"kill": "lsof -ti:${PORT:-3000} | xargs kill -9 2>/dev/null || true",
|
|
36
|
+
"kill:tunnel": "pkill -f ngrok 2>/dev/null || true",
|
|
37
|
+
"tunnel": "ngrok http ${PORT:-3000}",
|
|
38
|
+
"inspect": "npx @modelcontextprotocol/inspector@latest http://localhost:${PORT:-3000}/mcp",
|
|
39
|
+
"health": "curl -s http://localhost:${PORT:-3000}/health | jq .",
|
|
30
40
|
"prepare": "npm run build"
|
|
31
41
|
},
|
|
32
42
|
"dependencies": {
|
|
33
|
-
"@modelcontextprotocol/sdk": "^1.0
|
|
43
|
+
"@modelcontextprotocol/sdk": "^1.23.0"
|
|
34
44
|
},
|
|
35
45
|
"devDependencies": {
|
|
36
46
|
"@types/node": "^20.10.0",
|
|
47
|
+
"npm-run-all": "^4.1.5",
|
|
37
48
|
"tsx": "^4.7.0",
|
|
38
49
|
"typescript": "^5.3.0"
|
|
39
50
|
}
|