🚀 阿拉斯创新者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
🤖 克劳德桌面(免费!)
- 下载自 claude.ai -无需订阅!
🏢 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.txt2.️⃣ 配置您的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+进行安全身份验证。身份验证流程:
- 令牌请求:
https://your-server/oauthserver/connect/token - 范围:
openid Innovator offline_access - 客户端ID:
IOMApp(默认Aras客户端) - 授权类型:
password - 必需:
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许可证-请参阅 许可证 文件以获取详细信息。
