内容
# 塔可夫MCP服务器
一款模型上下文协议(MCP)服务器,通过 [tarkov.dev](https://tarkov.dev) GraphQL API 提供对《逃离塔可夫》游戏数据的全面访问。
## 概述
该MCP服务器允许AI助手访问《逃离塔可夫》的详细资讯,包括物品、交易商、地图、任务、合成配方等。它旨在成为玩家、开发者和需要塔可夫游戏数据的AI应用的综合资源。
## 功能
### 可用工具
服务器提供19种不同的工具来访问塔可夫数据的各个方面:
#### 核心游戏数据
- **`成就`** - 返回《逃离塔可夫》所有的成就
- **`物品`** - 返回包括属性、价格和属性在内的综合物品数据
- **`弹药`** - 返回包括弹道在内的详细弹药信息
- **`护甲材料`** - 返回护甲材料属性和耐久度数据
#### 交易与经济
- **`交易`** - 返回交易商提供的所有交易
- **`交易商`** - 返回交易商信息、等级和报价
- **`跳蚤市场`** - 返回跳蚤市场配置和费用
#### 合成与藏身处
- **`合成`** - 返回所有合成配方和需求
- **`藏身处站点`** - 返回藏身处站点信息和升级
#### 任务与进度
- **`任务`** - 返回所有任务/任务,包含目标和奖励
- **`任务物品`** - 返回特殊的任务物品
- **`技能`** - 返回玩家技能信息
- **`玩家等级`** - 返回玩家等级进度数据
- **`掌握`** - 返回武器掌握需求
#### 地图与位置
- **`地图`** - 返回包括提取点、出生点和战利品在内的详细地图信息
- **`BOSS`** - 返回BOSS信息,包括生命值、装备和掉落物品
- **`战利品容器`** - 返回战利品容器位置和生成几率
- **`固定武器`** - 返回固定武器信息
#### 系统信息
- **`服务器状态`** - 返回当前塔可夫服务器状态和消息
## 安装
1. 克隆此仓库
2. 安装依赖:
```bash
npm install
```
3. 配置环境变量(可选):
```bash
TARKOV_API_ENDPOINT=https://api.tarkov.dev/graphql
TARKOV_LANG=zh
```
## 使用
### 运行服务器
```bash
npm start
```
服务器将启动并监听MCP连接。
### 配置
服务器可以通过环境变量进行配置:
- `TARKOV_API_ENDPOINT` - GraphQL API端点(默认:https://api.tarkov.dev/graphql)
- `TARKOV_LANG` - 本地化内容的语言代码(默认:zh)
### 工具详情
#### 成就
返回成就数据,包括:
- 成就名称和描述
- 完成百分比
- 稀有度信息
- 侧面要求(PMC/SCAV)
#### 物品
返回综合物品数据,包括:
- 基本属性(名称、描述、大小、重量)
- 市场价格和趋势
- 类型特定的物品属性(武器、护甲、消耗品等)
- 交易信息(交易、现金报价)
- 任务使用
- 合成配方
#### 弹药
返回弹药数据,包括:
- 弹道属性(伤害、穿透、准确度)
- 护甲伤害和碎片
- 后坐力和速度修正器
- 示踪信息
#### 交易
返回交易信息,包括:
- 需求物品和数量
- 奖励物品和数量
- 交易商和等级需求
- 任务解锁需求
#### 交易商
返回交易商信息,包括:
- 交易商等级和需求
- 可用交易和现金报价
- 声望等级和奖励
- 保险和修理率
#### 任务
返回任务/任务数据,包括:
- 目标和需求
- 奖励(物品、经验、交易商声望)
- 先决条件和解锁条件
- 地图特定信息
#### 地图
返回详细地图信息,包括:
- 出生点和提取点
- 战利品容器和散落战利品位置
- BOSS出生信息
- 危险区域和特殊区域
- 关键需求
#### 合成
返回合成配方数据,包括:
- 需求材料和数量
- 生产物品
- 合成站点和等级需求
- 合成时间
#### 藏身处站点
返回藏身处站点信息,包括:
- 升级需求(物品、技能、交易商等级)
- 站点奖励和效果
- 合成能力
- 建设时间和成本
## API 参考
所有工具直接从tarkov.dev GraphQL API返回JSON格式的数据。数据结构遵循GraphQL模式定义。
### 错误处理
服务器处理各种错误情况:
- 网络连接问题
- API速率限制
- 无效的GraphQL查询
- 缺失或格式错误的数据
## 开发
### 项目结构
```
src/
├── config/ # 配置管理
├── logger/ # 日志工具
├── tools/ # MCP工具实现
│ └── items/ # 单个工具模块
│ ├── achievements/
│ ├── ammo/
│ ├── barter/
│ └── ...
└── server.js # 主MCP服务器
```
### 添加新工具
1. 在`src/tools/items/`下创建新目录
2. 实现`loader.js`,包含GraphQL查询
3. 实现`index.js`,包含工具定义
4. 添加到`src/tools/items/index.js`导出
### 代码风格
项目使用:
- ESLint进行代码检查
- Prettier进行代码格式化
运行格式化和检查:
```bash
npm run format
npm run lint
```
## 贡献
1. 分叉仓库
2. 创建功能分支
3. 进行更改
4. 运行测试和检查
5. 提交拉取请求
## 许可证
MIT许可证 - 参见LICENSE文件了解详情。
## 致谢
- [tarkov.dev](https://tarkov.dev) 提供全面的塔可夫API
- [模型上下文协议](https://modelcontextprotocol.io/) 提供MCP规范
- 《逃离塔可夫》社区进行数据验证和反馈
## 支持
如有问题和疑问:
- 查看 [tarkov.dev API文档](https://tarkov.dev/api)
- 在此仓库中开启问题
- 加入社区讨论