@ignfab/geocontext 0.8.0 → 0.8.2
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 +2 -1
- package/dist/index.js +7 -1
- package/dist/index.js.map +1 -1
- package/dist/logger.js +8 -3
- package/dist/logger.js.map +1 -1
- package/package.json +9 -8
package/README.md
CHANGED
|
@@ -14,7 +14,7 @@ L'idée est ici d'**expérimenter la conception d'un MCP rendant les données et
|
|
|
14
14
|
|
|
15
15
|
## Mises en garde
|
|
16
16
|
|
|
17
|
-
- Ce développement est un POC en incubation avec IgnFab (
|
|
17
|
+
- Ce développement est un POC en incubation avec IgnFab (archivage en cours de [mborne/geocontext](https://github.com/mborne/geocontext))
|
|
18
18
|
- S'il s'avère utile de l'industrialiser, le dépôt sera migré sous responsabilité IGN et l'outil sera renommé (ex : `IGNF/mcp-gpf-server`)
|
|
19
19
|
- Plusieurs problèmes et améliorations possibles ont été identifiés et sont en cours de mitigation/résolution (c.f. [issues](https://github.com/ignfab/geocontext/issues?q=is%3Aissue%20state%3Aopen%20label%3Ametadata)).
|
|
20
20
|
- Cet outil n'est pas magique (voir [Fonctionnalités](#fonctionnalités) pour avoir une idée de ses capacités)
|
|
@@ -193,3 +193,4 @@ mcp add tool gpf_wmts_layers
|
|
|
193
193
|
|
|
194
194
|
[MIT](LICENSE)
|
|
195
195
|
|
|
196
|
+
|
package/dist/index.js
CHANGED
|
@@ -1,9 +1,13 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { MCPServer } from "mcp-framework";
|
|
3
|
-
import { dirname } from "path";
|
|
3
|
+
import { dirname, join } from "path";
|
|
4
4
|
import { fileURLToPath } from "url";
|
|
5
|
+
import { readFileSync } from "fs";
|
|
5
6
|
// Get the directory of the current module (dist directory)
|
|
6
7
|
const __dirname = dirname(fileURLToPath(import.meta.url));
|
|
8
|
+
// Get version from package.json
|
|
9
|
+
const pkgMetadata = JSON.parse(readFileSync(join(__dirname, '../package.json'), 'utf-8'));
|
|
10
|
+
const VERSION = pkgMetadata.version;
|
|
7
11
|
/**
|
|
8
12
|
* Available transports
|
|
9
13
|
*/
|
|
@@ -29,6 +33,8 @@ async function main() {
|
|
|
29
33
|
}
|
|
30
34
|
// start MCP server
|
|
31
35
|
const mcpServer = new MCPServer({
|
|
36
|
+
name: 'geocontext',
|
|
37
|
+
version: VERSION,
|
|
32
38
|
basePath: __dirname,
|
|
33
39
|
transport: TRANSPORTS[TRANSPORT_TYPE],
|
|
34
40
|
});
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAE1C,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAE1C,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AACrC,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,MAAM,IAAI,CAAC;AAElC,2DAA2D;AAC3D,MAAM,SAAS,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAE1D,gCAAgC;AAChC,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,EAAE,iBAAiB,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;AAC1F,MAAM,OAAO,GAAG,WAAW,CAAC,OAAO,CAAC;AAEpC;;GAEG;AACH,MAAM,UAAU,GAAwB;IACtC,OAAO,EAAE;QACP,IAAI,EAAE,OAAO;KACd;IACD,MAAM,EAAE;QACN,IAAI,EAAE,aAAa;QACnB,OAAO,EAAE;YACP,IAAI,EAAE,IAAI;YACV,IAAI,EAAE;gBACJ,WAAW,EAAE,GAAG;aACjB;SACF;KACF;CACF,CAAA;AAGD,KAAK,UAAU,IAAI;IACjB,+CAA+C;IAC/C,MAAM,cAAc,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,OAAO,CAAC;IAC7D,IAAI,cAAc,KAAK,OAAO,IAAI,cAAc,KAAK,MAAM,EAAE,CAAC;QAC5D,MAAM,IAAI,KAAK,CAAC,2BAA2B,cAAc,EAAE,CAAC,CAAC;IAC/D,CAAC;IAED,mBAAmB;IACnB,MAAM,SAAS,GAAG,IAAI,SAAS,CAAC;QAC9B,IAAI,EAAE,YAAY;QAClB,OAAO,EAAE,OAAO;QAChB,QAAQ,EAAE,SAAS;QACnB,SAAS,EAAE,UAAU,CAAC,cAAc,CAAC;KACtC,CAAC,CAAC;IACH,MAAM,SAAS,CAAC,KAAK,EAAE,CAAC;AAC1B,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;IACrB,OAAO,CAAC,KAAK,CAAC,wBAAwB,EAAE,KAAK,CAAC,CAAC;IAC/C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
|
package/dist/logger.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { createLogger, format, transports } from 'winston';
|
|
1
|
+
import { config, createLogger, format, transports } from 'winston';
|
|
2
2
|
const LOG_LEVEL = process.env.LOG_LEVEL ? process.env.LOG_LEVEL : 'debug';
|
|
3
3
|
const formats = {
|
|
4
4
|
json: format.json(),
|
|
@@ -12,7 +12,13 @@ const logger = createLogger({
|
|
|
12
12
|
level: LOG_LEVEL,
|
|
13
13
|
format: formats[LOG_FORMAT],
|
|
14
14
|
transports: process.env.NODE_ENV != 'test' ? [
|
|
15
|
-
|
|
15
|
+
/*
|
|
16
|
+
* logs all logs level to stderr as stdout is reserved for MCP
|
|
17
|
+
* see https://github.com/winstonjs/winston/blob/master/docs/transports.md#console-transport
|
|
18
|
+
*/
|
|
19
|
+
new transports.Console({
|
|
20
|
+
stderrLevels: Object.keys(config.npm.levels),
|
|
21
|
+
})
|
|
16
22
|
] : [
|
|
17
23
|
new transports.File({
|
|
18
24
|
filename: 'geocontext.log',
|
|
@@ -20,6 +26,5 @@ const logger = createLogger({
|
|
|
20
26
|
})
|
|
21
27
|
],
|
|
22
28
|
});
|
|
23
|
-
logger.info(`LOG_FORMAT=${LOG_FORMAT}, LOG_LEVEL=${LOG_LEVEL}`);
|
|
24
29
|
export default logger;
|
|
25
30
|
//# sourceMappingURL=logger.js.map
|
package/dist/logger.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../src/logger.js"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../src/logger.js"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAEnE,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC;AAE1E,MAAM,OAAO,GAAG;IACZ,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE;IACnB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE;CAC1B,CAAC;AACF,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC;AAC9E,IAAK,CAAE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;IAC/C,MAAM,IAAI,KAAK,CAAC,cAAc,UAAU,aAAa,CAAC,CAAC;AAC3D,CAAC;AAED,MAAM,MAAM,GAAG,YAAY,CAAC;IACxB,KAAK,EAAE,SAAS;IAChB,MAAM,EAAE,OAAO,CAAC,UAAU,CAAC;IAC3B,UAAU,EAAE,OAAO,CAAC,GAAG,CAAC,QAAQ,IAAI,MAAM,CAAC,CAAC,CAAC;QACzC;;;WAGG;QACH,IAAI,UAAU,CAAC,OAAO,CAAC;YACnB,YAAY,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC;SAC/C,CAAC;KACL,CAAC,CAAC,CAAC;QACA,IAAI,UAAU,CAAC,IAAI,CAAC;YAChB,QAAQ,EAAE,gBAAgB;YAC1B,KAAK,EAAE,OAAO;SACjB,CAAC;KACL;CACJ,CAAC,CAAC;AAEH,eAAe,MAAM,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ignfab/geocontext",
|
|
3
|
-
"version": "0.8.
|
|
3
|
+
"version": "0.8.2",
|
|
4
4
|
"description": "An experimental MCP server providing spatial context for LLM.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
@@ -37,25 +37,26 @@
|
|
|
37
37
|
"@camptocamp/ogc-client": "^1.3.0",
|
|
38
38
|
"https-proxy-agent": "^7.0.6",
|
|
39
39
|
"jsts": "^2.12.1",
|
|
40
|
-
"
|
|
40
|
+
"lodash": "^4.17.21",
|
|
41
|
+
"mcp-framework": "^0.2.17",
|
|
41
42
|
"minisearch": "^7.2.0",
|
|
42
43
|
"node-fetch": "^3.3.2",
|
|
43
|
-
"winston": "^3.
|
|
44
|
-
"
|
|
44
|
+
"winston": "^3.18.3",
|
|
45
|
+
"zod": "^3.25.76"
|
|
45
46
|
},
|
|
46
47
|
"devDependencies": {
|
|
47
48
|
"@types/cors": "^2.8.19",
|
|
48
49
|
"@types/geojson": "^7946.0.16",
|
|
49
50
|
"@types/jest": "^30.0.0",
|
|
50
|
-
"@types/lodash": "^4.17.
|
|
51
|
-
"@types/node": "^24.
|
|
51
|
+
"@types/lodash": "^4.17.21",
|
|
52
|
+
"@types/node": "^24.10.1",
|
|
52
53
|
"@types/supertest": "^6.0.3",
|
|
53
54
|
"geojson": "^0.5.0",
|
|
54
55
|
"jest": "^30.2.0",
|
|
55
56
|
"supertest": "^7.1.4",
|
|
56
|
-
"ts-jest": "^29.4.
|
|
57
|
+
"ts-jest": "^29.4.5",
|
|
57
58
|
"ts-node": "^10.9.2",
|
|
58
|
-
"typescript": "^5.9.
|
|
59
|
+
"typescript": "^5.9.3"
|
|
59
60
|
},
|
|
60
61
|
"engines": {
|
|
61
62
|
"node": ">=18.19.0"
|