项目简介
EstateWise MCP 服务端是智能房地产助手 EstateWise 的后端核心,它遵循 Model Context Protocol (MCP) 标准,为大型语言模型 (LLM) 客户端提供结构化的上下文信息和外部功能调用。它托管并管理丰富的房产数据资源,注册并执行50多种工具(如房产搜索、图谱分析、财务计算等),并支持 LLM 进行会话管理和能力声明。
主要功能点
- 资源管理与数据访问: 托管和提供对房产数据(包括详细属性、市场趋势、地理信息等)的标准化访问能力。
- 工具注册与执行: 注册并执行超过50种专用工具,涵盖房产搜索、图谱关系解释、市场分析、财务估算、通勤规划、认证管理等,允许 LLM 按需调用外部功能。
- Prompt 模板支持: 通过工具定义和返回的结构化内容,支持 LLM 客户端构建和渲染可定制的 Prompt 模板,实现高度个性化的 LLM 交互模式。
- JSON-RPC 通信: 通过 JSON-RPC 协议与 LLM 客户端进行通信,处理资源请求、工具调用和能力声明。
- 会话管理与能力声明: 维护 LLM 会话状态,并向客户端声明其提供的所有工具和功能。
- 多种传输协议: 支持 Stdio 等多种传输协议,方便集成到不同的 LLM 应用环境。
安装步骤
- 克隆仓库:
git clone https://github.com/hoangsonww/EstateWise-Chapel-Hill-Chatbot.git cd EstateWise-Chapel-Hill-Chatbot/mcp - 安装依赖:
npm install - 构建 MCP 服务器:
npm run build
服务器配置 (供 MCP 客户端使用)
MCP 客户端连接 EstateWise MCP 服务器时,需要以下 JSON 格式的配置信息。这些信息定义了如何启动和与服务器通信。
{ "name": "estatewise-mcp", "command": "node", "args": [ "dist/server.js" ], "options": { "cwd": "/path/to/EstateWise-Chapel-Hill-Chatbot/mcp", "env": { "API_BASE_URL": "https://estatewise-backend.vercel.app", "FRONTEND_BASE_URL": "https://estatewise.vercel.app", "MCP_CACHE_TTL_MS": "30000", "MCP_CACHE_MAX": "200", "MCP_DEBUG": "false" } }, "config": { "// API_BASE_URL": "后端API的基础URL,默认指向Vercel部署的EstateWise后端。如需本地运行,请修改为本地后端地址。", "// FRONTEND_BASE_URL": "前端应用的基础URL,用于生成地图深层链接等,默认指向Vercel部署的EstateWise前端。如需本地运行,请修改为本地前端地址。", "// MCP_CACHE_TTL_MS": "MCP服务器内部GET请求缓存的存活时间(毫秒),默认30000毫秒(30秒)。", "// MCP_CACHE_MAX": "MCP服务器内部GET请求缓存的最大条目数,默认200。", "// MCP_DEBUG": "是否开启MCP服务器的调试日志(true/false),默认false。" } }
请根据您的实际部署环境,在 MCP 客户端中配置 'cwd' 和 'env' 变量。
基本使用方法
- 启动 MCP 服务器:
在 'EstateWise-Chapel-Hill-Chatbot/mcp' 目录下运行:
服务器将在标准输入/输出 (stdio) 上等待客户端连接。npm start - 使用 MCP 客户端连接:
您可以使用 MCP SDK 提供的客户端或任何兼容的 MCP 客户端(如 'mcp/src/client.ts' 示例客户端),通过 stdio 连接到正在运行的服务器。
例如,使用其内置的示例客户端进行测试:
这将调用 'properties.search' 工具,搜索教堂山地区3居室的房产。npm run client:call -- properties.search '{"q":"Chapel Hill 3 bed","topK":5}'
信息
分类
商业系统