Skip to main content
Glama

MCP Wikidata Server

by joelgombin
test_claude_desktop.py2.86 kB
#!/usr/bin/env python3 """Test pour reproduire l'environnement Claude Desktop.""" import asyncio import os import subprocess import sys from pathlib import Path async def test_claude_desktop_env(): """Teste le serveur dans les mêmes conditions que Claude Desktop.""" print("🔍 Test de l'environnement Claude Desktop...") # Changer vers le bon répertoire os.chdir("/Users/joel/Dropbox/mcp-wikidata") print(f"📂 Répertoire courant: {os.getcwd()}") # Tester la commande exacte de Claude Desktop cmd = ["uv", "run", "mcp-wikidata"] print(f"🚀 Commande: {' '.join(cmd)}") try: # Créer un processus avec stdin/stdout pipes comme Claude Desktop process = subprocess.Popen( cmd, stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.PIPE, text=True, cwd="/Users/joel/Dropbox/mcp-wikidata" ) print("✅ Processus lancé avec succès") # Tenter de parler MCP (message d'initialisation basique) init_message = '{"jsonrpc": "2.0", "id": 1, "method": "initialize", "params": {"protocolVersion": "2025-06-18", "capabilities": {}, "clientInfo": {"name": "test", "version": "1.0"}}}\n' try: process.stdin.write(init_message) process.stdin.flush() print("📤 Message d'initialisation envoyé") # Attendre une réponse (timeout 5s) import select import time start_time = time.time() while time.time() - start_time < 5: if process.poll() is not None: print(f"❌ Processus terminé avec code: {process.returncode}") break # Vérifier s'il y a une sortie ready, _, _ = select.select([process.stdout], [], [], 0.1) if ready: output = process.stdout.readline() if output: print(f"📥 Réponse: {output.strip()}") print("✅ Le serveur répond correctement!") break else: print("⏰ Timeout - pas de réponse du serveur") except Exception as e: print(f"❌ Erreur lors de la communication: {e}") finally: process.terminate() process.wait() stderr = process.stderr.read() if stderr: print(f"❌ Erreurs stderr: {stderr}") except Exception as e: print(f"❌ Erreur lors du lancement: {e}") import traceback traceback.print_exc() if __name__ == "__main__": asyncio.run(test_claude_desktop_env())

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/joelgombin/mcp-wikidata'

If you have feedback or need assistance with the MCP directory API, please join our Discord server