airbyte-oss-mcp
Read-only MCP server for self-hosted Airbyte OSS 1.6.x, enabling monitoring of connections, jobs, and health via public and internal APIs. Optionally supports triggering syncs and canceling jobs.
README
Airbyte OSS MCP
Read-only MCP server for self-hosted Airbyte OSS 1.6.x.
Wraps:
- Public API —
/api/public/v1(connections, jobs, health) - Internal API —
/api/v1/jobs/get_without_logs(attempt failure summaries)
Modeled after dagster-mcp (FastMCP + env-based config).
Install (Cursor + uvx)
Prerequisites: uv installed, network access to your Airbyte instance.
Add to ~/.cursor/mcp.json:
{
"mcpServers": {
"airbyte": {
"command": "uvx",
"args": [
"--from",
"git+https://github.com/NGRThomson/airbyte-oss-mcp.git@main",
"airbyte-mcp"
],
"env": {
"AIRBYTE_URL": "https://airbyte.example.com",
"AIRBYTE_READ_ONLY": "true"
}
}
}
}
Replace AIRBYTE_URL with your instance URL. Default (if unset) is http://localhost:8000.
Pin a tag or commit for slower upgrades:
git+https://github.com/NGRThomson/airbyte-oss-mcp.git@v0.2.0
See examples/cursor-mcp.json for a team install template.
Optional persistent install:
uv tool install --from 'git+https://github.com/NGRThomson/airbyte-oss-mcp.git@main' airbyte-mcp
Local dev
"args": ["--from", "/path/to/airbyte-oss-mcp", "airbyte-mcp"]
Or:
cd airbyte-oss-mcp
uv sync --extra dev
uv run ruff check airbyte_mcp/
uv run pytest
uv run airbyte-mcp
Environment variables
| Variable | Default | Purpose |
|---|---|---|
AIRBYTE_URL |
http://localhost:8000 |
Base URL of your Airbyte instance |
AIRBYTE_API_TOKEN |
(empty) | Bearer token if public API auth is enabled |
AIRBYTE_READ_ONLY |
true |
When false, exposes cancel_job and trigger_sync |
AIRBYTE_ENVS |
(empty) | JSON map of named envs for multi-instance setups |
AIRBYTE_DEFAULT_ENV |
(empty) | Default key when AIRBYTE_ENVS has multiple entries |
Multi-env example:
"AIRBYTE_ENVS": "{\"prod\":{\"url\":\"https://airbyte.example.com\"},\"staging\":{\"url\":\"https://airbyte-staging.example.com\"}}",
"AIRBYTE_DEFAULT_ENV": "prod"
Optional bearer token:
"AIRBYTE_API_TOKEN": "<token from Airbyte Settings → Applications>"
Tools
| Tool | Purpose |
|---|---|
get_instance_status |
Health, connection counts, running/pending/failed job counts |
get_active_syncs |
All running syncs with connection names |
list_connections |
Browse/filter connections |
get_connection |
One connection + recent jobs |
list_jobs |
Recent jobs (filter by connection/status) |
get_job |
Public job metadata |
get_job_details |
Attempt stats + failure summaries |
get_job_failure_summary |
Best starting point for failed syncs |
find_duplicate_destination_tables |
Audit BigQuery tables with multiple active writers |
Write tools (cancel_job, trigger_sync) register only when AIRBYTE_READ_ONLY=false.
Smoke test
uv run python -c "
from airbyte_mcp.client import AirbyteClient
c = AirbyteClient('https://airbyte.example.com')
print(c.health())
print('running', len(c.list_jobs(status='running', limit=10)))
"
Notes
- Always pass
orderBy=updatedAt|DESCwhen listing jobs (default in client) — otherwise Airbyte returns oldest jobs first. - Raw job logs are not exposed (public API has no log endpoint); failure summaries come from internal
get_without_logs. - Internal OSS API:
get_job_detailsandget_job_failure_summaryuse/api/v1/jobs/get_without_logs, which is not part of the public API and may break on Airbyte upgrades. list_connections/list_jobspaginate automatically whenlimitexceeds the API page size (100).- Runtime data: when pointed at a live instance, tool responses include connection names, job errors, and IDs from your Airbyte workspace — keep MCP read-only in shared Cursor configs if that metadata is sensitive.
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.