@supersoniks/concorde 3.3.2 → 3.3.3
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/build-infos.json +1 -1
- package/concorde-core.bundle.js +2 -2
- package/concorde-core.es.js +2 -2
- package/dist/concorde-core.bundle.js +2 -2
- package/dist/concorde-core.es.js +2 -2
- package/package.json +1 -1
- package/src/core/decorators/subscriber/onAssign.ts +3 -1
- package/src/docs/_misc/on-assign.md +5 -5
- package/src/docs/search/docs-search.json +85 -0
- package/mcp-server/COMPARISON-MCP.md +0 -176
- package/mcp-server/README-MCP-NODEJS.md +0 -284
- package/mcp-server/README-MCP.md +0 -114
- package/mcp-server/README.md +0 -127
- package/mcp-server/TECHNICAL-DOCS.md +0 -269
- package/mcp-server/concorde-mcp-server.js +0 -859
- package/mcp-server/concorde-mcp-server.py +0 -801
- package/mcp-server/cursor-mcp-config-advanced.json +0 -68
- package/mcp-server/cursor-mcp-config-nodejs.json +0 -74
- package/mcp-server/cursor-mcp-config.json +0 -11
- package/mcp-server/install-mcp-nodejs.sh +0 -104
- package/mcp-server/install-mcp.sh +0 -62
- package/mcp-server/package-lock.json +0 -147
- package/mcp-server/package-mcp.json +0 -40
- package/mcp-server/package.json +0 -40
- package/mcp-server/test-mcp.js +0 -107
- package/mcp-server/test-mcp.py +0 -73
|
@@ -1,68 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"mcpServers": {
|
|
3
|
-
"concorde": {
|
|
4
|
-
"command": "python3",
|
|
5
|
-
"args": ["/usr2/sites/concorde/concorde-mcp-server.py"],
|
|
6
|
-
"env": {
|
|
7
|
-
"PYTHONPATH": "/usr2/sites/concorde"
|
|
8
|
-
}
|
|
9
|
-
}
|
|
10
|
-
},
|
|
11
|
-
"concorde": {
|
|
12
|
-
"description": "Serveur MCP pour le framework Concorde",
|
|
13
|
-
"version": "1.0.0",
|
|
14
|
-
"capabilities": [
|
|
15
|
-
"search_component",
|
|
16
|
-
"get_component_info",
|
|
17
|
-
"generate_component_code",
|
|
18
|
-
"get_form_example",
|
|
19
|
-
"get_theme_info",
|
|
20
|
-
"get_icons_list"
|
|
21
|
-
],
|
|
22
|
-
"examples": {
|
|
23
|
-
"search": "Recherche un composant par nom ou fonctionnalité",
|
|
24
|
-
"generate_button": "Génère un bouton avec des propriétés spécifiques",
|
|
25
|
-
"create_form": "Crée un formulaire complet avec validation",
|
|
26
|
-
"theme_info": "Obtient des informations sur les thèmes disponibles",
|
|
27
|
-
"icon_list": "Liste toutes les icônes disponibles"
|
|
28
|
-
},
|
|
29
|
-
"components": {
|
|
30
|
-
"ui": [
|
|
31
|
-
"button",
|
|
32
|
-
"input",
|
|
33
|
-
"select",
|
|
34
|
-
"checkbox",
|
|
35
|
-
"radio",
|
|
36
|
-
"textarea",
|
|
37
|
-
"modal",
|
|
38
|
-
"alert",
|
|
39
|
-
"badge",
|
|
40
|
-
"card",
|
|
41
|
-
"table",
|
|
42
|
-
"icon",
|
|
43
|
-
"image",
|
|
44
|
-
"link",
|
|
45
|
-
"loader",
|
|
46
|
-
"progress",
|
|
47
|
-
"tooltip",
|
|
48
|
-
"pop",
|
|
49
|
-
"divider",
|
|
50
|
-
"group"
|
|
51
|
-
],
|
|
52
|
-
"functional": [
|
|
53
|
-
"fetch",
|
|
54
|
-
"list",
|
|
55
|
-
"router",
|
|
56
|
-
"states",
|
|
57
|
-
"submit",
|
|
58
|
-
"subscriber",
|
|
59
|
-
"value",
|
|
60
|
-
"if",
|
|
61
|
-
"sdui",
|
|
62
|
-
"queue",
|
|
63
|
-
"mix",
|
|
64
|
-
"translation"
|
|
65
|
-
]
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
}
|
|
@@ -1,74 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"mcpServers": {
|
|
3
|
-
"concorde": {
|
|
4
|
-
"command": "node",
|
|
5
|
-
"args": ["/usr2/sites/concorde/mcp-server/concorde-mcp-server.js"],
|
|
6
|
-
"env": {
|
|
7
|
-
"NODE_PATH": "/usr2/sites/concorde"
|
|
8
|
-
}
|
|
9
|
-
}
|
|
10
|
-
},
|
|
11
|
-
"concorde": {
|
|
12
|
-
"description": "Serveur MCP pour le framework Concorde (Version Node.js)",
|
|
13
|
-
"version": "1.0.0",
|
|
14
|
-
"runtime": "nodejs",
|
|
15
|
-
"capabilities": [
|
|
16
|
-
"search_component",
|
|
17
|
-
"get_component_info",
|
|
18
|
-
"generate_component_code",
|
|
19
|
-
"get_form_example",
|
|
20
|
-
"get_theme_info",
|
|
21
|
-
"get_icons_list"
|
|
22
|
-
],
|
|
23
|
-
"examples": {
|
|
24
|
-
"search": "Recherche un composant par nom ou fonctionnalité",
|
|
25
|
-
"generate_button": "Génère un bouton avec des propriétés spécifiques",
|
|
26
|
-
"create_form": "Crée un formulaire complet avec validation",
|
|
27
|
-
"theme_info": "Obtient des informations sur les thèmes disponibles",
|
|
28
|
-
"icon_list": "Liste toutes les icônes disponibles"
|
|
29
|
-
},
|
|
30
|
-
"components": {
|
|
31
|
-
"ui": [
|
|
32
|
-
"button",
|
|
33
|
-
"input",
|
|
34
|
-
"select",
|
|
35
|
-
"checkbox",
|
|
36
|
-
"radio",
|
|
37
|
-
"textarea",
|
|
38
|
-
"modal",
|
|
39
|
-
"alert",
|
|
40
|
-
"badge",
|
|
41
|
-
"card",
|
|
42
|
-
"table",
|
|
43
|
-
"icon",
|
|
44
|
-
"image",
|
|
45
|
-
"link",
|
|
46
|
-
"loader",
|
|
47
|
-
"progress",
|
|
48
|
-
"tooltip",
|
|
49
|
-
"pop",
|
|
50
|
-
"divider",
|
|
51
|
-
"group"
|
|
52
|
-
],
|
|
53
|
-
"functional": [
|
|
54
|
-
"fetch",
|
|
55
|
-
"list",
|
|
56
|
-
"router",
|
|
57
|
-
"states",
|
|
58
|
-
"submit",
|
|
59
|
-
"subscriber",
|
|
60
|
-
"value",
|
|
61
|
-
"if",
|
|
62
|
-
"sdui",
|
|
63
|
-
"queue",
|
|
64
|
-
"mix",
|
|
65
|
-
"translation"
|
|
66
|
-
]
|
|
67
|
-
},
|
|
68
|
-
"performance": {
|
|
69
|
-
"startup_time": "~1-2 secondes",
|
|
70
|
-
"memory_usage": "~30-50 MB",
|
|
71
|
-
"response_time": "<50ms pour la plupart des requêtes"
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
}
|
|
@@ -1,104 +0,0 @@
|
|
|
1
|
-
#!/bin/bash
|
|
2
|
-
|
|
3
|
-
# Script d'installation du serveur MCP Concorde (Version Node.js)
|
|
4
|
-
# Usage: ./install-mcp-nodejs.sh
|
|
5
|
-
|
|
6
|
-
set -e
|
|
7
|
-
|
|
8
|
-
echo "🚀 Installation du serveur MCP Concorde (Node.js)..."
|
|
9
|
-
|
|
10
|
-
# Vérifier que Node.js est installé
|
|
11
|
-
if ! command -v node &> /dev/null; then
|
|
12
|
-
echo "❌ Node.js n'est pas installé. Veuillez l'installer d'abord."
|
|
13
|
-
echo " Visitez https://nodejs.org/ pour télécharger Node.js"
|
|
14
|
-
exit 1
|
|
15
|
-
fi
|
|
16
|
-
|
|
17
|
-
# Vérifier la version de Node.js (minimum 18.0.0)
|
|
18
|
-
NODE_VERSION=$(node -v | cut -d'v' -f2)
|
|
19
|
-
REQUIRED_VERSION="18.0.0"
|
|
20
|
-
|
|
21
|
-
if ! node -e "
|
|
22
|
-
const current = process.version.slice(1).split('.').map(Number);
|
|
23
|
-
const required = '$REQUIRED_VERSION'.split('.').map(Number);
|
|
24
|
-
if (current[0] < required[0] || (current[0] === required[0] && current[1] < required[1])) {
|
|
25
|
-
process.exit(1);
|
|
26
|
-
}
|
|
27
|
-
" 2>/dev/null; then
|
|
28
|
-
echo "❌ Node.js version $NODE_VERSION détectée. Version minimum requise: $REQUIRED_VERSION"
|
|
29
|
-
echo " Veuillez mettre à jour Node.js"
|
|
30
|
-
exit 1
|
|
31
|
-
fi
|
|
32
|
-
|
|
33
|
-
echo "✅ Node.js version $NODE_VERSION détectée"
|
|
34
|
-
|
|
35
|
-
# Vérifier que npm est installé
|
|
36
|
-
if ! command -v npm &> /dev/null; then
|
|
37
|
-
echo "❌ npm n'est pas installé. Veuillez l'installer d'abord."
|
|
38
|
-
exit 1
|
|
39
|
-
fi
|
|
40
|
-
|
|
41
|
-
# Installer les dépendances
|
|
42
|
-
echo "📦 Installation des dépendances Node.js..."
|
|
43
|
-
if [ -f "package-mcp.json" ]; then
|
|
44
|
-
cp package-mcp.json package.json
|
|
45
|
-
npm install
|
|
46
|
-
echo "✅ Dépendances installées"
|
|
47
|
-
else
|
|
48
|
-
echo "❌ Fichier package-mcp.json non trouvé"
|
|
49
|
-
exit 1
|
|
50
|
-
fi
|
|
51
|
-
|
|
52
|
-
# Rendre les scripts exécutables
|
|
53
|
-
chmod +x concorde-mcp-server.js
|
|
54
|
-
chmod +x test-mcp.js
|
|
55
|
-
|
|
56
|
-
# Créer un lien symbolique pour faciliter l'accès
|
|
57
|
-
if [ ! -L /usr/local/bin/concorde-mcp-nodejs ]; then
|
|
58
|
-
echo "🔗 Création du lien symbolique..."
|
|
59
|
-
sudo ln -sf "$(pwd)/concorde-mcp-server.js" /usr/local/bin/concorde-mcp-nodejs
|
|
60
|
-
fi
|
|
61
|
-
|
|
62
|
-
# Tester l'installation
|
|
63
|
-
echo "🧪 Test de l'installation..."
|
|
64
|
-
if node test-mcp.js; then
|
|
65
|
-
echo "✅ Test réussi !"
|
|
66
|
-
else
|
|
67
|
-
echo "❌ Test échoué"
|
|
68
|
-
exit 1
|
|
69
|
-
fi
|
|
70
|
-
|
|
71
|
-
# Afficher la configuration pour Cursor
|
|
72
|
-
echo ""
|
|
73
|
-
echo "✅ Installation terminée !"
|
|
74
|
-
echo ""
|
|
75
|
-
echo "📋 Configuration pour Cursor :"
|
|
76
|
-
echo "Ajoutez ceci dans vos paramètres Cursor (settings.json) :"
|
|
77
|
-
echo ""
|
|
78
|
-
cat << 'EOF'
|
|
79
|
-
{
|
|
80
|
-
"mcpServers": {
|
|
81
|
-
"concorde": {
|
|
82
|
-
"command": "node",
|
|
83
|
-
"args": ["/usr2/sites/concorde/mcp-server/concorde-mcp-server.js"],
|
|
84
|
-
"env": {
|
|
85
|
-
"NODE_PATH": "/usr2/sites/concorde"
|
|
86
|
-
}
|
|
87
|
-
}
|
|
88
|
-
}
|
|
89
|
-
}
|
|
90
|
-
EOF
|
|
91
|
-
echo ""
|
|
92
|
-
echo "🔄 Redémarrez Cursor pour que la configuration soit prise en compte."
|
|
93
|
-
echo ""
|
|
94
|
-
echo "🧪 Test du serveur :"
|
|
95
|
-
echo "Vous pouvez tester le serveur avec :"
|
|
96
|
-
echo " node test-mcp.js"
|
|
97
|
-
echo " concorde-mcp-nodejs --help"
|
|
98
|
-
echo ""
|
|
99
|
-
echo "📚 Documentation complète dans README-MCP.md"
|
|
100
|
-
echo ""
|
|
101
|
-
echo "🔧 Commandes disponibles :"
|
|
102
|
-
echo " npm start - Démarrer le serveur"
|
|
103
|
-
echo " npm test - Tester le serveur"
|
|
104
|
-
echo " npm run dev - Démarrer en mode debug"
|
|
@@ -1,62 +0,0 @@
|
|
|
1
|
-
#!/bin/bash
|
|
2
|
-
|
|
3
|
-
# Script d'installation du serveur MCP Concorde
|
|
4
|
-
# Usage: ./install-mcp.sh
|
|
5
|
-
|
|
6
|
-
set -e
|
|
7
|
-
|
|
8
|
-
echo "🚀 Installation du serveur MCP Concorde..."
|
|
9
|
-
|
|
10
|
-
# Vérifier que Python 3 est installé
|
|
11
|
-
if ! command -v python3 &> /dev/null; then
|
|
12
|
-
echo "❌ Python 3 n'est pas installé. Veuillez l'installer d'abord."
|
|
13
|
-
exit 1
|
|
14
|
-
fi
|
|
15
|
-
|
|
16
|
-
# Vérifier que pip est installé
|
|
17
|
-
if ! command -v pip3 &> /dev/null; then
|
|
18
|
-
echo "❌ pip3 n'est pas installé. Veuillez l'installer d'abord."
|
|
19
|
-
exit 1
|
|
20
|
-
fi
|
|
21
|
-
|
|
22
|
-
# Installer les dépendances Python
|
|
23
|
-
echo "📦 Installation des dépendances Python..."
|
|
24
|
-
pip3 install mcp
|
|
25
|
-
|
|
26
|
-
# Rendre le script MCP exécutable
|
|
27
|
-
chmod +x concorde-mcp-server.py
|
|
28
|
-
|
|
29
|
-
# Créer un lien symbolique pour faciliter l'accès
|
|
30
|
-
if [ ! -L /usr/local/bin/concorde-mcp ]; then
|
|
31
|
-
echo "🔗 Création du lien symbolique..."
|
|
32
|
-
sudo ln -sf "$(pwd)/concorde-mcp-server.py" /usr/local/bin/concorde-mcp
|
|
33
|
-
fi
|
|
34
|
-
|
|
35
|
-
# Afficher la configuration pour Cursor
|
|
36
|
-
echo ""
|
|
37
|
-
echo "✅ Installation terminée !"
|
|
38
|
-
echo ""
|
|
39
|
-
echo "📋 Configuration pour Cursor :"
|
|
40
|
-
echo "Ajoutez ceci dans vos paramètres Cursor (settings.json) :"
|
|
41
|
-
echo ""
|
|
42
|
-
cat << 'EOF'
|
|
43
|
-
{
|
|
44
|
-
"mcpServers": {
|
|
45
|
-
"concorde": {
|
|
46
|
-
"command": "python3",
|
|
47
|
-
"args": ["/usr2/sites/concorde/mcp-server/concorde-mcp-server.py"],
|
|
48
|
-
"env": {
|
|
49
|
-
"PYTHONPATH": "/usr2/sites/concorde"
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
EOF
|
|
55
|
-
echo ""
|
|
56
|
-
echo "🔄 Redémarrez Cursor pour que la configuration soit prise en compte."
|
|
57
|
-
echo ""
|
|
58
|
-
echo "🧪 Test du serveur :"
|
|
59
|
-
echo "Vous pouvez tester le serveur avec :"
|
|
60
|
-
echo " concorde-mcp --help"
|
|
61
|
-
echo ""
|
|
62
|
-
echo "📚 Documentation complète dans README-MCP.md"
|
|
@@ -1,147 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "concorde-mcp-server",
|
|
3
|
-
"version": "1.0.0",
|
|
4
|
-
"lockfileVersion": 3,
|
|
5
|
-
"requires": true,
|
|
6
|
-
"packages": {
|
|
7
|
-
"": {
|
|
8
|
-
"name": "concorde-mcp-server",
|
|
9
|
-
"version": "1.0.0",
|
|
10
|
-
"license": "MIT",
|
|
11
|
-
"dependencies": {
|
|
12
|
-
"@modelcontextprotocol/sdk": "^0.5.0"
|
|
13
|
-
},
|
|
14
|
-
"bin": {
|
|
15
|
-
"concorde-mcp": "concorde-mcp-server.js"
|
|
16
|
-
},
|
|
17
|
-
"engines": {
|
|
18
|
-
"node": ">=18.0.0"
|
|
19
|
-
}
|
|
20
|
-
},
|
|
21
|
-
"node_modules/@modelcontextprotocol/sdk": {
|
|
22
|
-
"version": "0.5.0",
|
|
23
|
-
"resolved": "https://registry.npmjs.org/@modelcontextprotocol/sdk/-/sdk-0.5.0.tgz",
|
|
24
|
-
"integrity": "sha512-RXgulUX6ewvxjAG0kOpLMEdXXWkzWgaoCGaA2CwNW7cQCIphjpJhjpHSiaPdVCnisjRF/0Cm9KWHUuIoeiAblQ==",
|
|
25
|
-
"dependencies": {
|
|
26
|
-
"content-type": "^1.0.5",
|
|
27
|
-
"raw-body": "^3.0.0",
|
|
28
|
-
"zod": "^3.23.8"
|
|
29
|
-
}
|
|
30
|
-
},
|
|
31
|
-
"node_modules/bytes": {
|
|
32
|
-
"version": "3.1.2",
|
|
33
|
-
"resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz",
|
|
34
|
-
"integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==",
|
|
35
|
-
"engines": {
|
|
36
|
-
"node": ">= 0.8"
|
|
37
|
-
}
|
|
38
|
-
},
|
|
39
|
-
"node_modules/content-type": {
|
|
40
|
-
"version": "1.0.5",
|
|
41
|
-
"resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz",
|
|
42
|
-
"integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==",
|
|
43
|
-
"engines": {
|
|
44
|
-
"node": ">= 0.6"
|
|
45
|
-
}
|
|
46
|
-
},
|
|
47
|
-
"node_modules/depd": {
|
|
48
|
-
"version": "2.0.0",
|
|
49
|
-
"resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz",
|
|
50
|
-
"integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==",
|
|
51
|
-
"engines": {
|
|
52
|
-
"node": ">= 0.8"
|
|
53
|
-
}
|
|
54
|
-
},
|
|
55
|
-
"node_modules/http-errors": {
|
|
56
|
-
"version": "2.0.0",
|
|
57
|
-
"resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz",
|
|
58
|
-
"integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==",
|
|
59
|
-
"dependencies": {
|
|
60
|
-
"depd": "2.0.0",
|
|
61
|
-
"inherits": "2.0.4",
|
|
62
|
-
"setprototypeof": "1.2.0",
|
|
63
|
-
"statuses": "2.0.1",
|
|
64
|
-
"toidentifier": "1.0.1"
|
|
65
|
-
},
|
|
66
|
-
"engines": {
|
|
67
|
-
"node": ">= 0.8"
|
|
68
|
-
}
|
|
69
|
-
},
|
|
70
|
-
"node_modules/iconv-lite": {
|
|
71
|
-
"version": "0.7.0",
|
|
72
|
-
"resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.7.0.tgz",
|
|
73
|
-
"integrity": "sha512-cf6L2Ds3h57VVmkZe+Pn+5APsT7FpqJtEhhieDCvrE2MK5Qk9MyffgQyuxQTm6BChfeZNtcOLHp9IcWRVcIcBQ==",
|
|
74
|
-
"dependencies": {
|
|
75
|
-
"safer-buffer": ">= 2.1.2 < 3.0.0"
|
|
76
|
-
},
|
|
77
|
-
"engines": {
|
|
78
|
-
"node": ">=0.10.0"
|
|
79
|
-
},
|
|
80
|
-
"funding": {
|
|
81
|
-
"type": "opencollective",
|
|
82
|
-
"url": "https://opencollective.com/express"
|
|
83
|
-
}
|
|
84
|
-
},
|
|
85
|
-
"node_modules/inherits": {
|
|
86
|
-
"version": "2.0.4",
|
|
87
|
-
"resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
|
|
88
|
-
"integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="
|
|
89
|
-
},
|
|
90
|
-
"node_modules/raw-body": {
|
|
91
|
-
"version": "3.0.1",
|
|
92
|
-
"resolved": "https://registry.npmjs.org/raw-body/-/raw-body-3.0.1.tgz",
|
|
93
|
-
"integrity": "sha512-9G8cA+tuMS75+6G/TzW8OtLzmBDMo8p1JRxN5AZ+LAp8uxGA8V8GZm4GQ4/N5QNQEnLmg6SS7wyuSmbKepiKqA==",
|
|
94
|
-
"dependencies": {
|
|
95
|
-
"bytes": "3.1.2",
|
|
96
|
-
"http-errors": "2.0.0",
|
|
97
|
-
"iconv-lite": "0.7.0",
|
|
98
|
-
"unpipe": "1.0.0"
|
|
99
|
-
},
|
|
100
|
-
"engines": {
|
|
101
|
-
"node": ">= 0.10"
|
|
102
|
-
}
|
|
103
|
-
},
|
|
104
|
-
"node_modules/safer-buffer": {
|
|
105
|
-
"version": "2.1.2",
|
|
106
|
-
"resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
|
|
107
|
-
"integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
|
|
108
|
-
},
|
|
109
|
-
"node_modules/setprototypeof": {
|
|
110
|
-
"version": "1.2.0",
|
|
111
|
-
"resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz",
|
|
112
|
-
"integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw=="
|
|
113
|
-
},
|
|
114
|
-
"node_modules/statuses": {
|
|
115
|
-
"version": "2.0.1",
|
|
116
|
-
"resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz",
|
|
117
|
-
"integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==",
|
|
118
|
-
"engines": {
|
|
119
|
-
"node": ">= 0.8"
|
|
120
|
-
}
|
|
121
|
-
},
|
|
122
|
-
"node_modules/toidentifier": {
|
|
123
|
-
"version": "1.0.1",
|
|
124
|
-
"resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz",
|
|
125
|
-
"integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==",
|
|
126
|
-
"engines": {
|
|
127
|
-
"node": ">=0.6"
|
|
128
|
-
}
|
|
129
|
-
},
|
|
130
|
-
"node_modules/unpipe": {
|
|
131
|
-
"version": "1.0.0",
|
|
132
|
-
"resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz",
|
|
133
|
-
"integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==",
|
|
134
|
-
"engines": {
|
|
135
|
-
"node": ">= 0.8"
|
|
136
|
-
}
|
|
137
|
-
},
|
|
138
|
-
"node_modules/zod": {
|
|
139
|
-
"version": "3.25.76",
|
|
140
|
-
"resolved": "https://registry.npmjs.org/zod/-/zod-3.25.76.tgz",
|
|
141
|
-
"integrity": "sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ==",
|
|
142
|
-
"funding": {
|
|
143
|
-
"url": "https://github.com/sponsors/colinhacks"
|
|
144
|
-
}
|
|
145
|
-
}
|
|
146
|
-
}
|
|
147
|
-
}
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "concorde-mcp-server",
|
|
3
|
-
"version": "1.0.0",
|
|
4
|
-
"description": "Serveur MCP pour le framework Concorde - Permet à l'IA de Cursor d'accéder facilement à toute la documentation et au code de Concorde",
|
|
5
|
-
"main": "concorde-mcp-server.js",
|
|
6
|
-
"type": "module",
|
|
7
|
-
"bin": {
|
|
8
|
-
"concorde-mcp": "./concorde-mcp-server.js"
|
|
9
|
-
},
|
|
10
|
-
"scripts": {
|
|
11
|
-
"start": "node concorde-mcp-server.js",
|
|
12
|
-
"test": "node test-mcp.js",
|
|
13
|
-
"dev": "node --inspect concorde-mcp-server.js"
|
|
14
|
-
},
|
|
15
|
-
"keywords": [
|
|
16
|
-
"mcp",
|
|
17
|
-
"concorde",
|
|
18
|
-
"cursor",
|
|
19
|
-
"ai",
|
|
20
|
-
"web-components",
|
|
21
|
-
"lit-element",
|
|
22
|
-
"framework"
|
|
23
|
-
],
|
|
24
|
-
"author": "Concorde Framework Team",
|
|
25
|
-
"license": "MIT",
|
|
26
|
-
"dependencies": {
|
|
27
|
-
"@modelcontextprotocol/sdk": "^0.5.0"
|
|
28
|
-
},
|
|
29
|
-
"engines": {
|
|
30
|
-
"node": ">=18.0.0"
|
|
31
|
-
},
|
|
32
|
-
"repository": {
|
|
33
|
-
"type": "git",
|
|
34
|
-
"url": "https://github.com/supersoniks/concorde"
|
|
35
|
-
},
|
|
36
|
-
"bugs": {
|
|
37
|
-
"url": "https://github.com/supersoniks/concorde/issues"
|
|
38
|
-
},
|
|
39
|
-
"homepage": "https://github.com/supersoniks/concorde#readme"
|
|
40
|
-
}
|
package/mcp-server/package.json
DELETED
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "concorde-mcp-server",
|
|
3
|
-
"version": "1.0.0",
|
|
4
|
-
"description": "Serveur MCP pour le framework Concorde - Permet à l'IA de Cursor d'accéder facilement à toute la documentation et au code de Concorde",
|
|
5
|
-
"main": "concorde-mcp-server.js",
|
|
6
|
-
"type": "module",
|
|
7
|
-
"bin": {
|
|
8
|
-
"concorde-mcp": "./concorde-mcp-server.js"
|
|
9
|
-
},
|
|
10
|
-
"scripts": {
|
|
11
|
-
"start": "node concorde-mcp-server.js",
|
|
12
|
-
"test": "node test-mcp.js",
|
|
13
|
-
"dev": "node --inspect concorde-mcp-server.js"
|
|
14
|
-
},
|
|
15
|
-
"keywords": [
|
|
16
|
-
"mcp",
|
|
17
|
-
"concorde",
|
|
18
|
-
"cursor",
|
|
19
|
-
"ai",
|
|
20
|
-
"web-components",
|
|
21
|
-
"lit-element",
|
|
22
|
-
"framework"
|
|
23
|
-
],
|
|
24
|
-
"author": "Concorde Framework Team",
|
|
25
|
-
"license": "MIT",
|
|
26
|
-
"dependencies": {
|
|
27
|
-
"@modelcontextprotocol/sdk": "^0.5.0"
|
|
28
|
-
},
|
|
29
|
-
"engines": {
|
|
30
|
-
"node": ">=18.0.0"
|
|
31
|
-
},
|
|
32
|
-
"repository": {
|
|
33
|
-
"type": "git",
|
|
34
|
-
"url": "https://github.com/supersoniks/concorde"
|
|
35
|
-
},
|
|
36
|
-
"bugs": {
|
|
37
|
-
"url": "https://github.com/supersoniks/concorde/issues"
|
|
38
|
-
},
|
|
39
|
-
"homepage": "https://github.com/supersoniks/concorde#readme"
|
|
40
|
-
}
|
package/mcp-server/test-mcp.js
DELETED
|
@@ -1,107 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* Script de test pour le serveur MCP Concorde (Version Node.js)
|
|
5
|
-
*/
|
|
6
|
-
|
|
7
|
-
import { ConcordeMCPServer } from './concorde-mcp-server.js';
|
|
8
|
-
|
|
9
|
-
async function testServer() {
|
|
10
|
-
console.log('🧪 Test du serveur MCP Concorde (Node.js)...');
|
|
11
|
-
|
|
12
|
-
const server = new ConcordeMCPServer();
|
|
13
|
-
await server.initialize();
|
|
14
|
-
|
|
15
|
-
// Test 1: Vérifier que les composants sont chargés
|
|
16
|
-
console.log(`\n📦 Composants chargés: ${server.components.size}`);
|
|
17
|
-
let count = 0;
|
|
18
|
-
for (const [name, comp] of server.components) {
|
|
19
|
-
if (count < 5) {
|
|
20
|
-
console.log(` - ${comp.tagName} (${comp.category})`);
|
|
21
|
-
count++;
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
// Test 2: Recherche de composant
|
|
26
|
-
console.log('\n🔍 Test de recherche...');
|
|
27
|
-
const searchResult = await server.searchComponent('button');
|
|
28
|
-
console.log(`Résultat recherche 'button': ${searchResult.content[0].text.length} caractères`);
|
|
29
|
-
|
|
30
|
-
// Test 3: Informations sur un composant
|
|
31
|
-
console.log('\n📋 Test d\'informations composant...');
|
|
32
|
-
if (server.components.has('button')) {
|
|
33
|
-
const infoResult = await server.getComponentInfo('button');
|
|
34
|
-
console.log(`Info composant 'button': ${infoResult.content[0].text.length} caractères`);
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
// Test 4: Génération de code
|
|
38
|
-
console.log('\n💻 Test de génération de code...');
|
|
39
|
-
if (server.components.has('button')) {
|
|
40
|
-
const codeResult = await server.generateComponentCode(
|
|
41
|
-
'button',
|
|
42
|
-
{ type: 'primary', size: 'lg' },
|
|
43
|
-
'Test'
|
|
44
|
-
);
|
|
45
|
-
console.log(`Code généré: ${codeResult.content[0].text}`);
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
// Test 5: Exemple de formulaire
|
|
49
|
-
console.log('\n📝 Test d\'exemple de formulaire...');
|
|
50
|
-
const formResult = await server.getFormExample([
|
|
51
|
-
{ name: 'email', type: 'email', label: 'Email', required: true },
|
|
52
|
-
{ name: 'password', type: 'password', label: 'Mot de passe', required: true }
|
|
53
|
-
]);
|
|
54
|
-
console.log(`Formulaire généré: ${formResult.content[0].text.length} caractères`);
|
|
55
|
-
|
|
56
|
-
// Test 6: Informations sur le thème
|
|
57
|
-
console.log('\n🎨 Test d\'informations thème...');
|
|
58
|
-
const themeResult = await server.getThemeInfo('light');
|
|
59
|
-
console.log(`Info thème: ${themeResult.content[0].text.length} caractères`);
|
|
60
|
-
|
|
61
|
-
// Test 7: Liste des icônes
|
|
62
|
-
console.log('\n🔤 Test de liste d\'icônes...');
|
|
63
|
-
const iconsResult = await server.getIconsList('core');
|
|
64
|
-
console.log(`Liste icônes: ${iconsResult.content[0].text.length} caractères`);
|
|
65
|
-
|
|
66
|
-
console.log('\n✅ Tous les tests sont passés avec succès !');
|
|
67
|
-
|
|
68
|
-
// Statistiques
|
|
69
|
-
let uiCount = 0;
|
|
70
|
-
let functionalCount = 0;
|
|
71
|
-
|
|
72
|
-
for (const comp of server.components.values()) {
|
|
73
|
-
if (comp.category === 'ui') uiCount++;
|
|
74
|
-
else if (comp.category === 'functional') functionalCount++;
|
|
75
|
-
}
|
|
76
|
-
|
|
77
|
-
console.log(`\n📊 Statistiques:`);
|
|
78
|
-
console.log(` - Composants UI: ${uiCount}`);
|
|
79
|
-
console.log(` - Composants fonctionnels: ${functionalCount}`);
|
|
80
|
-
console.log(` - Documentation chargée: ${server.documentation.size} sections`);
|
|
81
|
-
|
|
82
|
-
// Test des ressources
|
|
83
|
-
console.log('\n📚 Test des ressources...');
|
|
84
|
-
const uiExamples = server.generateUIExamples();
|
|
85
|
-
const functionalExamples = server.generateFunctionalExamples();
|
|
86
|
-
console.log(` - Exemples UI: ${uiExamples.length} caractères`);
|
|
87
|
-
console.log(` - Exemples fonctionnels: ${functionalExamples.length} caractères`);
|
|
88
|
-
}
|
|
89
|
-
|
|
90
|
-
// Gestion des erreurs
|
|
91
|
-
process.on('uncaughtException', (error) => {
|
|
92
|
-
console.error('❌ Erreur non capturée:', error);
|
|
93
|
-
process.exit(1);
|
|
94
|
-
});
|
|
95
|
-
|
|
96
|
-
process.on('unhandledRejection', (reason, promise) => {
|
|
97
|
-
console.error('❌ Promesse rejetée non gérée:', reason);
|
|
98
|
-
process.exit(1);
|
|
99
|
-
});
|
|
100
|
-
|
|
101
|
-
// Exécution du test
|
|
102
|
-
testServer().catch((error) => {
|
|
103
|
-
console.error('❌ Erreur lors du test:', error);
|
|
104
|
-
process.exit(1);
|
|
105
|
-
});
|
|
106
|
-
|
|
107
|
-
export { testServer };
|