mcpField
神
神岛引擎开放接口

神岛引擎开放接口

本地服务
github.com/box3lab开发工具281 周前更新

关于 神岛引擎开放接口

面向神岛引擎开发者的 MCP 服务,提供管理游戏脚本和存储的工具,也包含代码辅助及存储设计提示词。

主要功能

  1. 01创建、更新和重命名脚本
  2. 02读取、写入、删除及分页查询存储
  3. 03脚本审查、生成和优化提示词
  4. 04存储结构与查询设计提示词

适用场景

  1. 01通过 API 工具更新游戏脚本
  2. 02读取或修改游戏数据存储
  3. 03请求审查或生成脚本
  4. 04规划存储迁移

MCP 相关

提供脚本与存储管理工具,以及代码辅助和存储设计提示词。每次 API 调用均需提供 token 和 userAgent。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

来自项目 README

神岛引擎 OpenAPI MCP 工具集

smithery badge

这个项目提供了一系列用于神岛引擎的 OpenAPI MCP (Model Context Protocol) 工具,帮助 AI 更高效地调用引擎接口。

功能概览

该工具集提供以下核心功能:

  • 脚本管理工具:用于创建、更新、重命名游戏脚本
  • 存储管理工具:用于读取、写入、删除和查询游戏数据存储
  • AI 辅助功能:提供基于大模型的代码审查、生成、优化和数据结构设计

API 工具详解

脚本管理工具 (Script Tools)
基础操作
工具名称描述必要参数
script.saveOrUpdateA 保存或更新神岛引擎脚本mapId, name, type, file
script.rename重命名神岛引擎脚本mapId, name, newName
代码辅助提示
提示名称描述必要参数
script.review审查神岛引擎脚本代码,提供改进建议和潜在问题分析code
script.generate根据描述和需求生成神岛引擎脚本代码description
script.optimize优化神岛引擎脚本代码,提高性能或可读性code
存储管理工具 (Storage Tools)
基础操作
工具名称描述必要参数
storage.get存储空间单 key 值查询key, mapId, storageName
storage.set存储空间单 key 值写入/更新key, mapId, storageName, value
storage.remove存储空间单 key 值删除key, mapId, storageName
storage.page存储空间分页查询mapId, storageName
存储辅助提示
提示名称描述必要参数
storage.designSchema为游戏功能设计键值对数据存储结构gameFeatures
storage.migrationPlan设计存储数据迁移方案currentSchema, targetSchema
storage.optimizeQuery优化键值对数据查询方案queryDescription

使用示例

脚本管理示例
// 上传脚本文件
const scriptResult = await mcpClient.callTool("script.saveOrUpdate", {
  mapId: "your-map-id",
  name: "example.js",
  type: "0", // 0-服务器脚本、1-客户端脚本
  file: "console.log('hi')",
  token: "your-auth-token",
  userAgent: "your-user-agent",
});

// 使用代码审查提示
const codeReview = await mcpClient.prompt("script.review", {
  code: "function example() { console.log('Hello'); }",
});

// 生成脚本代码
const generatedCode = await mcpClient.prompt("script.generate", {
  description: "实现一个计算玩家得分的系统",
  requirements: "支持多种得分方式,保存历史最高分,支持排行榜",
});
存储管理示例
// 读取存储值
const storageData = await mcpClient.callTool("storage.get", {
  key: "player_stats",
  mapId: "your-map-id",
  storageName: "gameData",
  token: "your-auth-token",
  userAgent: "your-user-agent",
});

// 写入存储值
const writeResult = await mcpClient.callTool("storage.set", {
  key: "player_stats",
  mapId: "your-map-id",
  storageName: "gameData",
  value: JSON.stringify({ score: 100, level: 5 }),
  token: "your-auth-token",
  userAgent: "your-user-agent",
});

// 使用数据结构设计提示
const schemaDesign = await mcpClient.prompt("storage.designSchema", {
  gameFeatures: "一个RPG游戏,需要存储玩家装备、背包物品、任务进度和成就",
  dataRequirements: "支持多人同时在线,支持离线进度保存,支持物品交易历史",
});

集成到客户端

浏览器端集成
import { McpClient } from "@modelcontextprotocol/sdk/client/index.js";

// 初始化客户端
const mcpClient = new McpClient({
  serverUrl: "https://your-mcp-server.com",
  headers: {
    "Content-Type": "application/json",
  },
});

// 使用工具
async function useTools() {
  const result = await mcpClient.callTool("storage.get", {
    // 参数...
  });

  // 处理结果
  console.log(result);
}
Node.js 端集成
import { Client } from "@modelcontextprotocol/sdk/client/index.js";
import { WebSocketClientTransport } from "@modelcontextprotocol/sdk/client/websocket.js";

// 创建传输通道
const transport = new WebSocketClientTransport({
  url: "ws://localhost:3000",
});

// 初始化客户端
const client = new Client(
  { name: "dao3-client", version: "1.0.0" },
  { capabilities: { tools: {} } }
);

// 连接到服务器
await client.connect(transport);

// 使用工具
const result = await client.callTool({
  name: "script.list",
  arguments: {
    mapId: "your-map-id",
    token: "your-token",
    userAgent: "your-agent",
  },
});

认证

所有 API 调用都需要提供认证信息,包括:

  • token: 授权令牌
  • userAgent: 用户代理字符串

这些参数需要在每个工具调用时提供。

获取认证信息
  1. 访问神岛引擎开发者平台获取开发者密钥
  2. 使用开发者密钥生成认证令牌
  3. 在 API 调用中提供认证信息

故障排除

请求超时

如果请求超时,可能是因为:

  • 网络连接不稳定
  • 服务器负载过高
  • 请求数据量过大

尝试减少请求数据量或稍后重试。

类型错误

确保按照文档中指定的类型传递参数,特别是:

  • 数值类型的参数(如 limit、offset)必须是数字
  • 布尔值参数(如 isGroup)必须是布尔值

贡献指南

欢迎提交问题报告或 Pull Request 来帮助改进这个项目。

  1. Fork 项目仓库
  2. 创建特性分支 (git checkout -b feature/amazing-feature)
  3. 提交更改 (git commit -m 'Add some amazing feature')
  4. 推送到分支 (git push origin feature/amazing-feature)
  5. 创建一个 Pull Request

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。