osrs mcp
A. 模型上下文协议(MCP) 服务器,让AI助手实时访问老派RuneScape数据:维基页面、物品价格、玩家统计数据和任务信息。
工具
| 工具 | 说明 |
|---|---|
wiki_search | 按关键字搜索OSRS Wiki |
wiki_page | 按确切标题获取页面的完整维基文本 |
wiki_search_full | 使用丰富的元数据(页面ID、字数、片段)进行搜索 |
prices_latest | 按商品ID显示的当前即时买入/卖出价格 |
prices_mapping | 带有可选名称过滤器的项目元数据 |
prices_timeseries | 5m/1h/24h窗口内的平均价格和交易量数据 |
player_stats | 任何玩家的技能水平、经验值和核心排名 |
player_quests | 通过WikiSync完成任务状态(需要RuneLite插件) |
quest_info | OSRS Wiki中的任务要求和奖励 |
看 docs/feature-catalog.md 查看完整目录,并链接到每个功能文档。
需求
- 转到1.23+
- 不需要API密钥-所有数据源都是公共的
构建
go build -o osrs-mcp ./cmd/osrs-mcp或直接安装:
go install github.com/crichmond1989/osrs-mcp/cmd/osrs-mcp@latest整合
服务器支持两种传输方式:
- 标准 (默认)--用于本地桌面客户端
- 超文本传输协议 (
--addr :8080)--用于远程/移动客户端和托管部署
克劳德桌面(stdio)
在Claude Desktop配置文件中添加一个条目:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json 窗户: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"osrs": {
"command": "/absolute/path/to/osrs-mcp"
}
}
}替换 /absolute/path/to/osrs-mcp 与构建二进制文件的实际路径(例如。 $GOPATH/bin/osrs-mcp 如果通过安装 go install).
编辑配置后重新启动Claude Desktop。OSRS工具将出现在工具面板中。
克劳德代码(CLI、stdio)
claude mcp add osrs /absolute/path/to/osrs-mcp光标(标准输入)
打开 设置→ MCP 并添加新服务器:
{
"osrs": {
"command": "/absolute/path/to/osrs-mcp"
}
}Claude移动/远程客户端(HTTP)
移动应用程序和远程客户端通过HTTP连接。使用以下命令运行服务器 --addr:
osrs-mcp --addr :8080MCP端点服务于 /mcp.将您的客户指向 https://your-host/mcp.
在Claude的移动应用程序中,添加一个远程连接器URL https://your-host/mcp.
您还可以设置 ADDR 环境变量而不是标志:
ADDR=:8080 osrs-mcp码头工人
make docker-build
docker run -p 8080:8080 osrs-mcpDocker镜像在端口8080上默认为HTTP模式。
Azure容器应用程序(建议用于托管)
# Build and push to a registry
docker tag osrs-mcp .azurecr.io/osrs-mcp:latest
docker push .azurecr.io/osrs-mcp:latest
# Deploy (scale-to-zero, ~$0/month for typical usage)
az containerapp up \
--name osrs-mcp \
--resource-group \
--image .azurecr.io/osrs-mcp:latest \
--target-port 8080 \
--ingress external部署的URL将是 https://osrs-mcp..azurecontainerapps.io.使用 /mcp 作为连接器路径。
其他MCP客户端
- 标准:将二进制路径作为命令传递。不需要旗帜。
- 超文本传输协议:与一起运行
--addr :PORT并将客户指向https://your-host/mcp.
发展
make lint # run golangci-lint
make build # compile
make test # run tests with race detector and coverage
make check # lint + build + test (run this before every commit)
make cover # show per-function coverage (must be 100%)添加新工具
- 将客户端方法添加到中的相关接口
internal/wiki/client.go或internal/prices/client.go. - 添加真正的实现。
- 创建
internal/tools/.go和internal/tools/_test.go. - 在中注册该工具
internal/tools/register.go. - 添加一行
docs/feature-catalog.md并在以下位置创建功能文档docs/YYYY-MM/##-feature-title.md. - 跑
make check和make cover--两者都必须保持清洁。
保持此README最新
在以下情况下更新此文件:
- 添加或删除新工具--更新 工具 桌子
- 最低Go版本更改--更新 需求
- 模块路径或二进制名称更改--更新所有构建/安装命令
- 一种新的集成方法经过测试和确认——将其添加到 整合
- HTTP端点路径或传输更改--更新 超文本传输协议 和 码头工人 章节
这 特征目录 是工具细节的真实来源;此README是入口点摘要。
数据源
| 来源 | URL |
|---|---|
| OSRS Wiki(MediaWiki API) | https://oldschool.runescape.wiki/api.php |
| OSRS Wiki价格API | https://prices.runescape.wiki/api/v1 |
| OSRS Hiscores API | https://secure.runescape.com/m=hiscore_oldschool |
| WikiSync API | https://sync.runescape.wiki/runelite/player |
许可证
麻省理工学院
