房地产管理API服务器

一个基于模型上下文协议(MCP)的服务器,提供与Inmovilla API交互的工具,使LLM能够管理房地产、客户、业主并检索各种枚举数据。

  • by laica-ayudavets
  • HTML
  • 本地部署
  • 更新于
在 GitHub 查看 laica-ayudavets/mcp-inmovilla

使用说明

MCP-不动产

A. 模型上下文协议(MCP) 服务器,该服务器提供与Inmoilla API交互的工具。此服务器使LLM能够管理属性、客户端、所有者,并从Inmovilla房地产平台检索各种枚举。

关于MCP

模型上下文协议(MCP)是一种开放协议,可实现LLM应用程序与外部数据源和工具之间的无缝集成。了解更多:

安装

1.克隆和安装依赖项

git clone <repository-url>
cd mcp-inmovilla
npm install

2.建设项目

npm run build

3.配置环境变量

创建一个 .env 项目根目录中的文件,包含以下变量:

INMOVILLA_API_TOKEN=your_inmovilla_token_here
OPENAI_API_KEY=your_openai_api_key_here

获取Inmoilla API代币

获取您的Inmoilla API代币:

  1. 登录到 Inmovilla CRM
  2. 导航至 设置>选项>REST API令牌
  3. 生成您的令牌
  4. 将令牌复制到您的 .env 文件

备注:代币将在3个月不活动后自动过期。

获取OpenAI API密钥

  1. 注册或登录 OpenAI平台
  2. 导航到API密钥部分
  3. 创建新的API密钥
  4. 将密钥复制到您的 .env 文件

4.启动服务器

npm start

MCP服务器将在1337端口启动 http://localhost:1337/mcp.

项目结构

mcp-inmovilla/
├── src/
│   ├── tools/              # MCP Tools for Inmovilla API
│   │   ├── CreateClientTool.ts
│   │   ├── CreateOwnerTool.ts
│   │   ├── CreatePropertyTool.ts
│   │   ├── DeleteClientTool.ts
│   │   ├── DeleteOwnerTool.ts
│   │   ├── GetClientTool.ts
│   │   ├── GetEnumTool.ts
│   │   ├── GetOwnerTool.ts
│   │   ├── GetPropertyExtraInfoTool.ts
│   │   ├── GetPropertyLeadsTool.ts
│   │   ├── GetPropertyTool.ts
│   │   ├── ListPropertiesTool.ts
│   │   ├── SearchClientsTool.ts
│   │   ├── UpdateClientTool.ts
│   │   ├── UpdateOwnerTool.ts
│   │   └── UpdatePropertyTool.ts
│   └── index.ts            # Server entry point
├── python_tester/          # Python client for testing
│   ├── openai2mcp_test.py  # OpenAI chatbot client
│   └── requirements.txt    # Python dependencies
├── package.json
├── tsconfig.json
├── .env                    # Environment variables (create this)
└── README.md

Python测试客户端

这 python_tester 该文件夹包含一个连接到MCP服务器的Python脚本,并允许您使用OpenAI驱动的聊天机器人与之交互。

设置

  1. 确保MCP服务器正在运行 (见上述步骤4)

  2. 安装Python依赖项:

    cd python_tester
    pip install -r requirements.txt
    
  3. 运行聊天机器人:

    python3 openai2mcp_test.py
    

运作原理

Python客户端:

  • 通过Streamable HTTP连接到MCP服务器 http://localhost:1337/mcp
  • 使用OpenAI API(GPT-4)处理自然语言查询
  • 自动发现并调用可用的MCP工具
  • 提供基于控制台的聊天界面

示例用法

You: List all available properties
AI: [Calls list_properties tool and returns results]

You: Get information about property with reference ABC123
AI: [Calls get_property tool with the reference and returns property details]

You: What types of properties are available?
AI: [Calls get_enum tool for property types and returns the list]

类型 quit 或 exit 结束聊天会话。

可用工具

MCP服务器为与Inmoilla API交互提供了以下工具:

属性

  • create_property -创建新房产或潜在客户
  • get_property -通过代码或引用获取物业详细信息
  • get_property_extra_info -获取额外信息(门户网站发布信息、潜在客户)
  • get_property_leads -获取日期范围内的房产线索
  • list_properties -列出所有属性
  • update_property -更新现有属性

客户

  • create_client -创建新客户端
  • get_client -按代码获取客户详细信息
  • search_clients -搜索客户
  • update_client -更新现有客户端
  • delete_client -删除客户端

所有者

  • create_owner -创建新所有者
  • get_owner -获取所有者详细信息
  • update_owner -更新现有所有者
  • delete_owner -删除所有者

枚举

  • get_enum -获取各种类别(calidades、tipos、paises、ciudades、zonas)的枚举值

发展

观看模式

要根据文件更改自动重建,请执行以下操作:

npm run watch

添加新工具

工具会自动从 src/tools/ 目录。每个工具都扩展了 MCPTool 类并定义:

  • name -工具标识符
  • description -该工具的功能是什么
  • schema -使用Zod输入参数
  • execute() -工具实施

API文档

有关Inmoilla API端点和参数的详细信息,请参阅 Documentación API REST v1.html 在项目根中。

许可证

[您的许可证在这里]