Copied to clipboard

Overview

tapes enables AI agents to maintain context across sessions through semantic search over conversation history. Agents can recall previous discussions, build on past context, and develop long-term memory.

Both approaches require running tapes with vector storage and SQLite storage enabled. See the Search guide for complete setup instructions.

There are two ways for agents to interact with tapes:

MCP Server Direct HTTP access via Model Context Protocol. Best for modern agent frameworks and custom MCP clients.
Skills (CLI Wrapper) Shell-based access wrapping the tapes CLI. Best for Claude Code and agents with shell execution capabilities.

MCP

The MCP (Model Context Protocol) server provides programmatic access to tapes search functionality through a standardized HTTP endpoint. This is ideal for agent frameworks that can make HTTP calls and speak the MCP protocol.

Note: The MCP server runs locally as part of your tapes API server—it's not a hosted service. You'll need to start tapes with the appropriate configuration. See Enabling MCP for configuration details.

When to Use MCP

  • Building custom agent frameworks
  • Using MCP-compatible clients
  • Need direct programmatic control
  • Want structured JSON responses

Quick Start

Step 1: Start tapes with vector storage

tapes serve \
  --sqlite "./tapes.sqlite" \
  --vector-store-provider chroma \
  --vector-store-target "http://localhost:8000" \
  --embedding-provider ollama \
  --embedding-target "http://localhost:11434" \
  --embedding-model nomic-embed-text

The tapes serve command automatically targets Ollama. Vector storage flags are required to enable the MCP endpoint. See required flags for details.

Step 2: Connect your MCP client

Point your MCP-compatible client to your local tapes endpoint:

http://localhost:8081/v1/mcp

Step 3: Use the search tool

Your agent can now call the search tool with a query to find relevant sessions.

For complete API reference including request/response formats, available tools, and configuration options, see the MCP API Reference.

Skills

Skills let your agent reuse proven workflows from your own session history. Use tapes skill to generate a skill from past conversations, then sync it into your agent's skills directory.

When to Use Skills

  • You repeat similar debugging or implementation workflows
  • You use shell-based agents (Claude Code, Codex, OpenCode)
  • You want reusable local skills instead of custom MCP tooling
  • You need agent-agnostic skills in .agents/skills/

Quick Start

Step 1: Install tapes CLI

curl -fsSL https://download.tapes.dev/install | bash

This installs to /usr/local/bin and supports macOS, Linux, and Windows. See Install for details.

Step 2: Start tapes with vector storage

tapes serve \
  --sqlite "./tapes.sqlite" \
  --vector-store-provider chroma \
  --vector-store-target "http://localhost:8000" \
  --embedding-provider ollama \
  --embedding-target "http://localhost:11434" \
  --embedding-model nomic-embed-text

The tapes serve command automatically targets Ollama. Vector storage flags enable semantic search. See the Search guide for setting up Chroma and Ollama.

Step 3: Generate a skill from sessions

# Generate from current checkout
tapes skill generate --name debug-react-hooks

# Generate from search results
tapes skill generate --search "react hook race condition" --search-top 3 --name react-debug

Step 4: Sync to your agent directory

# Agent-agnostic (default)
tapes skill sync debug-react-hooks

# Claude Code
tapes skill sync debug-react-hooks --claude

Generated skills are saved to ~/.tapes/skills/. Sync defaults to .agents/skills/. Use --claude to sync to .claude/skills/. See CLI reference for all flags.

Use Cases

Cross-Session Context

Agents can retrieve relevant information from past conversations to maintain continuity across sessions.

Building Agent Memory

Store conversation history in a searchable format, enabling agents to develop long-term memory and learn from previous interactions.

Intelligent Context Retrieval

Use semantic search to find the most relevant past discussions, even when exact keywords don't match.

Last updated: