Skip to main content
Glama
latesh-munde

Devcon MCP Workshop 2026

by latesh-munde

🚀 基于 Autodesk Platform Services (APS) 的 MCP 服务器

Node.js MCP License Status


📌 概述

本项目实现了一个 模型上下文协议 (MCP) 服务器,支持:

  • 为 LLM 客户端(如 VS Code Copilot)提供工具暴露

  • 外部 API 集成

  • Autodesk Platform Services (APS) 连接

  • 认证流程(2-legged 和 3-legged OAuth)

  • 自定义客户端 + 代理架构

它代表了一个面向生产环境的代理 AI 后端系统。


Related MCP server: RevitMCPBridge2026

🧠 架构

🔷 高层流程


+------------------------+
| LLM Client (VSCode)    |
| Copilot / Chat UI      |
+-----------+------------+
            |
            v
+------------------------+
| MCP Server             |
| (server.js / aps)      |
+-----------+------------+
            |
------------------------------------------------
      |                |                |
      v                v                v
+-------------+ +-------------+ +----------------+
| External    | |   APS APIs  | |  Custom Logic  |
| APIs        | | (OAuth)     | |   / Tools      |
+-------------+ +-------------+ +----------------+

🔷 代理流程

User Prompt
↓
LLM decides tool
↓
MCP Server executes tool
↓
External API / APS call
↓
Structured response → LLM → User

📁 项目结构

├── .vscode/
│ └── mcp.json # MCP configuration for VS Code client
│
├── node_modules/ # Installed dependencies
│
├── .env # Environment variables (API keys, secrets)
├── .gitignore # Git ignored files
│
├── agent.js # Agent logic (tool orchestration)
├── aps-server.js # APS integration server (OAuth + APIs)
├── client.js # Custom MCP client implementation
├── server.js # Core MCP server (tool definitions)
│
├── package.json # Project metadata & dependencies
├── package-lock.json # Dependency lock file

⚙️ 技术栈

  • Node.js (ES Modules)

  • Model Context Protocol (MCP SDK)

  • Zod (模式验证)

  • HTTP 流式传输

  • Autodesk Platform Services (APS)


🔑 核心组件

1. server.js

  • 核心 MCP 服务器

  • 注册工具

  • 处理客户端请求


2. aps-server.js

  • 集成 Autodesk API

  • 处理 OAuth (2L + 3L)

  • 安全的 API 通信


3. agent.js

  • 实现代理行为

  • 决定调用哪些工具

  • 启用多步工作流


4. client.js

  • 自定义 MCP 客户端

  • 可模拟或替换 VS Code 客户端


5. .vscode/mcp.json

  • 连接 VS Code → MCP 服务器


🚀 入门指南

1️⃣ 安装依赖

npm install

2️⃣ 设置环境

创建 .env 文件:

PORT=3000

# APS Credentials
APS_CLIENT_ID=your_client_id
APS_CLIENT_SECRET=your_client_secret

# External APIs
GEMINI_API_KEY=your_key

3️⃣ 运行服务器

node server.js

预期输出:

MCP server running at http://localhost:3000/mcp

4️⃣ 配置 VS Code

创建:

.vscode/mcp.json

{
  "servers": {
    "devcon-workshop": {
      "type": "http",
      "url": "http://localhost:3000/mcp"
    },
    "devcon-aps": {
      "type": "http",
      "url": "http://localhost:3001/mcp"
    }
  }
}

5️⃣ 测试工具

在 Copilot Chat 中:

#add 10 and 20
#greet John in spanish
What's the weather in London?

🧩 工具设计模式

server.registerTool(
"tool_name",
{
description: "Tool description",
inputSchema: {
param: z.string()
}
},
async ({ param }) => ({
content: [{ type: "text", text: "Result" }]
})
);

🔐 认证

✅ 2-Legged OAuth

服务器到服务器

无需用户交互

✅ 3-Legged OAuth

需要用户授权

细粒度权限

推荐用于生产环境


🏗️ 生产环境考量

🔹 可扩展性

无状态架构

支持水平扩展

🔹 安全性

使用 .env 存储密钥

用户数据优先使用 3LO

🔹 可靠性

输入验证 (Zod)

结构化响应

🔹 可观测性 添加工具执行日志

监控 API 故障


🎯 功能特性

✔ 符合 MCP 标准的服务器

✔ 外部 API 集成

✔ APS 连接

✔ 基于代理的执行

✔ 自定义客户端支持


🔮 未来增强

容器化应用 (Docker)

部署到 Azure / AWS

添加基于数据库的工具

实现缓存层

📜 许可证

MIT 许可证


🙌 致谢

Maintenance

ActivityInactive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers