返回市场
口袋-MCP

口袋-MCP

作者:dailydaniel4 星标更新:2025-04-24

项目介绍

Pocket MCP Manager

一个灵活且用户友好的管理Model Context Protocol (MCP)服务器的系统,由客户端-服务器架构组成,通过中央界面简化了对多个MCP服务器的处理。

概览

Pocket MCP Manager通过以下方式简化了与多个MCP服务器的工作流程:

  • 将所有MCP服务器添加到中央管理UI中
  • 通过直观的界面选择性地启动特定服务器
  • 生成与这些运行中的服务器关联的API密钥
  • 通过单个代理MCP服务器连接到它们,例如在Claude或Cursor中

这种方法意味着当你更改要使用的MCP服务器时,只需更新AI工具中的单一API密钥,而不是重新配置多个连接设置。

服务器组件

服务器组件是一个MCP代理服务器,它:

  1. 接受来自客户端的API密钥
  2. 连接到该密钥授权的已运行MCP服务器
  3. 通过统一的MCP接口暴露所有连接服务器的功能
  4. 将请求路由到适当的后端服务器

服务器安装

# 克隆仓库
git clone git@github.com:dailydaniel/pocket-mcp.git
cd pocket-mcp/server

# 安装依赖
npm install

# 安装过程中会自动执行构建步骤

连接到Claude Desktop / Cursor

在你的Claude Desktop设置中添加以下配置:

{
  "mcpServers": {
    "mcp-proxy": {
      "command": "node",
      "args": ["/full/path/to/pocket-mcp/server/build/index.js"],
      "env": {
        "MCP_API_KEY": "api_key_from_client",
        "CLIENT_API_URL": "http://localhost:<port>/api"
      }
    }
  }
}

替换:

  • /full/path/to/pocket-mcp/server/build/index.js 为你服务器build/index.js文件的绝对路径
  • api_key_from_client 为从客户端UI生成的API密钥
  • <port> 为API服务器日志中显示的端口(通常是8000)

客户端组件

客户端提供了一个基于Streamlit的Web界面,用于:

  • 查看所有配置的MCP服务器
  • 以组的形式启动选定的服务器
  • 为启动的服务器生成API密钥
  • 管理现有的API密钥

客户端设置

# 导航到客户端目录
cd pocket-mcp/client

# 创建并激活虚拟环境
python -m venv .venv --prompt "mcp-venv"
source .venv/bin/activate

# 安装需求
pip install -r requirements.txt

# 复制示例配置
cp servers_config_example.json servers_config.json

# 使用你的MCP服务器编辑配置
vim servers_config.json

# 运行客户端
streamlit run app.py

服务器配置示例

在客户端目录中创建一个servers_config.json文件,包含你的MCP服务器:

{
  "mcpServers": {
    "jetbrains": {
      "command": "npx",
      "args": ["-y", "@jetbrains/mcp-proxy"]
    },
    "logseq": {
      "command": "uvx",
      "args": ["mcp-server-logseq"],
      "env": {
        "LOGSEQ_API_TOKEN": "API_KEY",
        "LOGSEQ_API_URL": "http://127.0.0.1:<port>"
      }
    },
    "brave-search": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-brave-search"
      ],
      "env": {
        "BRAVE_API_KEY": "API_KEY"
      }
    }
  }
}

替换API_KEY<port>为实际值。

客户端演示

客户端演示

示例LLM MCP客户端

该仓库包括一个使用OpenAI API和MCP服务器聊天的示例客户端。

设置和使用

# 导航到示例客户端目录
cd pocket-mcp/example_llm_mcp

# 复制示例环境文件
cp .env.example .env

# 编辑.env文件并添加你的OpenAI API密钥
vim .env

# 在servers_config.json文件中添加服务器配置
cp servers_config_example.json servers_config.json

# 添加客户端API密钥
vim servers_config.json

# 如果尚未处于虚拟环境中
# 可能使用与客户端相同的虚拟环境
source ../client/.venv/bin/activate

# 安装需求
pip install -r requirements.txt

# 运行客户端
python3 main.py

示例客户端将连接到你的运行中的MCP服务器,并允许你利用MCP功能与LLM进行聊天。

聊天演示

聊天演示

致谢

待办事项

  • 向客户端组件添加更多功能
  • 将服务器转换为独立的npm模块,可以使用npx安装
  • 删除streamlit应用中的尴尬版权通知 :)