Skip to main content

Documentation Index

Fetch the complete documentation index at: https://lava.so/docs/llms.txt

Use this file to discover all available pages before exploring further.

Lava routes calls to a catalog of connected services. Some are managed by Lava (no setup required); others need you to connect a personal account or paste an API key. This guide covers both connection paths and how to verify, troubleshoot, and remove connections.

Prerequisites

  • A Lava account.
  • The Lava MCP installed in your AI chat. See the Quickstart if you haven’t done this yet.
  • The service you want to connect must exist in the Lava catalog. Ask your chat list providers matching "slack" (or similar) to confirm.

Two Connection Types

Lava distinguishes two kinds of services:
  • HTTP providers — services Lava reaches over HTTP (Slack, Gmail, Serper, Dune, OpenAI, and similar). Connection is either an OAuth flow or an API-key entry page.
  • Federated MCP services — services that speak the MCP protocol themselves (Linear and Granola are current examples). Connection establishes a federation link rather than storing a token directly.
The connection flow is the same for both from the user’s perspective. The difference matters when you call the service: HTTP providers go through call_api, federated MCP services go through call_mcp.

Connect a Service via the Dashboard

The dashboard is the canonical path. It shows every service available to your account and the connection state for each.
  1. Open https://www.lava.so/dashboard/wallet/connected-services.
  2. Find the service in the list. Services with a “Connect” button are not yet connected.
  3. Click “Connect”. The dashboard opens the service’s auth flow — OAuth consent screen, an API-key entry form, or a federation handshake, depending on the service.
  4. Complete the auth flow. The dashboard returns you to the connected-services list.
Expected result. The service shows “Connected” with a timestamp.

Connect a Service from Your Chat

You can also connect from inside the chat. This is useful when you’re already in a conversation and don’t want to leave. In your chat, type:
Connect Slack to Lava.
The chat calls connect_service with the service ID. Lava returns an authorization URL:
{
  "url": "https://www.lava.so/auth/connect/slack?session=...",
  "expires_in": 600
}
Open the URL within ten minutes (the session expires). Complete the auth flow in the browser. Return to your chat. For multi-tenant services (currently Canvas), include the tenant hostname:
Connect canvas:canvas.yale.edu to Lava.
Expected result. The chat can now use the service. Run a tool that needs it — for Slack, ask the chat to list your channels:
List my Slack channels.

Verify a Connection

To confirm a service is connected, ask your chat to list keys:
What services do I have connected?
The chat calls list_keys. Connected services appear in the response:
{
  "data": [
    { "service": "slack", "connected_at": "2026-04-29T15:00:00Z" },
    { "service": "serper", "connected_at": "2026-04-28T10:00:00Z" }
  ]
}
Services that Lava manages directly (most paid model APIs) don’t appear in list_keys because there’s no user-supplied credential. To check whether a provider needs a personal credential, ask your chat:
What's the auth status for OpenAI?
The chat calls get_provider_details. The response includes an auth_status field with one of three values:
  • ready — Lava manages the credential. Use the provider directly.
  • user_ready — You’ve connected your own credential. Use the provider directly.
  • setup_required — You need to call connect_service first.

Disconnect a Service

To remove a stored credential or revoke a federation link:
Disconnect Slack from Lava.
The chat calls disconnect_service. Lava removes the credential. You can also disconnect from the dashboard at https://www.lava.so/dashboard/wallet/connected-services — click the service and confirm removal. Expected result. list_keys no longer shows the service. Calls to the service return auth_status: setup_required until you reconnect.

Troubleshooting

”The chat says the service isn’t connected, but I just connected it”

The chat client caches auth state for the session. After a fresh connection, ask the chat to refresh:
List my connected services again.
If the service still doesn’t appear, the auth flow may not have completed cleanly. Reconnect via connect_service or the dashboard. Lava requests the minimum scopes each service needs to support the tools the MCP exposes. If a scope feels too broad, cancel the consent flow and check the service’s scope documentation. You can request a narrower scope by contacting the Lava team.

”Authorization URL expired”

The URL returned from connect_service expires after ten minutes. Call connect_service again to generate a fresh URL.

”I want to connect a service that isn’t in the catalog”

Ask your chat:
Request that Lava add Acme as a provider.
The chat calls request_provider. The Lava team triages provider requests and may reach out by email for more context.

Next Steps