SpaceMolt Crafting MCP Server

使用说明(Markdown 格式)

  • 项目简介

    • 该仓库实现了一个 MCP 服务器用于 SpaceMolt 的 crafting 场景,提供通过 MCP 协议与 LLM 客户端交互的能力,包括资源、工具、提示模板的管理与执行。
  • 主要功能点

    • 7 个 MCP 工具(craft_query、craft_path_to、recipe_lookup、skill_craft_paths、component_uses、bill_of_materials、recipe_market_profitability),均通过 MCP 的工具调用接口暴露给客户端。
    • 支持基于 market 数据的利润分析、材料路径规划、物品查询、技能路径评估等,与后端的数据库引擎紧密集成。
    • MCP 服务器核心流程:接收 JSON-RPC 请求、分发到对应工具处理、返回标准的 JSON-RPC 响应。
    • 提供 Tools 列表(tools/list)以及 Initialize 阶段的能力协商,便于客户端在首次连接时获取服务能力。
    • 支持通过 Go 实现的 MCP 服务器组件,及其与底层数据库、引擎模块的紧耦合。
    • 同时提供基于 HTTP 的市场数据 API 入口(internal/api/),用于市场数据上传与查询(HTTP 模式为新特性,MCP 模式为核心通信路径)。
  • 安装与运行步骤

    • 依赖与构建
      • 使用 Go 编译:go build ./cmd/crafting-server
    • 运行方式
      • 在 MCP 模式(默认,标准输入输出通信)启动服务器:
        • ./bin/crafting-server -db crafting.db
      • 如需通过 HTTP 提供市场数据 API(HTTP 模式):
        • ./bin/crafting-server -db crafting.db -http :8080
    • 数据初始化与导入
      • 使用数据库快照或导入数据功能初始化 items、recipes、skills 等数据表(详见 README 的快速启动和导入部分)。
    • 测试与验证
      • 借助仓库提供的单元测试和工具测试用例可对 MCP 工具进行验证,确保各工具在不同输入情景下的行为符合预期。
  • 服务器配置(MCP 客户端使用的启动信息) 该 MCP 服务器对接客户端的最基本配置信息应包含服务器名称、启动命令及启动参数等字段,以便 MCP 客户端能正确连接与调用。示例(JSON 形式,供 MCP 客户端参考,实际路径请按本地环境替换): { "server_name": "spacemolt-crafting", "command": "/path/to/spacemolt-crafting-server/bin/crafting-server", "args": [ "-db", "/path/to/spacemolt-crafting-server/database/crafting.db" ] // 其他可选参数请根据实际环境添加 } 说明:

    • server_name 是 MCP 客户端在配置中显示使用的标识名称,应与服务器实现中的名称一致或易于辨识。
    • command 指向服务器执行文件的完整路径。
    • args 是启动服务器时传递的命令行参数,例如数据库路径等。 MCP 客户端无需额外的实现细节,但该配置应能让客户端在启动与连接时正确定位并调用 MCP 工具。

服务器信息