@centia-io/mcp-server 1.0.11 → 1.0.14
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/centia-api.json +323 -281
- package/dist/index.js +2 -1
- package/package.json +2 -2
package/centia-api.json
CHANGED
|
@@ -1543,6 +1543,151 @@
|
|
|
1543
1543
|
}
|
|
1544
1544
|
}
|
|
1545
1545
|
},
|
|
1546
|
+
"/api/v4/keyvalue/{key}": {
|
|
1547
|
+
"get": {
|
|
1548
|
+
"tags": [
|
|
1549
|
+
"Keyvalue"
|
|
1550
|
+
],
|
|
1551
|
+
"description": "Get a key, or list all visible keys.",
|
|
1552
|
+
"operationId": "getKeyvalue",
|
|
1553
|
+
"parameters": [
|
|
1554
|
+
{
|
|
1555
|
+
"name": "key",
|
|
1556
|
+
"in": "path",
|
|
1557
|
+
"description": "Key to fetch",
|
|
1558
|
+
"required": false,
|
|
1559
|
+
"schema": {
|
|
1560
|
+
"type": "string"
|
|
1561
|
+
},
|
|
1562
|
+
"example": "my_key"
|
|
1563
|
+
},
|
|
1564
|
+
{
|
|
1565
|
+
"name": "paths",
|
|
1566
|
+
"in": "query",
|
|
1567
|
+
"description": "Project only the named JSON sub-trees of the value. Comma-separated paths, each a dot-separated segment sequence, e.g. 'user.name,active'. The result value is keyed by each path string.",
|
|
1568
|
+
"required": false,
|
|
1569
|
+
"schema": {
|
|
1570
|
+
"type": "string"
|
|
1571
|
+
},
|
|
1572
|
+
"example": "user.name,active"
|
|
1573
|
+
}
|
|
1574
|
+
],
|
|
1575
|
+
"responses": {
|
|
1576
|
+
"200": {
|
|
1577
|
+
"description": "Ok"
|
|
1578
|
+
},
|
|
1579
|
+
"404": {
|
|
1580
|
+
"description": "Not found"
|
|
1581
|
+
}
|
|
1582
|
+
}
|
|
1583
|
+
},
|
|
1584
|
+
"post": {
|
|
1585
|
+
"tags": [
|
|
1586
|
+
"Keyvalue"
|
|
1587
|
+
],
|
|
1588
|
+
"description": "Create a key owned by the caller.",
|
|
1589
|
+
"operationId": "postKeyvalue",
|
|
1590
|
+
"parameters": [
|
|
1591
|
+
{
|
|
1592
|
+
"name": "key",
|
|
1593
|
+
"in": "path",
|
|
1594
|
+
"description": "Key to create",
|
|
1595
|
+
"required": true,
|
|
1596
|
+
"schema": {
|
|
1597
|
+
"type": "string"
|
|
1598
|
+
},
|
|
1599
|
+
"example": "my_key"
|
|
1600
|
+
}
|
|
1601
|
+
],
|
|
1602
|
+
"requestBody": {
|
|
1603
|
+
"description": "Key/value definition.",
|
|
1604
|
+
"required": true,
|
|
1605
|
+
"content": {
|
|
1606
|
+
"application/json": {
|
|
1607
|
+
"schema": {
|
|
1608
|
+
"$ref": "#/components/schemas/Keyvalue"
|
|
1609
|
+
}
|
|
1610
|
+
}
|
|
1611
|
+
}
|
|
1612
|
+
},
|
|
1613
|
+
"responses": {
|
|
1614
|
+
"201": {
|
|
1615
|
+
"description": "Created"
|
|
1616
|
+
},
|
|
1617
|
+
"400": {
|
|
1618
|
+
"description": "Bad request"
|
|
1619
|
+
},
|
|
1620
|
+
"409": {
|
|
1621
|
+
"description": "Key already exists"
|
|
1622
|
+
}
|
|
1623
|
+
}
|
|
1624
|
+
},
|
|
1625
|
+
"delete": {
|
|
1626
|
+
"tags": [
|
|
1627
|
+
"Keyvalue"
|
|
1628
|
+
],
|
|
1629
|
+
"description": "Delete a key.",
|
|
1630
|
+
"operationId": "deleteKeyvalue",
|
|
1631
|
+
"parameters": [
|
|
1632
|
+
{
|
|
1633
|
+
"name": "key",
|
|
1634
|
+
"in": "path",
|
|
1635
|
+
"description": "Key to delete",
|
|
1636
|
+
"required": true,
|
|
1637
|
+
"schema": {
|
|
1638
|
+
"type": "string"
|
|
1639
|
+
},
|
|
1640
|
+
"example": "my_key"
|
|
1641
|
+
}
|
|
1642
|
+
],
|
|
1643
|
+
"responses": {
|
|
1644
|
+
"204": {
|
|
1645
|
+
"description": "Key deleted"
|
|
1646
|
+
},
|
|
1647
|
+
"404": {
|
|
1648
|
+
"description": "Not found"
|
|
1649
|
+
}
|
|
1650
|
+
}
|
|
1651
|
+
},
|
|
1652
|
+
"patch": {
|
|
1653
|
+
"tags": [
|
|
1654
|
+
"Keyvalue"
|
|
1655
|
+
],
|
|
1656
|
+
"description": "Update a key's value and/or public flag.",
|
|
1657
|
+
"operationId": "patchKeyvalue",
|
|
1658
|
+
"parameters": [
|
|
1659
|
+
{
|
|
1660
|
+
"name": "key",
|
|
1661
|
+
"in": "path",
|
|
1662
|
+
"description": "Key to update",
|
|
1663
|
+
"required": true,
|
|
1664
|
+
"schema": {
|
|
1665
|
+
"type": "string"
|
|
1666
|
+
},
|
|
1667
|
+
"example": "my_key"
|
|
1668
|
+
}
|
|
1669
|
+
],
|
|
1670
|
+
"requestBody": {
|
|
1671
|
+
"description": "Partial key/value update.",
|
|
1672
|
+
"required": true,
|
|
1673
|
+
"content": {
|
|
1674
|
+
"application/json": {
|
|
1675
|
+
"schema": {
|
|
1676
|
+
"$ref": "#/components/schemas/Keyvalue"
|
|
1677
|
+
}
|
|
1678
|
+
}
|
|
1679
|
+
}
|
|
1680
|
+
},
|
|
1681
|
+
"responses": {
|
|
1682
|
+
"303": {
|
|
1683
|
+
"description": "Key updated"
|
|
1684
|
+
},
|
|
1685
|
+
"404": {
|
|
1686
|
+
"description": "Not found"
|
|
1687
|
+
}
|
|
1688
|
+
}
|
|
1689
|
+
}
|
|
1690
|
+
},
|
|
1546
1691
|
"/api/v4/layers/{layer}/classes/{class}/labels/{label}": {
|
|
1547
1692
|
"get": {
|
|
1548
1693
|
"tags": [
|
|
@@ -2201,6 +2346,128 @@
|
|
|
2201
2346
|
}
|
|
2202
2347
|
}
|
|
2203
2348
|
},
|
|
2349
|
+
"/api/v4/mapcache/database/{database}/{path}": {
|
|
2350
|
+
"get": {
|
|
2351
|
+
"tags": [
|
|
2352
|
+
"Mapcache"
|
|
2353
|
+
],
|
|
2354
|
+
"description": "Authorizing MapCache proxy (WMTS, TMS, WMS, Google Maps). Accepts anonymous, HTTP Basic and Bearer token. Tile requests are authorized against the tileset's layer.",
|
|
2355
|
+
"operationId": "getMapcache",
|
|
2356
|
+
"parameters": [
|
|
2357
|
+
{
|
|
2358
|
+
"name": "database",
|
|
2359
|
+
"in": "path",
|
|
2360
|
+
"description": "Database name",
|
|
2361
|
+
"required": true,
|
|
2362
|
+
"schema": {
|
|
2363
|
+
"type": "string"
|
|
2364
|
+
},
|
|
2365
|
+
"example": "my_database"
|
|
2366
|
+
},
|
|
2367
|
+
{
|
|
2368
|
+
"name": "path",
|
|
2369
|
+
"in": "path",
|
|
2370
|
+
"description": "MapCache service path, e.g. \"wmts/1.0.0/my_schema.my_table/default/g20/8/136/78.png\" or \"wms\".",
|
|
2371
|
+
"required": false,
|
|
2372
|
+
"schema": {
|
|
2373
|
+
"type": "string"
|
|
2374
|
+
}
|
|
2375
|
+
}
|
|
2376
|
+
],
|
|
2377
|
+
"responses": {
|
|
2378
|
+
"200": {
|
|
2379
|
+
"description": "Tile or MapCache response streamed from the backend"
|
|
2380
|
+
},
|
|
2381
|
+
"401": {
|
|
2382
|
+
"description": "HTTP Basic authentication required"
|
|
2383
|
+
},
|
|
2384
|
+
"403": {
|
|
2385
|
+
"description": "Not authorized for the requested tileset"
|
|
2386
|
+
}
|
|
2387
|
+
}
|
|
2388
|
+
}
|
|
2389
|
+
},
|
|
2390
|
+
"/api/v4/mapcache/database/{database}/tileset/{tileset}": {
|
|
2391
|
+
"delete": {
|
|
2392
|
+
"tags": [
|
|
2393
|
+
"Mapcache"
|
|
2394
|
+
],
|
|
2395
|
+
"description": "Delete a MapCache tileset's cached tiles. A FULL delete (no bbox/zoom) wipes the backend store directly — synchronous for sqlite/bdb (200), background for disk (202); s3/memcache are not supported for a full delete (400 — use a scoped delete or TTL/lifecycle). A SCOPED delete (bbox and/or zoom) runs mapcache_seed -m delete as a background job (202). Requires write/owner authorization.",
|
|
2396
|
+
"operationId": "deleteMapcacheTileset",
|
|
2397
|
+
"parameters": [
|
|
2398
|
+
{
|
|
2399
|
+
"name": "database",
|
|
2400
|
+
"in": "path",
|
|
2401
|
+
"description": "Database name",
|
|
2402
|
+
"required": true,
|
|
2403
|
+
"schema": {
|
|
2404
|
+
"type": "string"
|
|
2405
|
+
},
|
|
2406
|
+
"example": "my_database"
|
|
2407
|
+
},
|
|
2408
|
+
{
|
|
2409
|
+
"name": "tileset",
|
|
2410
|
+
"in": "path",
|
|
2411
|
+
"description": "Tileset name, i.e. the layer \"schema.table\" (vector variants \"schema.table.mvt\"/\".json\").",
|
|
2412
|
+
"required": true,
|
|
2413
|
+
"schema": {
|
|
2414
|
+
"type": "string"
|
|
2415
|
+
},
|
|
2416
|
+
"example": "my_schema.roads"
|
|
2417
|
+
},
|
|
2418
|
+
{
|
|
2419
|
+
"name": "bbox",
|
|
2420
|
+
"in": "query",
|
|
2421
|
+
"description": "Optional extent to delete (triggers a scoped mapcache_seed delete): minx,miny,maxx,maxy in the grid SRS.",
|
|
2422
|
+
"required": false,
|
|
2423
|
+
"schema": {
|
|
2424
|
+
"type": "string"
|
|
2425
|
+
},
|
|
2426
|
+
"example": "890000,7260000,1730000,7870000"
|
|
2427
|
+
},
|
|
2428
|
+
{
|
|
2429
|
+
"name": "zoom",
|
|
2430
|
+
"in": "query",
|
|
2431
|
+
"description": "Optional zoom range to delete (triggers a scoped mapcache_seed delete): minzoom,maxzoom (or a single zoom).",
|
|
2432
|
+
"required": false,
|
|
2433
|
+
"schema": {
|
|
2434
|
+
"type": "string"
|
|
2435
|
+
},
|
|
2436
|
+
"example": "0,12"
|
|
2437
|
+
},
|
|
2438
|
+
{
|
|
2439
|
+
"name": "grid",
|
|
2440
|
+
"in": "query",
|
|
2441
|
+
"description": "Grid name for a scoped delete (default g20).",
|
|
2442
|
+
"required": false,
|
|
2443
|
+
"schema": {
|
|
2444
|
+
"type": "string"
|
|
2445
|
+
},
|
|
2446
|
+
"example": "g20"
|
|
2447
|
+
}
|
|
2448
|
+
],
|
|
2449
|
+
"responses": {
|
|
2450
|
+
"200": {
|
|
2451
|
+
"description": "Tile cache deleted (synchronous backend wipe)"
|
|
2452
|
+
},
|
|
2453
|
+
"202": {
|
|
2454
|
+
"description": "Deletion job started (scoped seed, or background disk wipe)"
|
|
2455
|
+
},
|
|
2456
|
+
"400": {
|
|
2457
|
+
"description": "Bad request, or full delete unsupported for the backend (s3/memcache)"
|
|
2458
|
+
},
|
|
2459
|
+
"401": {
|
|
2460
|
+
"description": "Authentication required"
|
|
2461
|
+
},
|
|
2462
|
+
"403": {
|
|
2463
|
+
"description": "Not authorized"
|
|
2464
|
+
},
|
|
2465
|
+
"404": {
|
|
2466
|
+
"description": "Database cache config or tileset not found (scoped delete)"
|
|
2467
|
+
}
|
|
2468
|
+
}
|
|
2469
|
+
}
|
|
2470
|
+
},
|
|
2204
2471
|
"/api/v4/meta/{query}": {
|
|
2205
2472
|
"get": {
|
|
2206
2473
|
"tags": [
|
|
@@ -2506,63 +2773,13 @@
|
|
|
2506
2773
|
}
|
|
2507
2774
|
}
|
|
2508
2775
|
},
|
|
2509
|
-
"/api/v4/ows/schema/{schema}": {
|
|
2510
|
-
"get": {
|
|
2511
|
-
"tags": [
|
|
2512
|
-
"Ows"
|
|
2513
|
-
],
|
|
2514
|
-
"description": "Token-authenticated OWS (WMS/WFS/UTFGRID) endpoint. Anonymous and HTTP-Basic clients use the legacy /ows endpoint.",
|
|
2515
|
-
"operationId": "getOws",
|
|
2516
|
-
"parameters": [
|
|
2517
|
-
{
|
|
2518
|
-
"name": "schema",
|
|
2519
|
-
"in": "path",
|
|
2520
|
-
"description": "Schema name",
|
|
2521
|
-
"required": true,
|
|
2522
|
-
"schema": {
|
|
2523
|
-
"type": "string"
|
|
2524
|
-
},
|
|
2525
|
-
"example": "my_schema"
|
|
2526
|
-
}
|
|
2527
|
-
],
|
|
2528
|
-
"responses": {
|
|
2529
|
-
"200": {
|
|
2530
|
-
"description": "OWS response (image, XML, or grid) streamed from the backend"
|
|
2531
|
-
}
|
|
2532
|
-
}
|
|
2533
|
-
},
|
|
2534
|
-
"post": {
|
|
2535
|
-
"tags": [
|
|
2536
|
-
"Ows"
|
|
2537
|
-
],
|
|
2538
|
-
"description": "OWS POST (WFS XML) endpoint.",
|
|
2539
|
-
"operationId": "postOws",
|
|
2540
|
-
"parameters": [
|
|
2541
|
-
{
|
|
2542
|
-
"name": "schema",
|
|
2543
|
-
"in": "path",
|
|
2544
|
-
"description": "Schema name",
|
|
2545
|
-
"required": true,
|
|
2546
|
-
"schema": {
|
|
2547
|
-
"type": "string"
|
|
2548
|
-
},
|
|
2549
|
-
"example": "my_schema"
|
|
2550
|
-
}
|
|
2551
|
-
],
|
|
2552
|
-
"responses": {
|
|
2553
|
-
"200": {
|
|
2554
|
-
"description": "OWS response streamed from the backend"
|
|
2555
|
-
}
|
|
2556
|
-
}
|
|
2557
|
-
}
|
|
2558
|
-
},
|
|
2559
2776
|
"/api/v4/ows/schema/{schema}/database/{database}": {
|
|
2560
2777
|
"get": {
|
|
2561
2778
|
"tags": [
|
|
2562
2779
|
"Ows"
|
|
2563
2780
|
],
|
|
2564
|
-
"description": "
|
|
2565
|
-
"operationId": "
|
|
2781
|
+
"description": "OWS (WMS/WFS/UTFGRID) endpoint. Accepts Bearer token, HTTP Basic and anonymous clients; 'Read/write' layers challenge token-less requests with HTTP Basic auth.",
|
|
2782
|
+
"operationId": "getOws",
|
|
2566
2783
|
"parameters": [
|
|
2567
2784
|
{
|
|
2568
2785
|
"name": "schema",
|
|
@@ -2588,6 +2805,9 @@
|
|
|
2588
2805
|
"responses": {
|
|
2589
2806
|
"200": {
|
|
2590
2807
|
"description": "OWS response (image, XML, or grid) streamed from the backend"
|
|
2808
|
+
},
|
|
2809
|
+
"401": {
|
|
2810
|
+
"description": "HTTP Basic authentication required"
|
|
2591
2811
|
}
|
|
2592
2812
|
}
|
|
2593
2813
|
},
|
|
@@ -2595,8 +2815,8 @@
|
|
|
2595
2815
|
"tags": [
|
|
2596
2816
|
"Ows"
|
|
2597
2817
|
],
|
|
2598
|
-
"description": "
|
|
2599
|
-
"operationId": "
|
|
2818
|
+
"description": "OWS POST (WFS XML) endpoint. Accepts Bearer token, HTTP Basic and anonymous clients.",
|
|
2819
|
+
"operationId": "postOws",
|
|
2600
2820
|
"parameters": [
|
|
2601
2821
|
{
|
|
2602
2822
|
"name": "schema",
|
|
@@ -2622,6 +2842,9 @@
|
|
|
2622
2842
|
"responses": {
|
|
2623
2843
|
"200": {
|
|
2624
2844
|
"description": "OWS response streamed from the backend"
|
|
2845
|
+
},
|
|
2846
|
+
"401": {
|
|
2847
|
+
"description": "HTTP Basic authentication required"
|
|
2625
2848
|
}
|
|
2626
2849
|
}
|
|
2627
2850
|
}
|
|
@@ -4036,226 +4259,13 @@
|
|
|
4036
4259
|
}
|
|
4037
4260
|
}
|
|
4038
4261
|
},
|
|
4039
|
-
"/api/v4/wfs/schema/{schema}/srs/{srs}/{timeSlice}": {
|
|
4262
|
+
"/api/v4/wfs/schema/{schema}/database/{database}/srs/{srs}/ts/{timeSlice}": {
|
|
4040
4263
|
"get": {
|
|
4041
4264
|
"tags": [
|
|
4042
4265
|
"Wfs"
|
|
4043
4266
|
],
|
|
4044
|
-
"description": "
|
|
4267
|
+
"description": "WFS endpoint (GetCapabilities, DescribeFeatureType, GetFeature). Accepts Bearer token, HTTP Basic and anonymous clients; protected layers challenge token-less requests with HTTP Basic auth.",
|
|
4045
4268
|
"operationId": "getWfs",
|
|
4046
|
-
"parameters": [
|
|
4047
|
-
{
|
|
4048
|
-
"name": "schema",
|
|
4049
|
-
"in": "path",
|
|
4050
|
-
"description": "Schema name",
|
|
4051
|
-
"required": true,
|
|
4052
|
-
"schema": {
|
|
4053
|
-
"type": "string"
|
|
4054
|
-
},
|
|
4055
|
-
"example": "my_schema"
|
|
4056
|
-
},
|
|
4057
|
-
{
|
|
4058
|
-
"name": "srs",
|
|
4059
|
-
"in": "path",
|
|
4060
|
-
"description": "Output EPSG code (SRID). Optional path segment.",
|
|
4061
|
-
"required": false,
|
|
4062
|
-
"schema": {
|
|
4063
|
-
"type": "integer"
|
|
4064
|
-
},
|
|
4065
|
-
"example": 25832
|
|
4066
|
-
},
|
|
4067
|
-
{
|
|
4068
|
-
"name": "timeSlice",
|
|
4069
|
-
"in": "path",
|
|
4070
|
-
"description": "Version time slice (ISO date) for versioned layers. Optional path segment.",
|
|
4071
|
-
"required": false,
|
|
4072
|
-
"schema": {
|
|
4073
|
-
"type": "string"
|
|
4074
|
-
},
|
|
4075
|
-
"example": "2020-01-01"
|
|
4076
|
-
},
|
|
4077
|
-
{
|
|
4078
|
-
"name": "SERVICE",
|
|
4079
|
-
"in": "query",
|
|
4080
|
-
"description": "OGC service.",
|
|
4081
|
-
"required": true,
|
|
4082
|
-
"schema": {
|
|
4083
|
-
"type": "string",
|
|
4084
|
-
"default": "WFS"
|
|
4085
|
-
},
|
|
4086
|
-
"example": "WFS"
|
|
4087
|
-
},
|
|
4088
|
-
{
|
|
4089
|
-
"name": "REQUEST",
|
|
4090
|
-
"in": "query",
|
|
4091
|
-
"description": "WFS operation.",
|
|
4092
|
-
"required": true,
|
|
4093
|
-
"schema": {
|
|
4094
|
-
"type": "string",
|
|
4095
|
-
"enum": [
|
|
4096
|
-
"GetCapabilities",
|
|
4097
|
-
"DescribeFeatureType",
|
|
4098
|
-
"GetFeature"
|
|
4099
|
-
]
|
|
4100
|
-
},
|
|
4101
|
-
"example": "GetFeature"
|
|
4102
|
-
},
|
|
4103
|
-
{
|
|
4104
|
-
"name": "VERSION",
|
|
4105
|
-
"in": "query",
|
|
4106
|
-
"description": "WFS protocol version.",
|
|
4107
|
-
"required": false,
|
|
4108
|
-
"schema": {
|
|
4109
|
-
"type": "string",
|
|
4110
|
-
"default": "1.1.0",
|
|
4111
|
-
"enum": [
|
|
4112
|
-
"1.0.0",
|
|
4113
|
-
"1.1.0"
|
|
4114
|
-
]
|
|
4115
|
-
},
|
|
4116
|
-
"example": "1.1.0"
|
|
4117
|
-
},
|
|
4118
|
-
{
|
|
4119
|
-
"name": "TYPENAME",
|
|
4120
|
-
"in": "query",
|
|
4121
|
-
"description": "Feature type (table) name(s), comma-separated.",
|
|
4122
|
-
"required": false,
|
|
4123
|
-
"schema": {
|
|
4124
|
-
"type": "string"
|
|
4125
|
-
},
|
|
4126
|
-
"example": "my_table"
|
|
4127
|
-
},
|
|
4128
|
-
{
|
|
4129
|
-
"name": "OUTPUTFORMAT",
|
|
4130
|
-
"in": "query",
|
|
4131
|
-
"description": "Output format.",
|
|
4132
|
-
"required": false,
|
|
4133
|
-
"schema": {
|
|
4134
|
-
"type": "string"
|
|
4135
|
-
},
|
|
4136
|
-
"example": "gml3"
|
|
4137
|
-
},
|
|
4138
|
-
{
|
|
4139
|
-
"name": "SRSNAME",
|
|
4140
|
-
"in": "query",
|
|
4141
|
-
"description": "Requested output CRS.",
|
|
4142
|
-
"required": false,
|
|
4143
|
-
"schema": {
|
|
4144
|
-
"type": "string"
|
|
4145
|
-
},
|
|
4146
|
-
"example": "urn:ogc:def:crs:EPSG::25832"
|
|
4147
|
-
},
|
|
4148
|
-
{
|
|
4149
|
-
"name": "BBOX",
|
|
4150
|
-
"in": "query",
|
|
4151
|
-
"description": "Bounding-box filter (minx,miny,maxx,maxy).",
|
|
4152
|
-
"required": false,
|
|
4153
|
-
"schema": {
|
|
4154
|
-
"type": "string"
|
|
4155
|
-
},
|
|
4156
|
-
"example": "724000,6174000,725000,6175000"
|
|
4157
|
-
},
|
|
4158
|
-
{
|
|
4159
|
-
"name": "MAXFEATURES",
|
|
4160
|
-
"in": "query",
|
|
4161
|
-
"description": "Maximum number of features to return.",
|
|
4162
|
-
"required": false,
|
|
4163
|
-
"schema": {
|
|
4164
|
-
"type": "integer"
|
|
4165
|
-
},
|
|
4166
|
-
"example": 100
|
|
4167
|
-
},
|
|
4168
|
-
{
|
|
4169
|
-
"name": "FILTER",
|
|
4170
|
-
"in": "query",
|
|
4171
|
-
"description": "OGC Filter Encoding XML.",
|
|
4172
|
-
"required": false,
|
|
4173
|
-
"schema": {
|
|
4174
|
-
"type": "string"
|
|
4175
|
-
}
|
|
4176
|
-
}
|
|
4177
|
-
],
|
|
4178
|
-
"responses": {
|
|
4179
|
-
"200": {
|
|
4180
|
-
"description": "WFS response (Capabilities, schema, or GML feature collection) streamed as XML",
|
|
4181
|
-
"content": {
|
|
4182
|
-
"text/xml": {}
|
|
4183
|
-
}
|
|
4184
|
-
},
|
|
4185
|
-
"401": {
|
|
4186
|
-
"description": "Unauthorized — missing or invalid token"
|
|
4187
|
-
}
|
|
4188
|
-
}
|
|
4189
|
-
},
|
|
4190
|
-
"post": {
|
|
4191
|
-
"tags": [
|
|
4192
|
-
"Wfs"
|
|
4193
|
-
],
|
|
4194
|
-
"description": "WFS POST endpoint for XML-encoded GetFeature and Transaction (WFS-T) requests.",
|
|
4195
|
-
"operationId": "postWfs",
|
|
4196
|
-
"parameters": [
|
|
4197
|
-
{
|
|
4198
|
-
"name": "schema",
|
|
4199
|
-
"in": "path",
|
|
4200
|
-
"description": "Schema name",
|
|
4201
|
-
"required": true,
|
|
4202
|
-
"schema": {
|
|
4203
|
-
"type": "string"
|
|
4204
|
-
},
|
|
4205
|
-
"example": "my_schema"
|
|
4206
|
-
},
|
|
4207
|
-
{
|
|
4208
|
-
"name": "srs",
|
|
4209
|
-
"in": "path",
|
|
4210
|
-
"description": "Output EPSG code (SRID). Optional path segment.",
|
|
4211
|
-
"required": false,
|
|
4212
|
-
"schema": {
|
|
4213
|
-
"type": "integer"
|
|
4214
|
-
},
|
|
4215
|
-
"example": 25832
|
|
4216
|
-
},
|
|
4217
|
-
{
|
|
4218
|
-
"name": "timeSlice",
|
|
4219
|
-
"in": "path",
|
|
4220
|
-
"description": "Version time slice (ISO date) for versioned layers. Optional path segment.",
|
|
4221
|
-
"required": false,
|
|
4222
|
-
"schema": {
|
|
4223
|
-
"type": "string"
|
|
4224
|
-
},
|
|
4225
|
-
"example": "2020-01-01"
|
|
4226
|
-
}
|
|
4227
|
-
],
|
|
4228
|
-
"requestBody": {
|
|
4229
|
-
"description": "WFS XML document (GetFeature query or Transaction).",
|
|
4230
|
-
"required": true,
|
|
4231
|
-
"content": {
|
|
4232
|
-
"text/xml": {
|
|
4233
|
-
"schema": {
|
|
4234
|
-
"type": "string"
|
|
4235
|
-
}
|
|
4236
|
-
}
|
|
4237
|
-
}
|
|
4238
|
-
},
|
|
4239
|
-
"responses": {
|
|
4240
|
-
"200": {
|
|
4241
|
-
"description": "WFS response (feature collection or transaction summary) streamed as XML",
|
|
4242
|
-
"content": {
|
|
4243
|
-
"text/xml": {}
|
|
4244
|
-
}
|
|
4245
|
-
},
|
|
4246
|
-
"401": {
|
|
4247
|
-
"description": "Unauthorized — missing or invalid token"
|
|
4248
|
-
}
|
|
4249
|
-
}
|
|
4250
|
-
}
|
|
4251
|
-
},
|
|
4252
|
-
"/api/v4/wfs/schema/{schema}/database/{database}/srs/{srs}/{timeSlice}": {
|
|
4253
|
-
"get": {
|
|
4254
|
-
"tags": [
|
|
4255
|
-
"Wfs"
|
|
4256
|
-
],
|
|
4257
|
-
"description": "Anonymous and HTTP-Basic WFS endpoint (GetCapabilities, DescribeFeatureType, GetFeature) for clients such as QGIS. Read access is anonymous for anonymously-readable layers; protected layers are challenged with HTTP Basic auth.",
|
|
4258
|
-
"operationId": "getWfsNoToken",
|
|
4259
4269
|
"parameters": [
|
|
4260
4270
|
{
|
|
4261
4271
|
"name": "schema",
|
|
@@ -4406,7 +4416,7 @@
|
|
|
4406
4416
|
}
|
|
4407
4417
|
},
|
|
4408
4418
|
"401": {
|
|
4409
|
-
"description": "Unauthorized — HTTP Basic auth required/failed for a protected layer"
|
|
4419
|
+
"description": "Unauthorized — invalid token, or HTTP Basic auth required/failed for a protected layer"
|
|
4410
4420
|
}
|
|
4411
4421
|
}
|
|
4412
4422
|
},
|
|
@@ -4414,8 +4424,8 @@
|
|
|
4414
4424
|
"tags": [
|
|
4415
4425
|
"Wfs"
|
|
4416
4426
|
],
|
|
4417
|
-
"description": "
|
|
4418
|
-
"operationId": "
|
|
4427
|
+
"description": "WFS POST endpoint for XML-encoded GetFeature and Transaction (WFS-T) requests. Accepts Bearer token, HTTP Basic and anonymous clients; transactions on a protected layer require credentials.",
|
|
4428
|
+
"operationId": "postWfs",
|
|
4419
4429
|
"parameters": [
|
|
4420
4430
|
{
|
|
4421
4431
|
"name": "schema",
|
|
@@ -4477,7 +4487,7 @@
|
|
|
4477
4487
|
}
|
|
4478
4488
|
},
|
|
4479
4489
|
"401": {
|
|
4480
|
-
"description": "Unauthorized — HTTP Basic auth required/failed for a protected layer"
|
|
4490
|
+
"description": "Unauthorized — invalid token, or HTTP Basic auth required/failed for a protected layer"
|
|
4481
4491
|
}
|
|
4482
4492
|
}
|
|
4483
4493
|
}
|
|
@@ -5145,6 +5155,30 @@
|
|
|
5145
5155
|
},
|
|
5146
5156
|
"type": "object"
|
|
5147
5157
|
},
|
|
5158
|
+
"Keyvalue": {
|
|
5159
|
+
"description": "A key/value entry with an owner and a public flag.",
|
|
5160
|
+
"required": [
|
|
5161
|
+
"value"
|
|
5162
|
+
],
|
|
5163
|
+
"properties": {
|
|
5164
|
+
"value": {
|
|
5165
|
+
"title": "Value",
|
|
5166
|
+
"description": "Arbitrary JSON value to store.",
|
|
5167
|
+
"type": "object",
|
|
5168
|
+
"example": {
|
|
5169
|
+
"a": 1
|
|
5170
|
+
}
|
|
5171
|
+
},
|
|
5172
|
+
"public": {
|
|
5173
|
+
"title": "Public",
|
|
5174
|
+
"description": "When true the key is readable by any user in the database.",
|
|
5175
|
+
"type": "boolean",
|
|
5176
|
+
"default": false,
|
|
5177
|
+
"example": false
|
|
5178
|
+
}
|
|
5179
|
+
},
|
|
5180
|
+
"type": "object"
|
|
5181
|
+
},
|
|
5148
5182
|
"Label": {
|
|
5149
5183
|
"description": "Label entry of a class. Property keys follow MapServer LABEL parameters.",
|
|
5150
5184
|
"required": [],
|
|
@@ -5594,7 +5628,7 @@
|
|
|
5594
5628
|
"properties": {
|
|
5595
5629
|
"center": {
|
|
5596
5630
|
"title": "Center",
|
|
5597
|
-
"description": "Map center as [
|
|
5631
|
+
"description": "Map center as [longitude, latitude] in EPSG:4326.",
|
|
5598
5632
|
"type": [
|
|
5599
5633
|
"array",
|
|
5600
5634
|
"null"
|
|
@@ -5603,8 +5637,8 @@
|
|
|
5603
5637
|
"type": "number"
|
|
5604
5638
|
},
|
|
5605
5639
|
"example": [
|
|
5606
|
-
|
|
5607
|
-
|
|
5640
|
+
12.4571,
|
|
5641
|
+
55.7906
|
|
5608
5642
|
]
|
|
5609
5643
|
},
|
|
5610
5644
|
"zoom": {
|
|
@@ -5618,7 +5652,7 @@
|
|
|
5618
5652
|
},
|
|
5619
5653
|
"extent": {
|
|
5620
5654
|
"title": "Extent",
|
|
5621
|
-
"description": "Map extent as [minx, miny, maxx, maxy] in EPSG:
|
|
5655
|
+
"description": "Map extent as [minx, miny, maxx, maxy] in EPSG:4326. This is used to set the initial extent of the map and to set the extent in OWS services.",
|
|
5622
5656
|
"type": [
|
|
5623
5657
|
"array",
|
|
5624
5658
|
"null"
|
|
@@ -5627,10 +5661,10 @@
|
|
|
5627
5661
|
"type": "number"
|
|
5628
5662
|
},
|
|
5629
5663
|
"example": [
|
|
5630
|
-
|
|
5631
|
-
|
|
5632
|
-
|
|
5633
|
-
|
|
5664
|
+
8,
|
|
5665
|
+
54.5,
|
|
5666
|
+
15.5,
|
|
5667
|
+
57.5
|
|
5634
5668
|
]
|
|
5635
5669
|
}
|
|
5636
5670
|
},
|
|
@@ -6730,6 +6764,10 @@
|
|
|
6730
6764
|
"name": "GraphQL",
|
|
6731
6765
|
"description": "GraphQL"
|
|
6732
6766
|
},
|
|
6767
|
+
{
|
|
6768
|
+
"name": "Keyvalue",
|
|
6769
|
+
"description": "Keyvalue"
|
|
6770
|
+
},
|
|
6733
6771
|
{
|
|
6734
6772
|
"name": "Layer",
|
|
6735
6773
|
"description": "Layer"
|
|
@@ -6738,6 +6776,10 @@
|
|
|
6738
6776
|
"name": "Map",
|
|
6739
6777
|
"description": "Map"
|
|
6740
6778
|
},
|
|
6779
|
+
{
|
|
6780
|
+
"name": "Mapcache",
|
|
6781
|
+
"description": "Mapcache"
|
|
6782
|
+
},
|
|
6741
6783
|
{
|
|
6742
6784
|
"name": "Metadata",
|
|
6743
6785
|
"description": "Metadata"
|
package/dist/index.js
CHANGED
|
@@ -6,7 +6,8 @@ import axios from "axios";
|
|
|
6
6
|
import fs from "fs";
|
|
7
7
|
import path from "path";
|
|
8
8
|
import { fileURLToPath } from "url";
|
|
9
|
-
import { createConfigstoreTokenStore
|
|
9
|
+
import { createConfigstoreTokenStore } from "@centia-io/sdk/node";
|
|
10
|
+
import { createTokenProvider, CodeFlow, NotLoggedInError, SessionExpiredError, } from "@centia-io/sdk";
|
|
10
11
|
const __dirname = path.dirname(fileURLToPath(import.meta.url));
|
|
11
12
|
const apiSpecPath = path.join(__dirname, "..", "centia-api.json");
|
|
12
13
|
const apiSpec = JSON.parse(fs.readFileSync(apiSpecPath, "utf-8"));
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@centia-io/mcp-server",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.14",
|
|
4
4
|
"publishConfig": {
|
|
5
5
|
"access": "public"
|
|
6
6
|
},
|
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
"author": "",
|
|
23
23
|
"license": "ISC",
|
|
24
24
|
"dependencies": {
|
|
25
|
-
"@centia-io/sdk": "^0.
|
|
25
|
+
"@centia-io/sdk": "^0.2.9",
|
|
26
26
|
"@modelcontextprotocol/sdk": "^1.26.0",
|
|
27
27
|
"axios": "^1.13.5",
|
|
28
28
|
"zod": "^4.3.6"
|