使用说明
RLM MCP服务器
“企业计算机和文化思维之间的区别在于,思维并不试图将一切都保持在即时意识中——它知道如何有效地探索庞大的数据存储。”
一个容器化的MCP(模型上下文协议)服务器,提供 递归语言模型 任何AI助手的能力。
什么是RLM?
根据论文 “递归语言模型” 来自麻省理工学院CSAIL的RLM将大型上下文视为 外部环境 这可以通过编程方式进行探索,而不是塞进上下文窗口。
RLM不是将500页的文档塞进上下文中,而是教模型编写Python代码来探索文档——搜索、解析、计数、提取——迭代地建立理解,直到它能够回答你的问题。
快速开始
使用Docker Compose(推荐)
# Clone and enter directory
cd rlm-mcp-server
# With OpenAI
OPENAI_API_KEY=sk-xxx docker compose up
# With local llama.cpp server (running on port 8080)
RLM_API_BASE=http://host.docker.internal:8080/v1 docker compose up
# With Ollama
RLM_API_BASE=http://host.docker.internal:11434/v1 RLM_MODEL=llama3.2 docker compose up
直接使用Docker
# Build
docker build -t rlm-mcp-server .
# Run with OpenAI
docker run -e OPENAI_API_KEY=sk-xxx -p 8765:8765 rlm-mcp-server
# Run with local LLM
docker run \
-e RLM_API_BASE=http://host.docker.internal:8080/v1 \
--add-host host.docker.internal:host-gateway \
-p 8765:8765 \
rlm-mcp-server
与Claude Desktop集成
添加到您的 claude_desktop_config.json:
{
"mcpServers": {
"rlm": {
"command": "docker",
"args": [
"run", "--rm", "-i",
"--network", "host",
"-e", "OPENAI_API_KEY",
"rlm-mcp-server",
"python", "src/server.py", "--transport", "stdio"
],
"env": {
"OPENAI_API_KEY": "your-key-here"
}
}
}
}
看 examples/ 更多配置选项,包括本地LLM设置。
可用工具
会话管理
| 工具 | 说明 |
|---|---|
rlm_load_context |
将文本内容加载到会话中 |
rlm_load_file |
将文件加载到会话中 |
rlm_list_sessions |
列出活动会话 |
rlm_close_session |
关闭会话以释放内存 |
询问
| 工具 | 说明 |
|---|---|
rlm_query |
问一个关于加载上下文的问题(迭代探索) |
rlm_quick_query |
一键:在一次调用中加载和查询 |
rlm_execute_code |
直接针对上下文执行Python(高级用户) |
配置
| 工具 | 说明 |
|---|---|
rlm_config |
查看当前服务器配置 |
使用示例
加载并查询大型文档
Human: Load this 200-page PDF transcript and find all mentions of "quarterly revenue"
Claude: I'll use RLM to explore this large document.
[Uses rlm_load_context to load the document]
[Uses rlm_query with question "Find all mentions of quarterly revenue with surrounding context"]
Based on exploring the document, I found 47 mentions of quarterly revenue...
分析代码库
Human: Here's our entire codebase (500 files). What authentication methods are used?
Claude: I'll load this into RLM and explore it programmatically.
[Uses rlm_load_context with the codebase]
[Uses rlm_query to explore authentication patterns]
After exploring the codebase, I found three authentication methods:
1. JWT tokens in /api/auth/...
2. OAuth2 in /integrations/...
3. API keys in /external/...
环境变量
| 变量 | 默认值 | 描述 |
|---|---|---|
RLM_MODEL |
gpt-4o-mini |
RLM的主要模型 |
RLM_SUB_MODEL |
与RLM_MODEL | 迭代模型相同(可能更便宜) |
RLM_MAX_ITERATIONS |
15 |
最大探索迭代次数 |
RLM_API_BASE |
OpenAI | API端点(适用于本地模型) |
RLM_API_KEY / OPENAI_API_KEY |
- | API密钥 |
RLM_SUB_API_BASE |
与RLM_API_BASE相同 | 子模型的独立端点 |
成本优化
您可以使用更便宜的/局部模型进行迭代探索,同时使用更强大的模型进行初始化:
RLM_MODEL=gpt-4o \
RLM_SUB_MODEL=gpt-4o-mini \
docker compose up
或者完全使用局部模型进行迭代:
RLM_MODEL=gpt-4o \
RLM_SUB_MODEL=local-model \
RLM_SUB_API_BASE=http://host.docker.internal:8080/v1 \
docker compose up
运作原理
- 加载上下文:您的大量文档/代码库存储在会话中
- 问题:你问了一个关于内容的问题
- 探索LLM编写Python代码来探索上下文
- 迭代:代码执行,LLM查看结果,编写更多代码
- 回答:自信时,法学硕士提供最终答案
REPL环境可以访问:
CONTEXT-满载的文本re-正则表达式模块json-JSON模块Counter,defaultdict-来自收藏- 标准Python内置
建筑
┌─────────────────────────────────────────────────────────┐
│ Claude Desktop │
│ or │
│ Any MCP Client │
└────────────────────────┬────────────────────────────────┘
│ MCP Protocol
▼
┌─────────────────────────────────────────────────────────┐
│ RLM MCP Server │
│ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │
│ │ Sessions │ │ RLM Core │ │ REPL Env │ │
│ │ Storage │ │ Engine │ │ (Python) │ │
│ └──────────────┘ └──────────────┘ └──────────────┘ │
└────────────────────────┬────────────────────────────────┘
│ OpenAI-compatible API
▼
┌─────────────────────────────────────────────────────────┐
│ LLM Backend (OpenAI / Local / Ollama) │
└─────────────────────────────────────────────────────────┘
发展
# Install dependencies
pip install -r requirements.txt
# Run locally (stdio mode for testing)
cd src && python server.py --transport stdio
# Run tests
pytest tests/
转移到离线实验室(Mojoverse)
-
在Cybertron上建立形象:
docker save rlm-mcp-server:latest | gzip > rlm-mcp-server.tar.gz -
通过您常用的方法转移到Mojoverse
-
Mojoverse上的负载:
gunzip -c rlm-mcp-server.tar.gz | docker load -
使用本地L4动力llama.cpp运行:
RLM_API_BASE=http://localhost:8080/v1 docker compose up
参考文献
许可证
麻省理工学院
