| name | add-vibebase |
| description | Add vibebase — contextual GIF and meme search — as an MCP tool so the agent can respond with reaction media instead of plain text. |
Add vibebase
Adds vibebase as an MCP tool. Vibebase is a semantic GIF database — it searches by conversational context (not keywords) and returns the right reaction GIF for the moment.
After installation, the agent gets two tools: search_gif to find GIFs and ingest_category to seed the database with new categories.
Phase 1: Pre-flight
Check if already applied
Look for container/skills/vibebase/SKILL.md in this repo. If it exists, skip to Phase 3.
Get vibebase path
Ask the user:
What is the absolute path to your local vibebase repo? (e.g. /Users/you/code/vibebase)
Store this as <vibebase_path>.
Verify vibebase
- Confirm
<vibebase_path>/mcp.ts exists
- Confirm
<vibebase_path>/node_modules exists (if not, run npm install in that directory)
Verify API keys
Check that the following are set in this repo's .env:
GIPHY_API_KEY — needed for GIF ingestion from Giphy
GOOGLE_API_KEY — needed for Gemini vision (describing GIFs) and embeddings (search)
If either is missing, ask the user to add them.
Phase 2: Apply changes
1. Copy the agent-facing skill
mkdir -p container/skills/vibebase
cp <vibebase_path>/nanoclaw/container/vibebase/SKILL.md container/skills/vibebase/SKILL.md
2. Add vibebase to .mcp.json
Add this entry to .mcp.json under "mcpServers":
{
"vibebase": {
"type": "stdio",
"command": "npm",
"args": ["--prefix", "<vibebase_path>", "run", "mcp"],
"env": {
"VIBEBASE_DB_PATH": "<vibebase_path>/gifs.db",
"GIPHY_API_KEY": "${GIPHY_API_KEY}",
"GOOGLE_API_KEY": "${GOOGLE_API_KEY}"
}
}
}
Replace <vibebase_path> with the actual path.
About VIBEBASE_DB_PATH: Each agent can have its own GIF database by setting a different path. The default uses a single shared database at <vibebase_path>/gifs.db. In a multi-agent setup, you could give each agent its own vibebase.db in its group workspace.
3. Add environment variables
Add to .env:
VIBEBASE_DB_PATH=<vibebase_path>/gifs.db
Add to .env.example:
VIBEBASE_DB_PATH=path/to/vibebase/gifs.db
Phase 3: Verify
Restart the agent
Restart your agent process. For example:
macOS (launchctl):
launchctl kickstart -k gui/$(id -u)/com.<your-agent>.agent
Linux (systemd):
systemctl --user restart <your-agent>
Test it
Ask the agent:
Use vibebase to find a gif for someone who just shipped their first project.
The agent should call search_gif and return a URL. If the database is empty, it should call ingest_category first, then retry the search.
No git merging needed — vibebase runs entirely as an external process via MCP.