Devcon MCP Workshop 2026
by latesh-munde
README.md
# š MCP Server with Autodesk Platform Services (APS)




---
## š 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
```bash
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
- Autodesk Platform Services (APS)
https://autodesk-platform-services.github.io/mcp-devcon2026/
- Model Context Protocol (MCP)
- OpenAI / LLM ecosystem
This server cannot be deployed
Maintenance
ActivityInactive
ResponsivenessNo issues