What is Grapevine?
Grapevine indexes content from various sources across your organization, including:- Communication platforms - Slack, GMail, Gather, Gong
- Documentation - Confluence, Notion
- Code repositories - GitHub
- Project management - Jira, Linear
- CRMs - HubSpot, Salesforce
How it works
- Connect - Integrate your data sources through secure OAuth connections and API keys
- Ingest - Using a combination of real-time webhook processing and periodic API syncs, Grapevine ingests your data into a unified knowledge base
- Index - Grapevine indexes your data into a number of underlying data structures, to give agents a rich context to work with
- Search - Build an agent using our Search Tools, or use our built-in agent
API Design
Grapevine is designed after tools like Cline and Claude Code that popularized the idea of Agentic Navigation. Grapevine exposes a number of small, fast tools that can be used in sequence to explore the knowledge space, and gather the context needed to answer complex queries. Instead of focusing purely on code, we’ve designed Grapevine to help agents navigate all the unstructured data that your organization produces such as decisions made in meetings / Slack, technical pitfalls acknowledged in PR review, design directions that were decided against in tickets, etc. To keep this simple for agents, we’ve designed our API after the tools that applications like Claude Code or Cline use to navigate a filesystem.Documents
A Document in Grapevine represents a unit of knowledge from your data sources. A Document is roughly equivalent to a file in a filesystem, with their exact contents being dependant on the source system.Chunks
A Document can be broken down into one or more Chunks. The exact chunking algorithm is source-specific (i.e for Slack, we chunk messages by thread, whereas for Notion we chunk by semantic sections). Each Chunk is embedded using OpenAI’stext-embedding-3-large model, and is stored in a vector database to power the semantic_search tool.
A full reference of the structure of each source’s Documents is in progress. In the meantime, try checking them via the API!
Examples
-
SlackChannelDocument - Collection of messages from a channel for a specific date
- ID format:
slack:C12345:2025-01-15 - Metadata:
{channel_id, channel_name, date, message_count} - Chunks: One chunk per message with thread replies inlined
- ID format:
-
GitHubPRDocument - Pull request with comments and reviews
- ID format:
github_prs:owner/repo:123 - Metadata:
{repository, pr_number, author, state, merged_at} - Chunks: PR description, code diff, comments
- ID format:
-
LinearIssueDocument - Issue with comments and activity
- ID format:
linear:TEAM-123 - Metadata:
{team_name, issue_number, title, state, assignee} - Chunks: Issue description, comments
- ID format:
How it Works
The MCP Server exposes tools that enable agentic exploration: 1. Navigation Tools (Find relevant documents):semantic_search- Conceptual similarity search using embeddingskeyword_search- Exact keyword matching with Boolean operators
get_document- Retrieve full content by IDget_document_metadata- Retrieve metadata only (faster)
ask_agent/ask_agent_streaming- Wraps the full agentic loop
Example Agentic Navigation Loop
Why Agentic Navigation?
Agentic Navigation has only recently become possible thanks to advancements in tool calling and reasoning models. We believe that this is the future of AI-powered search, and we’re excited to be at the forefront of it. As reasoning models get more powerufl, we believe they’ll be able to increasingly effectively navigate using tools, provided those tools are well designed and available for everyone to use. Specifically, agents built on Grapevine can:- Explore iteratively - Makes multiple tool calls to gather context
- Self-direct - Decides which tools to call based on intermediate results
- Curate their own context - Fetches full documents when needed, not just search results
- Cite sources - Every answer links back to original documents