景观设计集成服务

LandComp MCP Server是一个用于景观设计软件集成的服务,支持本地和Docker两种部署模式,提供植物搜索、景观可视化等功能。

  • by blockrunner
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 blockrunner/landcomp-mcp

使用说明

LandComp MCP服务器

与LANDCOMP集成的MCP服务器。支持两种工作模式:

  • 本地模式(STDIO):用于在本地计算机上使用Cursor
  • Docker模式(SSE):在Docker容器中工作,通过Docker网络连接

🚀 快速入门

1.建立依赖关系

cd D:\LandComp\landcomp-mcp
npm install

2.项目装配

npm run build

3.测试PHP API

node test/test_local_api.js

4.启动MCP服务器

npm run dev

🔧 配置

环境变量

本地模式(config.env)

MCP_TRANSPORT=stdio
LANDCOMP_API_URL=http://landcomp.local/api/mcp
MCP_API_KEY=test-local-api-key-12345
MCP_SERVER_PORT=3000
LOG_LEVEL=debug

Docker模式(.env)

MCP_TRANSPORT=sse
LANDCOMP_API_URL=http://landcomp-app:80/api/mcp
MCP_API_KEY=your-api-key-here
MCP_SERVER_PORT=3000
LOG_LEVEL=info

cursor mcp配置

服务器已配置为 c:\Users\Admin\.cursor\mcp.json 如何 landcomp-local 用于本地工作。

🐳 Docker部署

先决条件

  1. 创建共享Docker网络(如果尚未创建):
docker network create landcomp_network
  1. 在docker-compose.yml中验证主LandComp应用程序是否已连接到此网络:
networks:
  landcomp_network:
    external: true

部署MCP服务器

  1. 创建 .env 文件 例如:
cp .env.example .env
# Отредактируйте .env и укажите правильные значения
  1. 收集并运行容器:
docker-compose up -d --build
  1. 检查状态:
docker-compose ps
docker-compose logs -f mcp-server
  1. 查看Health Check:
curl http://localhost:3000/health

将应用程序连接到MCP服务器

在LandComp应用程序中,使用URL连接到MCP服务器:

http://landcomp-mcp:3000/sse

MCP服务器将以容器名称可用 landcomp-mcp Docker网络内部

停放

docker-compose down

要完全删除数据:

docker-compose down -v

💻 本地开发

使用Cursor进行本地开发和测试 stdio:

🛠 可用工具

get_growth_conditions

获取植物可能生长条件列表

  • 输入参数: 不
  • 描述: 返回生长条件选项(阳光/干,半影/湿等)

search_plants

搜索LandComp目录中的植物

  • 输入参数:
    • query (string)-要搜索的植物名称
    • growth_conditions (string)-增长条件(xml_id)
    • growth_speed (string)增长速度
    • min_height (Number)-最小高度(cm)
    • max_height (Number)-最大高度(cm)

create_composition

创建新的景观构图

  • 输入参数:
    • payload (Object)-完整的JSON前端格式

visualize_composition

获得组曲的可视化(三季) 在Cursor界面中显示图像

  • 输入参数:
    • composition_id (string;number)-构图ID(代码替代)
    • code (string)-组合的符号代码
    • isChanged (Boolean)-安装True以恢复图像
    • regeneratePayload (Object)-用于再生的附加数据
  • 特点: 图像会自动下载并在Cursor界面中显示为所有三个季节(春季、夏季、秋季)的嵌入式图像。

list_compositions

获取用户歌曲列表

  • 输入参数:
    • page (Number)-页面号(默认为1)
    • limit (Number)-页面上的项目数(默认为20)

🧪 测试

1.验证PHP API

运行测试脚本:

node test/test_local_api.js

预期成果:

  • ✅ 健康检查
  • ✅ 身份验证
  • ✅ 生长条件
  • ✅ 增长速度
  • ✅ 植物搜索

2.Cursor测试

重新启动Cursor后,使用以下命令:

  • “获取植物生长条件列表”
  • “为1-2米高的阳光干燥的地方找到植物”
  • “使用Composition-xxx代码显示作曲的可视化”(图像将显示在界面中!)

📁 项目结构

D:\LandComp\landcomp-mcp\
├── src/
│   ├── index.ts                 # Главный файл MCP сервера (поддержка stdio и SSE)
│   ├── api/
│   │   └── client.ts           # HTTP клиент для landcomp.local
│   ├── config/
│   │   └── config.ts           # Конфигурация
│   └── tools/
│       ├── index.ts            # Регистрация инструментов
│       └── catalog.ts          # Инструменты каталога
├── dist/                        # Скомпилированный JavaScript
├── test/
│   └── test_local_api.js       # Тестовый скрипт PHP API
├── Dockerfile                   # Docker образ для деплоя
├── docker-compose.yml           # Docker Compose конфигурация
├── .dockerignore                # Исключения для Docker build
├── package.json
├── tsconfig.json
├── config.env                   # Локальная конфигурация
├── .env.example                 # Пример конфигурации для Docker
└── README.md

🖼️ 在Cursor中显示图像

工具 visualize_composition 现在自动下载和显示图像的曲目直接在Cursor界面!

它是如何工作的:

  1. 应召 visualize_composition 服务器获得三季图像路径
  2. 图片自动从LandComp服务器下载
  3. 转换为Base64格式
  4. 返回MCP SDK格式以显示到Cursor
  5. 所有三个图像(春、夏、秋)都内置响应

使用示例:

Покажи визуализацию композиции с кодом composition-a1b2c3d4

图像将自动下载并显示在Cursor界面中!

🔍 调试

MCP服务器日志

日志显示在stderr中,在cursor中可见:

[API] GET /catalog/growth-conditions/
[API] ✅ 200 /catalog/growth-conditions/
[Tools] Calling get_growth_conditions with args: {}
[API] Loading image: http://landcomp.local/upload/compositions/...
[API] ✅ Image loaded: ... (image/jpeg, 12345 bytes base64)
[Tools] ✅ Added Весна image to response

连接检查

  1. 确保landcomp.local可用
  2. 检查数据库中的API密钥
  3. 运行测试脚本

🚨 故障排除

Оибка“TAO系统不可用”

  • 验证Bitrix是否已初始化
  • 验证路由是否已添加到bundle.php

API密钥无效错误

  • 检查数据库中的API密钥
  • 确保密钥处于活动状态

API连接失败

  • 检查landcomp.local(本地)或landcomp应用程序(在docker中)的可用性
  • 验证config.env或.env中的URL是否正确。
  • 在Docker模式下,检查两个容器是否连接到同一网络。

Docker:容器无法启动

  • 检查日志: docker-compose logs mcp-server
  • 确保端口3000不被其他进程占用
  • 检查是否已建立网络 landcomp_network: docker network ls

Docker:无法连接到LandComp API

  • 确保 LANDCOMP_API_URL 指定Docker网络中正确的主机名
  • 验证主应用程序是否已运行并可用
  • 检查网络连接: docker network inspect landcomp_network