Token导航 LogoToken导航

MCP Server · 搜索检索

LoreKeeper MCP

LoreKeeper MCP是一个为AI助手提供《龙与地下城》第五版信息查询的模型上下文协议服务器,通过Open5e API提供快速、缓存的全面数据访问。

stdio官方级别未说明来源级核验工具 0
Python搜索文档处理

快速开始

作者 / 组织
frap129
提供方
frap129
运行时
Python

工具数量

0

来源目录标注

资源数量

0

来源目录标注

提示词数量

0

来源目录标注

GitHub Star

2

仓库热度

收录来源

2 个

MCP World

选型结论

LoreKeeper MCP 属于搜索检索类 MCP Server,公开资料标注 0 个工具,通过stdio 本地进程接入,客户端适配情况以官方文档为准,有可以直接复制的安装命令;接入前先确认权限范围。

分类

搜索检索

传输方式

stdio

认证方式

无需认证

部署方式

支持远程部署

安装与配置

安装命令

uv run pre-commit install

公开命令不是通用的启动方式,拼不出可靠配置示例;请在客户端 MCP 配置里按官方文档填写 command 和 args。

上手步骤

  1. 1

    准备运行环境

    stdio 服务在本地起进程,需要先装好 Python,再按安装命令拉取依赖。

  2. 2

    安装服务

    复制下面的安装命令执行;命令里带占位符的位置换成自己的密钥或路径。

  3. 3

    写入客户端配置

    在客户端的 MCP 配置里填启动命令和参数,保存后完全退出客户端再打开,让新配置生效。

  4. 4

    验证是否可用

    连接成功后客户端会列出 0 个工具,随便调一个只读工具确认能返回结果。

接入前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

详细介绍

LoreKeeper MCP

用于使用AI助手查找D&D5e信息的模型上下文协议(MCP)服务器。LoreKeeper通过Open5e API提供对Dungeons&Dragons第五版全面数据的快速缓存访问。

特性

  • 全面的D&D 5e数据:访问法术、怪物、职业、种族、装备和规则
  • 语义搜索:具有自然语言搜索功能的Milvus Lite矢量数据库
  • Open5e API集成:通过Open5e API访问全面的D&D 5e内容
  • 类型安全配置:基于Pydantic的配置管理
  • 现代Python堆栈:使用Python 3.11+、异步/等待模式和FastMCP构建
  • 生产就绪:全面的测试套件、代码质量工具和预提交挂钩

快速开始

先决条件

  • Python 3.11或更高版本
  • 紫外线 用于包管理

安装

# Clone the repository
git clone https://github.com/your-org/lorekeeper-mcp.git
cd lorekeeper-mcp

# Install dependencies
uv sync

# Set up pre-commit hooks
uv run pre-commit install

# Copy environment configuration
cp .env.example .env

运行服务器

# Start the MCP server (recommended)
lorekeeper serve

# Or with custom configuration
lorekeeper -v serve
lorekeeper --db-path /custom/path.db serve

# Backward compatible: start server without CLI
uv run python -m lorekeeper_mcp

可用工具

LoreKeeper提供6个MCP工具用于查询D&D 5e游戏数据:

  1. search_spell -按姓名、级别、学校、班级和属性搜索法术
  2. search_creature -按名称、CR、类型和大小查找怪物
  3. search_character_option -获取课程、种族、背景和技能
  4. search_equipment -搜索武器、盔甲和魔法物品
  5. search_rule -查找游戏规则、条件和参考信息
  6. search_all -通过语义搜索跨所有内容类型进行统一搜索

看 docs/tools.md 详细用法和示例。

文档筛选

所有查找工具和搜索工具都支持按源文档过滤:

# List available documents first
documents = await list_documents()

# Filter spells to SRD only
srd_spells = await search_spell(
    level=3,
    documents=["srd-5e"]
)

# Filter creatures from multiple sources
creatures = await search_creature(
    type="dragon",
    documents=["srd-5e", "tce", "phb"]
)

# Search with document filter
results = await search_all(
    query="fireball",
    documents=["srd-5e"]
)

这使您能够:

  • 仅限于搜索SRD(免费)内容
  • 按特定出版书籍或增刊筛选
  • 将自制程序与官方内容分开
  • 控制您出于许可原因使用的源

看 docs/document-filtering.md 以获取全面的指导和跨源过滤示例。

CLI使用情况

LoreKeeper包括一个用于导入D&D内容的命令行界面:

# Import content from OrcBrew file
lorekeeper import MegaPak_-_WotC_Books.orcbrew

# Show help
lorekeeper --help
lorekeeper import --help

看 docs/cli-usage.md 获取详细的CLI文档。

配置

LoreKeeper使用环境变量进行配置。所有设置都使用 LOREKEEPER_ 前缀。创建一个 .env 文件:

