mcp-3d-modeling-agent
Интеллектуальный 3D-моделирующий агент на основе MCP
Управление Blender с помощью AI-агента — 218 MCP-инструментов покрывают полный 3D-конвейер, плюс интеллектуальный слой на LangGraph: замкнутый цикл планирование→выполнение→наблюдение→рецензирование→перепланирование, версионируемые промпты, выбор инструментов с проверкой по схеме и воспроизводимый Benchmark.
🌏 English: README.en.md
Что демонстрирует этот проект · Архитектура · Результаты Benchmark · Быстрый старт · Документация
Обзор
Репозиторий состоит из двух уровней:
Базовый MCP-уровень (на основе вышестоящего RFingAdam/mcp-blender, eng-mcp-suite) — MCP-сервер, который предоставляет 218 инструментов Blender (моделирование, материалы, модификаторы, анимация, рендеринг, скульптинг, геометрические ноды, физика, AI-генерация 3D, конвейер контента MSFS) любому MCP-клиенту.
Интеллектуальный уровень агента (
agent/каталог, оригинальная работа этого репозитория) — 3D-агент на LangGraph: планирует задачи, выполняет через MCP-инструменты, собирает факты о сцене, проверяет критерии приёмки по одному (с обязательным предоставлением доказательств), минимальные исправления — в комплекте с версионированием промптов, контрактами структурированного вывода, журналами оценки и Benchmark на 16 задач.
Что демонстрирует этот проект
Полная инженерная практика — делает LLM-агентов надёжными, измеримыми и инженеризуемыми.
Возможность | Соответствующий код |
Проектирование архитектуры агента | agent/graph.py — шестиузловой конечный автомат LangGraph + внешний цикл на уровне плана |
Интеграция MCP (клиентская сторона) | agent/tools/mcp_client.py — потребление реального MCP-сервера через stdio: динамическое обнаружение |
Масштабируемая инженерия промптов | agent/prompts/ — версионируемые шаблоны промптов ( |
Механизмы надёжности | Проверка инструментов через jsonschema + одна повторная попытка Tool Selection Repair; принудительное покрытие критериев (непроверенные критерии приёмки никогда не могут молча пройти); явная обработка ошибок парсинга |
Управление контекстом | agent/context/builder.py — минимальная инъекция контекста на узел (Planner получает только задачу+сцену; Executor — шаги+инструменты+последние результаты; Reviewer — критерии приёмки+данные наблюдений) |
Методология оценки | agent/evaluation/ — запись 11 метрик при каждом запуске (количество ошибок инструментов, ошибок схемы, повторных выборов, перепланирований, время, использование токенов...), персистентность в JSON + JSONL |
Дизайн Benchmark | benchmarks/ — 16 задач, 4 уровня сложности, отчёт с агрегированными метриками, реальные результаты тестов на Blender |
Тестирование | Все 128 тестов проходят: модульные тесты, проверка JSON Schema, матрица решений Router, сквозные тесты замкнутого цикла с фейковым LLM |
Архитектура
┌───────────────┐ MCP stdio ┌────────────────┐ TCP JSON-RPC ┌──────────────────┐
│ MCP client │ ◄────────────► │ MCP server │ ◄──────────────► │ Blender addon │
│ (Claude Code) │ │ (Python 进程) │ localhost:9876 │ (bpy.app.timers)│
└───────────────┘ └────────────────┘ └──────────────────┘Уровень агента — это четвёртый процесс, который сам работает как MCP-клиент существующего MCP-сервера — никогда не перереализует ни один инструмент Blender:
用户 / LLM 客户端
│
▼
★ LangGraph Agent(agent/) ← 本项目的智能层
│ MCP 客户端(stdio)—— 复用全部 218 个工具
▼
mcp-blender MCP server(上游,零修改)
│
▼
Blender addon → bpy → Blender 场景Цикл агента
START → Planner → Executor → Observer → Reviewer → Router ── 通过 ──► END
└─ 重规划 ──► RePlanner → Executor(循环)Узел | Обязанности |
Planner | Занимается только ЧЕМ: цель + ограничения + шаги + критерии приёмки (success_criteria). Никогда не выбирает инструменты. |
Executor | Отвечает за КАК: выбирает MCP-инструменты для каждого шага на основе каталога |
Observer | Собирает детерминированные факты о сцене (информация о сцене, список объектов, статистика сетки) — источник доказательств для Reviewer. |
Reviewer | Проверяет каждый критерий приёмки по одному и требует доказательства; «заявлено как пройденное, но без доказательств» исправляется кодом; непроверенные критерии явно помечаются как непройденные. |
RePlanner | Минимальное исправление: перепланирует только непройденные критерии; уже проверенная работа никогда не переделывается. |
Router | Детерминированная маршрутизация: пройдено или достигнут лимит итераций → завершение; иначе → перепланирование. |
Надёжность обеспечивается кодом, а не полаганием на добросовестность промптов: проверка схемы + одна повторная попытка Tool Selection Repair, принудительное покрытие критериев, любая ошибка парсинга явно деградирует (записывается в состояние, предоставляется Reviewer — никогда не молча).
Демонстрация в реальном времени
Процесс мышления и принятия решений агента | Результат генерации в Blender |
|
|
Результаты Benchmark
Протестировано на реальном экземпляре Blender 4.x — агент выполнил все 16 задач из benchmarks/tasks.json (4 уровня сложности, от базового создания до комбинированного моделирования), каждая задача — с приёмкой на основе доказательств.
Метрика | Результат |
Уровень успешности задач | 16/16 (100%) |
Уровень успешности вызовов инструментов | 69/69 (100%) |
Уровень ошибок схемы | 0/69 |
Среднее количество вызовов инструментов / задача | 4.31 (L1≈2.3 → L4≈6.5) |
Среднее количество перепланирований / задача | 0.19 |
Среднее время работы инструментов / задача | 0.95 с |
Все задачи комбинированного моделирования уровня L3–L4 (стол, дом, снеговик, булево отверстие, сосна, стул, чашка, робот) прошли приёмку по геометрическим доказательствам — например, 1012 вершин робота точно равны сумме вершин 6 кубов + 2 сфер.
Методологическое примечание: Claude в качестве агента выполнял через JSON-RPC-канал аддона (то есть тот же транспортный уровень, который использует MCP-сервер) на реальном Blender; пошаговые записи см. в eval_runs/ и docs/PHASE2_PROMPT_ENGINEERING.md. Benchmark также выявил реальный дефект аддона (scene_clear не может очистить скрытые объекты → конфликт объектов с одинаковыми именами), задокументированный в записи об обнаружении — именно в этом и заключается смысл системы оценки.
Быстрый старт
1. Установка
git clone https://github.com/SekaiNoOwari77/mcp-3d-modeling-agent.git
cd mcp-3d-modeling-agent
pip install -e . # MCP server(基础层)
pip install -r agent/requirements.txt # Agent 层(langgraph、mcp、httpx、jsonschema)2. Запуск Blender
Установите аддон: Blender → Правка → Настройки → Аддоны → Установить… → выберите
addon/blender_mcp_addon(можно упаковать в ZIP с помощьюpython scripts/package_addon.pyили просто создать симлинк на каталог).Включите «MCP Server Addon».
В 3D-вьюпорте нажмите
N→ панель MCP Server → Start Server (порт по умолчанию 9876).
3. Использование в качестве поставщика MCP-инструментов (любой MCP-клиент)
{
"mcpServers": {
"blender": { "command": "mcp-blender", "args": ["--port", "9876"] }
}
}Затем просто скажите клиенту: «Создай красный куб в точке (2, 0, 0), добавь модификатор Subdivision Surface уровня 2.»
4. Запуск LangGraph-агента
AGENT_LLM_MODEL=deepseek-chat \
AGENT_LLM_BASE_URL=https://api.deepseek.com/v1 \
AGENT_LLM_API_KEY=sk-... \
python -m agent.run "做一个低多边形松树:圆柱树干加三层圆锥树叶"Параметры: --render (включить рендеринг наблюдений), --max-iterations, --prompt-version, --no-eval, -v.
Метрики сохраняются: eval_runs/eval_runs.jsonl + eval_runs/records/.
5. Запуск Benchmark
python -m benchmarks.runner # 全部 16 个任务
python -m benchmarks.runner --levels 1,2 # 按难度级别
python -m benchmarks.runner --tags regression # Phase-1 回归任务Структура репозитория
src/mcp_blender/ MCP server:218 个工具定义 + Blender TCP 客户端 (上游)
addon/blender_mcp_addon/ Blender 插件:socket 服务器、handlers、AI 后端 (上游)
agent/ ★ Agent 智能层(原创)
├── graph.py LangGraph 组装(6 节点 + plan 级循环)
├── state.py Plan / PlanStep / Criterion / ReviewVerdict 数据结构
├── config.py env 驱动的配置
├── execution.py 任务执行入口(CLI 与 benchmark 共用)
├── llm.py OpenAI 兼容 LLM 客户端,带 token 用量追踪
├── nodes/ planner / executor / observer / reviewer / replanner / router
├── prompts/ 版本化 Prompt 模板(planner/v1.md 等)
├── context/ 每节点上下文构建器
├── evaluation/ EvalLogger:11 项指标,JSON + JSONL 记录
└── tools/mcp_client.py MCP 客户端:子进程生命周期、目录缓存、串行调用
benchmarks/ 16 任务 benchmark 套件 + runner + 传输 shim
tests/ 基础层测试 + tests/agent/(单元 + 假 LLM 端到端循环)
docs/ 工具参考、使用示例、架构、Agent 设计文档Тестирование
pytest tests/agent -q # Agent 层:44 个测试
PYTHONPATH=src pytest tests/ --ignore=tests/blender_integration_test.py # 基础层:84 个测试Включает сквозные тесты графа с фейковым LLM: полный цикл сходимости, путь восстановления Tool Selection Repair, явная обработка ошибок парсинга Reviewer.
Документация
docs/tools.md — полный справочник по 218 MCP-инструментам
docs/usage.md — сквозные примеры использования
docs/architecture.md — архитектура MCP/сервер/аддон
docs/AGENT_ARCHITECTURE.md — дизайн уровня агента (Фаза 1, на русском)
docs/PHASE2_PROMPT_ENGINEERING.md — система промптов, схемы, методология оценки и Benchmark, реальные результаты, записи об обнаружениях (на русском)
docs/MSFS_ROADMAP.md — конвейер контента MSFS
Дорожная карта
Фаза 3 — Tool RAG: поиск кандидатов инструментов по задаче вместо текущей инъекции полного каталога из 218 инструментов; текущие метрики — это базовая линия для сравнения.
Фаза 4 — визуальное рецензирование и память: мультимодальный Reviewer на основе существующего инструмента
analyze_viewport; память между сессиями.Повторная упаковка самого агента как MCP-сервера (предоставление единого инструмента
run_3d_taskнаружу) для вызова более высокоуровневыми клиентами.
Лицензия и благодарности
Этот репозиторий: AGPL-3.0-or-later.
Вышестоящая основа: RFingAdam/mcp-blender (входит в eng-mcp-suite) — MCP-сервер, плагин Blender и 218 инструментов взяты из вышестоящего проекта; интеллектуальный уровень агента (
agent/), система оценки, Benchmark и документация агента — оригинальный вклад этого форка.Сам Blender остаётся под лицензией GPL, вызывается только во время выполнения и не распространяется с этим репозиторием.
LangGraph · MCP · Инженерия промптов · Система оценки.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Free public MCP for AI agents — 193 tools, 44 workflows. No API key.
Hosted MCP server to manage a restaurant menu from AI agents - 39 tools over the DuckHub API.
MCP server for AI agents to plan, verify, and deploy Cloudflare-native apps.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/SekaiNoOwari77/mcp-3d-modeling-agent'
If you have feedback or need assistance with the MCP directory API, please join our Discord server

