Screeps游戏API交互服务器

一个符合MCP协议的服务器,用于连接Screeps游戏API与AI/LLM工具,支持查询和操作游戏数据。

  • by nailuoGG
  • TypeScript
  • 本地部署
  • 2 星标
  • 更新于
在 GitHub 查看 nailuoGG/screeps-mcp-server

使用说明

监视MCP服务器

用于与Screeps游戏API交互的模型上下文协议(MCP)服务器。

该项目提供了一个符合MCP的服务器,该服务器将Screeps游戏数据和操作作为MCP工具和资源公开。它使LLM或其他MCP客户端能够以结构化、协议驱动的方式访问、查询和操作Screeps游戏帐户和数据。

项目目的

  • Bridge Screeps和AI/LLM工具: 允许大型语言模型和其他MCP客户端通过标准协议与Screeps游戏进行交互。
  • 展示Screeps API作为MCP工具/资源: 通过MCP访问玩家信息、游戏数据和其他Screeps API功能。
  • 支持多种Screeps服务器类型: 通过配置支持官方、私人和Steam服务器。

特性

  • 符合MCP标准的服务器: 实现模型上下文协议,以便与LLM和其他客户端轻松集成。
  • Screeps API集成: 使用令牌或用户名/密码安全连接到Screeps服务器。
  • MCP工具: 例子: getPlayerInfo 检索经过身份验证的玩家信息(用户名、GCL)。
  • 可扩展: 为更多Screeps API端点轻松添加新的MCP工具/资源。
  • 可配置: 通过环境变量支持官方、私人和Steam Screeps服务器。

快速开始

1.安装依赖项

npm install

2.构建服务器

npm run build

3.配置环境变量

根据需要设置以下变量:

  • SCREEPS_API_TOKEN (推荐)或 SCREEPS_USERNAME 和 SCREEPS_PASSWORD
  • SCREEPS_SERVER_TYPE (official, private,或 steam)
  • SCREEPS_PRIVATE_HOST, SCREEPS_PRIVATE_PORT, SCREEPS_PRIVATE_SECURE (用于私人/蒸汽服务器)

例子:

export SCREEPS_API_TOKEN=your_token
export SCREEPS_SERVER_TYPE=official

4.运行服务器

npm start

服务器将启动并通过stdio监听MCP协议请求。

配置

所有配置都是通过环境变量进行的。看 src/config/index.ts 了解详情。

  • LOG_LEVEL (默认值: info)
  • SCREEPS_API_TOKEN 或 SCREEPS_USERNAME/SCREEPS_PASSWORD
  • SCREEPS_SERVER_TYPE: official, private,或 steam
  • SCREEPS_PRIVATE_HOST, SCREEPS_PRIVATE_PORT, SCREEPS_PRIVATE_SECURE:用于私有/蒸汽服务器

MCP工具和资源

示例工具: getPlayerInfo

检索经过身份验证的Screeps玩家的用户名和GCL(全局控制级别)。

请求:

  • 工具名称: getPlayerInfo
  • 无需参数

答复:

{
  "username": "your_username",
  "gcl": 123456
}

通过扩展代码库可以添加更多的工具和资源(参见 src/tools/).

整合

克劳德桌面

要将此服务器与Claude Desktop一起使用,请将以下内容添加到您的Claude配置中:

在 macOS 上: ~/Library/Application Support/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "screeps": {
      "command": "/path/to/screeps-mcp-server/build/index.js"
    }
  }
}

调试

要调试MCP协议流量,请使用 MCP检查员:

npm run inspector

这将提供一个基于浏览器的UI,用于检查MCP请求和响应。

发展

  • 使用 npm run watch 用于开发过程中的自动重建。
  • 代码的组织是为了清晰性和可维护性。看 src/ 主要逻辑。
  • 欢迎投稿!

许可证

麻省理工学院