# Cache backend settings
LOREKEEPER_CACHE_BACKEND=milvus        # "milvus" (default) or "sqlite"
LOREKEEPER_MILVUS_DB_PATH=~/.local/share/lorekeeper/milvus.db  # or $XDG_DATA_HOME/lorekeeper/milvus.db
LOREKEEPER_EMBEDDING_MODEL=all-MiniLM-L6-v2

# SQLite settings (if using sqlite backend)
LOREKEEPER_DB_PATH=./data/cache.db

# Cache TTL settings
LOREKEEPER_CACHE_TTL_DAYS=7
LOREKEEPER_ERROR_CACHE_TTL_SECONDS=300

# Logging
LOREKEEPER_LOG_LEVEL=INFO
LOREKEEPER_DEBUG=false

# API endpoints
LOREKEEPER_OPEN5E_BASE_URL=https://api.open5e.com

语义搜索

LoreKeeper使用 Milvus Lite 作为默认的缓存后端,提供由向量嵌入支持的语义搜索功能。

特性

  • 语义搜索:按含义查找内容,而不仅仅是精确的文本匹配
  • 矢量嵌入:使用句子转换器进行高质量的文本嵌入
  • 混合搜索:将语义查询与结构化过滤器相结合
  • 零配置:使用合理的默认值即可开箱即用
  • 轻量级:嵌入式数据库,无需外部服务

使用示例

# Find spells by concept (not just keywords)
healing = await search_spell(search="restore health and cure wounds")
# Returns: Cure Wounds, Healing Word, Mass Cure Wounds, etc.

# Find creatures by behavior
flyers = await search_creature(search="flying creatures with ranged attacks")
# Returns: Dragon, Wyvern, Harpy, etc.

# Hybrid search: semantic + structured filters
fire_evocation = await search_spell(
    search="area fire damage",
    level=3,
    school="evocation"
)
# Returns: Fireball (exact match for both semantic and filter)

# Search across all content types
results = await search_all(query="dragon breath weapon")

首次运行设置

第一次运行时,LoreKeeper下载嵌入模型(约80MB)。这是一次性下载:

# First run will show:
# Downloading model 'all-MiniLM-L6-v2'...
lorekeeper serve

配置

通过环境变量配置Milvus:

# Use Milvus backend (default)
LOREKEEPER_CACHE_BACKEND=milvus

# Custom database path (defaults to $XDG_DATA_HOME/lorekeeper/milvus.db)
LOREKEEPER_MILVUS_DB_PATH=/path/to/milvus.db

# Alternative embedding model
LOREKEEPER_EMBEDDING_MODEL=all-MiniLM-L6-v2

从SQLite迁移

如果您使用的是带有SQLite缓存的旧版本:

  1. 将后端设置为Milvus(默认):
   LOREKEEPER_CACHE_BACKEND=milvus
  1. 重新导入数据(Milvus缓存开始为空):
   lorekeeper import /path/to/content.orcbrew
  1. 或者让它在第一次查询时从API重新填充。

回滚:要继续使用SQLite(无语义搜索):

LOREKEEPER_CACHE_BACKEND=sqlite
LOREKEEPER_DB_PATH=./data/cache.db

注意:SQLite缓存不支持语义搜索,只支持精确匹配和模式匹配。

发展

项目结构

lorekeeper-mcp/
├── src/lorekeeper_mcp/          # Main package
│   ├── cache/                   # Vector database caching layer
│   │   ├── milvus.py           # Milvus Lite cache implementation
│   │   ├── embedding.py        # Embedding service for semantic search
│   │   ├── protocol.py         # Cache protocol definition
│   │   └── factory.py          # Cache factory
│   ├── api_clients/            # External API clients
│   ├── repositories/           # Repository pattern for data access
│   ├── tools/                  # MCP tool implementations
│   ├── config.py               # Configuration management
│   ├── server.py               # FastMCP server setup
│   └── __main__.py            # Package entry point
├── tests/                      # Test suite
│   ├── test_cache/            # Cache layer tests
│   ├── test_config.py         # Configuration tests
│   ├── test_server.py         # Server tests
│   └── conftest.py            # Pytest fixtures
├── docs/                       # Documentation
├── pyproject.toml             # Project configuration
├── .pre-commit-config.yaml    # Code quality hooks
└── README.md                  # This file

运行测试

# Run all tests
uv run pytest

# Run with coverage
uv run pytest --cov=lorekeeper_mcp

# Run specific test file
uv run pytest tests/test_cache/test_db.py

代码质量

该项目使用了几个代码质量工具:

  • 黑色:代码格式(100个字符行长度)
  • 拉夫:梳理和进口分拣
  • MyPy 的:静态类型检查
  • 预承诺:用于自动检查的Git挂钩
# Run all quality checks
uv run ruff check src/
uv run ruff format src/
uv run mypy src/

# Run pre-commit hooks manually
uv run pre-commit run --all-files

