使用说明
LLM MCP服务器
A. 模型上下文协议(MCP) 服务器 允许MCP兼容客户端(VS Code、Claude Desktop、Cursor等) 与...互动 万物皆可LLM.可用工具:
- 工作空间管理
- 聊天和线程操作
- 文档操作和嵌入
- 向量搜索
- 系统和型号检查
需求
- Python 3.10+ --验证:
python --version或python3 --version. 下载 如果没有安装。 - 紫外线 (Python包管理器)--验证:
uv --version. 安装说明. - 任何正在运行且可访问的LLM --打开
http://localhost:3001在一个 浏览器确认。如果它在Docker中运行,请确保端口已发布 (例如。,-p 3001:3001). - AnythingLLM API密钥 --在AnythingLLM web界面中创建一个(看 为了 API密钥 或 开发者API 在设置中)。复制密钥并存储 安全;它只显示一次。
安装
git clone https://github.com/andreperez/anythingllm-mcp.git
cd anythingllm-mcp
uv sync
uv sync 读取 pyproject.toml 并将所有必需的依赖项安装到
本地虚拟环境。您不需要创建或激活环境
手动-- uv run 自动处理。
配置
服务器在启动时从这些环境变量中读取配置:
ANYTHINGLLM_BASE_URL:AnythingLLM实例的基本URL。 默认为http://localhost:3001如果没有设置。ANYTHINGLLM_API_KEY:用于使用AnythingLLM进行身份验证的API密钥。 此值是必需的。
服务器会 不 负载 .env 文件本身。您必须:
- 在启动服务器之前,在shell中设置变量。
- 使用加载工具
.env文件给你。 - 直接在MCP客户端配置中传递变量。
选项1:在当前shell中设置变量
PowerShell:
$env:ANYTHINGLLM_BASE_URL = "http://localhost:3001"
$env:ANYTHINGLLM_API_KEY = "your_api_key_here"
猛击:
export ANYTHINGLLM_BASE_URL="http://localhost:3001"
export ANYTHINGLLM_API_KEY="your_api_key_here"
命令提示符(cmd.exe):
set ANYTHINGLLM_BASE_URL=http://localhost:3001
set ANYTHINGLLM_API_KEY=your_api_key_here
使用主机公开的URL进行部署。对于Docker端口映射,如
3002:3001,set ANYTHINGLLM_BASE_URL 到 http://localhost:3002 因为
MCP服务器从主机连接,而不是从容器内部连接。
选项2:使用 .env 提交 uv
复制示例文件:
PowerShell:
Copy-Item .env.example .env
猛击:
cp .env.example .env
命令提示符(cmd.exe):
copy .env.example .env
编辑 .env 所以它包含了你的真实价值:
ANYTHINGLLM_BASE_URL=http://localhost:3001
ANYTHINGLLM_API_KEY=replace_with_your_real_api_key
然后使用以下命令启动服务器:
uv run --env-file .env anythingllm-mcp
这告诉 uv 从以下位置加载变量 .env 在启动服务器之前。
选项3:在MCP客户端配置中传递变量
大多数MCP客户端接受 env 配置文件中的块(请参阅
客户端设置 下面的例子)。当时 env 块包含
ANYTHINGLLM_API_KEY 和 ANYTHINGLLM_BASE_URL,您不需要导出
shell中的变量或使用 .env 文件。
客户端设置
替换 /path/to/anythingllm-mcp 在下面的例子中 绝对的
路径 在那里克隆了存储库。示例:
- Linux/macOS:
/home/youruser/anythingllm-mcp - 窗户:
C:\\Users\\youruser\\anythingllm-mcp(使用双反睫毛\\JSON字符串内部)
VS Code
添加到您的用户或工作区 mcp.json.打开命令面板
(Ctrl+Shift+P 在Windows/Linux操作系统上, Cmd+Shift+P 在macOS上)并运行
MCP:打开用户配置:
{
"servers": {
"anythingllm": {
"type": "stdio",
"command": "uv",
"args": [
"run",
"--directory",
"/path/to/anythingllm-mcp",
"anythingllm-mcp"
],
"env": {
"ANYTHINGLLM_API_KEY": "${input:anythingllm_api_key}",
"ANYTHINGLLM_BASE_URL": "http://localhost:3001"
}
}
}
}
VS代码支持
${input:name}以提示在每个会话上输入API密钥。在多根工作区中,首选绝对路径
--directory如果 MCP服务器位于当前文件夹根目录之外。
如果更新服务器或切换后VS Code仅显示部分工具列表 从另一个AnythingLLM集成到这个本地集成:
- 跑
MCP: List Servers并确认anythingllm或您选择的服务器名称 成功启动。 - 跑
MCP: Reset Cached Tools清除过时的工具元数据。 - 从以下位置重新启动MCP服务器
MCP: List Servers.
克劳德桌面版
编辑 claude_desktop_config.json (设置→ 开发者→ 编辑配置):
{
"mcpServers": {
"anythingllm": {
"command": "uv",
"args": [
"run",
"--directory",
"/path/to/anythingllm-mcp",
"anythingllm-mcp"
],
"env": {
"ANYTHINGLLM_API_KEY": "YOUR_API_KEY",
"ANYTHINGLLM_BASE_URL": "http://localhost:3001"
}
}
}
}
光标
增添 .cursor/mcp.json 在项目根目录中,或在以下位置的全局配置中
~/.cursor/mcp.json (Linux/macOS)/ %USERPROFILE%\.cursor\mcp.json (Windows):
{
"mcpServers": {
"anythingllm": {
"command": "uv",
"args": [
"run",
"--directory",
"/path/to/anythingllm-mcp",
"anythingllm-mcp"
],
"env": {
"ANYTHINGLLM_API_KEY": "YOUR_API_KEY",
"ANYTHINGLLM_BASE_URL": "http://localhost:3001"
}
}
}
}
注:
ANYTHINGLLM_BASE_URL默认为http://localhost:3001,即 容器内的应用程序端口。如果你将Docker发布为3002:3001,使用http://localhost:3002在客户端配置中。
运行(独立)
如果您已经导出了shell中的变量:
uv run anythingllm-mcp
如果你想从加载它们 .env 在启动时:
uv run --env-file .env anythingllm-mcp
发展
安装测试依赖项并运行测试套件:
uv sync --extra dev
uv run pytest
故障排除
“API密钥丢失”或401未经授权
服务器无法通过AnythingLLM进行身份验证。检查:
ANYTHINGLLM_API_KEY设置在您的环境中或env一块 您的MCP客户端配置。- 该密钥与AnythingLLM(设置)中的活动密钥匹配→ API密钥)。
- 键没有前导或尾随空格。
“连接被拒绝”或超时
服务器无法访问AnythingLLM。检查:
- LLM正在运行(打开
http://localhost:3001在浏览器中)。 ANYTHINGLLM_BASE_URL指向正确的主机和端口。- 没有防火墙或VPN阻止连接。
Docker端口不匹配
如果AnythingLLM在Docker中运行,端口映射如下 3002:3001:
- 集装箱内部,应用程序在端口上侦听
3001. - 在主机上,您可以在端口上访问它
3002.
由于MCP服务器在主机上运行(不在容器内),请设置:
ANYTHINGLLM_BASE_URL=http://localhost:3002
始终使用 主机端口 (左侧 -p 或 ports: 映射)。
在容器内运行的MCP服务器(Dev Containers、Docker Compose)
如果MCP服务器本身在容器内运行(例如
VS代码开发容器),
localhost 指的是容器自己的网络,而不是主机。
使用以下命令访问主机上或另一个容器中运行的AnythingLLM
已发布端口,使用 host.docker.internal:
ANYTHINGLLM_BASE_URL=http://host.docker.internal:3001
如果MCP服务器和AnythingLLM都是上的容器 相同的Docker
网络 (例如,在同一 docker-compose.yml),使用 服务
名字 改为主机名:
# "anythingllm" is the service name defined in docker-compose.yml
ANYTHINGLLM_BASE_URL=http://anythingllm:3001
在这种情况下,使用 集装箱港口 (3001),而不是主机发布的端口。
host.docker.internalDocker桌面(Windows和macOS)支持 Linux版Docker引擎20.10+(需要--add-host=host.docker.internal:host-gateway或同等产品extra_hosts作曲)。
安全说明
- 永远不要提交真正的API密钥。
- 使用环境变量作为机密。
- 尽可能使用最少特权的AnythingLLM API令牌。
许可证
麻省理工学院