MCP Server
Connect Claude Desktop, Claude.ai, and any MCP client to your memories — over a remote MCP server with OAuth 2.1 and consent-based access. No tokens to copy.
What you get
MCP — the Model Context Protocol — is an open standard for connecting AI clients to outside tools and data. recuerd0 runs a remote MCP server at POST /mcp (Streamable HTTP, JSON-RPC 2.0): point an MCP client at your instance and it can read, search, and write memories across your workspaces, through six tools scoped to the access you approve.
The connection is consent-based. The client registers itself, you approve a short permission screen, and that's it — there is no API token to generate, copy, or paste into a config file. Approve once per client; disconnect any time.
Why MCP
MCP lets the model reach your curated context in the middle of a conversation, instead of you pasting it in.
Without it, you copy a personal API token into each tool's config and paste context into prompts by hand — one static token with broad access. With recuerd0 over MCP, you approve a consent screen once (the client registers itself), the model queries memories on demand — list, search, read — and access stays scoped and revocable: you can see every connected client and disconnect it.
Supported clients
Any client that speaks the Model Context Protocol over HTTP can connect.
| Client | How it connects |
|---|---|
| Claude Desktop | Add a custom connector with your server URL |
| Claude.ai | Add the connector in settings |
| Any MCP client | Send JSON-RPC 2.0 to POST /mcp (Streamable HTTP) |
Connect Claude Desktop
Three steps. The OAuth handshake runs itself once you add the URL.
1. Open connector settings
In Claude Desktop or Claude.ai, go to Settings → Connectors → Add custom connector.
2. Add your server URL
Use the MCP endpoint of your instance.
https://recuerd0.ai/mcp3. Approve the consent screen
The first connection opens a browser screen titled Connect to Recuerd0. Approve the scopes and the client is connected.
Authorization
recuerd0 is its own OAuth 2.1 authorization server — built into the app, no external service. Clients self-register with Dynamic Client Registration and prove themselves with PKCE; there are no shared secrets to manage.
| Endpoint | Purpose |
|---|---|
GET /.well-known/oauth-authorization-server | Authorization server metadata (RFC 8414) |
GET /.well-known/oauth-protected-resource | Protected resource metadata (RFC 9728) |
GET /.well-known/oauth-protected-resource/mcp | Path-suffixed variant clients probe first |
POST /oauth/register | Dynamic Client Registration (RFC 7591) |
GET · POST /oauth/authorize | Consent screen and authorization code |
POST /oauth/token | Exchange the code, or refresh an access token |
POST /oauth/revoke | Revoke a token (RFC 7009) |
Check discovery
The authorization server metadata is public — a quick way to confirm an instance is reachable.
curl https://recuerd0.ai/.well-known/oauth-authorization-serverThe consent screen
Every client connection shows exactly what it is asking for. You approve or deny — nothing is granted silently. On the screen, titled Connect to Recuerd0, you approve exactly:
- Read your memories
- Create and update memories
- View your workspaces
The six tools
The server exposes six tools. Three read, three write. Each one is scoped to your account's workspaces.
| Tool | Type | What it does |
|---|---|---|
list_workspaces | read | List the workspaces in your account |
list_memories | read | List memories in a workspace; optional FTS5 query and category filter |
read_memory | read | Read the full content of one memory |
create_memory | write | Create a memory in a workspace, with optional tags |
update_memory | write | Update a memory in place — title, content, category, or tags |
create_version | write | Append a new immutable version to a memory, preserving history |
A tool call
Tools are JSON-RPC 2.0 methods. The client handles this — you just ask the model in plain language.
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "list_memories",
"arguments": { "workspace_id": "1", "query": "authentication" }
}
}Scopes & permissions
A client asks for scopes; recuerd0 maps them to a permission tier on the token it issues.
| Scope | Grants | Tier |
|---|---|---|
memories:read | Read and search memories | read_only |
memories:write | Create and update memories | full_access |
workspaces:read | List your workspaces | read_only |
A read_only token can call list_workspaces, list_memories, and read_memory. The three write tools — create_memory, update_memory, and create_version — need full_access.
Connected applications
Every client you approve appears in your profile under Connected applications, with the name it registered and when it connected.
Disconnect a client
Disconnecting revokes the token immediately (RFC 7009). The client loses access until it reconnects and you approve it again.
Security & limits
The MCP and OAuth endpoints are rate-limited per token or per IP. Exceeding a limit returns 429 Too Many Requests.
| Endpoint | Limit |
|---|---|
POST /mcp | 120 requests / minute per token |
POST /oauth/token | 30 requests / minute per IP |
POST /oauth/register | 15 requests / minute per IP |
POST /oauth/revoke | 30 requests / minute per IP |
Clients prove themselves with PKCE rather than a shared secret, access tokens are short-lived, and tokens are stored only as hashes — the raw value exists just long enough to hand to the client.
Troubleshooting
| Symptom | Likely cause | Fix |
|---|---|---|
| Client can't authorize | The instance URL isn't reachable, or the URL is wrong | Use the full https://<instance>/mcp URL; confirm the instance is public |
| Consent screen sends you to sign in | No active recuerd0 session in that browser | Sign in to recuerd0 first, then retry the connection |
| Write tools are missing | The token is read_only | Reconnect and approve Create and update memories |
| App stopped working after a disconnect | Its token was revoked | Reconnect — the client re-registers and re-consents |