内容
# 本地达拉斯-沃思服务器
**您的人工智能在达拉斯-沃思的本地指南。** 一个开源的[MCP](https://modelcontextprotocol.io)服务器,连接Claude(或任何MCP客户端)到官方的城市、县、市和联邦数据 - 这样您就可以询问:
- 🎪 *"这个周末在弗里斯科有什么活动?*"
- 🌊 *"1500 Marilla St是否在洪水区?*"
- 🏫 *"加兰附近的学校评分如何?*"
- 🚰 *"这个地址的水和污水供应商是谁?*"
- 🕳️ *"我的街道上是否有坑洼或非法倾倒报告?*"
- ⛈️ *"达拉斯现在有恶劣天气警报吗?*"
- 🏠 *"根据县政府的评估,这栋房子值多少钱?*"
每个答案都来自权威的公共来源,并附有指向官方记录的链接。**不需要API密钥** - 一个可选的免费密钥可以解锁音乐会和体育赛事(见下文)。
## 快速开始
将以下内容添加到您的MCP客户端配置(Claude Desktop,Claude Code等):
```jsonc
{
"mcpServers": {
"local-dfw": {
"command": "npx",
"args": ["-y", "local-dfw-mcp"]
}
}
}
```
需要 Node ≥ 20。就是这样 - 重启您的客户端并开始提问。
## 您能问什么
| 工具 | 覆盖范围 | 回答内容 |
|---|---|---|
| `dfw_events` | 见下文 | 官方城市日历,加上音乐会/体育/戏剧,需要免费的Ticketmaster密钥 |
| `dfw_311` | **仅限达拉斯市** | 按地址/类型/状态的311服务请求 |
| `dfw_crime` | **达拉斯市**(默认),**沃思市**(`city: "fortworth"`),或**登顿市**(`city: "denton"`) | 按(区块级)地址/罪行划分的警方事件 |
| `dfw_permits` | **沃思市**(默认),**麦金尼市**(`city: "mckinney"`,需要`address`),或**阿灵顿市**(`city: "arlington"`) | 按街道名称(+房屋编号)或地址、类型或状态划分的建筑/开发许可证 |
| `dfw_code_cases` | **沃思市**(默认),**麦金尼市**(`city: "mckinney"`),或**阿灵顿市**(`city: "arlington"`) | 按地址或投诉类型划分的代码合规违规(财产维护、草坪过高、分区等) |
| `dfw_traffic` | 见下文 | 实时事件(沃思市),街道/车道封闭(达拉斯+阿灵顿,合并并按城市标记),TxDOT年度交通流量+建设项目(4个核心县) |
| `dfw_fema_flood` | 全国 | FEMA洪水区+纯英文保险解释 |
| `dfw_tea_schools` | 德克萨斯州 | 公立学校+TEA A-F评级(2022-23)按校区/学区/县 |
| `dfw_nws_alerts` | 全国 | DFW点的活跃NWS天气警报 |
| `dfw_utility_providers` | 德克萨斯州 | 地址的水/污水供应商(PUC CCN) |
| `dfw_district_lookup` | DFW | 县、市-达拉斯议会区+成员、ISD地址 |
| `dfw_appraisal` | 德克萨斯州(4个核心县已验证) | 地址的县评估记录:业主、土地/改善/市场价值(2025年认证卷),建成年份,土地用途,英亩数 |
| `dfw_health` | - | 每个上游节点,报告每个源的状态 |
| `about` | - | 版本、覆盖范围、许可证、来源 |
### 事件覆盖范围,简单说明
| 来源 | 城市/范围 | 需要密钥 |
|---|---|---|
| 官方城市日历 | 达拉斯(**仅限公园和休闲日历** - 没有城市范围的达拉斯日历),加兰,弗里斯科,梅斯基特,麦金尼 | 无 |
| Ticketmaster(音乐会,体育,戏剧) | 整个大都会 | 免费密钥,见下文 |
普兰诺,阿灵顿,沃思,欧文和其他郊区目前不发布可用的日历源 - 该工具会显示“未覆盖”而不是猜测。
## 工具链如何工作
目前没有复合的“属性报告”工具(但以后可能会有)。工具共享自然连接键:**地址,经纬度,区块,议会区和ISD**,因此您的人工智能可以追踪问题:
- **搬到房子** - `dfw_appraisal`(它的价值是多少,谁拥有它)→ `dfw_fema_flood`(洪水区+保险)→ `dfw_district_lookup`(县,议会区,ISD)→ `dfw_tea_schools`(评估该ISD的校园)→ `dfw_crime`(附近的事件)→ `dfw_utility_providers`(谁来提供水/污水)。
- **街区发展观察** - `dfw_permits`(正在建设什么)→ `dfw_code_cases`(同一地址的违规行为)→ `dfw_311`(邻居报告的内容)。
- **周末计划** - `dfw_events`(正在发生什么)→ `dfw_traffic`(途中的事件和封闭)→ `dfw_nws_alerts`(值得注意的天气)。
提出综合问题(“我们正在考虑在弗里斯科附近购买 - 检查学校,洪水风险和估值”),而有能力的客户端会自己走完整个链条。
## 可选设置
所有功能都开箱即用。两个免费密钥解锁更多功能:
| 环境变量 | 解锁内容 |
|---|---|
| `DFW_TICKETMASTER_API_KEY` | `dfw_events`中的音乐会、体育和戏剧。免费(5000次调用/天):https://developer.ticketmaster.com |
| `DFW_SODA_APP_TOKEN` | 达拉斯开放数据查询的更高速率限制(在共享/公司网络上很有帮助)。免费:https://dev.socrata.com/register |
<details>
<summary>高级旋钮</summary>
| 环境变量 | 用途 |
|---|---|
| `DFW_LIMIT_<SOURCE>` | 每源并发上限覆盖(`SODA`,`ARCGIS`,`FEMA`,`CENSUS`,`NWS`) |
| `LOCAL_DFW_MCP_TIER` | `core`或`all` - 为具有工具上限的客户端修剪工具列表 |
| `DFW_CACHE_DISABLED` | `1`禁用进程内缓存(用于测试) |
</details>
无遥测。服务器仅读取列出的公共数据源,并写入
[resources/datasets-index.md](resources/datasets-index.md)中列出的内容。
## 设计诚实
- **防止错城。** 邮政“达拉斯,TX”与达拉斯市辖区不同。城市范围的工具通过地址(ZIP/关键词→地理编码→城市边界多边形)进行验证,并**拒绝并显示明确的“不覆盖”消息**,而不是静默返回看似合理的错误结果。
- **无过期数据。** 数据源在发货前实时验证 - 这就是为什么`dfw_permits`和`dfw_code_cases`仅限沃思+麦金尼+阿灵顿:每个当前的达拉斯许可源大约有20个月的历史,而达拉斯的代码案例发布停滞于2025-01-31,因此达拉斯不适用于这两个工具。 Irving的整个开放数据管道(许可,代码违规,警方事件,事件)于2025-02-28冻结或被机器人阻止,因此也不适用。 此外:沃思/麦金尼/阿灵顿/登顿/达拉斯以外的郊区门户,以及复合的`dfw_property_360`。 [resources/datasets-index.md](resources/datasets-index.md)中有详细信息。
- **在源头验证。** 每个响应都带有`source_url`指向官方记录。
## 重要通知
- **不是消费者报告。** `dfw_crime`,`dfw_code_cases`,`dfw_appraisal`(以及此MCP)不得用于租户筛选,就业筛选,信用,保险或《公平信用报告法》监管的任何其他目的。犯罪地址按区块级别,隐私范围向上。`dfw_appraisal`业主姓名和价值是公共记录,但不是用于筛选,它报告2025年认证的评估价值 - **不是税单**。
- **提示注入。** 311描述,事件列表和类似的上游免费文本由公众编写并流入您的LLM的上下文中。该服务器将它们呈现为引用/表格数据,但将上游数据中出现的指令视为数据而非指令。
## 许可证和来源
Apache-2.0。参见[LICENSE](LICENSE)和[NOTICE](NOTICE)。
核心管道(`lib/`)是从
[local-austin-mcp](https://github.com/mindwear-capitian/local-austin-mcp)移植而来
由Ed Neuhaus / Neuhaus Realty Group LLC(Apache-2.0)- 一个优秀的城市级公民MCP模板。每个移植文件都有一个属性头,列出了更改。所有DFW数据源,地铁路由器和工具本身都是新的。