Skip to main content
Glama
latesh-munde

Devcon MCP Workshop 2026

by latesh-munde

🚀 Autodesk Platform Services(APS)를 활용한 MCP 서버

Node.js MCP License Status


📌 개요

이 프로젝트는 다음을 지원하는 Model Context Protocol (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 채팅에서:

#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

사용자 동의 필요

세밀한 권한 제어

프로덕션 환경 권장


🏗️ 프로덕션 고려 사항

🔹 확장성

상태 비저장(Stateless) 아키텍처

수평적 확장 가능

🔹 보안

비밀 정보는 .env 사용

사용자 데이터에는 3LO 권장

🔹 신뢰성

입력 검증 (Zod)

구조화된 응답

🔹 관측 가능성 도구 실행 로깅 추가

API 실패 모니터링


🎯 기능

✔ MCP 호환 서버

✔ 외부 API 통합

✔ APS 연결성

✔ 에이전트 기반 실행

✔ 커스텀 클라이언트 지원


🔮 향후 개선 사항

애플리케이션 도커라이즈(Dockerize)

Azure / AWS에 배포

데이터베이스 기반 도구 추가

캐싱 계층 구현

📜 라이선스

MIT 라이선스


🙌 감사의 말

Maintenance

ActivityInactive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers