mcpField
A
AI Context Flow

AI Context Flow

远程服务
plurality.network记忆与知识28 周前更新

关于 AI Context Flow

AI Context Flow 是为 MCP 兼容客户端提供持久化记忆的服务,面向需要跨 Agent 保存和检索上下文的用户。它将内容整理到记忆桶中,并支持语义搜索及多人共享。

主要功能

  1. 01按记忆桶组织内容
  2. 02保存文本和对话
  3. 03跨桶语义搜索
  4. 04读取已存内容
  5. 05创建及共享记忆桶

适用场景

  1. 01保存不同 AI 工具中的重要对话
  2. 02为多个 Agent 共用项目上下文
  3. 03用自然语言查找相关记忆

MCP 相关

该 MCP 服务向兼容客户端提供记忆桶管理、保存、读取和搜索工具。支持 OAuth 2.1 + PKCE 与个人访问令牌认证。

配置

远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。

服务地址https://app.plurality.network/mcp
一键复制安装命令
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。

工具

详细介绍

Plurality MCP Server

为 AI Agent 和工具提供通用记忆。随时随地保存、整理和搜索上下文。

MCP Registry Smithery Version Python


一个 Model Context Protocol 服务,为任何兼容 MCP 的 AI 客户端提供持久记忆——文档、笔记、对话和文件存储在井然有序的记忆区中,并支持语义搜索。支持基于 OAuth 和个人访问令牌(PAT)的身份验证。

为什么使用它?

  • Memory Studio — 个人知识库和第二大脑,可将上下文整理到记忆区、查看已保存的内容,并管理 AI Agent 所掌握的信息。
  • 保存重要聊天 — 可直接在 Claude、ChatGPT、Cursor 和其他 AI 工具中,将聊天保存到相关记忆区
  • 所有 Agent 共享持久记忆 — Claude Code、Lovable、Cursor、OpenClaw 等都能访问相同的上下文
  • 语义搜索 — 使用自然语言查找相关记忆,而不仅仅依赖关键词
  • 与他人共享记忆区 — 允许他人访问你的上下文,实现协作
  • 随处可用 — 任何兼容 MCP 的客户端都能连接

我们还提供名为 AI Context Flow 的 Chrome 扩展,让你能够在任何网站上捕获和使用上下文。它内置了一个聊天 Agent(支持 30 多种模型),可在任何页面以侧边栏形式打开——与记忆对话、根据已存储的上下文回答问题,并发现你保存的所有内容之间的关联。你可以将 MCP Server 与扩展配合使用,体验产品的完整功能集。

观看演示

▶️ 观看演示

📖 完整文档 · 🌐 网站 · 🧩 Chrome 扩展 · 🧠 Memory Studio


快速连接(生产环境)

生产环境 URL:https://app.plurality.network/mcp

服务支持 OAuth 2.1 with PKCE(适用于交互式客户端)和个人访问令牌(适用于无头 Agent 和 CI)。大多数客户端会自动处理 OAuth 流程。

适用于 Claude Desktop、Claude Code、ChatGPT、Cursor 以及任何兼容 MCP 的客户端。

→ 所有受支持客户端的分步设置指南


工具

工具描述
get_user_memory_buckets列出用户的所有记忆区(整理后的文件夹)
list_items_in_memory_bucket列出特定记忆区中存储的项目(仅元数据)
search_memory在各记忆区中进行语义搜索,并提供相关性评分
read_context分页读取已存储项目的完整内容
save_memory将文本内容保存到指定记忆区
save_conversation将对话(聊天记录)保存到记忆区
create_memory_bucket创建新的记忆区,用于整理已保存的内容

身份验证

MCP 服务支持两种身份验证方式:

