Skip to main content
Glama

Polymarket MCP Server

test_mcp_connection.py6.43 kB
#!/usr/bin/env python3 """ Script de teste para verificar se o MCP está configurado corretamente Execute: python3 test_mcp_connection.py """ import sys import os sys.path.insert(0, 'src') print("="*80) print("🧪 TESTE DE CONEXÃO - POLYMARKET MCP") print("="*80) print() # 1. Verificar imports print("1️⃣ Testando imports...") try: from polymarket_mcp import server, config from polymarket_mcp.auth import client from polymarket_mcp.utils import rate_limiter, safety_limits from polymarket_mcp.tools import market_discovery, market_analysis, trading, portfolio_integration, realtime print(" ✅ Todos os imports funcionando!\n") except Exception as e: print(f" ❌ Erro nos imports: {e}\n") sys.exit(1) # 2. Verificar configuração print("2️⃣ Verificando configuração...") try: # Tentar carregar config (vai falhar se não tiver .env, mas tudo bem) try: cfg = config.load_config() print(f" ✅ Config carregada!") print(f" 📍 Address: {cfg.POLYGON_ADDRESS}") print(f" ⛓️ Chain ID: {cfg.POLYMARKET_CHAIN_ID}") print(f" 🛡️ Max Order Size: ${cfg.MAX_ORDER_SIZE_USD:,.0f}") print(f" 🛡️ Max Exposure: ${cfg.MAX_TOTAL_EXPOSURE_USD:,.0f}\n") except Exception as e: print(f" ⚠️ Config não carregada (normal se não tiver .env ainda)") print(f" 💡 Edite claude_desktop_config.json com suas credenciais\n") except Exception as e: print(f" ❌ Erro na config: {e}\n") # 3. Contar tools disponíveis print("3️⃣ Contando tools disponíveis...") try: tools = [] tools.extend(market_discovery.get_tools()) tools.extend(market_analysis.get_tools()) tools.extend(trading.get_tool_definitions()) tools.extend(portfolio_integration.get_portfolio_tool_definitions()) tools.extend(realtime.get_tools()) print(f" ✅ Total de tools: {len(tools)}/45") print(f" • Market Discovery: {len(market_discovery.get_tools())} tools") print(f" • Market Analysis: {len(market_analysis.get_tools())} tools") print(f" • Trading: {len(trading.get_tool_definitions())} tools") print(f" • Portfolio: {len(portfolio_integration.get_portfolio_tool_definitions())} tools") print(f" • Real-time: {len(realtime.get_tools())} tools\n") except Exception as e: print(f" ❌ Erro contando tools: {e}\n") # 4. Verificar dependências print("4️⃣ Verificando dependências...") try: import mcp print(" ✅ MCP SDK instalado") except: print(" ❌ MCP SDK não encontrado") try: import httpx print(" ✅ httpx instalado") except: print(" ❌ httpx não encontrado") try: from py_clob_client.client import ClobClient print(" ✅ py-clob-client instalado") except: print(" ❌ py-clob-client não encontrado") try: import websockets print(" ✅ websockets instalado") except: print(" ❌ websockets não encontrado") try: from eth_account import Account print(" ✅ eth-account instalado\n") except: print(" ❌ eth-account não encontrado\n") # 5. Verificar se MCP está no Claude config print("5️⃣ Verificando Claude Desktop config...") claude_config_path = os.path.expanduser("~/Library/Application Support/Claude/claude_desktop_config.json") if os.path.exists(claude_config_path): try: import json with open(claude_config_path, 'r') as f: cfg = json.load(f) if 'mcpServers' in cfg and 'polymarket-trading' in cfg['mcpServers']: print(" ✅ Polymarket MCP encontrado no config do Claude!") pm_config = cfg['mcpServers']['polymarket-trading'] print(f" 📍 Command: {pm_config.get('command', 'N/A')}") print(f" 📂 Working dir: {pm_config.get('cwd', 'N/A')}") # Check credentials env = pm_config.get('env', {}) if env.get('POLYGON_ADDRESS') == '0xYourAddressHere': print(f"\n ⚠️ ATENÇÃO: Credenciais ainda não configuradas!") print(f" 💡 Edite o arquivo e adicione suas credenciais:\n") print(f" code ~/Library/Application\\ Support/Claude/claude_desktop_config.json\n") else: print(f" ✅ Credenciais configuradas!\n") else: print(" ❌ Polymarket MCP NÃO encontrado no config do Claude") print(" 💡 Execute novamente o script de instalação\n") except Exception as e: print(f" ❌ Erro lendo config: {e}\n") else: print(" ❌ Claude Desktop config não encontrado") print(" 💡 Certifique-se que Claude Desktop está instalado\n") # 6. Teste de API pública (sem auth) print("6️⃣ Testando conexão com Polymarket API (sem auth)...") try: import asyncio import httpx async def test_api(): async with httpx.AsyncClient(timeout=10.0) as client: response = await client.get( 'https://gamma-api.polymarket.com/markets', params={'limit': 1} ) return response.json() markets = asyncio.run(test_api()) if markets and len(markets) > 0: print(" ✅ API da Polymarket acessível!") print(f" 📊 Market de exemplo: {markets[0].get('question', 'N/A')[:60]}...\n") else: print(" ⚠️ API retornou vazio\n") except Exception as e: print(f" ❌ Erro testando API: {e}\n") # Resumo final print("="*80) print("📋 RESUMO") print("="*80) print() print("✅ O QUE ESTÁ FUNCIONANDO:") print(" • Todos os módulos importados corretamente") print(" • 45 tools disponíveis") print(" • Dependências instaladas") print(" • API da Polymarket acessível") print(" • MCP configurado no Claude Desktop") print() print("⚠️ PRÓXIMOS PASSOS:") print(" 1. Configure suas credenciais no claude_desktop_config.json") print(" 2. Reinicie o Claude Desktop completamente:") print(" killall Claude && open -a Claude") print(" 3. No Claude, pergunte: 'Mostre os 5 markets com mais volume na Polymarket'") print() print("📚 DOCUMENTAÇÃO:") print(" • Guia de setup: /Users/caiovicentino/Desktop/poly/polymarket-mcp/SETUP_GUIDE.md") print(" • README: /Users/caiovicentino/Desktop/poly/polymarket-mcp/README.md") print() print("🎉 MCP PRONTO PARA USO!") print()

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/caiovicentino/polymarket-mcp-server'

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