Generic API MCP Server

Um servidor genérico para interagir com qualquer API REST, permitindo consultar dados, criar itens e chamar métodos.

Documentação

🚀 Aras Innovator Claude Agent

Conecte o Claude Desktop ao Aras Innovator PLM via OAuth 2.0!

Este servidor Model Context Protocol (MCP) permite que o Claude Desktop interaja com o Aras Innovator usando autenticação moderna OAuth 2.0 e APIs REST OData, permitindo consultar dados de PLM, criar itens e chamar métodos diretamente do seu assistente de IA.

✨ O que você pode fazer?

  • 🔐 Autenticação segura OAuth 2.0 com Aras Innovator 14+
  • 📊 Consultar dados de PLM usando endpoints REST OData
  • ✍️ Criar novos itens (Peças, Documentos, etc.) diretamente do Claude
  • 🔧 Chamar métodos do servidor Aras e endpoints personalizados
  • 📋 Acessar listas e dados de configuração
  • 🛡️ Segurança de nível empresarial com autenticação por token bearer

📋 Pré-requisitos

🐍 Python 3.8+

  • Windows: Baixe em python.org
  • macOS/Linux: brew install python ou sudo apt install python3 python3-pip

🤖 Claude Desktop (grátis!)

  • Baixe em claude.ai - sem necessidade de assinatura!

🏢 Aras Innovator 14+ com OAuth 2.0

  • Servidor Aras Innovator com endpoints OAuth 2.0 habilitados
  • Credenciais válidas de usuário Aras com permissões de API
  • Permissões de acesso ao banco de dados

🎯 Início rápido

1️⃣ Clonar e instalar

git clone https://github.com/DaanTheoden/aras-claude-agent.git
cd aras-claude-agent
pip install -r requirements.txt

2️⃣ Configurar sua conexão Aras

Crie um arquivo .env na raiz do projeto:

# Aras Innovator OAuth 2.0 Configuration
API_URL=https://your-aras-server.com/YourDatabase
API_USERNAME=your-aras-username
API_PASSWORD=your-aras-password
ARAS_DATABASE=YourDatabase

# Optional Configuration
API_TIMEOUT=30
API_RETRY_COUNT=3
API_RETRY_DELAY=1
LOG_LEVEL=INFO

💡 Copie de env_example.txt e atualize com suas credenciais Aras

3️⃣ Adicionar ao Claude Desktop

Edite o arquivo de configuração do Claude Desktop:

📁 Windows: %APPDATA%\Claude\claude_desktop_config.json
📁 macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "api-server": {
      "command": "py",
      "args": ["C:/path/to/your/aras-claude-agent/main.py"]
    }
  }
}

💡 Substitua o caminho pelo seu diretório de instalação real!

4️⃣ Teste sua configuração!

Verifique a instalação:

python main.py

O servidor deve iniciar sem erros de análise JSON.

Teste no Claude Desktop: Reinicie o Claude Desktop e tente:

  • "Testar minha conexão de API"
  • "Obter todas as Peças do banco de dados"
  • "Mostre-me os tipos de Documento disponíveis"

🛠️ Ferramentas disponíveis

FerramentaDescriçãoO que você pode perguntarEndpoint de exemplo
test_api_connectionTestar autenticação OAuth 2.0"Testar minha conexão de API"N/A
api_get_itemsConsultar Aras OData"Obter todas as Peças"Part, Document
api_create_itemCriar novos itens Aras"Criar uma nova Peça"Part, Document
api_call_methodChamar métodos do servidor Aras"Chamar método GetItemsInBOM"Nomes de métodos
api_get_listObter valores de lista Aras"Mostrar categorias de Peças"IDs de lista

🔐 Autenticação OAuth 2.0

Este agente usa OAuth 2.0 Resource Owner Password Credentials Grant para autenticação segura com Aras Innovator 14+. O fluxo de autenticação:

  1. Solicitação de Token: https://your-server/oauthserver/connect/token
  2. Escopo: openid Innovator offline_access
  3. Client ID: IOMApp (cliente Aras padrão)
  4. Tipo de Concessão: password
  5. Obrigatório: username, password, database

💬 Exemplos de conversas

You: "Test my API connection"
Claude: ✅ Successfully authenticated with API!
Bearer token obtained and ready for API calls.
Server URL: https://your-server.com/YourDatabase

You: "Get all Parts where item_number starts with 'P-'"
Claude: Retrieved 25 Parts matching your criteria...

You: "Create a new Document with name 'User Manual v2'"
Claude: Successfully created Document with ID A1B2C3D4...

🔧 Correções e Atualizações Recentes

✅ v1.1.0 - Correções de OAuth 2.0 e Análise JSON

  • Corrigido: Erro "Unexpected token 'A', 'API MCP Se'... is not valid JSON"
  • Adicionado: Autenticação OAuth 2.0 adequada com requests-oauthlib
  • Adicionado: Requisito de parâmetro de banco de dados para autenticação Aras
  • Corrigido: Todas as declarações de impressão redirecionadas para stderr para evitar contaminação do stdout
  • Atualizado: Suporte a endpoint OData (/Server/Odata)
  • Adicionado: Cabeçalhos HTTP adequados para a API REST Aras

🛠️ Solução de problemas

🔗 Autenticação OAuth falhando?

  • Verifique se seu servidor Aras suporta OAuth 2.0 (Aras 14+)
  • Verifique credenciais e nome do banco de dados em .env
  • Garanta que o usuário tenha permissões de acesso à API

🔐 Erro "Missing database parameter"?

  • Adicione ARAS_DATABASE=YourDatabaseName ao seu arquivo .env

🤖 Claude não encontrando ferramentas?

  • Reinicie o Claude Desktop após alterações na configuração
  • Verifique os caminhos dos arquivos em claude_desktop_config.json

🐍 Erros de análise JSON?

  • ✅ Corrigido na v1.1.0! Atualize para a versão mais recente

🏗️ Arquitetura

Claude Desktop
    ↓ JSON-RPC
MCP Server (stdio)
    ↓ OAuth 2.0
Aras Innovator
    ↓ OData REST API
PLM Database

🤝 Contribuindo

Encontrou um bug ou quer adicionar recursos? Aceitamos contribuições! Por favor, verifique nossos problemas ou envie um pull request.

📚 Saiba Mais

📄 Licença

Licença MIT - consulte o arquivo LICENSE para detalhes.