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 pythonousudo 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.txte 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
| Ferramenta | Descrição | O que você pode perguntar | Endpoint de exemplo |
|---|---|---|---|
test_api_connection | Testar autenticação OAuth 2.0 | "Testar minha conexão de API" | N/A |
api_get_items | Consultar Aras OData | "Obter todas as Peças" | Part, Document |
api_create_item | Criar novos itens Aras | "Criar uma nova Peça" | Part, Document |
api_call_method | Chamar métodos do servidor Aras | "Chamar método GetItemsInBOM" | Nomes de métodos |
api_get_list | Obter 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:
- Solicitação de Token:
https://your-server/oauthserver/connect/token - Escopo:
openid Innovator offline_access - Client ID:
IOMApp(cliente Aras padrão) - Tipo de Concessão:
password - 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=YourDatabaseNameao 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.