LlamaIndex文档MCP服务器
一个模型上下文协议(MCP)服务器,用于获取和提供用于VS代码副本集成的LlamaIdex文档。此服务器现在作为HTTP服务运行(使用FastAPI),并提供对LlamaIndex文档的可搜索访问。
特性
- 🔍 搜索LlamaIndex文档
- 📚 获取特定的文档资源
- 🐳 容器化,便于部署
- 🔧 VS代码副本集成
- ⚡ 异步HTTP客户端,用于快速获取
- 💾 内容缓存以提高性能
- 🌐 支持多客户端(多VS代码)的HTTP API
目录
先决条件
- 已安装Docker和Docker Compose
- 带有Copilot扩展名的VS代码
- Python 3.11+(用于本地开发)
快速开始
- 克隆或创建项目结构:
git clone
cd llamaindex-mcp-server- 使用Docker Compose构建和运行:
docker-compose up -d --build- 该服务将在 http://localhost:8000. - 容器将被命名 mcp-server. - Docker镜像将被命名 liteobject/llamaindex-mcp-server.
健康检查
容器公开了一个健康检查端点:
GET http://localhost:8000/rpc答复:
{"status": "ok", "method": "GET /rpc healthcheck"}VS代码集成
要将此MCP服务器与VS Code Copilot或兼容扩展一起使用,请将以下内容添加到您的VS Code中 settings.json:
"mcp": {
"inputs": [],
"servers": {
"llamaindex-docs": {
"type": "http",
"url": "http://localhost:8000/rpc"
}
}
}- 确保您的服务器正在运行,并且可以在指定的URL访问。
- 您可以将此块添加到全局或工作区
settings.json.
MCP服务器类型
在VS Code或其他客户端中配置MCP服务器时,您可能会遇到不同的服务器类型。以下是对每种情况的简要解释:
- 超文本传输协议:使用URL通过HTTP(S)与MCP服务器通信(例如。,
http://localhost:8000/rpc).这是此项目使用的类型。 - 标准:通过标准输入/输出(stdin/stdout)与MCP服务器通信。通常用于客户端启动的本地进程。
- SSE:使用HTTP上的服务器发送事件(SSE)从服务器流式传输响应。适用于实时更新或长时间运行的操作。
- 双向通信:使用WebSocket连接在客户端和服务器之间进行双向通信。
对于此服务器,请使用 http 类型,如上面的VS代码集成部分所示。
API使用
配置后,MCP服务器通过HTTP向VS Code Copilot提供以下工具:
可用工具
- search_lamaindex_docs:搜索LlamaIndex文档
- 参数: query (字符串), limit (整数,可选)
- get_lamanidex_resource:获取特定文档资源的完整内容
- 参数: uri (字符串)
可用资源
服务器会自动发现并提供对以下内容的访问:
- 入门指南
- 模块指南(加载、索引、查询)
- 代理文件
- API参考
- 示例和教程
示例:JSON-RPC请求
向服务器发送JSON-RPC 2.0请求:
curl -X POST http://localhost:8000/rpc \
-H "Content-Type: application/json" \
-d '{"jsonrpc": "2.0", "id": 1, "method": "initialize"}'示例响应:
{
"jsonrpc": "2.0",
"id": 1,
"result": {
"protocolVersion": "2024-11-05",
"capabilities": {
"resources": {"subscribe": true, "listChanged": true},
"tools": {"listChanged": true}
},
"serverInfo": {
"name": "llamaindex-docs-server",
"version": "1.0.0"
}
}
}环境变量
PYTHONUNBUFFERED=1PYTHONPATH=/appUVICORN_LOG_LEVEL=warning
地方发展
要在没有Docker的情况下在本地运行:
pip install -r requirements.txt
uvicorn app.main:app --host 0.0.0.0 --port 8000故障排除
常见问题
- 容器无法启动:
- 检查Docker是否正在运行 - 验证映像是否已成功构建 - 检查容器日志: docker logs mcp-server
- VS Code无法识别MCP服务器:
- 确保配置处于正确的settings.json中 - 完全重新启动VS代码 - 检查VS Code开发人员控制台是否有错误
- 文档获取失败:
- 检查集装箱的互联网连接 - 验证LlamaIndex文档是否可访问 - 检查容器日志中的HTTP错误
建筑
VS Code Copilot
↓
MCP Protocol (HTTP)
↓
Docker Container / Python MCP Server (FastAPI)
↓
LlamaIndex Docs APIMCP协议指南
有关模型上下文协议(MCP)的全面指南,包括协议架构、消息格式、实现模式和最佳实践,请参阅 MCP_GUIDE.md.
贡献
- 分叉存储库
- 创建要素分支
- 进行更改
- 使用Docker进行测试
- 提交拉取请求
许可证
MIT许可证-可根据需要自由使用和修改。
支持
关于以下问题:
- MCP协议:检查MCP规格
- VS代码集成:检查VS代码副本文档
- LlamaIdex文档:查看LlamaIndex文档
- 此服务器:在存储库中创建问题
