LLM服务器

一个基于FastAPI和FastMCP的LLM服务器,支持Ollama和OpenAI,适用于本地开发和部署。

  • by johncsilva
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 johncsilva/mcp-mem0-lite

使用说明

mcp-mem0-lite

MCP服务器(FastAPI + FastMCP + Mem0)通过Ollama或OpenAI进行嵌入/LLM,可在WSL上运行。

在 WSL 上安装

  1. 先决条件: python3-venv, python3-pipGit 和 Ollama 安装在 WSL 上(而不是 Windows 上)。
    sudo apt update && sudo apt install -y python3-venv python3-pip git
    
  2. Python环境:
    cd /home/john/projetos/Pessoal/mcp-mem0-lite
    python3 -m venv .venv
    source .venv/bin/activate
    pip install --upgrade pip
    pip install -r requirements.txt
    
  3. Modelos(Ollama dentro do WSL):
    ollama pull llama3.2:latest
    ollama pull nomic-embed-text
    # se o serviço não estiver ativo: ollama serve
    
  4. .env (路径Linux):
    HOST=127.0.0.1
    PORT=8050
    DATABASE_URL=sqlite:///./mem0.db
    VECTOR_STORE_PROVIDER=chroma
    CHROMA_PERSIST_DIR=./chroma_db
    EMBEDDING_PROVIDER=ollama
    EMBEDDING_MODEL=nomic-embed-text
    EMBEDDING_DIMS=768
    LLM_PROVIDER=ollama
    LLM_MODEL=llama3.2:latest
    # se usar OpenAI, troque provider/model e defina OPENAI_API_KEY
    
  5. 罗达 :
    source .venv/bin/activate
    python3 server.py
    

快速烟雾测试

当服务器正在运行且 venv 处于活动状态时 :

python test_mcp_tools.py

它添加/搜索/列出测试内存。

Integrar com Codex CLI(MCP)

将 MCP 服务器添加到 Codex :

codex mcp add mem0-lite -- npx -y mcp-remote@latest http://127.0.0.1:8050/mcp/sse
codex mcp list

您可以配置em ~/.config/codex/codex_config.toml:

[features]
rmcp_client = true

[mcp_servers.mem0-lite]
command = "npx"
args = ["-y", "mcp-remote@latest", "http://127.0.0.1:8050/mcp/sse"]

Integrar com克劳德代码命令行界面(MCP)

1. 检查服务器是否正在运行

curl http://127.0.0.1:8050/mcp/sse

2. 设置Claude代码

编辑 ~/.claude.json (如果不存在则创建):

nano ~/.claude.json

添加 :

{
  "mcpServers": {
    "mem0-lite": {
      "type": "sse",
      "url": "http://127.0.0.1:8050/mcp/sse"
    }
  }
}

3. 检查连接

claude mcp list
# Deve mostrar: mem0-lite [connected]

4. 测试工具

# Listar usuários
claude "Use o tool list_all_user_ids"

# Adicionar memória
claude "Adicione uma memória de teste: 'Configuração do MCP concluída'"

故障排除

# Validar JSON
cat ~/.claude.json | python -m json.tool

# Verificar servidor
curl -v http://127.0.0.1:8050/

# Ver logs do servidor (na janela onde está rodando)

MCP 服务器作为 Windows 服务 (WinSW + WSL)