矢量数据库缓存

LoreKeeper使用Milvus Lite进行语义搜索和高效缓存:

  • 向量存储:384维语义搜索嵌入
  • 实体集合:单独收藏法术、生物、装备等。
  • 混合搜索:将向量相似性与标量过滤器相结合
  • 源追踪:API提供缓存数据的记录
  • 零配置:没有外部依赖关系的嵌入式数据库

API战略

该项目遵循API战略任务:

  1. 使用Open5e API 用于所有内容查找
  2. 更喜欢Open5e v2 超过v1(可用时)
  3. 统一来源:单个API可确保一致的行为和简化的维护

看 docs/tools.md 以获取详细的API映射和实现说明。

📋 OpenSpec集成

此项目使用 开放规范 作为规范管理和变更跟踪的核心开发工具。OpenSpec提供:

  • 结构化规范:所有功能、API和架构更改都记录在详细的规范中
  • 变更管理:对提案、设计和实施任务进行全面的变更跟踪
  • 生活文档:规范随着代码库而发展,确保文档保持最新
  • 开发工作流程:规范、实现和测试之间的集成

这 openspec/ 目录包含:

  • 所有项目组件的当前规范
  • 具有完整上下文的历史变更记录
  • 设计文件和实施计划
  • 开发工作的任务分解

投稿时,请查阅相关规范 openspec/ 并遵循既定的变更管理流程。

贡献

我们欢迎捐款!请查看我们的 贡献指南 了解详情。

开发工作流程

  1. 复刻仓库
  2. 创建要素分支: git checkout -b feature-name
  3. 进行更改并确保测试通过
  4. 运行代码质量检查: uv run pre-commit run --all-files
  5. 提交您的更改
  6. 推到叉子上,创建一个拉取请求

测试

所有贡献必须包括测试:

  • 新功能应具有相应的单元测试
  • 保持测试覆盖率在90%以上
  • 使用pytest夹具进行一致的测试设置
  • 异步代码遵循async/await模式

许可证

此项目根据MIT许可证获得许可-请参阅 许可证 文件以获取详细信息。

致谢

工具与能力

工具数量

0

资源数量

0

提示词数量

0

能力标签

D&D5ePython本地部署语义搜索游戏数据查询AI助手数据库缓存

数量来自来源目录的标注,具体工具清单以官方文档为准。

典型使用场景

查资料带出处

把网页、论文和文档的检索结果连同链接一起带回对话。

站内知识检索

在自己的文档库里做语义搜索,比关键词更贴题。

事实核对

交叉多个来源确认一条信息,减少模型凭记忆作答。

选择建议

值得选的地方

  • 只提供 0 个工具,职责集中,接入后不容易误操作。
  • 有现成的安装命令,不用自己找入口,照着跑就能起服务。
  • 公开说明写得比较完整,接入前能看清能力边界。

先想清楚的地方

  • stdio 方式要求本地装好 Python,换机器要重新装一遍。
  • 第三方目录整理,版本更新和行为细节以官方仓库为准。

更适合

  • 需要在搜索检索场景里让模型直接调用外部能力的人。
  • 想先快速试一下、能接受在本地跑服务的人。

不太适合

  • 完全不想在本地装环境的人。
  • 需要厂商级 SLA 和技术支持的生产环境。

同类对比

5 个同类
MCP Server工具数传输方式安装命令收录来源最后核验
LoreKeeper MCP

MCP World · 本页

0stdio有2 个2026-05-17
Baidu Netdisk

MCP World

未标注未说明未标注1 个2026-05-17
Sequentialthinking

MCP.so

1SSE有2 个2026-05-17
Brave Search 433812ff

MCP World

2未说明未标注1 个2026-05-17
mindsdb (430e18)

MCP World

0未说明有1 个2026-05-17

按同分类和工具数量挑出最接近的几条,字段以各自详情页为准。

常见问题

5 条

LoreKeeper MCP 怎么安装?

公开资料给出的安装命令是 uv run pre-commit install,运行环境为 Python。装完后按客户端要求写进 MCP 配置,重启客户端生效。

LoreKeeper MCP 怎么在 Claude Desktop、Cursor 里配置?

它是stdio 本地进程,客户端配置里要写启动命令和参数,运行环境是 Python;保存后完全退出客户端再打开,配置才会生效。

LoreKeeper MCP 收费吗?

本站只整理公开资料,不代收费用,也没有标注具体价格。是否收费取决于服务本身和背后的接口额度,正式使用前按官方说明确认。

LoreKeeper MCP 需要 API Key 吗?

公开资料标注为无需认证,装好就能连;如果实际调用时报鉴权错误,按官方文档补上凭据。

LoreKeeper MCP 支持哪些客户端?

公开资料没有标注具体客户端;能配置本地 MCP 命令的客户端都能接,配置方式参照官方文档。

来源信息

继续浏览同类 MCP