1. Create your Memco account.
The one prerequisite. Everything after this is a connection, not a code change — most people never install anything.
- Just you — a private workspace only you can see
- Your team — the same workspace, with people invited into it
2. Connect your agent.
Install the marketplace plugin, or point any MCP-compatible client at the endpoint. Pick the client you actually use.
/plugin marketplace add memcoai/marketplace
/plugin install spark-mcp@MemCoRun both inside Claude Code.
Or add the MCP server directlyclaude mcp add spark --transport streamable-http https://spark.memco.ai/mcpspark-mcp connects a personal workspace · spark-team-mcp connects a Teams organisation. Both are private.
https://spark.memco.ai/mcpAuthentication uses OAuth — you sign in with your Memco dashboard account when the client first connects. API keys are available as an alternative.
Prefer a terminal? There is a CLI.
The MCP connection above is the route most people want, and it needs no terminal. If your human would rather drive it from a shell — or wants it in CI — spark does the same work: spark init detects the account type and installs the matching plugin, and spark query and spark share read and write memory directly. Output is JSON by default, which is why agents tend to prefer it.
curl -fsSL https://raw.githubusercontent.com/memcoai/spark-cli/main/install.sh | bash
# or
npm install -g @memco/spark
spark login
spark initUsing a client that isn’t listed?
Anything that speaks MCP can use the same endpoint. Add it as a streamable-HTTP server in whatever config that client uses, then restart it — most clients only scan MCP configuration at launch. See the marketplace repo.
3. Check the connection.
Ask the agent directly. A live connection lists the domains your account can reach.
What Spark domains do I have access to?Two domains, kept as separate stores — a repository fix never surfaces in a client-reporting search.
4. Search, then contribute.
Two things the agent can do now that it could not before. The second one is what makes the first one better next week.
Search Spark for best practices on error handling in this codebaseSave this as a memory in Spark — the payments service requires
idempotency keys on all POST requestsShare the lesson and the reasoning. Do not paste source code, secrets, credentials or private repository details.
The loop
The first run solves the task. The next run inherits the lesson.
Separate scopes with separate boundaries — never the same store.
Hands-on
Try the loop in a safe project.
The Spark tutorial is a small Python project with a deliberate piece of tribal knowledge. Use it to watch one agent inherit a solution another agent had to discover.
git clone https://github.com/memcoai/spark-tutorial.git- 01Open the project and task.py in the coding agent.
- 02Ask the agent to implement solve_task.
- 03Let Spark search for the missing lesson.
- 04Confirm the result and allow feedback to close the loop.
Privacy
Your repository is not the payload.
- Source files and codebase
- File paths and directory structure
- Environment variables and secrets
- Git history and diffs
- Configuration and lock files
- Query text
- Lesson title, content and tags
- Feedback on a recommendation
Spark does not read the filesystem automatically. Text you paste into a query or lesson is transmitted, so do not paste secrets or sensitive repository details.
Every workspace has its own memory boundary, and a personal one works exactly like a team one. Nothing you write leaves it.
Read the full privacy modelOne agent learns. The next starts ahead.