Token导航 LogoToken导航TokenDH.com
Real State logo
AI代理stdio官方级别未说明来源级核验

Real State

MCP Server

@modelcontextprotocol/inspector

一个连接大型语言模型和私有房地产数据库的模型上下文协议服务器,支持AI代理查询物业数据、管理目录和生成SEO优化的营销内容。

工具数

7

提示词数

0

GitHub Stars

0

资源数

0
PythonAI代理工作流自动化

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

AlejandroDiazD

提供方

AlejandroDiazD

最后核验

2026/5/17 20:20

运行时

Node.js

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

npx @modelcontextprotocol/inspector http://localhost:8000/sse --header "Authorization: Bearer secret_token_2026"

详细介绍

后端工程挑战——房地产MCP服务器

该项目由一个模型上下文协议(MCP)服务器组成,旨在弥合大型语言模型(LLM)和私有房地产数据库之间的差距。该服务器使AI代理能够通过不同的工具自主查询房产数据、管理目录并生成SEO优化的营销内容。

该项目采用模块化架构,具有不同的层(核心、域、基础设施、服务器、服务),确保关注点的分离。它采用非阻塞异步设计,使用asyncio有效地处理并发数据库操作和外部API调用。该解决方案包括通过Bearer Token身份验证的强大安全性、SQLite的持久存储以及针对AI交互优化的标准化JSON通信层。

1.MCP工具

  • search_properties:按城市、价格范围和房产状态(可用/已售出)进行高级筛选搜索。
  • get_property_details:全面检索特定物业的完整技术规格。
  • generate_listing_content:生成SEO就绪HTML片段的自动化管道(包括 `` 标签),具有可定制的语言和语调。
  • add_property:使用强制模式验证和持久字符串ID安全注册新上市。
  • update_property:更新修改特定字段的功能,而无需重新发送整个记录。
  • delete_property:通过唯一标识符从数据库中永久删除财产记录。
  • seed_data:内置实用程序,用于使用示例记录初始化数据库以进行测试和演示。

2.部署

该设置基于Docker。

需求

  • Docker 20+
  • Docker Compose v2+

配置

服务配置使用容器内的环境变量。在这种情况下,可以在docker compose文件中修改所有必要的参数:

变量描述
APP_NAME用于标识MCP服务器的显示名称
APP_API_TOKEN承载令牌身份验证所需的密钥
DATABASE_URLSQLite数据库文件的连接字符串
HOST服务器将绑定到的网络接口地址
PORT服务器将侦听的TCP端口号
FASTMCP_DEBUG布尔标志,用于启用或禁用详细调试模式
FASTMCP_LOG_LEVEL应用程序日志的详细程度(例如,INFO、DEBUG)

运行应用程序

docker compose up --build

在第一次构建后,您可以重新启动而无需重建:

docker compose up

运行MCP检查器

MCP检查器在已加载承载令牌的情况下启动。在这个挑战中,测试密钥被设置为:“secret_token_2026”:

npx @modelcontextprotocol/inspector http://localhost:8000/sse --header "Authorization: Bearer secret_token_2026"

3.设计标准

建筑

我选择了分层模块化架构(核心、域、基础设施、服务器、服务)来严格执行关注点分离。通过将业务逻辑与传输协议和持久层解耦,我确保了系统的可维护性和可扩展性。这种结构最大限度地减少了副作用,允许修改或交换单个组件,如数据库引擎或MCP接口,而不会影响应用程序的其他部分。

异步设计

由于MCP协议本质上是异步的,我实现了一个非阻塞执行模型来保持服务器的高响应性。通过asyncio.to_tothread将同步数据库I/O卸载到工作线程,我确保了事件循环保持畅通。这是关键,因为它可以防止磁盘I/O成为瓶颈。通过保持事件循环的自由,服务器保持快速,并为模型提供即时反馈,即使我们在后台处理大量数据操作。

数据库集成

我选择SQLite主要是为了可移植性。在挑战环境中,零配置的独立文件是确保项目“即插即用”的最实用的选择,尽管PostgreSQL将是生产环境的标准。我选择SQL而不是NoSQL,因为房地产记录本身就是结构化的。关系模型提供了开箱即用的本地模式实施和数据完整性,而NoSQL将迫使我们在应用程序逻辑中手动处理这些一致性检查。

认证

我选择了Bearer Token身份验证,因为它是一种简单的行业标准模式。它为这个项目提供了正确的平衡:通过Authorization标头保护敏感的写入操作(如添加或删除属性),而不会过度设计身份验证流。它可靠,易于为任何客户端实现,并且完全符合MCP协议的无状态特性。

运输

我实现了SSE(服务器发送事件)传输,以满足云就绪和简化HTTP测试的要求。除了合规性之外,与stdio等本地替代方案相比,SSE是Docker化环境中更稳健的选择。它与标准web基础架构和反向代理无缝集成,确保了一个稳定的、生产就绪的通信渠道,在部署过程中易于监控和调试。

边缘情况和错误处理

我通过实施集中式错误格式化程序来优先考虑系统弹性。对于无效ID或模式不匹配等边缘情况,服务器返回结构化JSON反馈,而不是无声故障或通用错误。这为LLM提供了足够的上下文来理解请求失败的原因,使其能够自主纠正参数并在没有人为干预的情况下重试。

4.今后的改进

  • 基于真实人工智能的内容生成器
  • 根据要求实施MCP资源
  • MCP根据要求提示模板实施
  • 单元测试

_此存储库是作为交互式AI后端工程师挑战赛的一部分提供的,旨在用于评估目的。_

目录标签

目录标签

PythonAI代理工作流自动化房地产数据库本地部署SEO内容生成异步服务器BearerToken认证

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

token

运行时(runtime,运行环境)

Node.js

来源包(packageName,安装包名)

@modelcontextprotocol/inspector

工具数量(toolCount,工具数)

7

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdiotoken部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP