@lyrra/mcp-server 1.1.0 → 1.1.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 +37 -13
- package/dist/http-server.js +25 -15
- package/dist/http-server.js.map +1 -1
- package/dist/tools/blocks.d.ts +4 -4
- package/dist/tools/eduflow.d.ts.map +1 -1
- package/dist/tools/eduflow.js +16 -2
- package/dist/tools/eduflow.js.map +1 -1
- package/package.json +1 -1
- package/src/http-server.ts +36 -18
- package/src/tools/eduflow.ts +16 -2
package/README.md
CHANGED
|
@@ -13,11 +13,11 @@ Transport HTTP Streamable avec OAuth 2.0 — le serveur MCP tourne comme service
|
|
|
13
13
|
## Installation
|
|
14
14
|
|
|
15
15
|
```bash
|
|
16
|
-
|
|
17
|
-
npm install
|
|
18
|
-
npm run build
|
|
16
|
+
npm install -g @lyrra/mcp-server
|
|
19
17
|
```
|
|
20
18
|
|
|
19
|
+
Ou utilisez directement avec `npx` (aucune installation requise) — voir la configuration ci-dessous.
|
|
20
|
+
|
|
21
21
|
## Configuration
|
|
22
22
|
|
|
23
23
|
### 1. Obtenir vos identifiants
|
|
@@ -28,25 +28,27 @@ Vous obtiendrez un **Client ID** et un **Client Secret** (affiché une seule foi
|
|
|
28
28
|
|
|
29
29
|
### 2. Claude Desktop (mode stdio)
|
|
30
30
|
|
|
31
|
-
Ajoutez dans `~/Library/Application Support/Claude/claude_desktop_config.json` (macOS) :
|
|
31
|
+
Ajoutez dans `~/Library/Application Support/Claude/claude_desktop_config.json` (macOS) ou `%APPDATA%\Claude\claude_desktop_config.json` (Windows) :
|
|
32
32
|
|
|
33
33
|
```json
|
|
34
34
|
{
|
|
35
35
|
"mcpServers": {
|
|
36
36
|
"lyrra-studio": {
|
|
37
|
-
"command": "
|
|
38
|
-
"args": ["/
|
|
37
|
+
"command": "npx",
|
|
38
|
+
"args": ["-y", "@lyrra/mcp-server"],
|
|
39
39
|
"env": {
|
|
40
40
|
"LYRRA_CLIENT_ID": "votre_client_id",
|
|
41
41
|
"LYRRA_CLIENT_SECRET": "rak_votre_client_secret",
|
|
42
42
|
"LYRRA_API_URL": "https://lyrrastudio.com/api",
|
|
43
|
-
"LYRRA_EDUFLOW_API_URL": "https://lyrrastudio.com/eduflow"
|
|
43
|
+
"LYRRA_EDUFLOW_API_URL": "https://lyrrastudio.com/api/eduflow"
|
|
44
44
|
}
|
|
45
45
|
}
|
|
46
46
|
}
|
|
47
47
|
}
|
|
48
48
|
```
|
|
49
49
|
|
|
50
|
+
> Après modification, quittez complètement Claude Desktop (Cmd+Q / Ctrl+Q) et relancez-le.
|
|
51
|
+
|
|
50
52
|
### 3. Claude.ai (mode HTTP)
|
|
51
53
|
|
|
52
54
|
Ajoutez le MCP serveur dans Claude.ai Settings → Integrations → Add MCP Server :
|
|
@@ -66,13 +68,34 @@ Ajoutez dans `.cursor/mcp.json` :
|
|
|
66
68
|
{
|
|
67
69
|
"mcpServers": {
|
|
68
70
|
"lyrra-studio": {
|
|
69
|
-
"command": "
|
|
70
|
-
"args": ["
|
|
71
|
+
"command": "npx",
|
|
72
|
+
"args": ["-y", "@lyrra/mcp-server"],
|
|
73
|
+
"env": {
|
|
74
|
+
"LYRRA_CLIENT_ID": "votre_client_id",
|
|
75
|
+
"LYRRA_CLIENT_SECRET": "rak_votre_client_secret",
|
|
76
|
+
"LYRRA_API_URL": "https://lyrrastudio.com/api",
|
|
77
|
+
"LYRRA_EDUFLOW_API_URL": "https://lyrrastudio.com/api/eduflow"
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
### 5. GitHub Copilot CLI / VS Code
|
|
85
|
+
|
|
86
|
+
Ajoutez dans `.vscode/mcp.json` ou les settings Copilot :
|
|
87
|
+
|
|
88
|
+
```json
|
|
89
|
+
{
|
|
90
|
+
"mcpServers": {
|
|
91
|
+
"lyrra-studio": {
|
|
92
|
+
"command": "npx",
|
|
93
|
+
"args": ["-y", "@lyrra/mcp-server"],
|
|
71
94
|
"env": {
|
|
72
95
|
"LYRRA_CLIENT_ID": "votre_client_id",
|
|
73
96
|
"LYRRA_CLIENT_SECRET": "rak_votre_client_secret",
|
|
74
97
|
"LYRRA_API_URL": "https://lyrrastudio.com/api",
|
|
75
|
-
"LYRRA_EDUFLOW_API_URL": "https://lyrrastudio.com/eduflow"
|
|
98
|
+
"LYRRA_EDUFLOW_API_URL": "https://lyrrastudio.com/api/eduflow"
|
|
76
99
|
}
|
|
77
100
|
}
|
|
78
101
|
}
|
|
@@ -86,9 +109,9 @@ Ajoutez dans `.cursor/mcp.json` :
|
|
|
86
109
|
| `LYRRA_CLIENT_ID` | - | Client ID (nom du client) |
|
|
87
110
|
| `LYRRA_CLIENT_SECRET` | - | Client Secret (clé secrète, préfixe `rak_`) |
|
|
88
111
|
| `LYRRA_API_URL` | `http://localhost:3001/api` | URL de l'API REST |
|
|
89
|
-
| `LYRRA_EDUFLOW_API_URL` | `http://localhost:3001/eduflow` | URL de l'API EduFlow |
|
|
112
|
+
| `LYRRA_EDUFLOW_API_URL` | `http://localhost:3001/api/eduflow` | URL de l'API EduFlow |
|
|
90
113
|
|
|
91
|
-
## Tools disponibles (
|
|
114
|
+
## Tools disponibles (58)
|
|
92
115
|
|
|
93
116
|
### 🔐 Authentification
|
|
94
117
|
| Tool | Description |
|
|
@@ -109,6 +132,7 @@ Ajoutez dans `.cursor/mcp.json` :
|
|
|
109
132
|
| `eduflow_change_status` | Changer le statut (draft/published/archived) |
|
|
110
133
|
| `eduflow_export` | Exporter un parcours |
|
|
111
134
|
| `eduflow_get_public` | Infos publiques d'un parcours |
|
|
135
|
+
| `eduflow_get_urls` | Obtenir les liens (prévisualisation, édition, analytics, etc.) |
|
|
112
136
|
|
|
113
137
|
### 🧱 Blocs
|
|
114
138
|
| Tool | Description |
|
|
@@ -266,4 +290,4 @@ Le mode HTTP expose les endpoints suivants :
|
|
|
266
290
|
| `MCP_HTTP_PORT` | `3002` | Port du serveur HTTP |
|
|
267
291
|
| `MCP_BASE_URL` | `https://lyrrastudio.com` | URL publique de base |
|
|
268
292
|
| `LYRRA_API_URL` | `http://localhost:3001/api` | URL de l'API backend |
|
|
269
|
-
| `LYRRA_EDUFLOW_API_URL` | `http://localhost:3001/eduflow` | URL de l'API EduFlow |
|
|
293
|
+
| `LYRRA_EDUFLOW_API_URL` | `http://localhost:3001/api/eduflow` | URL de l'API EduFlow |
|
package/dist/http-server.js
CHANGED
|
@@ -148,20 +148,26 @@ app.get('/.well-known/oauth-protected-resource', (_req, res) => {
|
|
|
148
148
|
});
|
|
149
149
|
});
|
|
150
150
|
// ─── OAuth Authorization Server Metadata (RFC 8414) ──────────────────────────
|
|
151
|
+
const asMetadata = {
|
|
152
|
+
issuer: `${BASE_URL}/mcp`,
|
|
153
|
+
authorization_endpoint: `${BASE_URL}/mcp/authorize`,
|
|
154
|
+
token_endpoint: `${BASE_URL}/mcp/token`,
|
|
155
|
+
registration_endpoint: `${BASE_URL}/mcp/register`,
|
|
156
|
+
revocation_endpoint: `${BASE_URL}/mcp/revoke`,
|
|
157
|
+
response_types_supported: ['code'],
|
|
158
|
+
grant_types_supported: ['authorization_code', 'refresh_token'],
|
|
159
|
+
code_challenge_methods_supported: ['S256'],
|
|
160
|
+
token_endpoint_auth_methods_supported: ['client_secret_post', 'none'],
|
|
161
|
+
scopes_supported: ['mcp'],
|
|
162
|
+
service_documentation: `${BASE_URL}/docs/mcp`,
|
|
163
|
+
};
|
|
164
|
+
// RFC 8414 compliant path: /.well-known/oauth-authorization-server/{path}
|
|
165
|
+
app.get('/.well-known/oauth-authorization-server/mcp', (_req, res) => {
|
|
166
|
+
res.json(asMetadata);
|
|
167
|
+
});
|
|
168
|
+
// Also serve at /mcp/.well-known/... for backward compatibility
|
|
151
169
|
app.get('/mcp/.well-known/oauth-authorization-server', (_req, res) => {
|
|
152
|
-
res.json(
|
|
153
|
-
issuer: `${BASE_URL}/mcp`,
|
|
154
|
-
authorization_endpoint: `${BASE_URL}/mcp/authorize`,
|
|
155
|
-
token_endpoint: `${BASE_URL}/mcp/token`,
|
|
156
|
-
registration_endpoint: `${BASE_URL}/mcp/register`,
|
|
157
|
-
revocation_endpoint: `${BASE_URL}/mcp/revoke`,
|
|
158
|
-
response_types_supported: ['code'],
|
|
159
|
-
grant_types_supported: ['authorization_code', 'refresh_token'],
|
|
160
|
-
code_challenge_methods_supported: ['S256'],
|
|
161
|
-
token_endpoint_auth_methods_supported: ['client_secret_post', 'none'],
|
|
162
|
-
scopes_supported: ['mcp'],
|
|
163
|
-
service_documentation: `${BASE_URL}/docs/mcp`,
|
|
164
|
-
});
|
|
170
|
+
res.json(asMetadata);
|
|
165
171
|
});
|
|
166
172
|
// ─── Dynamic Client Registration (RFC 7591) ──────────────────────────────────
|
|
167
173
|
app.post('/mcp/register', (req, res) => {
|
|
@@ -360,7 +366,9 @@ app.post('/mcp/revoke', (req, res) => {
|
|
|
360
366
|
function requireAuth(req, res) {
|
|
361
367
|
const tokenData = verifyBearerToken(req);
|
|
362
368
|
if (!tokenData) {
|
|
363
|
-
res.status(401)
|
|
369
|
+
res.status(401)
|
|
370
|
+
.set('WWW-Authenticate', `Bearer resource_metadata="${BASE_URL}/.well-known/oauth-protected-resource"`)
|
|
371
|
+
.json({
|
|
364
372
|
error: 'invalid_token',
|
|
365
373
|
error_description: 'Invalid or expired access token',
|
|
366
374
|
});
|
|
@@ -373,7 +381,9 @@ app.post('/mcp', async (req, res) => {
|
|
|
373
381
|
// Check if this is an OAuth/metadata request (no Authorization header = not an MCP protocol request)
|
|
374
382
|
const hasAuth = req.headers.authorization?.startsWith('Bearer ');
|
|
375
383
|
if (!hasAuth) {
|
|
376
|
-
res.status(401)
|
|
384
|
+
res.status(401)
|
|
385
|
+
.set('WWW-Authenticate', `Bearer resource_metadata="${BASE_URL}/.well-known/oauth-protected-resource"`)
|
|
386
|
+
.json({ error: 'unauthorized' });
|
|
377
387
|
return;
|
|
378
388
|
}
|
|
379
389
|
const tokenData = requireAuth(req, res);
|
package/dist/http-server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http-server.js","sourceRoot":"","sources":["../src/http-server.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"http-server.js","sourceRoot":"","sources":["../src/http-server.ts"],"names":[],"mappings":"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"}
|
package/dist/tools/blocks.d.ts
CHANGED
|
@@ -40,7 +40,7 @@ export declare function createBlocksTools(c: LyrraClient): {
|
|
|
40
40
|
positionY: z.ZodOptional<z.ZodNumber>;
|
|
41
41
|
order: z.ZodOptional<z.ZodNumber>;
|
|
42
42
|
}, "strip", z.ZodTypeAny, {
|
|
43
|
-
type: "email" | "text" | "audio" | "quiz" | "video" | "pdf" | "image" | "loop" | "evaluation" | "split" | "merge" | "timer" | "
|
|
43
|
+
type: "email" | "start" | "end" | "text" | "audio" | "quiz" | "video" | "pdf" | "image" | "loop" | "evaluation" | "split" | "merge" | "timer" | "chart" | "timeline" | "dys_reader" | "dys_image_zones" | "dys_reading_practice" | "dys_clock" | "glossary" | "subflow" | "mindmap" | "form" | "certification" | "voice_assessment" | "presentation" | "browser" | "self_assessment";
|
|
44
44
|
flowId: string;
|
|
45
45
|
title: string;
|
|
46
46
|
content: Record<string, any>;
|
|
@@ -48,7 +48,7 @@ export declare function createBlocksTools(c: LyrraClient): {
|
|
|
48
48
|
positionY?: number | undefined;
|
|
49
49
|
order?: number | undefined;
|
|
50
50
|
}, {
|
|
51
|
-
type: "email" | "text" | "audio" | "quiz" | "video" | "pdf" | "image" | "loop" | "evaluation" | "split" | "merge" | "timer" | "
|
|
51
|
+
type: "email" | "start" | "end" | "text" | "audio" | "quiz" | "video" | "pdf" | "image" | "loop" | "evaluation" | "split" | "merge" | "timer" | "chart" | "timeline" | "dys_reader" | "dys_image_zones" | "dys_reading_practice" | "dys_clock" | "glossary" | "subflow" | "mindmap" | "form" | "certification" | "voice_assessment" | "presentation" | "browser" | "self_assessment";
|
|
52
52
|
flowId: string;
|
|
53
53
|
title: string;
|
|
54
54
|
content: Record<string, any>;
|
|
@@ -239,7 +239,7 @@ export declare const blocksTools: {
|
|
|
239
239
|
positionY: z.ZodOptional<z.ZodNumber>;
|
|
240
240
|
order: z.ZodOptional<z.ZodNumber>;
|
|
241
241
|
}, "strip", z.ZodTypeAny, {
|
|
242
|
-
type: "email" | "text" | "audio" | "quiz" | "video" | "pdf" | "image" | "loop" | "evaluation" | "split" | "merge" | "timer" | "
|
|
242
|
+
type: "email" | "start" | "end" | "text" | "audio" | "quiz" | "video" | "pdf" | "image" | "loop" | "evaluation" | "split" | "merge" | "timer" | "chart" | "timeline" | "dys_reader" | "dys_image_zones" | "dys_reading_practice" | "dys_clock" | "glossary" | "subflow" | "mindmap" | "form" | "certification" | "voice_assessment" | "presentation" | "browser" | "self_assessment";
|
|
243
243
|
flowId: string;
|
|
244
244
|
title: string;
|
|
245
245
|
content: Record<string, any>;
|
|
@@ -247,7 +247,7 @@ export declare const blocksTools: {
|
|
|
247
247
|
positionY?: number | undefined;
|
|
248
248
|
order?: number | undefined;
|
|
249
249
|
}, {
|
|
250
|
-
type: "email" | "text" | "audio" | "quiz" | "video" | "pdf" | "image" | "loop" | "evaluation" | "split" | "merge" | "timer" | "
|
|
250
|
+
type: "email" | "start" | "end" | "text" | "audio" | "quiz" | "video" | "pdf" | "image" | "loop" | "evaluation" | "split" | "merge" | "timer" | "chart" | "timeline" | "dys_reader" | "dys_image_zones" | "dys_reading_practice" | "dys_clock" | "glossary" | "subflow" | "mindmap" | "form" | "certification" | "voice_assessment" | "presentation" | "browser" | "self_assessment";
|
|
251
251
|
flowId: string;
|
|
252
252
|
title: string;
|
|
253
253
|
content: Record<string, any>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"eduflow.d.ts","sourceRoot":"","sources":["../../src/tools/eduflow.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAI3C,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,WAAW;;;;;;;;;;;;;;;8BAejB;YAAE,MAAM,EAAE,MAAM,CAAA;SAAE;;;;;;;;;;;8BAUlB;YAAE,MAAM,EAAE,MAAM,CAAA;SAAE;;;;;;;;;;;;;;;;;;;;;;;wBAmBxB;YAAE,KAAK,EAAE,MAAM,CAAC;YAAC,WAAW,CAAC,EAAE,MAAM,CAAC;YAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;SAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"eduflow.d.ts","sourceRoot":"","sources":["../../src/tools/eduflow.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAI3C,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,WAAW;;;;;;;;;;;;;;;8BAejB;YAAE,MAAM,EAAE,MAAM,CAAA;SAAE;;;;;;;;;;;8BAUlB;YAAE,MAAM,EAAE,MAAM,CAAA;SAAE;;;;;;;;;;;;;;;;;;;;;;;wBAmBxB;YAAE,KAAK,EAAE,MAAM,CAAC;YAAC,WAAW,CAAC,EAAE,MAAM,CAAC;YAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;SAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uCAyC3C,GAAG;;;;;;;;;;;8BAUZ;YAAE,MAAM,EAAE,MAAM,CAAA;SAAE;;;;;;;;;;;8BAUlB;YAAE,MAAM,EAAE,MAAM,CAAA;SAAE;;;;;;;;;;;;;;sCAWV;YAAE,MAAM,EAAE,MAAM,CAAC;YAAC,MAAM,EAAE,MAAM,CAAA;SAAE;;;;;;;;;;;8BAU1C;YAAE,MAAM,EAAE,MAAM,CAAA;SAAE;;;;;;;;;;;8BAUlB;YAAE,MAAM,EAAE,MAAM,CAAA;SAAE;;EAKjD;AAGD,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;8BAjIO;YAAE,MAAM,EAAE,MAAM,CAAA;SAAE;;;;;;;;;;;8BAUlB;YAAE,MAAM,EAAE,MAAM,CAAA;SAAE;;;;;;;;;;;;;;;;;;;;;;;wBAmBxB;YAAE,KAAK,EAAE,MAAM,CAAC;YAAC,WAAW,CAAC,EAAE,MAAM,CAAC;YAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;SAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uCAyC3C,GAAG;;;;;;;;;;;8BAUZ;YAAE,MAAM,EAAE,MAAM,CAAA;SAAE;;;;;;;;;;;8BAUlB;YAAE,MAAM,EAAE,MAAM,CAAA;SAAE;;;;;;;;;;;;;;sCAWV;YAAE,MAAM,EAAE,MAAM,CAAC;YAAC,MAAM,EAAE,MAAM,CAAA;SAAE;;;;;;;;;;;8BAU1C;YAAE,MAAM,EAAE,MAAM,CAAA;SAAE;;;;;;;;;;;8BAUlB;YAAE,MAAM,EAAE,MAAM,CAAA;SAAE;;CAQW,CAAC"}
|
package/dist/tools/eduflow.js
CHANGED
|
@@ -36,14 +36,28 @@ export function createEduflowTools(c) {
|
|
|
36
36
|
},
|
|
37
37
|
},
|
|
38
38
|
eduflow_create: {
|
|
39
|
-
description: 'Créer un nouveau parcours EduFlow.
|
|
39
|
+
description: 'Créer un nouveau parcours EduFlow. Les blocs "start" et "end" sont automatiquement créés et connectés.',
|
|
40
40
|
inputSchema: z.object({
|
|
41
41
|
title: z.string().describe('Titre du parcours'),
|
|
42
42
|
description: z.string().optional().describe('Description du parcours'),
|
|
43
43
|
language: z.enum(['fr', 'en', 'es', 'it', 'de']).optional().describe('Langue du parcours (défaut: fr)'),
|
|
44
44
|
}),
|
|
45
45
|
handler: async (args) => {
|
|
46
|
-
|
|
46
|
+
const result = await c.post('/flows', args, 'eduflow');
|
|
47
|
+
const flowId = result?.flow?.id;
|
|
48
|
+
if (flowId) {
|
|
49
|
+
const startId = `start-1`;
|
|
50
|
+
const endId = `end-1`;
|
|
51
|
+
const blocks = [
|
|
52
|
+
{ id: startId, type: 'start', title: 'Début', content: {}, order: 0, positionX: 250, positionY: 50 },
|
|
53
|
+
{ id: endId, type: 'end', title: 'Fin', content: {}, order: 1, positionX: 250, positionY: 300 },
|
|
54
|
+
];
|
|
55
|
+
const edges = [
|
|
56
|
+
{ id: `edge-${startId}-${endId}`, source: startId, target: endId },
|
|
57
|
+
];
|
|
58
|
+
await c.put(`/flows/${flowId}/blocks`, { blocks, edges }, 'eduflow');
|
|
59
|
+
}
|
|
60
|
+
return result;
|
|
47
61
|
},
|
|
48
62
|
},
|
|
49
63
|
eduflow_update: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"eduflow.js","sourceRoot":"","sources":["../../src/tools/eduflow.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,MAAM,IAAI,aAAa,EAAE,MAAM,cAAc,CAAC;AACvD,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAEtC,MAAM,UAAU,kBAAkB,CAAC,CAAc;IAC/C,OAAO;QACP,YAAY,EAAE;YACZ,WAAW,EAAE,yGAAyG;YACtH,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;YACzB,OAAO,EAAE,KAAK,IAAI,EAAE;gBAClB,OAAO,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;YACpC,CAAC;SACF;QAED,WAAW,EAAE;YACX,WAAW,EAAE,8IAA8I;YAC3J,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;gBACpB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,wBAAwB,CAAC;aAC7D,CAAC;YACF,OAAO,EAAE,KAAK,EAAE,EAAE,MAAM,EAAsB,EAAE,EAAE;gBAChD,OAAO,CAAC,CAAC,GAAG,CAAC,UAAU,MAAM,EAAE,EAAE,SAAS,CAAC,CAAC;YAC9C,CAAC;SACF;QAED,gBAAgB,EAAE;YAChB,WAAW,EAAE,2LAA2L;YACxM,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;gBACpB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,wBAAwB,CAAC;aAC7D,CAAC;YACF,OAAO,EAAE,KAAK,EAAE,EAAE,MAAM,EAAsB,EAAE,EAAE;gBAChD,MAAM,IAAI,GAAG,MAAM,CAAC,WAAW,CAAC;gBAChC,OAAO;oBACL,OAAO,EAAE,GAAG,IAAI,kBAAkB,MAAM,OAAO;oBAC/C,MAAM,EAAE,GAAG,IAAI,kBAAkB,MAAM,SAAS;oBAChD,IAAI,EAAE,GAAG,IAAI,iBAAiB,MAAM,EAAE;oBACtC,YAAY,EAAE,GAAG,IAAI,iBAAiB,MAAM,eAAe;oBAC3D,SAAS,EAAE,GAAG,IAAI,kBAAkB,MAAM,YAAY;iBACvD,CAAC;YACJ,CAAC;SACF;QAED,cAAc,EAAE;YACd,WAAW,EAAE,
|
|
1
|
+
{"version":3,"file":"eduflow.js","sourceRoot":"","sources":["../../src/tools/eduflow.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/http-server.ts
CHANGED
|
@@ -171,6 +171,12 @@ app.use(cors({ origin: true, credentials: true, exposedHeaders: ['mcp-session-id
|
|
|
171
171
|
app.use(express.json());
|
|
172
172
|
app.use(express.urlencoded({ extended: true }));
|
|
173
173
|
|
|
174
|
+
// Request logging for debugging
|
|
175
|
+
app.use((req: Request, _res: Response, next) => {
|
|
176
|
+
console.log(`[MCP] ${req.method} ${req.originalUrl}`);
|
|
177
|
+
next();
|
|
178
|
+
});
|
|
179
|
+
|
|
174
180
|
// ─── OAuth Protected Resource Metadata (RFC 9728) ────────────────────────────
|
|
175
181
|
// Claude.ai fetches this to discover the authorization server
|
|
176
182
|
|
|
@@ -195,20 +201,28 @@ app.get('/.well-known/oauth-protected-resource', (_req: Request, res: Response)
|
|
|
195
201
|
|
|
196
202
|
// ─── OAuth Authorization Server Metadata (RFC 8414) ──────────────────────────
|
|
197
203
|
|
|
204
|
+
const asMetadata = {
|
|
205
|
+
issuer: `${BASE_URL}/mcp`,
|
|
206
|
+
authorization_endpoint: `${BASE_URL}/mcp/authorize`,
|
|
207
|
+
token_endpoint: `${BASE_URL}/mcp/token`,
|
|
208
|
+
registration_endpoint: `${BASE_URL}/mcp/register`,
|
|
209
|
+
revocation_endpoint: `${BASE_URL}/mcp/revoke`,
|
|
210
|
+
response_types_supported: ['code'],
|
|
211
|
+
grant_types_supported: ['authorization_code', 'refresh_token'],
|
|
212
|
+
code_challenge_methods_supported: ['S256'],
|
|
213
|
+
token_endpoint_auth_methods_supported: ['client_secret_post', 'none'],
|
|
214
|
+
scopes_supported: ['mcp'],
|
|
215
|
+
service_documentation: `${BASE_URL}/docs/mcp`,
|
|
216
|
+
};
|
|
217
|
+
|
|
218
|
+
// RFC 8414 compliant path: /.well-known/oauth-authorization-server/{path}
|
|
219
|
+
app.get('/.well-known/oauth-authorization-server/mcp', (_req: Request, res: Response) => {
|
|
220
|
+
res.json(asMetadata);
|
|
221
|
+
});
|
|
222
|
+
|
|
223
|
+
// Also serve at /mcp/.well-known/... for backward compatibility
|
|
198
224
|
app.get('/mcp/.well-known/oauth-authorization-server', (_req: Request, res: Response) => {
|
|
199
|
-
res.json(
|
|
200
|
-
issuer: `${BASE_URL}/mcp`,
|
|
201
|
-
authorization_endpoint: `${BASE_URL}/mcp/authorize`,
|
|
202
|
-
token_endpoint: `${BASE_URL}/mcp/token`,
|
|
203
|
-
registration_endpoint: `${BASE_URL}/mcp/register`,
|
|
204
|
-
revocation_endpoint: `${BASE_URL}/mcp/revoke`,
|
|
205
|
-
response_types_supported: ['code'],
|
|
206
|
-
grant_types_supported: ['authorization_code', 'refresh_token'],
|
|
207
|
-
code_challenge_methods_supported: ['S256'],
|
|
208
|
-
token_endpoint_auth_methods_supported: ['client_secret_post', 'none'],
|
|
209
|
-
scopes_supported: ['mcp'],
|
|
210
|
-
service_documentation: `${BASE_URL}/docs/mcp`,
|
|
211
|
-
});
|
|
225
|
+
res.json(asMetadata);
|
|
212
226
|
});
|
|
213
227
|
|
|
214
228
|
// ─── Dynamic Client Registration (RFC 7591) ──────────────────────────────────
|
|
@@ -453,10 +467,12 @@ app.post('/mcp/revoke', (req: Request, res: Response) => {
|
|
|
453
467
|
function requireAuth(req: Request, res: Response): TokenData | null {
|
|
454
468
|
const tokenData = verifyBearerToken(req);
|
|
455
469
|
if (!tokenData) {
|
|
456
|
-
res.status(401)
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
470
|
+
res.status(401)
|
|
471
|
+
.set('WWW-Authenticate', `Bearer resource_metadata="${BASE_URL}/.well-known/oauth-protected-resource"`)
|
|
472
|
+
.json({
|
|
473
|
+
error: 'invalid_token',
|
|
474
|
+
error_description: 'Invalid or expired access token',
|
|
475
|
+
});
|
|
460
476
|
return null;
|
|
461
477
|
}
|
|
462
478
|
return tokenData;
|
|
@@ -468,7 +484,9 @@ app.post('/mcp', async (req: Request, res: Response) => {
|
|
|
468
484
|
// Check if this is an OAuth/metadata request (no Authorization header = not an MCP protocol request)
|
|
469
485
|
const hasAuth = req.headers.authorization?.startsWith('Bearer ');
|
|
470
486
|
if (!hasAuth) {
|
|
471
|
-
res.status(401)
|
|
487
|
+
res.status(401)
|
|
488
|
+
.set('WWW-Authenticate', `Bearer resource_metadata="${BASE_URL}/.well-known/oauth-protected-resource"`)
|
|
489
|
+
.json({ error: 'unauthorized' });
|
|
472
490
|
return;
|
|
473
491
|
}
|
|
474
492
|
|
package/src/tools/eduflow.ts
CHANGED
|
@@ -41,14 +41,28 @@ export function createEduflowTools(c: LyrraClient) {
|
|
|
41
41
|
},
|
|
42
42
|
|
|
43
43
|
eduflow_create: {
|
|
44
|
-
description: 'Créer un nouveau parcours EduFlow.
|
|
44
|
+
description: 'Créer un nouveau parcours EduFlow. Les blocs "start" et "end" sont automatiquement créés et connectés.',
|
|
45
45
|
inputSchema: z.object({
|
|
46
46
|
title: z.string().describe('Titre du parcours'),
|
|
47
47
|
description: z.string().optional().describe('Description du parcours'),
|
|
48
48
|
language: z.enum(['fr', 'en', 'es', 'it', 'de']).optional().describe('Langue du parcours (défaut: fr)'),
|
|
49
49
|
}),
|
|
50
50
|
handler: async (args: { title: string; description?: string; language?: string }) => {
|
|
51
|
-
|
|
51
|
+
const result = await c.post('/flows', args, 'eduflow');
|
|
52
|
+
const flowId = result?.flow?.id;
|
|
53
|
+
if (flowId) {
|
|
54
|
+
const startId = `start-1`;
|
|
55
|
+
const endId = `end-1`;
|
|
56
|
+
const blocks = [
|
|
57
|
+
{ id: startId, type: 'start', title: 'Début', content: {}, order: 0, positionX: 250, positionY: 50 },
|
|
58
|
+
{ id: endId, type: 'end', title: 'Fin', content: {}, order: 1, positionX: 250, positionY: 300 },
|
|
59
|
+
];
|
|
60
|
+
const edges = [
|
|
61
|
+
{ id: `edge-${startId}-${endId}`, source: startId, target: endId },
|
|
62
|
+
];
|
|
63
|
+
await c.put(`/flows/${flowId}/blocks`, { blocks, edges }, 'eduflow');
|
|
64
|
+
}
|
|
65
|
+
return result;
|
|
52
66
|
},
|
|
53
67
|
},
|
|
54
68
|
|