Server data from the Official MCP Registry
Universal memory for AI agents and tools. Save, organize and search context anywhere.
Universal memory for AI agents and tools. Save, organize and search context anywhere.
Remote endpoints: streamable-http: https://app.plurality.network/mcp
Valid MCP server (1 strong, 2 medium validity signals). 8 known CVEs in dependencies (0 critical, 5 high severity) Imported from the Official MCP Registry.
Endpoint verified · Requires authentication · 9 issues found
Security scores are indicators to help you make informed decisions, not guarantees. Always review permissions before connecting any MCP server.
This plugin requests these system permissions. Most are normal for its category.
Unverified package source
We couldn't verify that the installable package matches the reviewed source code. Proceed with caution.
Remote Plugin
No local installation needed. Your AI client connects to the remote endpoint directly.
Add this to your MCP configuration to connect:
{
"mcpServers": {
"network-plurality-ai-context-flow": {
"url": "https://app.plurality.network/mcp"
}
}
}From the project's GitHub README.
An OAuth-secured Model Context Protocol server that gives any MCP-compatible AI client (Claude Code, Claude Desktop, Cursor, etc.) read and write access to a user's Plurality memory — documents, notes, and files stored across memory buckets.
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 is the single entrypoint. It routes OAuth traffic to Hydra and MCP protocol traffic to the MCP server. The MCP server validates JWTs locally via Hydra's JWKS keys, then forwards the Bearer token to the API Gateway for data access. The API Gateway handles authentication, DCR proxying, and routes vector/search operations to the Vector Service.
| Tool | Description |
|---|---|
get_user_memory_buckets | List all memory buckets (AI profiles) for the user |
list_items_in_memory_bucket | List stored items in a specific bucket (metadata only) |
search_memory | Semantic search across buckets with relevance scoring |
read_context | Read the full content of a stored item with pagination |
save_memory | Save text content to a specific memory bucket |
save_conversation | Save a conversation (chat history) to a memory bucket |
create_memory_bucket | Create a new memory bucket for organizing saved content |
cd plurality-mcp-server
pip install uv
uv sync
cp .env.example .env
Default values work for local development — no changes needed if the API Gateway runs on :5000:
HYDRA_ISSUER=http://localhost:5050
MCP_RESOURCE_URL=http://localhost:5050
BACKEND_API_URL=http://localhost:5000
cd ory-hydra
docker compose up -d
This starts:
| Service | Port | Purpose |
|---|---|---|
| PostgreSQL | 5433 | Hydra's database |
| Hydra | 4444, 4445 | OAuth2/OIDC provider (public + admin) |
| Traefik | 5050 | Reverse proxy / routing |
Wait for all services to be healthy:
docker compose ps
uv run uvicorn main:mcp_server --host 0.0.0.0 --port 5051 --reload
Port 5051, not 5050. Traefik listens on 5050 and proxies
/mcpto the MCP server on 5051.
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): http://localhost:8080
Production URL: https://app.plurality.network/mcp
Dev URL: https://dev.plurality.network/mcp
The MCP server accepts two auth methods:
| Method | When to use | Browser required? |
|---|---|---|
| OAuth 2.1 + PKCE (Hydra) | Interactive clients: Claude Desktop, Web, Code, ChatGPT | Yes (one-time) |
| Personal Access Token (PAT) | Headless agents, CI runners, custom integrations, Perplexity, n8n, LangChain | No |
PATs require a paid plan and are managed from the Connect via MCP popup in the dashboard sidebar (click "Manage tokens →"). Pick OAuth if your client supports a browser; pick PAT if it doesn't.
plur_pat_… valueAuthorization: Bearer plur_pat_...
https://app.plurality.network/mcpPATs auto-revoke at their expiry, can be rotated with a configurable grace period (default 7 days), and can be immediately revoked from the dashboard. They never appear in logs and are stored hashed.
Easy setup (paid plans — Pro, Max, Team, Enterprise):
https://app.plurality.network/mcpDevelopment mode (free plan — Desktop app only):
Free-plan users can connect the Desktop app via the mcp-remote bridge by editing the config file directly. This does not work with the web app — only the native Desktop app reads this config.
Open the config file:
%APPDATA%\Claude\claude_desktop_config.json~/Library/Application Support/Claude/claude_desktop_config.jsonAdd the mcpServers block:
{
"mcpServers": {
"plurality-memory": {
"command": "npx",
"args": ["mcp-remote", "https://app.plurality.network/mcp"]
}
}
}
Windows note: If you get "Connection closed" errors, wrap with
cmd /c:{ "command": "cmd", "args": ["/c", "npx", "mcp-remote", "https://app.plurality.network/mcp"] }
mcp-remote opens your browser for OAuth login. After authenticating, tokens are cached locally.https://app.plurality.network/mcp as the URLRequires a Plus, Pro, Team, Enterprise, or Edu plan. Developer Mode must be enabled by a workspace admin under Settings → Admin → Developer Mode.
claude mcp add --transport http plurality-memory https://app.plurality.network/mcp
Then authenticate inside Claude Code:
> /mcp
Any MCP client that supports streamable HTTP transport and OAuth2 with Dynamic Client Registration (DCR) can connect by pointing to https://app.plurality.network/mcp.
For local dev, the MCP server runs at http://localhost:5050/mcp via Traefik. Since this isn't publicly reachable, some clients need workarounds.
claude mcp add --transport http plurality-memory http://localhost:5050/mcp
/mcp command:> /mcp
This triggers the OAuth2 flow — Claude Code discovers Hydra's authorization server from the /.well-known/oauth-protected-resource metadata, registers a client via Dynamic Client Registration (DCR), and opens the browser for login/consent.
Authenticate first in the terminal using the steps above (claude mcp add + /mcp). OAuth tokens are stored and shared across terminal and VSCode.
Add .mcp.json to your project root:
{
"mcpServers": {
"plurality-memory": {
"type": "http",
"url": "http://localhost:5050/mcp"
}
}
}
Note: The VSCode extension may not trigger the OAuth browser flow automatically. Completing authentication via the terminal first ensures tokens are available for the extension.
Claude Desktop's config file only supports stdio transport, so it can't connect to HTTP servers directly. Use the mcp-remote bridge which translates between stdio and HTTP.
Open the config file:
%APPDATA%\Claude\claude_desktop_config.json~/Library/Application Support/Claude/claude_desktop_config.jsonAdd the mcpServers block:
{
"mcpServers": {
"plurality-memory": {
"command": "npx",
"args": ["mcp-remote", "http://localhost:5050/mcp"]
}
}
}
Windows note: If you get "Connection closed" errors, wrap with
cmd /c:{ "command": "cmd", "args": ["/c", "npx", "mcp-remote", "http://localhost:5050/mcp"] }
Fully restart Claude Desktop (quit and reopen, not just close the window).
On first use, mcp-remote opens your browser for the Hydra OAuth login. After authenticating, tokens are cached locally.
Look for the tools icon in Claude Desktop's chat input — you should see the 7 Plurality tools.
Not supported for local development. ChatGPT's servers need to reach the OAuth endpoints over the public internet, which isn't possible with localhost. Use the production setup with a deployed URL instead.
npx @modelcontextprotocol/inspector
Enter http://localhost:5050/mcp as the server URL. The inspector will walk through the OAuth flow and let you call tools interactively.
The server uses Ory Hydra as the OAuth2/OIDC provider with the following flow:
/.well-known/oauth-protected-resource from Traefik/register (Dynamic Client Registration) to get client_id/client_secret. The API Gateway proxies this to Hydra, injecting the mcp:tools scopesub claim and mcp:tools scopeAuthorization: Bearer <token> on all MCP requestsmcp:tools scope is checked| Property | Value |
|---|---|
| Algorithm | RS256 |
| Issuer | http://localhost:5050 (local) / https://app.plurality.network (prod) |
| Subject | User's database UUID |
| Scope | openid offline_access mcp:tools |
| Access token TTL | 15 minutes |
| Refresh token TTL | 720 hours |
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 client gets 401 Unauthorized
curl http://localhost:4444/.well-known/openid-configurationHYDRA_ISSUER matches the issuer in the token's iss claimmcp:tools scopeMCP client gets 502 Bad Gateway
docker compose -f ory-hydra/docker-compose.yml logs traefikTools return "Error: Backend API returned status 401"
jwks-rsa is installed and the OAuth auth middleware is deployedOAuth flow redirects to localhost:3000 but nothing is there
login: http://localhost:3000/login — this points to the Plurality frontend. Start the frontend or update hydra.yml URLs.DCR returns unexpected scope or missing mcp:tools
mcp:tools into the allowed scopes. Ensure the API Gateway is running and the /register route is reachable.Be the first to review this server!
by Modelcontextprotocol · Developer Tools
Read, search, and manipulate Git repositories programmatically
by Toleno · Developer Tools
Toleno Network MCP Server — Manage your Toleno mining account with Claude AI using natural language.
by mcp-marketplace · Developer Tools
Create, build, and publish Python MCP servers to PyPI — conversationally.