@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.
Files changed (2) hide show
  1. package/README.md +48 -13
  2. 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
  [![Deploy Status](https://github.com/Shyzkanza/mcp-location/actions/workflows/deploy.yml/badge.svg)](https://github.com/Shyzkanza/mcp-location/actions/workflows/deploy.yml)
6
- [![npm version](https://img.shields.io/badge/npm-v1.0.2-blue)](https://www.npmjs.com/package/@shyzus/mcp-geocrafter)
7
- [![npm downloads](https://img.shields.io/npm/dm/@shyzus/mcp-geocrafter)](https://www.npmjs.com/package/@shyzus/mcp-geocrafter)
6
+ [![npm version](https://img.shields.io/badge/npm-v1.0.4-blue)](https://www.npmjs.com/package/@shyzus/mcp-geocrafter)
7
+ [![npm downloads](https://img.shields.io/npm/dm/@shyzus/mcp-geocrafter?cacheSeconds=3600)](https://www.npmjs.com/package/@shyzus/mcp-geocrafter)
8
8
  [![Website Status](https://img.shields.io/website?url=https%3A%2F%2Fgeocrafter.rankorr.red%2Fhealth&label=API)](https://geocrafter.rankorr.red/health)
9
9
  ![Node](https://img.shields.io/badge/node-18%2B-green)
10
10
  ![TypeScript](https://img.shields.io/badge/TypeScript-5.3-blue)
@@ -195,7 +195,9 @@ You get a public URL like:
195
195
  https://abc123.ngrok-free.dev
196
196
  ```
197
197
 
198
- **Important**: Note the complete URL with `/mcp` at the end: `https://abc123.ngrok-free.dev/mcp`
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. Follow the instructions in [πŸš€ Quick Start](#-quick-start)
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
- # Development
409
- npm run dev # Dev mode with hot-reload (stdio)
410
- npm run dev:http # Dev mode HTTP server
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
- # Production
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 start # Start stdio server
415
- npm run start:http # Start HTTP server (port 3000)
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",
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
- "dev": "tsx watch src/index.ts",
27
- "dev:http": "tsx watch src/http-server.ts",
28
- "start": "node dist/index.js",
29
- "start:http": "node dist/http-server.js",
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.4"
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
  }