MCP Hub
Back to servers

Devcon MCP Workshop 2026

MCP server integrating Autodesk Platform Services, exposing tools for LLM clients like VS Code Copilot, with OAuth authentication and agentic workflow support.

glama
Updated
Apr 27, 2026

🚀 MCP Server with Autodesk Platform Services (APS)

Node.js MCP License Status


📌 Overview

This project implements a Model Context Protocol (MCP) server with support for:

  • Tool exposure for LLM clients (e.g., VS Code Copilot)
  • External API integration
  • Autodesk Platform Services (APS) connectivity
  • Authentication flows (2-legged & 3-legged OAuth)
  • Custom client + agent architecture

It represents a production-oriented agentic AI backend system.


🧠 Architecture

🔷 High-Level Flow


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

🔷 Agent Flow

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

📁 Project Structure

├── .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


⚙️ Tech Stack

  • Node.js (ES Modules)
  • Model Context Protocol (MCP SDK)
  • Zod (schema validation)
  • HTTP Streaming Transport
  • Autodesk Platform Services (APS)

🔑 Key Components

1. server.js

  • Core MCP server
  • Registers tools
  • Handles client requests

2. aps-server.js

  • Integrates Autodesk APIs
  • Handles OAuth (2L + 3L)
  • Secure API communication

3. agent.js

  • Implements agentic behavior
  • Decides which tools to call
  • Enables multi-step workflows

4. client.js

  • Custom MCP client
  • Can simulate or replace VS Code client

5. .vscode/mcp.json

  • Connects VS Code → MCP server

🚀 Getting Started

1️⃣ Install Dependencies

npm install

2️⃣ Setup Environment

Create .env file:

PORT=3000

# APS Credentials
APS_CLIENT_ID=your_client_id
APS_CLIENT_SECRET=your_client_secret

# External APIs
GEMINI_API_KEY=your_key

3️⃣ Run Server

node server.js

Expected output:

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

4️⃣ Configure VS Code

Create:

.vscode/mcp.json

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

5️⃣ Test Tools

In Copilot Chat:

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

🧩 Tool Design Pattern

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

🔐 Authentication

✅ 2-Legged OAuth

Server-to-server

No user interaction

✅ 3-Legged OAuth

User consent required

Fine-grained permissions

Recommended for production


🏗️ Production Considerations

🔹 Scalability

Stateless architecture

Horizontal scaling possible

🔹 Security

Use .env for secrets

Prefer 3LO for user data

🔹 Reliability

Input validation (Zod)

Structured responses

🔹 Observability Add logging for tool execution

Monitor API failures


🎯 Features

✔ MCP-compliant server

✔ External API integration

✔ APS connectivity

✔ Agent-based execution

✔ Custom client support


🔮 Future Enhancements

Dockerize the application

Deploy on Azure / AWS

Add database-backed tools

Implement caching layer

📜 License

MIT License


🙌 Acknowledgements

Reviews

No reviews yet

Sign in to write a review