PLM集成代理

通过OAuth 2.0认证和OData REST API实现Claude Desktop与Aras Innovator PLM系统的安全交互,支持查询数据、创建项目和调用方法。

  • by DaanTheoden
  • Python
  • 本地部署
  • 16 星标
  • 更新于
在 GitHub 查看 DaanTheoden/aras-claude-agent

使用说明

🚀 阿拉斯创新者Claude Agent

通过OAuth 2.0将Claude Desktop连接到Aras Innovator PLM!

此模型上下文协议(MCP)服务器使Claude Desktop能够使用现代OAuth 2.0身份验证和OData REST API与Aras Innovator进行交互,允许您直接从AI助手查询PLM数据、创建项目和调用方法。

✨ 你能做什么?

  • 🔐 安全OAuth 2.0身份验证 与阿拉斯创新者14+
  • 📊 查询PLM数据 使用OData REST端点
  • ✍️ 创建新项目 (零件、文件等)直接来自克劳德
  • 🔧 调用Aras服务器方法 以及自定义端点
  • 📋 访问列表 以及配置数据
  • 🛡️ 企业级安全 使用承载令牌身份验证

📋 先决条件

🐍 Python 3.8+

  • 窗户: 下载自 python.org
  • macOS/Linux: brew install python 或 sudo apt install python3 python3-pip

🤖 克劳德桌面(免费!)

🏢 Aras Innovator 14+使用OAuth 2.0

  • 启用OAuth 2.0端点的Aras Innovator服务器
  • 具有API权限的有效Aras用户凭据
  • 数据库访问权限

🎯 快速启动

1.️⃣ 克隆并安装

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

2.️⃣ 配置您的Aras连接

创建一个 .env 项目根目录中的文件:

# 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

💡 复制自 env_example.txt 并更新您的Aras凭据

3.️⃣ 添加到克劳德桌面

编辑您的Claude Desktop配置文件:

📁 窗户: %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"]
    }
  }
}

💡 替换路径 使用您的实际安装目录!

4.️⃣ 测试你的设置!

验证安装:

python main.py

服务器应在没有任何JSON解析错误的情况下启动。

在Claude Desktop中测试: 重新启动Claude Desktop并尝试:

  • “测试我的API连接”
  • “从数据库中获取所有零件”
  • “显示可用的文档类型”

🛠️ 可用工具

工具 描述 你可以问什么 示例端点
test_api_connection 测试OAuth 2.0身份验证 “测试我的API连接” 无
api_get_items 查询Aras-OData “获取所有零件” Part, Document
api_create_item 创建新的Aras物品 “创建新零件” Part, Document
api_call_method 调用Aras服务器方法 “调用方法GetItemsInBOM” 方法名称
api_get_list 获取Aras列表值 “显示零件类别” 列表ID

🔐 OAuth 2.0身份验证

此代理使用 OAuth 2.0资源所有者密码凭据授予 使用Aras Innovator 14+进行安全身份验证。身份验证流程:

  1. 令牌请求: https://your-server/oauthserver/connect/token
  2. 范围: openid Innovator offline_access
  3. 客户端ID: IOMApp (默认Aras客户端)
  4. 授权类型: password
  5. 必需: username, password, database

💬 示例对话

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...

🔧 最近的修复和更新

✅ v1.1.0-OAuth 2.0和JSON解析修复

  • 固定的:“意外的令牌‘A’,‘API MCP Se’…不是有效的JSON”错误
  • 添加:正确的OAuth 2.0身份验证 requests-oauthlib
  • 添加:Aras身份验证的数据库参数要求
  • 固定的:所有打印语句都重定向到stderr,以防止stdout污染
  • 更新:OData端点支持(/Server/Odata)
  • 添加:适用于Aras REST API的正确HTTP头

🛠️ 故障排除

🔗 OAuth身份验证失败?

  • 验证您的Aras服务器是否支持OAuth 2.0(Aras 14+)
  • 检查中的凭据和数据库名称 .env
  • 确保用户具有API访问权限

🔐 “缺少数据库参数”错误?

  • 添加 ARAS_DATABASE=YourDatabaseName 到你的 .env 文件

🤖 克劳德找不到工具?

  • 配置更改后重新启动Claude Desktop
  • 检查中的文件路径 claude_desktop_config.json

🐍 JSON解析错误?

  • ✅ 已在v1.1.0中修复!更新到最新版本

🏗️ 建筑

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

🤝 贡献

发现错误或想添加功能?我们欢迎捐款!请检查我们的问题或提交拉取请求。

📚 了解更多

📄 许可证

MIT许可证-请参阅 许可证 文件以获取详细信息。