罗达 python server.py 没有WSL(发行版 Ubuntu-24.04启用 venv Linux .venv.

档案

  • run-mcp.bat调用 WSL 并运行服务器。
  • mcpserver-service.xmlWinSW 设置(服务名称/ID、日志、自动启动)。

必要的调整

  1. 下载 WinSW(最新版本)https://github.com/winsw/winsw/releases并放置 .exe 在这些文件的同一个文件夹中, 重命名为 mcpserver-service.exe.
  2. 编辑路径 :
    • run-mcp.bat:
      • DISTRO=Ubuntu-24.04 (如果名称不同,请参阅 wsl -l -q).
      • APP=/home/john/projetos/Pessoal/mcp-mem0-lite (如果项目在其他地方,请调整)。
    • mcpserver-service.xml:
      • <arguments>/c "C:\Path\To\run-mcp.bat"</arguments> → 将Windows路径放在哪里 .bat 他会留下来
      • <logpath>C:\Path\To\logs</logpath> 创建此文件夹或设置。
  3. (可选)调整 <id> e <name> 在 XML 中,如果您想要另一个服务名称。

安装和测试

无提示/PowerShell 作为管理员,做意大利面 mcpserver-service.exe:

mcpserver-service.exe install
mcpserver-service.exe start
mcpserver-service.exe status

测试服务器( 例如 : curl http://localhost:11434/api/tags 或 MCP 端点)以确认上传。

Parar、reinicer、remover

mcpserver-service.exe stop
mcpserver-service.exe restart
mcpserver-service.exe uninstall

注释

  • 服务呼叫 wsl -d <DISTRO> -- bash -lc "cd <APP> && source .venv/bin/activate && python server.py".
  • O Windows acessa \\wsl$\\<DISTRO> 当 WSL 处于活动状态时;通常,命令已经唤醒了distro。如果您想保证,请在运行调度器中创建一个简单的任务 wsl -d <DISTRO> -- true 没有靴子。
  • 如果您更改了 project/venv 路径,请更新 .bat如果您正在编辑 XML,请重新启动服务 (stop/start 哦 restart).***

对于Ollama没有WSL信息,请使用estes命令/命令:

  • 确保 systemd 在 WSL 中活动(在 WSL 中执行一次):

    sudo系统ctl启用--现在是ollama 系统ctl状态 在Windows中,如果你还没有配置,在/etc/wsl.conf:

    [boot]
      nsystemd=true
    

    在Windows中执行wsl --shutdown,重新打开发行版。

  • 在 Windows 启动时唤醒 WSL :

    • 在调度器中创建任务(“启动计算机时”),请执行以下操作: wsl-d Ubuntu-24.04--正确 这只会唤醒distro;systemd 上升,查看服务启动,因为它已启用。
  • 替代(更明确): wsl-d Ubuntu-24.04--系统ctl启动胶原 作为任务的行动。

  • 重新启动后测试 :

    • Dentro do WSL:卷曲http://localhost:11434/api/tags
    • Windows:卷曲http://localhost:11434/api/tags(端口11434开发响应器)。

Integrar com开放式代码命令行界面(MCP)

OpenCode 通过 SSE 支持远程 MCP 服务器。

1. 检查服务器是否正在运行

curl http://127.0.0.1:8050/mcp/sse

2. 设置OpenCode

编辑或创建 ~/.opencode/opencode.jsonc (或 OpenCode 配置文件):

{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "mem0-lite": {
      "type": "remote",
      "url": "http://127.0.0.1:8050/mcp/sse",
      "enabled": true
    }
  }
}

3. 检查连接

在项目目录中启动 OpenCode :

opencode

测试工具:

# Listar usuários
Use o tool list_all_user_ids

# Adicionar memória
Adicione uma memória de teste: 'Configuração do MCP concluída no OpenCode'

故障排除

  • 在启动 OpenCode 之前,请确保服务器正在运行
  • 请检查 URL 是否正确 : http://127.0.0.1:8050/mcp/sse
  • 示例文件 opencode.jsonc 此仓库可用作参考

Integrar com Gemini CLI(MCP)

由于意外的行为 gemini-cli 与命令 mcp add 对于 SSE 服务器,需要手动编辑 Gemini CLI 配置文件来进行配置。

1. 找到并打开配置文件:

用户的 Gemini CLI 配置文件通常位于 ~/.gemini/settings.json (ou /home/seu_usuario/.gemini/settings.json 没有Linux)。

在首选的文本编辑器中打开此文件 。

2. 编辑部分 mcpServers:

在档案中 settings.json找到或添加密钥 "mcpServers"在其中,添加或修改条目 "mem0-lite" 就像下面的例子一样。

结构示例 settings.json:

{
  // ... outras configurações do Gemini CLI ...

  "mcpServers": {
    "mem0-lite": {
      "type": "sse",
      "url": "http://127.0.0.1:8050/mcp/sse"
    }
    // ... outros servidores MCP, se houver, garantindo vírgulas corretas ...
  }

  // ... outras configurações do Gemini CLI ...
}

重要提示:

  • 替换章节 // ... outras configurações ... 文件中已经存在的内容。
  • 注意逗号 : 请确保 JSON 语法正确 。如果在此之前或之后有其他密钥 mcpServers或其他 MCP 服务器 mcpServers,使用处女来区分它们。
  • 保存并关闭文件 settings.json.

3. 检查连接:

使用您的服务器 server.py 在另一个终端上运行,打开一个 新 终端e执行:

gemini mcp list

✅ 必须显示: mem0-lite 怎么 ✓ Connected.

Integrar com克劳德桌面(SSE)

Claude Desktop 可以通过 SSE 连接到已经运行的服务器,并与 Claude Code CLI 共享同一个实例。

视窗

1. 检查服务器是否正在运行

curl http://127.0.0.1:8050/mcp/sse

2. 打开配置文件

notepad %APPDATA%\Claude\claude_desktop_config.json

3. 添加配置 (SSE)

{
  "mcpServers": {
    "mem0-lite": {
      "command": "wsl",
      "args": [
        "bash",
        "-c",
        "npx -y mcp-remote@latest http://localhost:8050/mcp/sse"
      ]
    }
  }
}

4.Reiniciar克劳德桌面

完全关闭 Claude Desktop,然后重新打开。