车队数据访问服务器

一个Python MCP服务器,允许Claude访问您的Teletrac Navman TN360车队远程信息处理数据,可快速部署到Render平台。

  • by kishoreneeliminus1
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 kishoreneeliminus1/tn360-mcp

使用说明

TN360 MCP服务器

一个Python MCP服务器,允许Claude访问您的Teletrac Navman TN360车队远程信息处理数据。内置于 FastMCP 并可部署到 渲染 几分钟内。


克劳德可以用这台服务器做什么

工具 说明
get_vehicles 列出所有车辆,可选择按车队筛选
get_vehicle_location 当前GPS位置、速度和航向
get_events 点火、超速、急刹车、地理围栏事件
get_fleets 所有虚拟舰队组
get_drivers 注册驾驶员及其当前车辆
get_trips 车辆的行程历史(最多30天)
get_geofences 所有已配置的地理围栏区域
get_vehicle_odometer 当前里程表读数

连接后,您可以向Claude发送示例提示:

  • “让我看看今天发生超速事件的所有车辆”
  • “12345现在在哪里?”
  • “列出所有在职驾驶员及其分配的车辆”
  • “悉尼地铁本周行驶了多少公里?”

步骤1-获取您的TN360 API密钥

TN360使用两步OAuth流来获取您的API密钥:

# 1. Authenticate with OpenID Connect to get a Bearer token
curl -d 'client_id=YOUR_CLIENT_ID' \
     -d 'client_secret=YOUR_SECRET' \
     -d 'username=YOUR_USERNAME' \
     -d 'password=YOUR_PASSWORD' \
     -d 'grant_type=password' \
     'https://id-au.telematics.com/auth/realms/TN360DB/protocol/openid-connect/token'

# 2. Exchange the Bearer token for your TN360 API key
curl -H "Authorization: Bearer <access_token_from_step_1>" \
     https://api-au.telematics.com/v1/auth/sso
# The response contains: "keys": [{ "key": "YOUR_API_KEY_HERE" }]

复制 key 价值来自 keys array——这是你的 TN360_API_KEY.

注: 如果您在英国或新西兰,请更换 api-au 和 api-uk 或 api-nz 在两台服务器上 TN360_BASE_URL 以及上面的curl命令。


步骤2——部署以渲染

选项A——渲染蓝图(推荐)

  1. 将此文件夹推送到GitHub仓库。
  2. 首选 render.com → New → 蓝图.
  3. 连接您的GitHub仓库——Render将检测 render.yaml 自动。
  4. 在“渲染”仪表板中,设置secret环境变量:
    • TN360_API_KEY =您在步骤1中检索到的密钥
  5. 点击 应用 --您的服务器将在以下位置构建并上线: https://tn360-mcp-server.onrender.com

选项B——手动渲染Web服务

  1. New → Web服务 → 连接您的仓库。
  2. 设置运行时间: Python 3,构建命令: pip install -r requirements.txt,启动命令: python server.py.
  3. 添加环境变量:
    • TN360_API_KEY -您的API密钥(标记为机密)
    • TN360_BASE_URL — https://api-au.telematics.com
  4. 部署。

步骤3--将Claude连接到MCP服务器

Claude.ai(远程MCP——Claude.ai/设置/集成)

  1. 首选 claude.ai→ 设置→ 集成.
  2. 使用URL添加新的集成:
    https://tn360-mcp-server.onrender.com/mcp
    
  3. Claude现在可以访问您对话中的所有TN360工具。

Claude桌面(本地配置)

添加 ~/Library/Application Support/Claude/claude_desktop_config.json (macOS):

{
  "mcpServers": {
    "tn360": {
      "url": "https://tn360-mcp-server.onrender.com/mcp"
    }
  }
}

重新启动克劳德桌面。您应该看到一个锤子图标,表示TN360工具可用。


本地开发

# Install dependencies
pip install -r requirements.txt

# Set your API key
export TN360_API_KEY=your_api_key_here
export TN360_BASE_URL=https://api-au.telematics.com

# Run the server
python server.py
# Server available at http://localhost:8000/mcp

# Test with MCP Inspector
npx @modelcontextprotocol/inspector http://localhost:8000/mcp

项目结构

tn360-mcp/
├── server.py          # MCP server — all tools defined here
├── requirements.txt   # Python dependencies
├── render.yaml        # Render deployment blueprint
└── README.md          # This file

添加更多TN360工具

TN360 REST API有更多的端点。要添加新工具,只需添加一个装饰功能 server.py:

@mcp.tool()
async def get_maintenance_alerts(vehicle_id: int) -> dict:
    """Get upcoming maintenance alerts for a vehicle."""
    data = await _get(f"/vehicles/{vehicle_id}/maintenance")
    return data

请参阅完整的TN360 API参考资料,网址: docs-au.telematics.com.