使用说明
@lakehouse/mcp服务器
模型上下文协议(MCP) Lakehouse42的服务器。
特性
- 代码优先模式 -按需工具发现(约98%的令牌减少)
- 工具标记 -按类别筛选工具(读/写/管理/搜索/时间旅行)
- 光标分页 -高效浏览大型结果集
- 流式HTTP -具有会话恢复功能的可扩展部署
- 优化响应 -压缩JSON、截断片段、示例行
快速开始
LAKEHOUSE42_API_KEY=lh_xxx npx @lakehouse/mcp-server
克劳德桌面版
添加到 ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"lakehouse42": {
"command": "npx",
"args": ["@lakehouse/mcp-server"],
"env": {
"LAKEHOUSE42_API_KEY": "lh_your_api_key"
}
}
}
}
环境变量
| 变量 | 必需 | 默认值 |
|---|---|---|
LAKEHOUSE42_API_KEY |
是 | - |
LAKEHOUSE42_BASE_URL |
没有 | https://api.lakehouse42.com |
工具
搜索工具
按需发现工具(代码优先模式)。
{ "tags": ["search"], "detail": "summary" }
| 参数 | 类型 | 说明 |
|---|---|---|
query |
string | 搜索词 |
tags |
string[] | read, write, admin, search, time-travel |
detail |
字符串 | name (10个令牌), summary (50), full (150) |
搜索
带有光标分页的混合搜索。
{ "query": "revenue report", "top_k": 10 }
返回:最多5个结果,200个字符片段, next_cursor 用于分页。
ask_问题
RAG供电问答。
{ "question": "What is our refund policy?" }
返回:答案+源计数。
get_document/list_documents/list_collections
具有光标分页的文档和收藏管理。
upload_document
上传文本文档(自动分块和索引)。
time_travel_query/time_travel-div/list_snapshots
冰山时间旅行查询。返回行数+3个样本行。
HTTP传输
对于web部署:
import { HttpTransport, ToolExecutor, ApiClient } from '@lakehouse/mcp-server';
const client = new ApiClient({ apiKey: 'lh_xxx', baseUrl: 'https://api.lakehouse42.com' });
const transport = new HttpTransport({ toolExecutor: new ToolExecutor(client) });
http.createServer((req, res) => transport.handleRequest(req, res)).listen(3000);
特征:
- 会话管理(
Mcp-Session-Id头球 - SSE流媒体(
Accept: text/event-stream) - 断开恢复连接(
Last-Event-ID)
终点:
POST /mcp-JSON-RPC请求GET /mcp-SSE流DELETE /mcp-结束会话GET /health-健康检查
编程式用法
import { createServer, searchTools, TAGGED_TOOLS } from '@lakehouse/mcp-server';
// Stdio server
const server = createServer({ apiKey: 'lh_xxx' });
await server.start();
// Tool discovery
const readTools = searchTools(undefined, ['read'], 'name');
// → [{ name: 'search' }, { name: 'ask_question' }, ...]
响应优化
| 工具 | 优化 |
|---|---|
| 搜索 | 5个结果,200个字符片段 |
| list_documents | 10个文档,基本字段 |
| time_travel_query | 3个样本行+计数 |
所有响应都使用紧凑的JSON(没有漂亮的打印)。
许可证
麻省理工学院
