A skill that enables AI agents to create projects, upload documents, and then search/retrieve/analyze data from a MemoryLake server — the memory layer for AI Agents.
This skill works with any AI coding agent that supports MCP or can execute shell commands:
|
Claude Code |
Cursor |
OpenAI Codex |
Manus |
Google Antigravity |
OpenClaw |
| Anthropic's agentic CLI for Claude |
AI-powered code editor |
OpenAI's terminal coding agent |
Autonomous AI agent by Meta |
Google's agent-first IDE with Gemini |
Open-source personal AI assistant |
How it works:
- Use the REST API (Bearer API key +
X-User-ID) to create a project, upload documents, and generate an MCP secret.- Use the Streamable HTTP MCP server (secret in query string) for search + retrieval + code-run analysis.
This repo includes two shell clients:
scripts/memorylake_rest_client.sh(REST)scripts/memorylake_client.sh(MCP)
MemoryLake ingests unstructured files (Excel, PDF, text, etc.), chunks and indexes their content, and exposes it through a Streamable HTTP MCP Server for intelligent retrieval and data analysis. It gives AI agents long-term memory over your documents.
- Hybrid search — Semantic + keyword (BM25) search across all indexed documents
- File exploration — Browse memorylake contents, file types, and metadata
- Code-based analysis — Run Python (pandas, numpy, scikit-learn, etc.) against your data server-side
- Session management — A bash client that handles the MCP Streamable HTTP protocol (JSON-RPC, SSE, session lifecycle)
memorylake-skills/
├── SKILL.md # Skill definition with end-to-end workflow (REST → MCP)
├── scripts/
│ ├── memorylake_rest_client.sh # REST client (projects, uploads, documents)
│ └── memorylake_client.sh # MCP client (Streamable HTTP MCP)
├── references/
│ ├── mcp-tools.md # MCP tool parameters and response formats
│ └── memorylake-openapi.json # REST OpenAPI spec (projects/drives/upload/etc.)
└── memorylake-skills.skill # Packaged distributable (.zip with .skill extension)
Download memorylake-skills.skill from Releases or clone this repo, then install in your AI agent. For example, in Claude Code:
/skill install memorylake-skills.skill
- Go to https://app.memorylake.ai/ and apply for an API key.
- REST Base URL:
https://app.memorylake.ai/openapi/memorylake
Auth headers:
Authorization: Bearer <your API key>X-User-ID: <your user id>
export MEMORYLAKE_BASE_URL="https://app.memorylake.ai/openapi/memorylake"
export MEMORYLAKE_API_KEY="<your api key>"
export MEMORYLAKE_USER_ID="<your user id>"
# Create project
./scripts/memorylake_rest_client.sh projects:create '{"name":"My Project"}'
# Create project API key (this is the MCP secret)
./scripts/memorylake_rest_client.sh projects:create-apikey <project_id> '{"description":"mcp"}'Use the returned secret to form the MCP URL:
https://ai.data.cloud/memorylake/mcp/v1?apikey=<secret>
# Create multipart upload and complete it (uploads parts to presigned URLs)
./scripts/memorylake_rest_client.sh upload:create-multipart '{"file_size": 123456}' > upload.json
./scripts/memorylake_rest_client.sh upload:complete-multipart upload.json /path/to/file.pdf
# Then quick-add into the project
./scripts/memorylake_rest_client.sh projects:quick-add <project_id> '{"object_key":"<object_key>","file_name":"file.pdf"}'If you have multiple documents, upload + quick-add one by one.
./scripts/memorylake_rest_client.sh projects:list-documents <project_id>Document status values: error, okay, running, pending. Recommended polling interval: 5s.
Once installed, your AI agent can:
- "What files are in my memorylake?"
- "Search for budget reports from 2024"
- "Analyze the revenue data across all uploaded spreadsheets"
- "Summarize the content of my PDF documents"
The skill exposes 5 MemoryLake tools via HTTP:
| Tool | Purpose |
|---|---|
get_memorylake_metadata |
Explore memorylake structure and contents |
search_memory |
Hybrid semantic + keyword search across all files |
fetch_memory |
Get detailed metadata for specific files |
create_memory_code_runner |
Create a Python execution environment |
run_memory_code |
Run Python code against your data (pandas, numpy, etc.) |
Once you have the MCP URL (.../mcp/v1?apikey=<secret>), you can use scripts/memorylake_client.sh directly:
MCP_URL="https://ai.data.cloud/memorylake/mcp/v1?apikey=<secret>"
# Initialize a session
SESSION=$(./scripts/memorylake_client.sh "$MCP_URL" init)
# Explore your memorylake
./scripts/memorylake_client.sh "$MCP_URL" "$SESSION" get_memorylake_metadata
# Search for content
./scripts/memorylake_client.sh "$MCP_URL" "$SESSION" search_memory '{
"parsed_query": {
"bm25_cleaned_query": "revenue report 2024",
"named_entities": [],
"bm25_keywords": ["revenue", "report", "2024"],
"bm25_boost_keywords": ["revenue", "2024"],
"rewritten_query_for_dense_model": "Annual revenue and financial reports for the year 2024"
}
}'
# Fetch file details
./scripts/memorylake_client.sh "$MCP_URL" "$SESSION" fetch_memory '{"memory_ids": ["ds-abc123"]}'- curl (included on macOS and most Linux distros)
- A MemoryLake API key from memorylake.ai
- MemoryLake — The memory layer for AI Agents
- Model Context Protocol — The protocol MemoryLake implements
- Claude Code | Cursor | OpenAI Codex | Manus | Google Antigravity | OpenClaw
MIT