内容
<p align="center">
<img src="docs/assets/readme-hero.svg" alt="Open Emirates Intelligence — animated federation data map" width="100%">
</p>
<h1 align="center">开放阿联酋情报</h1>
<p align="center"><strong>阿联酋查询</strong></p>
<p align="center">
<a href="https://uaemcp.zad.tools"><img src="https://img.shields.io/badge/LIVE-uaemcp.zad.tools-087443?style=flat-square" alt="在线实例"></a>
<a href="https://github.com/zad-tools/uaemcp/actions/workflows/ci.yml"><img src="https://img.shields.io/github/actions/workflow/status/zad-tools/uaemcp/ci.yml?style=flat-square&label=CI" alt="CI 状态"></a>
<a href="https://www.npmjs.com/package/uaemcp"><img src="https://img.shields.io/npm/v/uaemcp?style=flat-square&logo=npm" alt="npm 版本"></a>
<img src="https://img.shields.io/badge/runtime-Bun-f1eddf?style=flat-square&logo=bun&logoColor=13251d" alt="Bun 运行时">
<img src="https://img.shields.io/badge/license-MIT-c34032?style=flat-square" alt="MIT 许可证">
</p>
<p align="center">官方阿联酋开放数据,适用于代理、研究人员和开发者 — 通过 MCP、REST、矢量地图和六种 SDK。</p>
<p align="center">
<img src="docs/assets/oei-motion.gif" alt="Open Emirates Intelligence 产品预览动画" width="760">
</p>
<p align="center">
<img src="docs/assets/brand-system.svg" alt="Open Emirates Intelligence 品牌身份系统" width="100%">
</p>
<table>
<tr>
<td width="68%"><img src="docs/assets/screenshots/landing-desktop.jpg" alt="桌面端登录页面"></td>
<td width="32%"><img src="docs/assets/screenshots/landing-mobile.png" alt="移动端登录页面"></td>
</tr>
</table>
<p align="center">
<img src="docs/assets/screenshots/product-registry.jpg" alt="双语公共产品注册,附证据范围和限制" width="100%">
</p>
<p align="center">
<img src="docs/assets/screenshots/landing-arabic.jpg" alt="阿拉伯语 RTL Open Emirates Intelligence 门户" width="100%">
</p>
由 **Ahmed Morsy** 维护。在 MIT 许可证下发布,并基于原始开源 UAEMCP 工作,相关致谢见 [LICENSE](LICENSE)。
开放阿联酋是一个独立的开源倡议。它与阿联酋政府无关联或获得其认可。每个数据产品都标识其官方来源、证据边界、检索日期和可用的许可证条款。
## 独立包
仓库现为多模块仓库,具有独立的发布线:
- `@open-emirates/contracts` 用于无依赖响应合约。
- `@open-emirates/sdk` 用于混合 TypeScript 客户端,带有生成的工具类型、运行时 Schema 2.1 发现、本地验证、有界重试和分页。
- `@open-emirates/mcp` 用于 MCP stdio 和 Streamable HTTP 入口点。
- `uaemcp` 仍然是兼容的引擎和现有的 CLI,在迁移期间。
SDK 无 MCP 依赖。包边界和发布说明在 [docs/PACKAGES.md](docs/PACKAGES.md) 中有文档记录。
```ts
import { OpenEmiratesClient } from "@open-emirates/sdk";
const client = new OpenEmiratesClient();
const result = await client.tools.call("uae_golden_residency", { action: "list" });
```
已知工具接收编译时自动补全;新服务器工具通过动态发现保持可调用。黄金居留权输出是信息性的官方路线指导,而不是资格或居住决定。
<p align="center">
<img src="docs/assets/package-architecture.svg" alt="Open Emirates 独立包架构,从合约到 SDK、MCP 和 Bun 引擎" width="100%">
</p>
服务器保留公共 `uaemcp` 合约,并将其扩展为 46 个来源引用的 MCP 工具、十七个资源、三个提示、双语目录搜索、CKAN、OpenDataSoft、ArcGIS、Socrata、JSON、CSV、XLSX、XML、RSS、GraphQL、SDMX 和 SPARQL 连接器、地理查询、聚合、PII 伪影、SSRF 保护和健康/就绪/Prometheus 端点。Bun SQLite 存储健康历史和有界数据集快照,用于可重复的比较。
代理可以从三个稳定的外表开始,而不是学习完整的高级界面:`uae_discover` 默认情况下查找本地目录证据而不进行实时扩展,`uae_query` 读取和转换源数据,`uae_analyze` 组成方法论支持的指标、配方和档案。现有工具仍然可用。设置 `UAEMCP_TOOL_PROFILE=core` 以发布仅有的六个核心代理工具,或使用 `research`、`geo` 和 `full` 配置文件。
公共门户完全支持双语:导航、产品证据、目录、连接器、数据集发现、游戏控件和运行时状态在英语和阿拉伯语之间切换。每个公共应用程序都使用迪拜字体,并具有本地 RTL 组合。
<p align="center">
<a href="https://uaemcp.zad.tools/employment-gender"><img src="docs/assets/employment-gender-motion.svg" alt="Animated MOHRE employment-by-gender evidence ledger preserving annual ratios and interpretation boundaries" width="100%"></a>
</p>
**MOHRE 按性别划分的就业** 账本发布了 2020-2024 年间在 MOHRE 私营部门系统中注册的员工的十个验证的年度比例观察值。它保持男性和女性的比例分离,从不将比例转换为员工人数,也不声称覆盖整个劳动力、薪酬公平、因果关系或预测。使用[托管账本](https://uaemcp.zad.tools/employment-gender)、`GET /api/v1/employment-gender` 或 `uae_employment_gender` MCP 工具。
<p align="center">
<a href="https://uaemcp.zad.tools/tourism-pulse"><img src="docs/assets/tourism-pulse-motion.svg" alt="Animated UAE Tourism Pulse showing five separate national annual aggregates and explicit evidence boundaries" width="100%"></a>
</p>
**阿联酋旅游脉搏** 呈现了五个官方的国家年度汇总数据,分别来自不同的来源,并带有指标和年范围过滤器。访客人数并未作为独特的游客呈现,年与年之间的变化是描述性的 — 而非因果的 — 并且占用率透明地显示为百分比,通过将发布的来源分数乘以 100。 它不创建旅游评分或推断酋长国、酒店、旅行者或市场细分详细信息。使用[托管脉搏](https://uaemcp.zad.tools/tourism-pulse)、`GET /api/v1/tourism-pulse` 或 `uae_tourism_pulse` MCP 工具。
<p align="center">
<a href="https://uaemcp.zad.tools/aeronautical-publications"><img src="docs/assets/aeronautical-publications-motion.svg" alt="Animated GCAA aeronautical publication ledger showing package, publication and effective dates with an index-not-NOTAM boundary" width="100%"></a>
</p>
**阿联酋航空出版物** 账本读取当前的 GCAA eAIP 出版索引,并保持每个包、出版物和生效日期与其来源描述绑定。 AIRAC 修正案和补充材料可以过滤,而不解释监管影响、空域、航线或安全。这是一个发现索引 — 而不是 NOTAM、飞行计划指南或当前官方 AIP 包的替代品。使用[托管账本](https://uaemcp.zad.tools/aeronautical-publications)、`GET /api/v1/aeronautical-publications` 或 `uae_aeronautical_publications` MCP 工具。
<p align="center">
<a href="https://uaemcp.zad.tools/health-facilities-map"><img src="docs/assets/health-facilities-map-motion.svg" alt="Animated MOHAP Health Facilities Map showing published rows, valid coordinates and explicit exclusions" width="100%"></a>
</p>
**阿联酋健康设施地图** 暴露了 MOHAP 官方 2026 工作簿中的第二个 GIS 表格:15,326 个已发布的行,其中 7,471 个包含坐标,位于保守的阿联酋框架内。它报告并排除其他 7,855 行 — 2,671 个空白坐标、1,102 个 `90,90` 哨兵和 4,082 个畸形或超出框架的值 — 而不是猜测位置。名称和坐标不确定设施类型、许可证、所有权、当前运营、服务、容量、可达性或质量。使用[托管地图](https://uaemcp.zad.tools/health-facilities-map)、`GET /api/v1/health-facilities-map` 或 `uae_health_facilities_map`。
<p align="center">
<a href="https://uaemcp.zad.tools/connectivity"><img src="docs/assets/connectivity-pulse-motion.svg" alt="Animated TDRA Connectivity Pulse with three separate official monthly series" width="100%"></a>
</p>
**阿联酋连接脉搏** 发布了三个官方的 TDRA 月度系列,从 2011 年 1 月到 2025 年 12 月:活跃的移动订阅、每 100 名居民的宽带互联网订阅和每 100 名居民的固定电话。它不添加不同的单位或创建连接性评分。订阅不是唯一的个人,每 100 名居民的观察值并不衡量覆盖范围、速度、质量、负担能力或数字包容性。使用[托管账本](https://uaemcp.zad.tools/connectivity)、REST 或 `uae_connectivity_pulse` MCP 工具。
<p align="center">
<a href="https://uaemcp.zad.tools/ajman-parks"><img src="docs/assets/ajman-parks-motion.svg" alt="Animated Ajman Parks Footfall annual evidence with visits-not-unique-people boundary" width="100%"></a>
</p>
**阿吉曼公园客流量** 产品读取完整的官方 2017-2023 年月度观察数据集,按年份和来源原生公园标签分组有效发布的访问,并公开畸形排除的访问。从不将访问呈现为独特的个人、居民需求、旅游业绩、满意度、容量或公园质量。使用[托管浏览器](https://uaemcp.zad.tools/ajman-parks)、REST 或 `uae_ajman_parks_footfall` MCP 工具。
<p align="center">
<a href="https://uaemcp.zad.tools/policy-watch"><img src="docs/assets/policy-watch-motion.svg" alt="Animated UAE Policy Evidence Watch from five official sources to hashes and an evidence change ledger" width="100%"></a>
</p>
**阿联酋政策证据观察** 检查五个经过审计的官方立法、决议和公告表面。它保留 SHA-256 指纹、有界摘录和检查观察 — 而不是完整的政府页面。检测到的页面内容变化是证据审查的依据;它从不表现为法律变化、生效日期或资格决定。使用[托管观察](https://uaemcp.zad.tools/policy-watch)、REST 或 `uae_policy_evidence_watch` MCP 工具。
<p align="center">
<a href="https://uaemcp.zad.tools/evidence-studio"><img src="docs/assets/evidence-studio-motion.svg" alt="Animated UAE Evidence Studio composing source-native evidence into one dossier" width="100%"></a>
</p>
**阿联酋证据工作室** 将两个到五个现有的官方证据支柱转化为一个双语研究档案。每个卡片都保留其期间、单位、范围、交付模式、引用和限制。它不使用生成模型、不存储问题或选择、不添加不同的单位、不对支柱进行排名或发明综合评分。使用[托管工作室](https://uaemcp.zad.tools/evidence-studio)、`POST /api/v1/evidence-dossier` 或 `uae_evidence_dossier` MCP 工具;在浏览器中打印或下载 Markdown 和 JSON。
<p align="center">
<a href="https://uaemcp.zad.tools/national-brief"><img src="docs/assets/national-brief-motion.svg" alt="Animated UAE National Evidence Brief showing four separate source-cited pillars" width="100%"></a>
</p>
**阿联酋国家证据简报** 将教育、健康、工业和 FTA 服务活动纳入一个证据表面,同时保持每个来源的原始期间、单位和限制。它从不将支柱加在一起、对它们进行排名或发明综合国家评分。使用[托管页面](https://uaemcp.zad.tools/national-brief)、REST 端点或 `uae_national_evidence_brief` MCP 工具。有关测试连接模式,请参见[MCP 客户端设置指南](docs/MCP_CLIENTS.md)。
<p align="center">
<a href="https://uaemcp.zad.tools/health-facilities"><img src="docs/assets/health-facilities-motion.svg" alt="Animated UAE Health Facilities Atlas showing official aggregate counts from 2015 to 2024" width="100%"></a>
</p>
**阿联酋健康设施地图集** 暴露了 950 个官方 MOHAP 总行,涵盖 2015-2024 年、所有七个酋长国、政府/私营部门和 42 个原始设施类型标签。默认的 2024 切片包含 120 个行和 7,392 的报告计数。这些不是单个设施位置、床位、容量、工作力、可访问性或质量测量值。使用[托管地图集](https://uaemcp.zad.tools/health-facilities)、REST 或 `uae_health_facilities_atlas`。
<p align="center">
<a href="https://uaemcp.zad.tools/founder-pathway"><img src="docs/assets/founder-pathway.svg" alt="Animated UAE Founder Pathway from official setup to support and residency readiness" width="100%"></a>
</p>
**阿联酋创始人途径** 将三个证据产品组成一个有序的、具有隐私界限的行动档案:前往有能力的设置机构、发现相关的政府支持,然后准备企业家黄金居留权证据。每个任务都链接到其官方行动,从诚实地开始为未开始,并在内存中检查、打印或下载为 JSON 而不将检查状态发送到服务器。这是规划 — 而不是许可、计划接受或资格决定。
<p align="center">
<a href="https://uaemcp.zad.tools/business-setup"><img src="docs/assets/business-routing.svg" alt="Animated UAE Business Setup Navigator routing across seven emirates" width="100%"></a>
</p>
<p align="center">
<a href="https://uaemcp.zad.tools/startup-support"><img src="docs/assets/startup-support.svg" alt="Animated UAE Startup Support Navigator matching official programmes by stage, support need and emirate" width="100%"></a>
</p>
**阿联酋创业者支持导航器** 将创始人当前的阶段、支持需求和位置偏好与九个官方或政府支持的计划进行匹配。它不发送姓名、电子邮件、电话、财务数据、推销文档或护照详细信息,并将每次匹配视为发现 — 而不是资格、接受或资金批准。
**阿联酋商业设置导航器** 将创始人路由到有能力的官方本土权威或联邦自由区目录,涵盖所有七个酋长国。它不收集姓名、电话号码、电子邮件或护照数据,从不假选择许可证、计算最终费用或保证批准。
<p align="center">
<a href="https://uaemcp.zad.tools/ajman-business"><img src="docs/assets/ajman-business-motion.svg" alt="Animated Ajman Business Evidence explorer with three separate official dataset views" width="100%"></a>
</p>
**阿吉曼商业证据浏览器** 将三个大型官方开放数据视图转化为有界排名的活动、区域、许可证类型和发布状态。它保持每个数据集单独:采样行不加在一起作为唯一公司、市场规模、生存率或投资绩效。
<p align="center">
<a href="https://uaemcp.zad.tools/ajman-urban"><img src="docs/assets/ajman-urban-motion.svg" alt="Animated Ajman Urban Evidence series for buildings, rent contracts, roads and crossroads" width="100%"></a>
</p>
**阿吉曼城市证据系列** 从六个官方建筑、认证租约和道路数据集发布有界观察值,分别作为来源原生年度系列。单位从不崩溃为复合属性评分、投资回报率或增长主张。
## 主机端点
```json
{
"mcpServers": {
"uae-intelligence": {
"type": "http",
"url": "https://uaemcp.zad.tools/mcp"
}
}
```
## 使用 Bun
需要 Bun 1.3 或更新版本。
签名 npm 包通过 npm Trusted Publishing 从 GitHub Actions 发布,具有溯源凭证且没有长期发布令牌:```bash
bunx --bun uaemcp@latest --version
bunx --bun uaemcp@latest doctor
bunx --bun uaemcp@latest # stdio MCP 服务器
bunx --bun uaemcp@latest http # HTTP 服务器 /mcp```
npm 徽章在 README 顶部是权威的注册版本。
MCP 客户端配置:```json
{
"mcpServers": {
"uae-intelligence": {
"command": "bunx",
"args": ["--bun", "uaemcp@latest"]
}
}
```
从源码:```bash
bun install
bun src/index.ts stdio
```
## 运行已签名的容器
预构建的 `linux/amd64` 和 `linux/arm64` 镜像已发布到 GitHub 容器注册表,包含 SBOM 和构建出处:
```bash
docker run --rm -p 127.0.0.1:8080:8080 \
-e UAEMCP_ALLOWED_HOSTS=127.0.0.1,localhost \
ghcr.io/zad-tools/uaemcp:edge
```
或者使用具有持久化 SQLite 卷的强化注册表 Compose 文件,具有只读根文件系统、已删除的 Linux 功能和无新特权:
```bash
docker compose -f compose.ghcr.yml up -d
curl http://127.0.0.1:8080/ready
```
诸如 `:1.84.0` 和 `:latest` 之类的发布标签由已验证的 Git 标签生成;`:edge` 跟踪已测试的 `main` 分支。
已安装的 CLI 还提供部署诊断和 shell 补全:
```bash
uaemcp doctor
source <(uaemcp completion zsh)
uaemcp --help
```
对于 Streamable HTTP:
```bash
bun src/index.ts http --host 0.0.0.0 --port 8080
```
端点:
- MCP: `POST /mcp`
- 存活检查:`GET /health` 或 `/healthz`
- 就绪检查:`GET /ready` 或 `/readyz`
- Prometheus 指标:`GET /metrics`
- REST API: `GET /api/v1/sources`, `/api/v1/search`, 以及源能力路由
- 矢量地图:`GET /api/v1/sources/{sourceId}/tilejson` 和 `/tiles/{z}/{x}/{y}.pbf`
- 公共观测站:`GET /observatory` — 源可靠性、事件和证据报告
- 阿联酋政策证据观察:`GET /policy-watch` — 保留的哈希值、有限的摘录和五个审计官方表面的变更观察;API 在 `GET /api/v1/policy-watch` 和有限检查在 `POST /api/v1/policy-watch/check`
- 阿联酋证据工作室:`GET /evidence-studio` — 将两个到五个官方证据支柱组成一个源引用的档案;API 在 `POST /api/v1/evidence-dossier`
- 阿联酋创始人途径:`GET /founder-pathway` — 构建、跟踪、打印和导出一个私密有界限的行动档案,涵盖官方设置、创业支持和企业家居住准备度
- 阿联酋创业支持导航器:`GET /startup-support` — 在九个官方或政府支持的项目中进行隐私优先的匹配,按阶段、支持需求和酋长国划分
- 阿联酋产业地图集:`GET /industry-atlas` — 按酋长国、地区和产品标签划分的有限工业建立证据
- 阿联酋贸易流动雷达:`GET /trade-flow` — 按目的地、运输、产品代码和原产地划分的有限阿杰曼 2023 原产地证书证据
- 阿杰曼商业证据:`GET /ajman-business` — 三个单独排名的官方许可数据视图,具有有限的抽样、引用和明确的非市场限制
- 阿杰曼城市证据:`GET /ajman-urban` — 六个独立的建筑、认证租金和道路系列,以源原生单位表示,无综合评分
- 阿杰曼公园客流量:`GET /ajman-parks` — 官方 2017-2023 每月公园访问观察,具有完整的分页和访问人数边界;API 在 `GET /api/v1/ajman-parks`
- 阿联酋税务服务活动:`GET /tax-services` — 官方 FTA 2025 服务活动总数和季度证据,明确不包括收入或纳税人数量
- FTA 档案浏览器:`GET /tax-services/archive` — 源原生 2017-2022、2024 和 2025 工作簿,在范围不兼容时比较禁用;
- 阿联酋地点名称浏览器:`GET /places` — 规范化的双语官方地点名称搜索和映射的 FGIC 证据;API 在 `GET /api/v1/places`
- 阿联酋健康指标:`GET /health-indicators` — 111 个官方 MOHAP 指标行,具有源原生 2016-2023 系列和明确的规模限制
- 阿联酋健康设施地图集:`GET /health-facilities` — 950 个汇总的 MOHAP 行,涵盖 2015-2024 年,明确不包括设施目录、床位、容量或质量
- 阿联酋教育分类账:`GET /education` — FCSC 认可的 2023/2024 国家总数、核对检查和单独的七资源教育部目录
- 阿联酋黄金居留权导航器:`GET /golden-residency` — 14 条官方途径,具有直接类别页面,ICP/GDRFA/ADRO,联邦与本地标准警告和可打印的非识别准备档案
<p align="center">
<a href="https://uaemcp.zad.tools/golden-residency"><img src="docs/assets/golden-routing.svg" alt="Animated privacy-first Golden Residency routing to ICP, GDRFA Dubai and Abu Dhabi Residents Office" width="920"></a>
</p>
- 工业变更监测器:`GET /api/v1/industry-atlas/change` — 比较两个最新的不同保留样本;未更改的检查被删除,样本移动绝不会被描述为经济增长
<table>
<tr>
<td width="68%"><a href="https://uaemcp.zad.tools/golden-residency"><img src="docs/assets/screenshots/golden-residency.jpg" alt="UAE Golden Residency Navigator official pathway dossier"></a></td>
<td width="32%"><a href="https://uaemcp.zad.tools/golden-residency"><img src="docs/assets/screenshots/golden-residency-mobile.png" alt="UAE Golden Residency Navigator mobile interface using Dubai Font"></a></td>
</tr>
</table>
<p align="center">
<a href="https://uaemcp.zad.tools/education"><img src="docs/assets/screenshots/education-ledger.png" alt="UAE Education Ledger with accredited FCSC totals and Ministry of Education resource catalogue" width="100%"></a>
</p>
<p align="center">
<a href="https://uaemcp.zad.tools/health-indicators"><img src="docs/assets/screenshots/health-indicators.jpg" alt="UAE Health Indicators evidence ledger using Dubai Font" width="100%"></a>
</p>
<p align="center">
<a href="https://uaemcp.zad.tools/observatory"><img src="docs/assets/screenshots/observatory.png" alt="Emirates Open Data Observatory" width="100%"></a>
</p>
<p align="center">
<a href="https://uaemcp.zad.tools/industry-atlas"><img src="docs/assets/screenshots/industry-atlas.png" alt="UAE Industry Atlas" width="100%"></a>
</p>
<table>
<tr>
<td width="55%"><a href="https://uaemcp.zad.tools/trade-flow"><img src="docs/assets/screenshots/trade-flow-radar.jpg" alt="UAE Trade Flow Radar"></a></td>
<td width="45%"><a href="https://uaemcp.zad.tools/trade-flow"><img src="docs/assets/screenshots/trade-flow-data.jpg" alt="UAE Trade Flow Radar data view"></a></td>
</tr>
</table>
<p align="center">
<a href="https://uaemcp.zad.tools/tax-services"><img src="docs/assets/screenshots/tax-service-activity.png" alt="UAE Tax Service Activity 2025" width="100%"></a>
</p>
<table>
<tr>
<td width="58%"><a href="https://uaemcp.zad.tools/tax-services/archive"><img src="docs/assets/screenshots/fta-archive-explorer.jpg" alt="FTA Archive Explorer hero"></a></td>
<td width="42%"><a href="https://uaemcp.zad.tools/tax-services/archive"><img src="docs/assets/screenshots/fta-archive-data.jpg" alt="FTA Archive Explorer source-native data view"></a></td>
</tr>
</table>
<p align="center">
<a href="https://uaemcp.zad.tools/places"><img src="docs/assets/screenshots/place-names.png" alt="UAE Place Names Explorer" width="100%"></a>
</p>
## MCP 客户端配置
```json
{
"mcpServers": {
"uae-intelligence": {
"command": "bun",
"args": ["/absolute/path/to/uaemcp/src/index.ts", "stdio"]
}
}
}
```
## TypeScript SDK
同一个 Bun 包包含一个零依赖的 typed REST 客户端:
```ts
import { UaemcpClient } from "uaemcp";
const uae = new UaemcpClient();
const matches = await uae.search("عقارات دبي", { deep: true });
const records = await uae.records("moiat_industrial_licenses", { limit: 10 });
```
将 `baseUrl` 指向托管的端点或任何自托管实例。结构化 API 失败会抛出 `UaemcpClientError`,包含 HTTP 状态和公共错误代码。
## 生成的 SDK
存储库还为 Python、Go、Rust、Java 和 C# 提供了生成的客户端,位于 [`sdk/`](sdk/) 下。所有客户端均从 `/openapi.json` 处的实时 OpenAPI 3.1 合同生成:
```bash
bun run generate:sdks
bun run check:sdks
```
第二个命令在 API 更改未传播到每个语言时失败。它包含在主发布检查中。
## MCP 工具
<p align="center">
<img src="docs/assets/tool-catalog-motion.svg" alt="Runtime-generated MCP tool catalogue flow" width="900">
</p>
权威工具目录直接从注册的运行时生成,因此名称、描述和访问方式不会与服务器静默分离:
- [可读目录](docs/MCP_TOOLS.md)
- [机器可读目录](docs/mcp-tools.json)
- MCP 资源:`uae://tools`
- [公共双语 MCP 开发者控制台](https://uaemcp.zad.tools/tools)(也支持 `/mcp/tools`)具有模式、示例、安全试用和客户端配置
- REST 合同:`GET /api/v1/tools` · `GET /api/v1/tools/{toolName}` · `POST /api/v1/tools/{toolName}/call`
```bash
bun run generate:tools
bun run check:tools
```
第二个命令是发布关口的一部分,当任一生成的目录过时时失败。
FTA 档案 REST 镜像:`GET /api/v1/tax-services/archive`。它返回 2017-2022 所选服务表、源原生 2024 每月表和 2025 每季度表为独立引用视图。`comparison.status` 为 `unavailable`:2023 丢失且发布的范围和模式不等效,因此 UAEMCP 不会生成趋势或年度总数。
## 统一目录和覆盖
该项目并不将每个索引门户呈现为实时数据。使用:
- `GET /api/v1/coverage` 获取实时、阻止、需要密钥和仅元数据总数。
- `GET /api/v1/catalog` 获取明确的门户、组织、连接器、许可证和能力模型。
- `GET /.well-known/uaemcp.json` 获取操作员和信任清单。
- `GET /api/v1/sources/{sourceId}/schema` 或 `uae_dataset_schema` 在聚合前。
- `GET /api/v1/sources/{sourceId}/health-history` 获取运行时间和延迟历史。
- `GET|POST /api/v1/sources/{sourceId}/snapshots` 和 `GET /api/v1/snapshots/diff` 获取数据集历史。
- `GET /api/v1/intelligence/recipes` 以发现分析配方并按 ID 运行它们。
当前保守覆盖为 48 个官方来源索引、16 个实时记录连接器、至少 222 个可查询数据集、1 个阻止连接器和 3 个需要密钥的门户。计数绝不意味着元数据门户是可查询的。
一个实时连接器是官方 FGIC 国家地理信息系统。它通过 ArcGIS 暴露阿联酋双语地点名称和坐标,同时省略已知的占位符英文描述字段并保留 FGIC 的信息使用免责声明:
<p align="center">
<a href="https://uaemcp.zad.tools/places"><img src="docs/assets/place-names-motion.svg" alt="Animated bilingual UAE National Gazetteer search and mapping" width="920"></a>
</p>
```bash
curl 'https://uaemcp.zad.tools/api/v1/places?q=%D8%AF%D8%A8%D9%8A&limit=5'
```
工具结果使用 `{ ok, data, error, meta }`。数据响应包括来源、许可证、引用、获取时间、完整性、样本覆盖率、来源信任度、新鲜度、模式稳定性、记录趋势和综合质量评分。未知测量值在历史证明之前明确为 `unknown`。
## 配置
| 变量 | 默认值 | 含义 |
| --- | --- | --- |
| `UAEMCP_HOST` | `127.0.0.1` | HTTP 绑定主机 |
| `UAEMCP_PORT` | `8080` | HTTP 端口 |
| `UAEMCP_WRITE_TOKEN` | 未设置 | 启用写入工具 |
| `UAEMCP_HTTP_TIMEOUT` | `8` | 上游超时(秒) |
| `UAEMCP_HEALTH_TIMEOUT` | `5` | 健康检查超时(秒) |
| `UAEMCP_CACHE_TTL` | `300` | 仪表板缓存 TTL(秒) |
| `UAEMCP_STALE_WHILE_REVALIDATE` | `1800` | 在一个后台刷新运行时立即提供陈旧的健康/快照 |
| `UAEMCP_TOOL_PROFILE` | `full` | MCP 接口:`core`、`research`、`geo` 或向后兼容的 `full` |
| `UAEMCP_MAX_RESPONSE_BYTES` | `5242880` | 最大上游响应大小 |
| `UAEMCP_ALLOW_PRIVATE_HOSTS` | `false` | 允许私有上游主机 |
| `UAEMCP_ALLOWED_HOSTS` | 未设置 | 公共主机允许列表(逗号分隔) |
| `UAEMCP_ALLOWED_ORIGINS` | 未设置 | 浏览器源允许列表;仅对完全公开读取使用 `*` |
| `UAEMCP_RATE_LIMIT_PER_MINUTE` | `120` | 每个客户端的公共请求限制;`0` 禁用它 |
| `UAEMCP_DATABASE_PATH` | `data/uaemcp.sqlite` | 持久的健康历史和快照数据库 |
| `UAEMCP_HEALTH_RETENTION` | `10000` | 每个来源的最大存储健康检查 |
| `UAEMCP_HEALTH_SCAN_INTERVAL_MINUTES` | `0` | 定期观测扫描;托管部署使用 `60` |
| `UAEMCP_SNAPSHOT_RETENTION` | `30` | 每个来源/数据集的最大更改快照 |
| `UAEMCP_SNAPSHOT_INTERVAL_MINUTES` | `0` | 快照计划;`0` 禁用它 |
| `UAEMCP_SNAPSHOT_TARGETS` | 未设置 | 逗号分隔的 `source` 或 `source@dataset` 目标 |
| `UAEMCP_SNAPSHOT_LIMIT` | `100` | 每个计划目标捕获的记录 |
| `UAEMCP_EMBEDDING_ENDPOINT` | 未设置 | 可选的 OpenAI 兼容 `/embeddings` 端点用于混合重排序 |
| `UAEMCP_EMBEDDING_MODEL` | `text-embedding-3-small` | 发送到该端点的嵌入模型 |
| `UAEMCP_EMBEDDING_API_KEY` | 未设置 | 可选的嵌入端点承载令牌 |
调度程序在 HTTP 服务器启动时启动,立即运行,然后按配置的间隔运行。相同的有效载荷会被删除。可以在 `GET /api/v1/operations/snapshot-scheduler` 处检查其状态。
## 托管的公共代理
同一个服务器可以作为公共 MCP 端点提供给无法自我托管的用户。将它放在 Nginx 后面,使用 [`deploy/nginx.conf`](deploy/nginx.conf),设置公共主机/源允许列表,保持写入工具禁用,并公开:
```text
https://your-domain.example/mcp
```
Nginx 配置禁用 `/mcp` 上的缓冲、缓存和压缩,因此 Streamable HTTP 响应不会延迟或重写。
## 验证
```bash
bun run check
bun run benchmark
docker compose up --build
```
MIT 许可。参见 [CONTRIBUTING.md](CONTRIBUTING.md) 和 [SECURITY.md](SECURITY.md)。连接器作者应从 [docs/CONNECTORS.md](docs/CONNECTORS.md) 开始。参见 [docs/API.md](docs/API.md)、[docs/RECIPES.md](docs/RECIPES.md)、[docs/DEPLOYMENT.md](docs/DEPLOYMENT.md)、[docs/FAQ.md](docs/FAQ.md) 和 [可运行的示例](examples/README.md),获取完整的开发者路径。安全审查在 [docs/THREAT_MODEL.md](docs/THREAT_MODEL.md) 中,证据支持的发布审计在 [docs/COMPLETENESS.md](docs/COMPLETENESS.md) 中。需求与需求状态跟踪在 [docs/COMPLETENESS.md](docs/COMPLETENESS.md) 中。
MCP 配置
以下是此 MCP Server 的配置信息,可直接复制到 Cursor 或其他 MCP 客户端中使用。
mcp.json
连接信息
猜你喜欢
暂无推荐服务器