Token导航 LogoToken导航TokenDH.com
Aps MCP Server Python logo
运维云端stdio官方级别未说明来源级核验

Aps MCP Server Python

MCP Server

包含三个使用Python构建的Model Context Protocol (MCP)服务器示例,演示了不同的认证方法调用Autodesk Platform Services (APS) API。

工具数

4

提示词数

0

GitHub Stars

2

资源数

0
PythonOAuth认证云端部署

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

autodesk-platform-services

提供方

autodesk-platform-services

最后核验

2026/5/17 20:22

运行时

Python

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

uv run fastmcp run mcp_server_2lo/server.py --transport streamable-http --port 5000

详细介绍

APS MCP服务器-Python示例

此存储库包含三个最小值 模型上下文协议(MCP) 用Python构建的服务器, 紫外线,以及 FastMCP。每台服务器都演示了不同的身份验证方法用于调用 Autodesk平台服务(APS) API。

服务器身份验证方法使用的API何时使用
mcp_server_2lo客户端凭据(又名两条腿)OAuth流OSS应用程序拥有的资源,不需要用户上下文
mcp_server_ssa安全服务帐户数据管理需要用户上下文API的自动化工作流
mcp_server_3lo授权码(又名3标签)OAuth流数据管理在明确同意的情况下代表真实用户行事
\[!提示\] 看 维基 有关这些身份验证模式的更多详细信息。

______________________________________________________________________

项目布局

shared/            # APS helpers shared by all servers
mcp_server_2lo/    # Example MCP server with 2-legged authentication
mcp_server_ssa/    # Example MCP server with Secure Service Account authentication
mcp_server_3lo/    # Example MCP server with 3-legged authentication

______________________________________________________________________

先决条件

  • Python 3.13+紫外线
  • 对于 mcp_server_2lo:

- 一 APS应用程序 (_传统Web应用程序_ 或 _服务器到服务器_)

  • 对于 mcp_server_ssa:

- 一 APS应用程序 (_服务器到服务器_) - A. 安全服务帐户 设置并链接到您的应用程序(请参阅 SSA文档)

  • 对于 mcp_server_3lo:

- 一 APS应用程序 (_传统Web应用程序_) - 重定向URI http://localhost:5002/callback 添加到您的应用程序 回调URL 列表

______________________________________________________________________

安装

git clone https://github.com/autodesk-platform-services/aps-mcp-server-python
cd aps-mcp-server-python
uv sync

______________________________________________________________________

配置

复制 .env.example.env 并填写以下值:

cp .env.example .env
变量必填描述
APS_CLIENT_ID所有服务器APS应用程序客户端ID
APS_CLIENT_SECRET所有服务器APS应用程序客户端机密
APS_SSA_IDmcp_server_ssa安全服务帐户ID
APS_SSA_KEY_IDmcp_server_ssa向SSA注册的密钥对ID
APS_SSA_KEY_BASE64mcp_server_ssaBase64编码的RSA私钥(PEM)

要对SSA私钥进行编码:

# macOS
base64 -i private_key.pem

# Linux
base64 -w 0 private_key.pem

# Windows PowerShell
[Convert]::ToBase64String([System.IO.File]::ReadAllBytes( private_key.pem ))

______________________________________________________________________

服务器1: mcp_server_2lo

运作原理

服务器调用APS令牌端点 grant_type=client_credentials 使用HTTP基本身份验证(客户端ID+秘密)。生成的令牌与 应用程序标识 并且可以访问应用程序拥有的资源。

sequenceDiagram
    participant Client as MCP Client
    participant Server as MCP Server
    participant APS as APS

    Client->>Server: Call tool (e.g. list_buckets)
    Server->>APS: POST /authentication/v2/token (client_credentials)
    APS-->>Server: access_token (2-legged)
    Server->>APS: GET /oss/v2/buckets
    APS-->>Server: bucket list
    Server-->>Client: bucket list

令牌缓存在内存中并重复使用,直到它即将过期。

工具

工具说明
list_buckets列出应用程序拥有的所有OSS存储桶
list_objects(bucket_key)列出特定存储桶中的对象

跑步

uv run fastmcp run mcp_server_2lo/server.py --transport streamable-http --port 5000

所需范围

bucket:read data:read

______________________________________________________________________

服务器2: mcp_server_ssa

运作原理

A. 安全服务帐户(SSA) 是可以获得的Autodesk标识 3格代币 无需用户交互。身份验证通过创建一个签名的JWT断言并将其交换为访问令牌来工作:

sequenceDiagram
    participant Client as MCP Client
    participant Server as MCP Server
    participant APS as APS

    Client->>Server: Call tool (e.g. list_hubs)
    Server->>Server: Build JWT (signed with SSA private key)
    Server->>APS: POST /authentication/v2/token (jwt-bearer grant)
    APS-->>Server: access_token (3-legged, acting as SSA identity)
    Server->>APS: GET /project/v1/hubs
    APS-->>Server: hub list
    Server-->>Client: hub list

JWT断言包含:

  • iss:您的应用程序客户端ID
  • sub:SSA ID
  • aud:令牌端点URL
  • scope:请求的范围
  • 使用为SSA密钥对注册的RSA私钥签名

工具

工具说明
list_hubs列出服务帐户可访问的所有集线器
list_projects(hub_id)列出中心内的项目

跑步

uv run fastmcp run mcp_server_ssa/server.py --transport streamable-http --port 5001

所需范围

data:read

______________________________________________________________________

服务器3: mcp_server_3lo

运作原理

服务器实现标准 OAuth 2.0授权代码流用户以交互方式登录,并明确同意所请求的范围。轻量级异步HTTP服务器与MCP服务器一起处理OAuth回调。

sequenceDiagram
    participant User
    participant Client as MCP Client
    participant Server as MCP Server
    participant APS as APS

    User->>Client: List my hubs
    Client->>Server: list_hubs()
    Server->>Server: No token available
    Server->>User: You need to login first: 

    User->>APS: Open URL in browser, sign in, click "Allow"
    APS->>Server: Callback with temporary code
    Server->>APS: POST /authentication/v2/token (exchange code)
    APS-->>Server: access_token + refresh_token
    Server->>Server: Cache tokens in memory

    User->>Client: List my hubs
    Client->>Server: list_hubs()
    Server->>APS: GET /project/v1/hubs (with access_token)
    APS-->>Server: hub list
    Server-->>Client: hub list

工具

工具说明
list_hubs列出经过身份验证的用户可访问的所有集线器
list_projects(hub_id)列出中心内的项目

跑步

uv run fastmcp run mcp_server_3lo/server.py --transport streamable-http --port 5002

在这种情况下,OAuth回调端点是 http://localhost:5002/callback。请确保此URL已在您的APS应用程序中注册。

所需范围

data:read

______________________________________________________________________

MCP检验员测试

MCP检查员 允许您以交互方式调用正在运行的MCP服务器上的工具。

# In one terminal, start the server you want to test (e.g. 2LO):
uv run fastmcp run mcp_server_2lo/server.py --transport streamable-http --port 5000

# In another terminal, open the inspector:
npx @modelcontextprotocol/inspector http://localhost:5000/mcp

目录标签

目录标签

PythonOAuth认证云端部署MCP服务器本地部署API认证Autodesk平台服务开发示例

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

oauth

运行时(runtime,运行环境)

Python

工具数量(toolCount,工具数)

4

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdiooauth部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP