agentsclimarketplace

Airweave setup

Skill airweave-ai/cursor-plugin/skills/airweave-setup

Set up and integrate Airweave into applications. Use when the user wants to install Airweave, create collections, connect data sources, configure MCP servers, or set up the SDK to integrate Airweave into their app. For developers building with Airweave.From its SKILL.md

Install
npx -y skills add airweave-ai/cursor-plugin --skill airweave-setup

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

2 things to look at

  • no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
  • 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

SKILL.md

7.2 KB, ~1.7k tokens by cl100k_base, as published. Nobody here has run it

Airweave Setup & Integration

Airweave is an open-source platform that makes any app searchable for AI agents. It connects to apps, productivity tools, databases, or document stores and transforms their contents into searchable knowledge bases.

Quick Start

Option 1: Airweave Cloud (Recommended)

  1. Sign up at https://app.airweave.ai
  2. Get your API key from the dashboard
  3. Install the SDK:
pip install airweave-sdk   # Python
npm install @airweave/sdk  # TypeScript

Option 2: Self-Hosted

git clone https://github.com/airweave-ai/airweave.git
cd airweave
chmod +x start.sh
./start.sh

Access the dashboard at http://localhost:8080

Core Workflow

The typical Airweave workflow follows these steps:

1. Create a Collection

A collection groups multiple data sources into a single searchable endpoint.

Python:

from airweave import AirweaveSDK

client = AirweaveSDK(
    api_key="YOUR_API_KEY",
    base_url="https://api.airweave.ai"  # or http://localhost:8001 for self-hosted
)

collection = client.collections.create(name="My Knowledge Base")
print(f"Collection ID: {collection.readable_id}")

TypeScript:

import { AirweaveSDKClient } from "@airweave/sdk";

const client = new AirweaveSDKClient({ apiKey: "YOUR_API_KEY" });
const collection = await client.collections.create({ name: "My Knowledge Base" });

2. Add Source Connections

Connect data sources to your collection. 40+ sources supported including:

  • Productivity: Notion, Google Drive/Docs/Slides, Dropbox, OneDrive, SharePoint, Box, Airtable
  • Communication: Slack, Gmail, Outlook, Teams, Google Calendar
  • Project Management: Jira, Linear, Asana, Trello, Monday, ClickUp, Todoist
  • Development: GitHub, GitLab, Bitbucket, Confluence
  • CRM & Sales: Salesforce, HubSpot, Attio, Zendesk, Pipedrive, Shopify
  • Data: Stripe, PostgreSQL

See SDK-REFERENCE.md for the complete list of source short names.

Python (API Key sources like Stripe, Linear):

source = client.source_connections.create(
    name="My Stripe Connection",
    short_name="stripe",
    readable_collection_id=collection.readable_id,
    authentication={
        "credentials": {"api_key": "sk_live_your_stripe_key"}
    }
)

OAuth sources (Slack, Google, Microsoft, etc.):

Most sources use OAuth for authentication. Use the Airweave UI at https://app.airweave.ai to connect these sources—it handles the OAuth flow automatically.

3. Search Your Data

Once synced, search across all connected sources with a single query:

Python:

results = client.collections.search(
    readable_id=collection.readable_id,
    query="customer feedback about pricing"
)

for result in results.results:
    print(f"Source: {result['payload']['source_name']}")
    print(f"Content: {result['payload']['md_content'][:200]}...")
    print(f"Score: {result['score']}")

Advanced Search Features

Airweave provides powerful search capabilities:

Search Parameters

ParameterTypeDescription
querystringNatural language search query
search_type"semantic" | "hybrid"Semantic (default) or hybrid search
limitnumberMax results (default: 100)
offsetnumberSkip results for pagination
recency_bias0-1Prioritize recent results (0=none, 1=most recent)
enable_rerankingbooleanAI reranking for better relevance
enable_query_expansionbooleanExpand query with variations
response_type"raw" | "completion"Raw results or AI-generated answer
top_knumberInternal retrieval count before reranking

Example: Advanced Search

results = client.collections.search(
    readable_id=collection.readable_id,
    query="technical documentation",
    search_type="hybrid",
    enable_query_expansion=True,
    enable_reranking=True,
    recency_bias=0.5,
    top_k=50,
    limit=20
)

Example: AI-Generated Answer

answer = client.collections.search(
    readable_id=collection.readable_id,
    query="What are our customer refund policies?",
    response_type="completion",
    enable_reranking=True
)
# Returns a synthesized answer instead of raw results

MCP Integration for AI Agents

Airweave exposes search via MCP (Model Context Protocol) for seamless AI agent integration.

Setup for Cursor

This plugin automatically configures the Airweave MCP server. You just need to set your environment variables:

export AIRWEAVE_API_KEY="your-api-key"
export AIRWEAVE_COLLECTION="your-collection-id"

For manual configuration, add to your Cursor MCP settings:

{
  "mcpServers": {
    "airweave-search": {
      "command": "npx",
      "args": ["-y", "airweave-mcp-search"],
      "env": {
        "AIRWEAVE_API_KEY": "your-api-key",
        "AIRWEAVE_COLLECTION": "your-collection-id",
        "AIRWEAVE_BASE_URL": "https://api.airweave.ai"
      }
    }
  }
}

Hosted MCP Server

For cloud-based AI platforms:

  • URL: https://mcp.airweave.ai
  • Uses Streamable HTTP transport (MCP 2025-03-26)

See MCP-SETUP.md for detailed configuration.

Common Patterns

Pattern 1: Search with Source Filtering

from airweave import SearchRequest, Filter, FieldCondition, MatchAny

search_request = SearchRequest(
    query="project updates",
    filter=Filter(
        must=[
            FieldCondition(
                key="source_name",
                match=MatchAny(any=["Slack", "GitHub"])
            )
        ]
    )
)

results = client.collections.search_advanced(
    readable_id=collection.readable_id,
    search_request=search_request
)

Pattern 2: Recent Documents First

results = client.collections.search(
    readable_id=collection.readable_id,
    query="critical bugs",
    recency_bias=0.8,  # Strongly prefer recent
    limit=10
)

Pattern 3: High-Quality Results with Reranking

results = client.collections.search(
    readable_id=collection.readable_id,
    query="API documentation",
    enable_reranking=True,
    top_k=30,
    limit=10
)

Troubleshooting

No Results Found

  • Check that sync has completed (can take a few minutes for large sources)
  • Verify the collection ID is correct
  • Try a broader search query

Authentication Errors

  • Verify your API key is valid
  • Check that the API key has access to the collection
  • For OAuth sources, the token may have expired—reconnect in the UI

Rate Limits

  • The API has rate limits for protection
  • Implement exponential backoff for retries
  • Contact support for higher limits

Additional Resources

For detailed SDK reference, see SDK-REFERENCE.md. For advanced search patterns, see SEARCH-PATTERNS.md.

What ships with it: 3 files

20.4 KB alongside SKILL.md

Keep looking

Skills are one crate of 326,629. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.