方法适用场景是否需要浏览器?
OAuth 2.1 + PKCE交互式客户端:Claude Desktop、Web、Code、ChatGPT是(一次性)
个人访问令牌(PAT)无头 Agent、CI 运行器、自定义集成、n8n、LangChain否
使用个人访问令牌
  1. 登录控制面板,打开 Connect via MCP → Manage tokens
  2. 点击 Create token,为令牌命名并设置可选的过期时间,然后复制 plur_pat_… 值
  3. 将客户端配置为以 Bearer 令牌的形式发送该令牌:
Authorization: Bearer plur_pat_...

PAT 需要付费计划。PAT 会在过期时自动撤销,可在配置宽限期后轮换(默认 7 天),也可立即从控制面板撤销。PAT 以哈希形式存储,绝不会出现在日志中。

OAuth 详情

服务器使用 Ory Hydra 作为 OAuth2/OIDC 提供方:

属性值
算法RS256
颁发者https://app.plurality.network(生产环境)
作用域openid offline_access mcp:tools
访问令牌 TTL15 分钟
刷新令牌 TTL720 小时
发现端点https://app.plurality.network/.well-known/oauth-authorization-server
动态客户端注册https://app.plurality.network/register
OAuth2 流程(逐步说明)
  1. 客户端发现身份验证服务器 — 从 Traefik 获取 /.well-known/oauth-protected-resource
  2. 客户端注册 — 调用 /register(动态客户端注册)以获取 client_id/client_secret。API Gateway 会将请求代理到 Hydra,并注入 mcp:tools 作用域
  3. 用户进行身份验证 — 浏览器打开 Hydra 的登录流程,随后重定向到前端的登录/授权页面
  4. 颁发令牌 — Hydra 返回 JWT 访问令牌(RS256,TTL 为 15 分钟),其中用户 ID 为 sub 声明,作用域为 mcp:tools
  5. 发送经过身份验证的请求 — 客户端在所有 MCP 请求中加入 Authorization: Bearer <token>
  6. MCP 服务验证令牌 — 根据 Hydra 的 JWKS 公钥在本地验证 JWT 签名(缓存 1 小时),并检查 mcp:tools 作用域
  7. 访问 API Gateway — MCP 服务在调用 API Gateway 端点以检索和存储数据时转发 Bearer 令牌

架构

MCP Client (Claude Code, Cursor, etc.)
    │
    │  OAuth2 + Streamable HTTP
    ▼
Traefik (:5050)           ← single entrypoint for clients
    ├── /mcp              → MCP Server (:5051)
    ├── /.well-known/*    → API Gateway or Hydra
    ├── /oauth2/*         → Hydra (:4444)
    └── /register         → API Gateway (DCR proxy)
                                │
                                │ Bearer token
                                ▼
                          API Gateway (:5000)
                                │
                                ▼
                          Vector Service (:8000)

Traefik 是唯一入口。它将 OAuth 流量路由到 Hydra,并将 MCP 协议流量路由到 MCP 服务。MCP 服务使用 Hydra 的 JWKS 密钥在本地验证 JWT,然后将 Bearer 令牌转发到 API Gateway 以访问数据。API Gateway 负责身份验证、DCR 代理,并将向量/搜索操作路由到 Vector Service。


本地开发环境设置

先决条件
  • Python 3.11+
  • uv(Python 包管理器)
  • Docker 和 Docker Compose
  • 正在运行的 API Gateway(plurality-backend-api):负责身份验证、OAuth 元数据、DCR 代理和数据库访问
  • 正在运行的 Vector Service(plurality-ai-service):负责语义搜索和向量数据库操作
1. 安装依赖项
cd plurality-mcp-server
pip install uv
uv sync
2. 配置环境
cp .env.example .env

本地开发可使用默认值——如果 API Gateway 在 :5000 端口运行,则无需更改:

HYDRA_ISSUER=http://localhost:5050
MCP_RESOURCE_URL=http://localhost:5050
BACKEND_API_URL=http://localhost:5000
3. 启动 Docker 服务(Hydra + Traefik)
cd ory-hydra
docker compose up -d

这将启动:

服务端口用途
PostgreSQL5433Hydra 的数据库
Hydra4444, 4445OAuth2/OIDC 提供方(公开端口 + 管理端口)
Traefik5050反向代理 / 路由

等待服务运行正常:docker compose ps

4. 启动 MCP 服务
uv run uvicorn main:mcp_server --host 0.0.0.0 --port 5051 --reload

使用端口 5051,而不是 5050。Traefik 监听 5050,并将 /mcp 代理到运行在 5051 端口的 MCP 服务。

5. 验证
# Health check (direct)
curl http://localhost:5051/mcp/health

# OAuth metadata (via Traefik)
curl http://localhost:5050/.well-known/oauth-protected-resource

# Traefik dashboard (for debugging routes)
open http://localhost:8080
本地客户端配置
Claude Code
claude mcp add --transport http plurality-memory http://localhost:5050/mcp

然后在 Claude Code 中通过 /mcp 进行身份验证。

Claude Code — VS Code 扩展

先在终端中按照上述步骤进行身份验证。然后将 .mcp.json 添加到项目根目录:

{
  "mcpServers": {
    "plurality-memory": {
      "type": "http",
      "url": "http://localhost:5050/mcp"
    }
  }
}

VS Code 扩展可能不会自动触发 OAuth 浏览器流程。请先在终端中完成身份验证。

Claude Desktop

编辑配置文件:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "plurality-memory": {
      "command": "npx",
      "args": ["mcp-remote", "http://localhost:5050/mcp"]
    }
  }
}

完全重启 Claude Desktop,然后在浏览器打开时进行身份验证。

MCP Inspector(调试)
npx @modelcontextprotocol/inspector

将 http://localhost:5050/mcp 输入为服务 URL。Inspector 会引导你完成 OAuth 流程,并允许你交互式调用工具。

注意: 本地开发不支持 ChatGPT,因为它需要可公开访问的 OAuth 端点。


项目结构

plurality-mcp-server/
├── main.py                             # Entry point
├── pyproject.toml                      # Dependencies (managed by uv)
├── .env.example                        # Environment template
├── src/plurality_mcp_server/
│   ├── app.py                          # FastMCP app + middleware stack
│   ├── config.py                       # Env vars, shared HTTP client, context vars
│   ├── auth.py                         # JWT validation via Hydra JWKS + scope check
│   └── tools.py                        # MCP tool definitions (read + write)
└── ory-hydra/
    ├── docker-compose.yml              # Hydra + Traefik + PostgreSQL
    ├── hydra.yml                       # Hydra OAuth2/OIDC config
    ├── traefik.yml                     # Traefik static config
    └── dynamic.yml                     # Traefik routing rules

故障排除

MCP 客户端收到 401 Unauthorized
  • 检查 Hydra 是否正在运行:curl http://localhost:4444/.well-known/openid-configuration
  • 检查 JWT 是否已过期(TTL 为 15 分钟)
  • 验证 HYDRA_ISSUER 是否与令牌 iss 声明中的签发者匹配
  • 确保令牌具有 mcp:tools 范围
MCP 客户端收到 502 Bad Gateway
  • MCP 服务未在端口 5051 上运行
  • 检查 Traefik 日志:docker compose -f ory-hydra/docker-compose.yml logs traefik
工具返回“Error: Backend API returned status 401”
  • API Gateway 需要接受 Hydra JWT — 确保已安装 jwks-rsa,并已部署 OAuth 身份验证中间件
OAuth 流程重定向到 localhost:3000,但该地址没有响应
  • Hydra 配置为 login: http://localhost:3000/login — 该地址指向 Plurality 前端。请启动前端或更新 hydra.yml 中的 URL。
DCR 返回意外的范围或缺少 mcp:tools
  • API Gateway 的 DCR 代理会将 mcp:tools 注入允许的范围。确保 API Gateway 正在运行且 /register 路由可访问。

链接


评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。