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使用此包进行代理内存管理和状态持久化。
致谢
构建于:
