MCPcopy
hub / github.com/airweave-ai/airweave

github.com/airweave-ai/airweave @v0.616 sqlite

repository ↗ · DeepWiki ↗ · release v0.616 ↗
4,470 symbols 17,046 edges 732 files 3,004 documented · 67%
README

airweave-lettermark

Ruff ESLint Codecov Discord

airweave-ai%2Fairweave | Trendshift  Launch YC: Airweave - Let Agents Search Any App

Overview

Airweave is a tool that lets agents search any app. It connects to apps, productivity tools, databases, or document stores and transforms their contents into searchable knowledge bases, accessible through a standardized interface for agents.

The search interface is exposed via REST API or MCP. When using MCP, Airweave essentially builds a semantically searchable MCP server. The platform handles everything from auth and extraction to embedding and serving.

Table of Contents

🚀 Quick Start

Managed Service: Airweave Cloud

Self-hosted:

Make sure docker and docker-compose are installed, then...

# 1. Clone the repository
git clone https://github.com/airweave-ai/airweave.git
cd airweave

# 2. Build and run
chmod +x start.sh
./start.sh

That's it! Access the dashboard at http://localhost:8080

🔌 Supported Integrations

<img src="https://github.com/airweave-ai/airweave/raw/v0.616/frontend/src/components/icons/apps/asana.svg" alt="Asana" width="40" height="40" style="margin: 4px; padding: 2px;" /><img src="https://github.com/airweave-ai/airweave/raw/v0.616/frontend/src/components/icons/apps/bitbucket.svg" alt="Bitbucket" width="40" height="40" style="margin: 4px; padding: 2px;" /><img src="https://github.com/airweave-ai/airweave/raw/v0.616/frontend/src/components/icons/apps/confluence.svg" alt="Confluence" width="40" height="40" style="margin: 4px; padding: 2px;" /><img src="https://github.com/airweave-ai/airweave/raw/v0.616/frontend/src/components/icons/apps/dropbox.svg" alt="Dropbox" width="40" height="40" style="margin: 4px; padding: 2px;" /><img src="https://github.com/airweave-ai/airweave/raw/v0.616/frontend/src/components/icons/apps/github.svg" alt="Github" width="40" height="40" style="margin: 4px; padding: 2px;" /><img src="https://github.com/airweave-ai/airweave/raw/v0.616/frontend/src/components/icons/apps/gmail.svg" alt="Gmail" width="40" height="40" style="margin: 4px; padding: 2px;" /><img src="https://github.com/airweave-ai/airweave/raw/v0.616/frontend/src/components/icons/apps/google_calendar.svg" alt="Google Calendar" width="40" height="40" style="margin: 4px; padding: 2px;" /><img src="https://github.com/airweave-ai/airweave/raw/v0.616/frontend/src/components/icons/apps/google_drive.svg" alt="Google Drive" width="40" height="40" style="margin: 4px; padding: 2px;" />
<img src="https://github.com/airweave-ai/airweave/raw/v0.616/frontend/src/components/icons/apps/hubspot.svg" alt="Hubspot" width="40" height="40" style="margin: 4px; padding: 2px;" /><img src="https://github.com/airweave-ai/airweave/raw/v0.616/frontend/src/components/icons/apps/jira.svg" alt="Jira" width="40" height="40" style="margin: 4px; padding: 2px;" /><img src="https://github.com/airweave-ai/airweave/raw/v0.616/frontend/src/components/icons/apps/linear.svg" alt="Linear" width="40" height="40" style="margin: 4px; padding: 2px;" /><img src="https://github.com/airweave-ai/airweave/raw/v0.616/frontend/src/components/icons/apps/monday.svg" alt="Monday" width="40" height="40" style="margin: 4px; padding: 2px;" /><img src="https://github.com/airweave-ai/airweave/raw/v0.616/frontend/src/components/icons/apps/notion.svg" alt="Notion" width="40" height="40" style="margin: 4px; padding: 2px;" /><img src="https://github.com/airweave-ai/airweave/raw/v0.616/frontend/src/components/icons/apps/onedrive.svg" alt="Onedrive" width="40" height="40" style="margin: 4px; padding: 2px;" /><img src="https://github.com/airweave-ai/airweave/raw/v0.616/frontend/src/components/icons/apps/outlook_calendar.svg" alt="Outlook Calendar" width="40" height="40" style="margin: 4px; padding: 2px;" /><img src="https://github.com/airweave-ai/airweave/raw/v0.616/frontend/src/components/icons/apps/outlook_mail.svg" alt="Outlook Mail" width="40" height="40" style="margin: 4px; padding: 2px;" /><img src="https://github.com/airweave-ai/airweave/raw/v0.616/frontend/src/components/icons/apps/postgresql.svg" alt="Postgresql" width="40" height="40" style="margin: 4px; padding: 2px;" />
<img src="https://github.com/airweave-ai/airweave/raw/v0.616/frontend/src/components/icons/apps/slack.svg" alt="Slack" width="40" height="40" style="margin: 4px; padding: 2px;" /><img src="https://github.com/airweave-ai/airweave/raw/v0.616/frontend/src/components/icons/apps/stripe.svg" alt="Stripe" width="40" height="40" style="margin: 4px; padding: 2px;" /><img src="https://github.com/airweave-ai/airweave/raw/v0.616/frontend/src/components/icons/apps/todoist.svg" alt="Todoist" width="40" height="40" style="margin: 4px; padding: 2px;" />

💻 Usage

Frontend

  • Access the UI at http://localhost:8080
  • Connect sources, configure syncs, and query data

API

  • Swagger docs: http://localhost:8001/docs
  • Create connections, trigger syncs, and search data

📦 SDKs

Python

pip install airweave-sdk
from airweave import AirweaveSDK

client = AirweaveSDK(
    api_key="YOUR_API_KEY",
    base_url="http://localhost:8001"
)
client.collections.create(
    name="name",
)

TypeScript/JavaScript

npm install @airweave/sdk
# or
yarn add @airweave/sdk
import { AirweaveSDKClient, AirweaveSDKEnvironment } from "@airweave/sdk";

const client = new AirweaveSDKClient({
    apiKey: "YOUR_API_KEY",
    environment: AirweaveSDKEnvironment.Local
});
await client.collections.create({
    name: "name",
});

🔑 Key Features

  • Data synchronization from 25+ sources with minimal config
  • Entity extraction and transformation pipeline
  • Multi-tenant architecture with OAuth2
  • Incremental updates using content hashing
  • Semantic search for agent queries
  • Versioning for data changes

🔧 Tech Stack

  • Frontend: React/TypeScript with ShadCN
  • Backend: FastAPI (Python)
  • Databases: PostgreSQL (metadata), Qdrant (vectors)
  • Deployment: Docker Compose (dev), Kubernetes (prod)

👥 Contributing

We welcome contributions! Please check CONTRIBUTING.md for details.

📄 License

Airweave is released under the MIT license.

🔗 Connect

Extension points exported contracts — how you extend this code

Source (Interface)
* Interface for source data from API
frontend/src/components/shared/views/panel/SourceSelectorView.tsx
AirweaveConfig (Interface)
(no doc)
mcp/src/api/types.ts
Window (Interface)
(no doc)
frontend/src/vite-env.d.ts
SingleActionCheckResponse (Interface)
(no doc)
frontend/src/types/index.ts
BillingInfo (Interface)
(no doc)
frontend/src/types/index.ts
Connection (Interface)
(no doc)
frontend/src/types/index.ts

Core symbols most depended-on inside this repo

get
called by 1338
backend/airweave/platform/http_client/pipedream_proxy.py
cn
called by 811
frontend/src/lib/utils.ts
AirweaveField
called by 760
backend/airweave/platform/entities/_airweave_field.py
get
called by 420
backend/airweave/crud/crud_user.py
get
called by 387
monke/bongos/registry.py
execute
called by 193
backend/airweave/search/executor.py
get
called by 124
backend/airweave/core/source_connection_service.py
delete
called by 105
backend/airweave/platform/destinations/_base.py

Shape

Method 2,024
Function 1,286
Class 795
Interface 236
Route 129

Languages

Python81%
TypeScript19%

Modules by API surface

monke/core/steps.py61 symbols
backend/airweave/platform/sources/notion.py52 symbols
backend/airweave/billing/test_stripe_billing_e2e.py49 symbols
backend/airweave/search/operations/query_interpretation.py44 symbols
backend/airweave/platform/configs/auth.py44 symbols
backend/airweave/platform/sync/entity_processor.py42 symbols
backend/airweave/platform/entities/_base.py42 symbols
frontend/src/search/types.ts38 symbols
backend/airweave/platform/sources/_base.py37 symbols
backend/airweave/api/v1/endpoints/sync.py37 symbols
backend/scripts/manual_stripe_pro_flow.py36 symbols
backend/airweave/platform/configs/config.py36 symbols

Dependencies from manifests, versioned

@airweave/sdk0.5.4 · 1×
@auth0/auth0-react2.2.4 · 1×
@eslint/js9.9.0 · 1×
@hookform/resolvers3.9.0 · 1×
@modelcontextprotocol/sdk1.12.0 · 1×
@radix-ui/react-alert-dialog1.1.1 · 1×
@radix-ui/react-avatar1.1.0 · 1×
@radix-ui/react-checkbox1.1.1 · 1×
@radix-ui/react-collapsible1.1.0 · 1×
@radix-ui/react-dialog1.1.2 · 1×
@radix-ui/react-dropdown-menu2.1.1 · 1×

For agents

$ claude mcp add airweave \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact