关于 horizOn
horizOn MCP Server 为游戏和应用开发提供 horizOn 后端文档、实时 API 工具与工作流提示词,面向使用 Godot、Unity 或 Unreal 的开发者。文档资源无需密钥,调用后端工具则需要 API 密钥。
主要功能
- 01提供后端文档资源
- 02调用玩家相关 API 工具
- 03提供四种工作流提示词
- 04标注工具读写属性
- 05支持 Godot、Unity 和 Unreal 文档
适用场景
- 01查询游戏后端 API 用法
- 02读取或更新玩家云存档
- 03检查排行榜、好友或成就
- 04在 Godot、Unity 或 Unreal 中集成后端
MCP 相关
MCP 服务向客户端公开 29 个文档资源、120 个玩家工具和 4 个工作流提示词。文档无需 API 密钥,实时 API 工具需要有效密钥;部分工具还要求玩家会话。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
npx -y horizon-mcpHORIZON_API_KEY密钥horizOn project API key for the live API tools. The documentation works without it.HORIZON_ACCOUNT_API_KEY密钥horizOn account key for the dashboard admin tools.HORIZON_BASE_URLAPI base URL.本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。
工具
34收录的工具列表 · 更新于 5 天前
此工具无需参数。
详细介绍
horizOn MCP 服务
适用于 horizOn Backend-as-a-Service 的 MCP 服务
为 AI 编码助手提供游戏和应用开发所需的文档、实时 API 工具和工作流提示词。
快速安装
添加到 MCP 客户端配置中(Claude Desktop、Cursor 等):
{
"mcpServers": {
"horizOn": {
"command": "npx",
"args": ["-y", "horizon-mcp"],
"env": {
"HORIZON_API_KEY": "your-api-key-here"
}
}
}
}
功能
该服务提供 29 个文档资源、120 个玩家工具和 4 个工作流提示词。Account Key 可启用额外的限定范围管理工具。这些数量根据已注册的 MCP 资源、工具和提示词统计得出。
资源
文档资源由 MCP 服务直接提供。无需 API 密钥。
| URI | 描述 |
|---|---|
horizon://docs/marketplace | 原始物品托管交易、精确价格、受保护的收件箱退回和限定范围的恢复。 |
horizon://docs/chat | 私聊/群聊/项目文本、仅含元数据的实时数据、增量快照、原始回执和限定范围的审核。 |
horizon://docs/matches | 不透明的回合状态、精确修订版本、不可变报告、有限期限和原始排名运行恢复。 |
horizon://docs/shared-objects | 不透明且有界的世界数据、当前权限、精确修订版本和可信的常规游戏通知。 |
horizon://docs/items | 唯一库存、有界物品属性和原子化的服务器自主管理购买 |
horizon://docs/groups | 公会、角色、有界成员页面和修订版本安全的成员操作 |
horizon://docs/friends | 原子化社交关系、显式修订版本和精确的公开好友代码查询 |
horizon://docs/achievements | 版本化定义、永久完成标记和即时原子化数值奖励 |
horizon://docs/inbox | 会话收件箱、受保护奖励、不可变广播、服务器时钟和安全的发布重试 |
horizon://docs/statistics | 原子化会话计数器、安全整数批次、显式原始 ID 和缓存/UTC 恢复。SDK 和管理员示例 |
horizon://docs/player-values | 原子化余额和报价、稳定操作 ID、全部三种 SDK、安全重试和支持团队修正 |
horizon://overview | 什么是 horizOn、核心概念(Account 与 User)、功能、等级系统、API 结构和 SDK |
horizon://docs/auth | 身份验证方式(Anonymous、Email、Google)、端点、SDK 代码示例和常见错误 |
horizon://docs/leaderboard | 排行榜分数提交、前列条目、用户排名、用户附近的条目、每个条目的玩家资料、仅限验证的排行榜,以及 SDK 示例 |
horizon://docs/cloud-save | JSON 和二进制数据的云端保存/加载、各等级的大小限制、SDK 示例 |
horizon://docs/remote-config | 服务器端键值配置:功能标志、游戏平衡、A/B 测试。SDK 示例 |
horizon://docs/localization | 服务器端提供的 15 种语言本地化字符串:按键翻译、单项/全部获取、可用语言。SDK 示例 |
horizon://docs/news | 游戏内新闻和公告,支持按语言筛选。SDK 示例 |
horizon://docs/gift-codes | 礼品码验证和兑换、外观物品发放、服务器自主管理的数值奖励、紧凑型 V2 原始意图和精确计数器字符串。SDK 示例 |
horizon://docs/player-profile | 来自项目专属外观目录的玩家头像、边框和徽章,通过礼品码发放解锁,在排行榜条目中显示资料。SDK 示例 |
horizon://docs/validated-actions | 服务器校验的运行:使用服务器种子的单次运行票据、SHA-256 输入日志哈希、仅限服务器的规则、仅限验证的排行榜、服务器自主管理的玩家状态、开始上下文、证据上传、管理员证据审核(含 sus 软件包和软件包导出)、拒绝代码。SDK 示例 |
horizon://docs/feedback | 提交错误报告、功能请求和一般反馈。SDK 示例 |
horizon://docs/user-logs | 服务器端事件和错误跟踪。需要 BASIC 等级或更高等级。SDK 示例 |
horizon://docs/crash-reporting | 崩溃报告提交、会话跟踪、指纹识别、面包屑和自动回归检测。SDK 示例 |
horizon://api/reference | horizOn App API 所有端点的完整 API 参考,包含请求/响应架构 |
horizon://quickstart/godot | 使用 GDScript 示例在 Godot 中集成 horizOn 的分步指南 |
horizon://quickstart/unity | 使用 C# 示例在 Unity 中集成 horizOn 的分步指南 |
horizon://docs/email-sending | 向已注册用户发送事务性和事件触发式电子邮件。模板、计划发送、状态跟踪和 SMTP 集成。SDK 示例 |
horizon://quickstart/unreal | 使用官方 horizOn SDK 插件在 Unreal Engine 5.5+ 中集成 horizOn 的分步指南。C++ 和 Blueprint 示例 |
玩家工具
调用 horizOn 后端的实时 API 工具。需要有效的 API 密钥。
horizon_submit_score、horizon_save_cloud_data、horizon_load_cloud_data、horizon_prepare_gift_code、horizon_redeem_gift_code、horizon_get_profile、horizon_set_profile、horizon_start_run、horizon_submit_validated、horizon_get_state 和 horizon_upload_evidence 还需要玩家会话:请先登录,并将返回的 accessToken 作为 sessionToken 传入。
四个玩家价值工具也需要同一个玩家会话。如果结果不确定,切勿自动生成另一个操作 ID。
每个工具都会声明 MCP 注解(readOnlyHint、destructiveHint、idempotentHint、openWorldHint),以便客户端区分读取操作和写入操作。具有破坏性的工具包括 horizon_save_cloud_data(替换存档)、horizon_set_profile(替换整个个人资料)、horizon_submit_validated(消耗票据,可能会扣除余额)、horizon_cancel_email,以及 horizon_purchase_player_value_offer 和 horizon_adjust_player_value(每个已持久化的操作 ID 只扣款或入账一次)。许多返回对象的读取工具还会声明 outputSchema,并在 JSON 文本旁返回 structuredContent。每个工具的描述都会说明何时使用该工具、应改用哪个同类工具、工具的返回内容,以及如何处理错误并恢复。
| 工具 | 描述 |
|---|---|
horizon_test_connection | 测试与 horizOn API 的连接(健康检查) |
horizon_signup_anonymous | 创建新的匿名用户账户 |
horizon_signup_email | 使用电子邮件和密码创建新的用户账户 |
horizon_signin_email | 使用电子邮件和密码登录 |
horizon_signin_anonymous | 使用匿名令牌登录 |
horizon_check_auth | 检查用户会话是否仍然有效 |
horizon_list_leaderboards | 列出可用于多排行榜调用的排行榜 |
horizon_submit_score | 向排行榜提交分数(仅限已验证提交的排行榜会返回 403 VALIDATED_SUBMIT_REQUIRED) |
horizon_get_leaderboard_top | 获取排行榜前列条目及每位玩家的个人资料,也可按排行榜键筛选 |
horizon_get_user_rank | 获取用户的排行榜排名,也可按排行榜键筛选 |
horizon_get_leaderboard_around | 获取用户所在位置附近的排行榜条目,也可按排行榜键筛选 |
horizon_save_cloud_data | 为用户保存云端数据,也可仅在 expectedRevision 符合预期时保存(冲突时返回 409) |
horizon_load_cloud_data | 加载用户的云端存档数据及其 revision |
horizon_get_remote_config | 按键获取单个远程配置值 |
horizon_get_all_remote_configs | 获取所有远程配置值 |
horizon_get_localization | 按键获取单条本地化字符串,也可指定语言 |
horizon_get_all_localizations | 获取所有本地化字符串,也可指定语言 |
horizon_get_localization_languages | 列出应用已有本地化内容的语言 |
horizon_get_news | 获取新闻文章,也可按语言筛选 |
horizon_validate_gift_code | 验证礼品码,但不兑换 |
horizon_prepare_gift_code | 只读的 V2 准备操作;在消费前持久化全部七个原始意图字段 |
horizon_redeem_gift_code | 明确消费/重试已保存的 intent;重放时返回当前状态,不会自动替换或转换为 V1 |
horizon_get_profile | 获取玩家个人资料(头像、边框、徽章)、解锁内容和装扮目录 |
horizon_set_profile | 替换玩家的完整个人资料(头像、边框、最多 3 个徽章) |
horizon_get_player_values | 使用当前玩家会话读取余额和操作窗口 |
horizon_get_player_value_offers | 读取为玩家配置的优惠 |
horizon_purchase_player_value_offer | 使用由调用方持久化的操作 ID 原子购买 |
horizon_adjust_player_value | 在明确启用的限额内,使用稳定 ID 和原因调整数值 |
horizon_start_run | 开始一次经服务端校验的运行:获取包含服务端种子的单次使用票据,可选择绑定排行榜,并附带开始上下文(游戏、内容、模拟和回放格式版本、内容摘要、以 base64 编码的初始状态) |
horizon_submit_validated | 使用票据和 SHA-256 输入日志哈希值提交运行结果(可直接提供,也可在本地根据 base64 字节或文本计算),也可附带由服务端管理的 earned 值;返回 sus 表示已接受但超过软阈值;拒绝时会给出 code |
horizon_get_state | 读取由服务端管理的玩家数值(余额、今日获得量、每个数值键的每日上限);只读 |
horizon_upload_evidence | 上传某次运行的输入日志(文本或在本地编码的 base64);该运行的提交结果须要求提供证据;拒绝时会给出 code |
horizon_get_statistics | 读取玩家统计快照和服务端操作窗口。 |
horizon_get_statistics_definitions | 根据版本有条件地读取项目统计目录。 |
horizon_update_statistics | 应用一个明确的原子会话批次,并使用由调用方持久化的操作 ID。 |
horizon_get_achievements | 读取可见成就定义和永久完成标记。 |
horizon_unlock_achievement | 为已通过身份验证的玩家解锁一项已配置的手动成就;每项仅可解锁一次。 |
horizon_deliver_achievement_rewards | 读取最多八个原始成就键对应的兼容奖励状态。 |
horizon_get_friends | 读取好友、收到/发出的请求、屏蔽对象和当前限额。 |
horizon_find_player | 在此项目中按精确 UUID 或规范 H- 好友码查找一名公开玩家。 |
horizon_send_friend_request | 使用已审核的玩家版本发送好友请求。 |
horizon_accept_friend_request | 使用已审核的玩家版本接受好友请求。 |
horizon_decline_friend_request | 使用已审核的玩家版本拒绝好友请求。 |
horizon_cancel_friend_request | 使用已审核的玩家版本取消好友请求。 |
horizon_remove_friend | 使用已审核的玩家版本移除好友。 |
horizon_block_player | 使用已审核的玩家版本屏蔽玩家。 |
horizon_unblock_player | 使用已审核的玩家版本取消屏蔽玩家。 |
horizon_get_groups | 使用匹配的玩家会话读取我的群组。 |
horizon_get_group | 使用匹配的玩家会话读取群组。 |
horizon_get_group_members | 使用匹配的玩家会话读取群组成员。 |
horizon_get_group_pending | 使用匹配的玩家会话读取群组待处理请求。 |
horizon_create_group | 原子创建一个由服务端分配标识的新群组及其群主。 |
horizon_update_group | 替换完整的群组元数据和私有 JSON 对象。 |
horizon_join_group | 使用已审核的群组版本执行明确的加入群组操作。 |
horizon_request_group_join | 使用已审核的群组版本执行明确的申请加入群组操作。 |
horizon_invite_group_player | 使用已审核的群组版本执行明确的邀请玩家加入群组操作。 |
horizon_accept_group_invite | 使用已审核的群组版本执行明确的接受群组邀请操作。 |
horizon_decline_group_invite | 使用已审核的群组版本执行明确的拒绝群组邀请操作。 |
horizon_cancel_group_invite | 使用已审核的群组版本执行明确的取消群组邀请操作。 |
horizon_accept_group_request | 使用已审核的群组版本执行明确的接受群组申请操作。 |
horizon_decline_group_request | 使用已审核的群组版本执行明确的拒绝群组申请操作。 |
horizon_cancel_group_request | 使用已审核的群组版本执行明确的取消群组申请操作。 |
horizon_leave_group | 使用已审核的群组版本执行明确的退出群组操作。 |
horizon_remove_group_member | 使用已审核的群组版本执行明确的移除群组成员操作。 |
horizon_set_group_member_role | 使用已审核的群组版本执行明确的设置群组成员角色操作。 |
horizon_transfer_group_leadership | 使用已审核的群组版本执行明确的转让群组领导权操作。 |
horizon_delete_group | 使用已审核的群组版本执行明确的删除群组操作。 |
horizon_get_items | 读取玩家容量受限的唯一物品库存。 |
horizon_get_item_catalog | 读取一页容量受限的物品模板,包括已归档模板。 |
horizon_adjust_item | 使用已审核的库存版本调整物品属性。 |
horizon_equip_item | 使用已审核的库存版本设置物品装备状态。 |
horizon_discard_item | 使用已审核的库存版本丢弃物品。 |
horizon_get_shared_collections | 读取一页永久集合目录。 |
horizon_get_shared_usage | 读取当前玩家在某个集合中的数量和创建前置条件。 |
horizon_get_shared_object | 根据当前权限读取一个对象。 |
horizon_query_shared_objects | 读取一页容量受限、按元数据筛选的对象。 |
horizon_create_shared_object | 使用原始所有者使用量版本创建一个由服务端分配 ID 的对象。 |
horizon_update_shared_object | 使用对象的准确版本替换其不透明字节和已配置的搜索数据。 |
horizon_delete_shared_object | 删除一个版本完全匹配的对象,并退还其已存储费用。 |
horizon_get_matches | 读取玩家容量受限的进行中、受邀和近期对局摘要。 |
horizon_get_match_limits | 读取玩家的五级限额和项目功能。 |
horizon_find_open_matches | 在应用当前屏蔽和房主活跃状态检查的条件下,读取一页按实力筛选的开放大厅。 |
horizon_get_match | 读取当前已获授权的一份对局快照。 |
horizon_create_match | 使用原始玩家账本版本创建一个由服务端分配 ID 的大厅。 |
horizon_join_match | 使用完全匹配的原始版本执行加入对局操作。 |
horizon_decline_match_invite | 使用完全匹配的原始版本执行拒绝对局邀请操作。 |
horizon_start_match | 使用完全匹配的原始版本执行开始对局操作。 |
horizon_submit_match_turn | 使用完全匹配的原始版本执行提交对局回合操作。 |
horizon_advance_match_timeout | 使用完全匹配的原始版本执行推进对局超时操作。 |
horizon_leave_match | 使用完全匹配的原始版本执行退出对局操作。 |
horizon_cancel_match | 使用完全匹配的原始版本执行取消对局大厅操作。 |
horizon_report_match_result | 为冻结的最终状态记录此参与者不可变的报告。 |
horizon_start_match_ranked_run | 在达成完整共识后,创建或恢复一项原始的、绑定对局的已验证运行。 |
horizon_get_chat_limits | 读取五级限额、当前审核设置和托管功能。 |
horizon_open_chat_channel | 在当前权限范围内打开确定性的私聊、群组或项目聊天频道。 |
horizon_sync_chat_channel | 在订阅重新同步/事件或用户明确操作后,读取已获授权的增量快照。 |
horizon_send_chat_message | 发送纯文本消息一次,或明确重放完全相同的原始操作。 |
horizon_get_chat_operation | 读取当前玩家保留的原始发送回执。 |
horizon_report_chat_message | 使用原始原因举报一条当前可见的消息。 |
horizon_get_marketplace_limits | 读取当前自己的市场状态或已配置限额。 |
horizon_get_marketplace | 读取当前自己的市场状态或已配置限额。 |
horizon_get_marketplace_rules | 读取一页版本一致且容量受限的规则。 |
horizon_query_marketplace_listings | 按物品和价格读取一页容量受限的有效挂牌。 |
horizon_get_marketplace_listing | 读取一条已获授权的挂牌或原始的本人操作回执。 |
horizon_get_marketplace_operation | 读取一条已获授权的挂牌或原始的本人操作回执。 |
horizon_create_marketplace_listing | 按明确批准的价格和费用配置,挂牌一个原始的未装备物品。 |
horizon_buy_marketplace_listing | 按挂牌的原始版本、货币和价格购买该挂牌。 |
horizon_cancel_marketplace_listing | 将原始挂牌版本取消,并将物品放入受保护的待退回状态。 |
horizon_retry_marketplace_return | 为当前退回物品的所有者,尝试一次明确请求的待处理退回交付。 |
horizon_get_inbox | 读取定向消息和符合条件的项目广播、计数器及服务端轮询间隔。 |
horizon_mark_inbox_read | 将一条收件箱条目标记为已读,适用于已通过身份验证的玩家。 |
horizon_claim_inbox | 为已通过身份验证的玩家领取一次收件箱奖励。 |
horizon_remove_inbox | 为已通过身份验证的玩家移除一条符合条件的收件箱条目。 |
horizon_submit_feedback | 提交用户反馈(错误报告、功能请求) |
horizon_create_log | 创建一条服务端日志条目(INFO、WARN、ERROR) |
horizon_create_crash_report | 提交崩溃报告(按指纹归组,并检测回归问题) |
horizon_create_crash_session | 注册游戏会话,用于计算无崩溃率 |
horizon_send_email | 根据模板向已注册用户发送事务性电子邮件 |
horizon_cancel_email | 取消待处理或已计划的电子邮件 |
horizon_get_email_status | 获取已发送或已计划电子邮件的状态 |
提示词(4 个提示词)
引导 AI 助手完成常见 horizOn 任务的工作流提示词。
| 提示词 | 描述 |
|---|---|
integrate-feature | 为游戏引擎中的特定 horizOn 功能生成集成代码 |
setup-auth | 分步指导如何在项目中设置 horizOn 身份验证 |
debug-connection | 诊断并修复 horizOn 连接问题 |
explain-feature | 详细说明任意 horizOn 功能 |
配置
| 变量 | 必需 | 描述 |
|---|---|---|
HORIZON_API_KEY | 是(用于工具) | 你的 horizOn API 密钥。可在 horizon.pm 获取 |
HORIZON_BASE_URL | 否 | API 基础 URL。默认为 https://horizon.pm |
HORIZON_ACCOUNT_API_KEY | 否 | 用于其他受限范围仪表板管理工具的 Account Key |
资源(文档)无需 API 密钥即可使用。只有实时 API 工具需要身份验证。与会话绑定的工具还需要匹配的玩家会话,并在其输入架构中声明 userId 和 sessionToken。
功能是否可用取决于所选后端和项目配置。实时功能、聊天、Validated Actions 和排名赛对局验证需要托管版 horizOn。可自托管的 simpleServer 支持部分 REST API。MCP 工具会显式发出 HTTP 请求,不会创建后台 WebSocket 连接、轮询循环或自动交易/重试流程。
管理工具(v1.2+)
使用 Account Key(可在 horizOn 仪表板中通过“API Keys” -> “Create” -> Account Key 创建),MCP 服务会提供其他工具,让 Claude 管理你的仪表板,包括项目、远程配置、新闻、电子邮件模板、礼品码、用户、排行榜、云存档数据、崩溃报告、反馈、用户日志、SMTP 和 Validated Actions(规则、运行记录、玩家数值及证据审核)。
如何获取 Account Key
- 登录你的 horizOn 仪表板
- 在侧边栏中进入 API Keys
- 点击 Create API Key
- 将 Account Key 选为密钥类型
- 选择密钥可访问整个账户、单个 Project API Key,还是选定的功能组
- 点击 Create——密钥只会显示 一次。请立即复制。
- 将密钥添加到 MCP 客户端配置中(见下方的设置)
设置
将两个密钥都添加到 MCP 客户端配置中:
{
"mcpServers": {
"horizOn": {
"command": "npx",
"args": ["-y", "horizon-mcp"],
"env": {
"HORIZON_API_KEY": "your-project-key (for player-facing tools)",
"HORIZON_ACCOUNT_API_KEY": "your-account-key (for dashboard tools)"
}
}
}
}
两个密钥可以同时设置,也可以分别设置。只有在设置了账户密钥时,才会注册管理工具;否则,服务只会提供原有的面向玩家的工具。
范围
Account Key 继承账户的等级(FREE/BASIC/PLUS/PRO/ENTERPRISE),不会授予额外权限。密钥可以适用于整个账户、仅限单个 Project API Key、仅限选定的功能组,或同时受这两种限制。仅限平台管理员访问的端点(Blog、Banner、System-Config)会自动无法访问。少数极其敏感的端点(删除账户、更改凭据、管理密钥本身、取消订阅)需要仪表板会话,无法通过 Account Key 调用。
当密钥的范围限定为项目时,后端也会对直接 HTTP 请求强制执行此范围。账户级端点或无法证明项目上下文的仅 ID 端点,会拒绝项目范围密钥的请求。
工具组
管理工具与玩家工具使用相同的注释:list、get 和 statistics 工具为只读,update 和 delete 工具标记为破坏性操作。
| 前缀 | 描述 |
|---|---|
horizon_admin_statistics_*, horizon_admin_achievements_* | 配置定义并查看玩家已拥有的进度 |
horizon_admin_friends_*, horizon_admin_groups_* | 查看限定范围内的关系、群组和已配置的限制 |
horizon_admin_items_*, horizon_admin_shared_* | 管理物品目录、已拥有的收藏和显式清理 |
horizon_admin_match_*, horizon_admin_matches_*, horizon_admin_chat_* | 查看异步对局并管理托管聊天/审核 |
horizon_admin_marketplace_*, horizon_admin_inbox_* | 管理市场规则、限定范围内的操作和持久收件箱通知 |
horizon_admin_localization_* | 管理限定范围内的本地化条目 |
horizon_admin_player_values_* | 使用 If-Match 读取/替换目录,查看最小保护条件,并通过原始备注/哈希更正余额 |
horizon_admin_projects_* | 项目 API 密钥管理(创建/更新/重新生成/撤销/删除) |
horizon_admin_remoteconfig_* | 远程配置 CRUD |
horizon_admin_news_* | 多语言新闻(标题/消息采用 {lang: content} 格式) |
horizon_admin_emailtemplates_* | 带变量的多语言电子邮件模板 |
horizon_admin_giftcodes_* | 礼品码 CRUD + 撤销 |
horizon_admin_users_* | 用户管理 + 统计(无需获取完整列表) |
horizon_admin_leaderboard_* | 排行榜条目 + 统计 |
horizon_admin_cloudsave_* | 云存档数据 + 统计 |
horizon_admin_crashes_* | 崩溃组、报告、统计 |
horizon_admin_feedback_* | 读取用户反馈 |
horizon_admin_userlogs_* | 读取用户日志 |
horizon_admin_smtp_* | 账户 SMTP 配置(密码始终以掩码形式返回) |
horizon_admin_validated_evidence_* | Validated Actions 证据审核:列表(前 N 条记录,或使用 sus: true 获取可疑软件包)、配额、元数据(含 susPackage)、日志下载(仅 base64 或哈希)、软件包导出(将 ZIP 写入本地文件,并附带完整性标头)、删除 |
horizon_admin_validated_rules_*, _usage_get, _runs_list, _state_* | Validated Actions 配置:按 Project API 密钥设置规则集(获取、替换、删除)、每小时运行容量、包含拒绝代码的近期运行记录(筛选条件 sus)、服务器拥有的玩家数值(读取、支持更正) |
什么是 horizOn?
horizOn 是一款面向游戏和应用开发者的多租户 Backend-as-a-Service 平台。它提供托管后端,让开发者专注于构建游戏或应用,而非服务器基础设施。
核心功能:
- 身份验证(匿名、电子邮件、Google、Apple)
- 排行榜
- 云存档
- 远程配置
- 本地化
- 新闻与公告
- 礼品码
- 玩家资料(头像、边框、徽章)
- 玩家数值(原子化配置购买、安全调整、最小化公开重放保护)
- 统计、收件箱奖励和成就
- 好友、屏蔽名单和群组
- 物品目录、唯一库存和市场托管/交易
- 带限定范围权限的共享对象和异步对局
- 托管聊天,实时管理器由原生 SDK 提供
- Validated Actions(服务器校验的运行、仅经验证的排行榜、服务器拥有的货币)
- 用户反馈
- 用户日志
- 崩溃报告
- 电子邮件发送
了解更多信息,请访问 horizon.pm。通过 npm 安装此 MCP 服务。
支持的引擎
- Godot 4.5+ —— GDScript SDK
- Unity 6 —— C# SDK
- Unreal Engine 5.5+ —— C++ 和 Blueprint SDK
开发
# Clone the repository
git clone https://github.com/ProjectMakersDE/horizOn-mcp.git
cd horizOn-mcp
# Install dependencies
npm install
# Start the server (development mode)
npm run dev
# Build for production
npm run build
# Run tests
npm test
许可证
MIT
Statistics 工具
horizon_get_statistics、horizon_get_statistics_definitions 和 horizon_update_statistics 提供明确的会话计数器。发布前,先持久化原始的时间戳:UUID 和不可变批次;超时后重用该意图,绝不自动生成替代 ID。阅读 horizon://docs/statistics,或使用 integrate-feature 并设置 feature=statistics 获取引擎指南。四个 Account Key 工具可通过 If-Match 检查/替换定义、检查一个所属玩家并读取等级限制(horizon_admin_statistics_*)。Statistics 与玩家值相互独立。
Inbox 工具
四个玩家工具可使用当前会话读取、标记为已读、领取和移除 Inbox 条目。四个 horizon_admin_inbox_* 工具可使用 INBOX 范围的 Account Key 管理不可变广播或检查一个所属玩家。发布前请阅读 horizon://docs/inbox:持久化确切意图,为新时间戳使用 serverTime,并在响应不确定时保留原始 ID。受保护的奖励绝不会静默过期或消失。
成就
horizon_get_achievements、horizon_unlock_achievement 和 horizon_deliver_achievement_rewards
提供永久完成状态和即时原子化的 Player Values 奖励。兼容性交付
工具仅读取旧版状态。四个 horizon_admin_achievements_* 工具可管理
版本化目录,并使用 ACHIEVEMENTS 范围检查所属玩家。阅读
horizon://docs/achievements,了解隐藏定义缓存、使用原始键重放,以及对旧版原始记录进行经验证的冷结算。新的解锁不会创建个人 Inbox 奖励/历史副本。
引擎提示词接受 feature=achievements。
好友
horizon_get_friends、horizon_find_player 和七个明确的社交操作工具会保留已审核的
版本和待处理请求 ID。两个只读的 horizon_admin_friends_* 工具可检查所属状态
和当前限制。阅读 horizon://docs/friends;两个引擎提示词均接受 feature=friends。
响应不确定时,在执行任何新的、经玩家确认的操作前,先读取并协调快照。
群组
二十个玩家工具涵盖群组快照、有界成员分页、待处理条目、创建、元数据
和十四项明确的成员/角色操作。六个只读的 horizon_admin_groups_* 工具可检查所属项目。
所有写入都会保留已审核的版本和待处理 ID。阅读 horizon://docs/groups;
两个引擎提示词均接受 feature=groups。不确定的写入绝不会自动重试。
物品
五个玩家工具可读取库存/目录,并明确调整、装备或丢弃某个实例。四个
horizon_admin_items_* 工具可检查所属状态、分页读取目录、使用 If-Match 编辑单个模板,
并读取等级限制。玩家值优惠接受有界的 itemRewards,并与扣款原子化发放。
阅读 horizon://docs/items;两个引擎提示词均接受 feature=items。
共享对象
七个玩家工具提供有界的不透明共享对象、类型化查询和精确版本写入。
十个 horizon_admin_shared_* 工具可管理所属集合并执行明确的清理操作。另有一个
horizon_admin_inbox_send_ordinary 工具使用 INBOX 范围,为受信任的后端提供持久通知
意图。阅读 horizon://docs/shared-objects;两个引擎提示词均接受 feature=shared-objects。
必须根据已安装的版本检查原生 SDK/PHP/部署就绪情况。
已配置的策略与技术帧
新功能工具会传递较高层级/较低层级的当前 System Config 策略,而不会将层级默认值视为上限。群组会公开十一项策略;显式指定的页面大小可以超过 50,且降低页面大小后,默认值 1 仍可用。PV 支持 256 个生命周期身份、超过 1000 的已配置报价数量,以及最多 256 个更正密钥。在当前活跃/生命周期策略及其 1 MiB 帧限制内,成就目录可以超过原先默认的 500 个密钥。缩减配额后,保留的响应仍会完整传递;MCP 不会将结果截断至当前配额。
技术边界仍单独适用:Shared 的解码对象/查询封套为 1 MiB,写入帧为 1402200 字节;Matches 最多接受 14999552 字节(14648KiB)的解码状态数据,且必须在其 20003500 字节的创建/回合帧限制内。Groups 使用完整的 16 MiB BSON 封套和 100663296 字节的创建/更新 HTTP 帧,并遵循已配置的名称/描述/数据/深度策略。固定的物品属性/模板/增量/授予格式、三个 Shared 搜索字段,以及当前 Chat 文本/窗口边界仍然适用。验证不会增加限制获取、分页、重试或数据库请求。这些是表示边界,并不保证吞吐量、内存使用或集群准入。
异步 Matches
十四个玩家工具和七个限定范围的管理员工具涵盖有界大厅、不透明回合、不可变结果报告,以及基于原始对局匹配的排名赛恢复。写入操作保留精确修订版本,且只进行一次 HTTP 尝试。共识不会自动授予奖励。simpleServer 支持常规 REST,并明确排除排名验证/实时功能。请阅读 horizon://docs/matches;引擎提示词接受 feature=matches。
托管 Chat(TASK-1014)
六个应用工具涵盖功能、确定性的频道打开、增量同步、原始发送、回执协调和报告。十二个 CHAT 限定范围的管理员工具提供词语过滤器、元数据/消息、举报审核、禁言/封禁和有界清理。请阅读
horizon://docs/chat;引擎提示词接受 feature=chat。simpleServer 对 Chat 明确返回 501 NOT_SUPPORTED。这些 HTTP 工具不会创建后台 WebSocket 连接或轮询循环。交互式信息流请使用现有的原生实时管理器。
市场
十个玩家工具和十四个限定范围的运营者工具可保留原始物品托管、原子化货币结算、精确的原始意图,以及无损的 Inbox 退回。有关路由、原始修订版本、五档限制和恢复,请阅读 horizon://docs/marketplace。引擎提示词接受 feature=marketplace。不提供自动交易、价格轮询或重试。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。