MCP-不动产
A. 模型上下文协议(MCP) 服务器,该服务器提供与Inmoilla API交互的工具。此服务器使LLM能够管理属性、客户端、所有者,并从Inmovilla房地产平台检索各种枚举。
关于MCP
模型上下文协议(MCP)是一种开放协议,可实现LLM应用程序与外部数据源和工具之间的无缝集成。了解更多:
安装
1.克隆和安装依赖项
git clone
cd mcp-inmovilla
npm install2.建设项目
npm run build3.配置环境变量
创建一个 .env 项目根目录中的文件,包含以下变量:
INMOVILLA_API_TOKEN=your_inmovilla_token_here
OPENAI_API_KEY=your_openai_api_key_here获取Inmoilla API代币
获取您的Inmoilla API代币:
- 登录到 Inmovilla CRM
- 导航至 设置>选项>REST API令牌
- 生成您的令牌
- 将令牌复制到您的
.env文件
备注:代币将在3个月不活动后自动过期。
获取OpenAI API密钥
- 注册或登录 OpenAI平台
- 导航到API密钥部分
- 创建新的API密钥
- 将密钥复制到您的
.env文件
4.启动服务器
npm startMCP服务器将在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.mdPython测试客户端
这 python_tester 该文件夹包含一个连接到MCP服务器的Python脚本,并允许您使用OpenAI驱动的聊天机器人与之交互。
设置
- 确保MCP服务器正在运行 (见上述步骤4)
- 安装Python依赖项:
cd python_tester
pip install -r requirements.txt- 运行聊天机器人:
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 在项目根中。
许可证
\[您的许可证在这里\]
