Skip to main content
Glama
latesh-munde

Devcon MCP Workshop 2026

by latesh-munde

🚀 MCP-сервер с Autodesk Platform Services (APS)

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 Streaming Transport

  • Autodesk Platform Services (APS)


🔑 Ключевые компоненты

1. server.js

  • Основной MCP-сервер

  • Регистрация инструментов

  • Обработка запросов клиентов


2. aps-server.js

  • Интеграция API Autodesk

  • Обработка 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

✔ Агентное выполнение

✔ Поддержка пользовательских клиентов


🔮 Будущие улучшения

Контейнеризация приложения (Docker)

Развертывание в Azure / AWS

Добавление инструментов с поддержкой базы данных

Реализация уровня кэширования

📜 Лицензия

MIT License


🙌 Благодарности

Maintenance

ActivityInactive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers