关于 AI Context Flow
AI Context Flow 是为 MCP 兼容客户端提供持久化记忆的服务,面向需要跨 Agent 保存和检索上下文的用户。它将内容整理到记忆桶中,并支持语义搜索及多人共享。
主要功能
- 01按记忆桶组织内容
- 02保存文本和对话
- 03跨桶语义搜索
- 04读取已存内容
- 05创建及共享记忆桶
适用场景
- 01保存不同 AI 工具中的重要对话
- 02为多个 Agent 共用项目上下文
- 03用自然语言查找相关记忆
MCP 相关
该 MCP 服务向兼容客户端提供记忆桶管理、保存、读取和搜索工具。支持 OAuth 2.1 + PKCE 与个人访问令牌认证。
配置
远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。
https://app.plurality.network/mcpclaude mcp add --transport http plurality https://app.plurality.network/mcp{"mcpServers":{"plurality":{"type":"http","url":"https://app.plurality.network/mcp"}}}在 Cursor 中打开{"servers":{"plurality":{"type":"http","url":"https://app.plurality.network/mcp"}}}在 VS Code 中打开{"mcpServers":{"plurality":{"type":"http","url":"https://app.plurality.network/mcp"}}}{"mcpServers":{"plurality":{"serverUrl":"https://app.plurality.network/mcp"}}}命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。
工具
详细介绍
Plurality MCP Server
为 AI Agent 和工具提供通用记忆。随时随地保存、整理和搜索上下文。
一个 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 | 否 |
使用个人访问令牌
- 登录控制面板,打开 Connect via MCP → Manage tokens
- 点击 Create token,为令牌命名并设置可选的过期时间,然后复制
plur_pat_…值 - 将客户端配置为以 Bearer 令牌的形式发送该令牌:
Authorization: Bearer plur_pat_...
PAT 需要付费计划。PAT 会在过期时自动撤销,可在配置宽限期后轮换(默认 7 天),也可立即从控制面板撤销。PAT 以哈希形式存储,绝不会出现在日志中。
OAuth 详情
服务器使用 Ory Hydra 作为 OAuth2/OIDC 提供方:
| 属性 | 值 |
|---|---|
| 算法 | RS256 |
| 颁发者 | https://app.plurality.network(生产环境) |
| 作用域 | openid offline_access mcp:tools |
| 访问令牌 TTL | 15 分钟 |
| 刷新令牌 TTL | 720 小时 |
| 发现端点 | https://app.plurality.network/.well-known/oauth-authorization-server |
| 动态客户端注册 | https://app.plurality.network/register |
OAuth2 流程(逐步说明)
- 客户端发现身份验证服务器 — 从 Traefik 获取
/.well-known/oauth-protected-resource - 客户端注册 — 调用
/register(动态客户端注册)以获取client_id/client_secret。API Gateway 会将请求代理到 Hydra,并注入mcp:tools作用域 - 用户进行身份验证 — 浏览器打开 Hydra 的登录流程,随后重定向到前端的登录/授权页面
- 颁发令牌 — Hydra 返回 JWT 访问令牌(RS256,TTL 为 15 分钟),其中用户 ID 为
sub声明,作用域为mcp:tools - 发送经过身份验证的请求 — 客户端在所有 MCP 请求中加入
Authorization: Bearer <token> - MCP 服务验证令牌 — 根据 Hydra 的 JWKS 公钥在本地验证 JWT 签名(缓存 1 小时),并检查
mcp:tools作用域 - 访问 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
这将启动:
| 服务 | 端口 | 用途 |
|---|---|---|
| PostgreSQL | 5433 | Hydra 的数据库 |
| Hydra | 4444, 4445 | OAuth2/OIDC 提供方(公开端口 + 管理端口) |
| Traefik | 5050 | 反向代理 / 路由 |
等待服务运行正常: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路由可访问。
链接
- 📖 文档
- 🌐 网站
- 🧩 Chrome 扩展
- 🧠 Memory Studio
- 📦 MCP Registry
- 🔧 Smithery
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。