键值存储服务

LMDB-MCP是一个轻量级、高性能的键值存储服务,基于LMDB实现,提供持久化存储和ACID事务支持,适用于需要快速读写操作的场景。

  • by nibzard
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 nibzard/lmdb-mcp

使用说明

LMDB-MCP

一种轻量级、高性能的模型上下文协议(MCP)服务器,使用LMDB(闪电内存映射数据库)提供持久的键值存储。

特性

  • 高性能:基于LMDB构建,可实现闪电般快速的读/写操作
  • 符合MCP标准:与模型上下文协议规范完全兼容
  • 多个传输:支持stdio(用于Claude Code)和SSE传输
  • 符合ACID标准:具有ACID保证的全面交易支持
  • 灵活的配置:基于环境变量的配置
  • 综合工具:读取、写入、列出、删除、监视、光标扫描和事务操作

安装

pip install lmdb-mcp

快速开始

作为CLI工具

# Run with default settings
lmdb-mcp

# Run with custom database path and size
LMDB_PATH=/path/to/db LMDB_MAP_SIZE=5368709120 lmdb-mcp

使用克劳德代码

添加到MCP设置文件(.claude/mcp.json):

{
  "mcpServers": {
    "lmdb": {
      "command": "lmdb-mcp",
      "env": {
        "LMDB_PATH": "./my-data.db",
        "LMDB_MAP_SIZE": "1073741824"
      }
    }
  }
}

作为Python库

from lmdb_mcp.core import LMDBMCP

# Create a simple LMDB wrapper
db = LMDBMCP("./my-data.db", map_size=1_048_576)

# Write and read data
db.write("key1", b"value1")
value = db.read("key1")

# List keys with prefix
keys = db.list_keys("prefix_")

# Clean up
db.close()

配置

可以使用环境变量配置服务器:

变量 描述 默认值
LMDB_PATH LMDB数据库文件的路径 ./lmdb.db
LMDB_MAP_SIZE 最大数据库大小(字节) 1073741824 (1GB)
LMDB_TRANSPORT 运输类型(stdio 或 sse) stdio
LMDB_TOOL_PREFIX 工具名称的前缀 mcp__lmdb__

可用工具

基本操作

  • 读:按键读取值
  • 写:将值写入键
  • 列表:列出带有可选前缀过滤的键
  • 删除:删除密钥

高级操作

  • 观看:注意与模式匹配的按键变化
  • cursor_scan:使用光标扫描一系列按键
  • 交易:以原子方式执行多个操作

示例用法

阅读与写作

# Write a value
await mcp__lmdb__write(key="user:123", value='{"name": "Alice", "age": 30}')

# Read a value
result = await mcp__lmdb__read(key="user:123")
# Returns: {"name": "Alice", "age": 30}

列出密钥

# List all keys
all_keys = await mcp__lmdb__list()

# List keys with prefix
user_keys = await mcp__lmdb__list(prefix="user:")
# Returns: ["user:123", "user:456", ...]

交易

# Execute multiple operations atomically
operations = [
    {"type": "write", "key": "counter", "value": "1"},
    {"type": "write", "key": "status", "value": "active"},
    {"type": "read", "key": "counter"}
]
result = await mcp__lmdb__transaction(operations=json.dumps(operations))

发展

设置

# Clone the repository
git clone https://github.com/nibzard/lmdb-mcp.git
cd lmdb-mcp

# Install with development dependencies
pip install -e ".[dev]"

# Run tests
pytest

# Format code
black src tests
ruff check --fix src tests

运行测试

# Run all tests
pytest

# Run with coverage
pytest --cov=lmdb_mcp

# Run specific test
pytest tests/test_server.py::test_read_write

许可证

Apache许可证2.0-有关详细信息,请参阅许可证文件。

贡献

欢迎投稿!请随时提交拉取请求。

与APEX集成

此包是从 APEX(对手对执行) 该项目旨在提供一个可重用的基于LMDB的MCP服务器。APEX使用此包进行代理内存管理和状态持久化。

致谢

构建于: