Your AI agent understands the project today. Tomorrow, you open another agent and explain the same architecture, preferences, and decisions again.
The model changed. The chat history stayed behind. Your context did not move with you.
I built Sutra MCP to make that handoff explicit: one private, portable memory layer and reusable skill library that can be accessed by supported AI agents through the Model Context Protocol.
This article shows what that means, how the pieces fit together, and how to connect an MCP client in a few minutes.
Sutra is a hosted MCP service for user-controlled AI agent memory and reusable skills.
Instead of treating every conversation as memory, Sutra exposes deliberate operations to:
SKILL.md
workflows separately from personal memoryThe same Streamable HTTP endpoint works across clients:
https://sutra-c3or.onrender.com/mcp
Sutra is published in the Official MCP Registry as io.github.shivnathtathe/sutra.
Agent memory and agent skills are often discussed as if they are interchangeable. They are not.
| Layer | Question it answers | Example |
|---|---|---|
| Memory | What should this agent know about me or this project? | "This service uses UTC internally and displays local time at the UI boundary." |
| Skill | How should an agent perform a repeatable task? | A tested release checklist stored as a reusable SKILL.md workflow. |
Memory carries durable facts, preferences, corrections, and decisions. Skills carry reusable operating knowledge.
Sutra keeps both available through MCP without permanently injecting everything into every prompt.
Here is a practical handoff you can try after connecting two supported clients.
In Agent A, ask:
Use Sutra to save this project decision in my payments cluster:
"All internal timestamps use UTC; localization happens only at the presentation boundary."
I authorize this memory write.
The explicit authorization matters. A normal conversation should not silently become permanent memory.
Open Agent B and ask:
Search my Sutra payments cluster for our timestamp convention.
Use only the context relevant to this question.
Agent B does not need Agent A's chat transcript. It retrieves the specific durable decision through Sutra.
In any connected agent, ask:
List my enabled Sutra skills. If there is a release checklist, show me its resource index before any supporting files.
This keeps procedural knowledge discoverable without filling the context window with every workflow you have ever saved.
That is the core idea: store intentionally, retrieve selectively, and reuse across agents.
First, create a Sutra account. Then choose the authentication method supported by your client.
| Authentication | Best for | Behavior |
|---|---|---|
| OAuth 2.1 | Remote MCP clients with browser authorization | The client requests consent and stores a revocable grant. |
| API key | Clients that expect an Authorization header |
|
| Create a dedicated, revocable key and keep it in the client's secret storage. |
Add this to ~/.cursor/mcp.json
:
{
"mcpServers": {
"sutra": {
"url": "https://sutra-c3or.onrender.com/mcp"
}
}
}
Connect the server and complete Sutra's browser authorization flow.
Merge this into your global or project opencode.json
:
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"sutra": {
"type": "remote",
"url": "https://sutra-c3or.onrender.com/mcp",
"oauth": {}
}
}
}
Authorize and inspect the connection:
opencode mcp auth sutra
opencode mcp list
Create .vscode/mcp.json
, or merge this into your user MCP configuration:
{
"inputs": [
{
"id": "sutra-api-key",
"type": "promptString",
"description": "Sutra API key",
"password": true
}
],
"servers": {
"sutra": {
"type": "http",
"url": "https://sutra-c3or.onrender.com/mcp",
"headers": {
"Authorization": "Bearer ${input:sutra-api-key}"
}
}
}
}
VS Code requests the key through a masked input instead of storing it in the configuration file.
npm install -g @shivnathtathe/sutra-cli
sutra connect claude-code
The CLI requests a dedicated key and writes the supported local configuration.
Current instructions for 22 clients are available in the Sutra integration catalog.
Sutra separates reads from deliberate writes, uploads, and exports.
| Tool | Access | Purpose |
|---|---|---|
read_context |
||
| Read | Load the user's shared identity context. | |
search_memory |
||
| Read | Find targeted memories by keyword. | |
list_clusters |
||
| Read | Discover available project clusters. | |
get_cluster |
||
| Read | Load one known project cluster. | |
write_observation |
||
| Write | Save one durable preference, decision, correction, or fact. | |
export_all |
||
| Export | Export all user memories for data portability. | |
list_skills |
||
| Read | Discover skills explicitly enabled by the user. | |
get_skill |
||
| Read | Load an enabled skill and its resource index. | |
get_skill_resource |
||
| Read | Read one supporting resource from an enabled skill. | |
upload_skill |
||
| Write | Upload a new immutable skill version after explicit authorization. |
After authorization, use this connection check:
Use Sutra to list my project clusters, then ask before saving anything.
Your client should discover all ten tools.
Sutra is a hosted service, not a local-only database. Private means access-controlled, user-specific context with explicit data boundaries; it does not mean data never leaves your machine.
Sutra:
Sutra does not:
The connected AI client has its own data-handling policies. Review both the Sutra Privacy Policy and your client's policy before sending sensitive information.
Never commit a Sutra API key, OAuth token, password, or memory export to source control.
| Approach | Strength | Tradeoff |
|---|---|---|
| Chat history | Automatic and convenient | Usually tied to one product or conversation. |
| Project instruction files | Transparent and versionable | Often project-specific and loaded as static context. |
| Local memory servers | Maximum infrastructure control | You operate the database, runtime, backups, and client connectivity. |
| Vendor-native memory | Deep integration with one assistant | Portability depends on that vendor. |
| Sutra MCP | Hosted, selective memory plus reusable skills across supported agents | Requires a Sutra account and network connection. |
Sutra is not intended to replace every memory architecture. It is for people who want their useful context and repeatable workflows to outlast one chat window or one AI client.
The Sutra MCP integrations repository contains the open manifests, client configurations, documentation, and artwork needed to connect MCP clients. Those integration files are MIT licensed.
The hosted backend, dashboard, APIs, infrastructure, datasets, service implementation, and trademarks remain proprietary and are not included in that repository.
You can inspect Sutra through:
Connect Sutra to two agents you already use. Save one non-sensitive project decision with explicit authorization, retrieve it from the second agent, and see whether that small handoff removes a repeated explanation from your workflow.
If context should outlast the chat window, it should also remain under the user's control.
Create your private Sutra workspace or review the integration guide.
I would value feedback on three questions: