airbyte-agent-mcp 0.1.16__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (67) hide show
  1. airbyte_agent_mcp-0.1.16/.env.example +3 -0
  2. airbyte_agent_mcp-0.1.16/.gitignore +26 -0
  3. airbyte_agent_mcp-0.1.16/CHANGELOG.md +86 -0
  4. airbyte_agent_mcp-0.1.16/PKG-INFO +134 -0
  5. airbyte_agent_mcp-0.1.16/README.md +109 -0
  6. airbyte_agent_mcp-0.1.16/airbyte_agent_mcp/__init__.py +0 -0
  7. airbyte_agent_mcp-0.1.16/airbyte_agent_mcp/__main__.py +26 -0
  8. airbyte_agent_mcp-0.1.16/airbyte_agent_mcp/_vendored/__init__.py +1 -0
  9. airbyte_agent_mcp-0.1.16/airbyte_agent_mcp/_vendored/connector_sdk/__init__.py +82 -0
  10. airbyte_agent_mcp-0.1.16/airbyte_agent_mcp/_vendored/connector_sdk/auth_strategies.py +1134 -0
  11. airbyte_agent_mcp-0.1.16/airbyte_agent_mcp/_vendored/connector_sdk/auth_template.py +135 -0
  12. airbyte_agent_mcp-0.1.16/airbyte_agent_mcp/_vendored/connector_sdk/config_loader.py +851 -0
  13. airbyte_agent_mcp-0.1.16/airbyte_agent_mcp/_vendored/connector_sdk/constants.py +78 -0
  14. airbyte_agent_mcp-0.1.16/airbyte_agent_mcp/_vendored/connector_sdk/exceptions.py +23 -0
  15. airbyte_agent_mcp-0.1.16/airbyte_agent_mcp/_vendored/connector_sdk/executor/__init__.py +31 -0
  16. airbyte_agent_mcp-0.1.16/airbyte_agent_mcp/_vendored/connector_sdk/executor/hosted_executor.py +189 -0
  17. airbyte_agent_mcp-0.1.16/airbyte_agent_mcp/_vendored/connector_sdk/executor/local_executor.py +1413 -0
  18. airbyte_agent_mcp-0.1.16/airbyte_agent_mcp/_vendored/connector_sdk/executor/models.py +189 -0
  19. airbyte_agent_mcp-0.1.16/airbyte_agent_mcp/_vendored/connector_sdk/extensions.py +655 -0
  20. airbyte_agent_mcp-0.1.16/airbyte_agent_mcp/_vendored/connector_sdk/http/__init__.py +37 -0
  21. airbyte_agent_mcp-0.1.16/airbyte_agent_mcp/_vendored/connector_sdk/http/adapters/__init__.py +9 -0
  22. airbyte_agent_mcp-0.1.16/airbyte_agent_mcp/_vendored/connector_sdk/http/adapters/httpx_adapter.py +257 -0
  23. airbyte_agent_mcp-0.1.16/airbyte_agent_mcp/_vendored/connector_sdk/http/config.py +98 -0
  24. airbyte_agent_mcp-0.1.16/airbyte_agent_mcp/_vendored/connector_sdk/http/exceptions.py +119 -0
  25. airbyte_agent_mcp-0.1.16/airbyte_agent_mcp/_vendored/connector_sdk/http/protocols.py +114 -0
  26. airbyte_agent_mcp-0.1.16/airbyte_agent_mcp/_vendored/connector_sdk/http/response.py +102 -0
  27. airbyte_agent_mcp-0.1.16/airbyte_agent_mcp/_vendored/connector_sdk/http_client.py +719 -0
  28. airbyte_agent_mcp-0.1.16/airbyte_agent_mcp/_vendored/connector_sdk/logging/__init__.py +11 -0
  29. airbyte_agent_mcp-0.1.16/airbyte_agent_mcp/_vendored/connector_sdk/logging/logger.py +265 -0
  30. airbyte_agent_mcp-0.1.16/airbyte_agent_mcp/_vendored/connector_sdk/logging/types.py +93 -0
  31. airbyte_agent_mcp-0.1.16/airbyte_agent_mcp/_vendored/connector_sdk/observability/__init__.py +11 -0
  32. airbyte_agent_mcp-0.1.16/airbyte_agent_mcp/_vendored/connector_sdk/observability/models.py +19 -0
  33. airbyte_agent_mcp-0.1.16/airbyte_agent_mcp/_vendored/connector_sdk/observability/redactor.py +90 -0
  34. airbyte_agent_mcp-0.1.16/airbyte_agent_mcp/_vendored/connector_sdk/observability/session.py +94 -0
  35. airbyte_agent_mcp-0.1.16/airbyte_agent_mcp/_vendored/connector_sdk/performance/__init__.py +6 -0
  36. airbyte_agent_mcp-0.1.16/airbyte_agent_mcp/_vendored/connector_sdk/performance/instrumentation.py +59 -0
  37. airbyte_agent_mcp-0.1.16/airbyte_agent_mcp/_vendored/connector_sdk/performance/metrics.py +95 -0
  38. airbyte_agent_mcp-0.1.16/airbyte_agent_mcp/_vendored/connector_sdk/schema/__init__.py +75 -0
  39. airbyte_agent_mcp-0.1.16/airbyte_agent_mcp/_vendored/connector_sdk/schema/base.py +167 -0
  40. airbyte_agent_mcp-0.1.16/airbyte_agent_mcp/_vendored/connector_sdk/schema/components.py +251 -0
  41. airbyte_agent_mcp-0.1.16/airbyte_agent_mcp/_vendored/connector_sdk/schema/connector.py +134 -0
  42. airbyte_agent_mcp-0.1.16/airbyte_agent_mcp/_vendored/connector_sdk/schema/extensions.py +108 -0
  43. airbyte_agent_mcp-0.1.16/airbyte_agent_mcp/_vendored/connector_sdk/schema/operations.py +152 -0
  44. airbyte_agent_mcp-0.1.16/airbyte_agent_mcp/_vendored/connector_sdk/schema/security.py +225 -0
  45. airbyte_agent_mcp-0.1.16/airbyte_agent_mcp/_vendored/connector_sdk/secrets.py +184 -0
  46. airbyte_agent_mcp-0.1.16/airbyte_agent_mcp/_vendored/connector_sdk/telemetry/__init__.py +10 -0
  47. airbyte_agent_mcp-0.1.16/airbyte_agent_mcp/_vendored/connector_sdk/telemetry/config.py +33 -0
  48. airbyte_agent_mcp-0.1.16/airbyte_agent_mcp/_vendored/connector_sdk/telemetry/events.py +58 -0
  49. airbyte_agent_mcp-0.1.16/airbyte_agent_mcp/_vendored/connector_sdk/telemetry/tracker.py +153 -0
  50. airbyte_agent_mcp-0.1.16/airbyte_agent_mcp/_vendored/connector_sdk/types.py +158 -0
  51. airbyte_agent_mcp-0.1.16/airbyte_agent_mcp/_vendored/connector_sdk/utils.py +62 -0
  52. airbyte_agent_mcp-0.1.16/airbyte_agent_mcp/_vendored/connector_sdk/validation.py +405 -0
  53. airbyte_agent_mcp-0.1.16/airbyte_agent_mcp/config.py +97 -0
  54. airbyte_agent_mcp-0.1.16/airbyte_agent_mcp/connector_manager.py +329 -0
  55. airbyte_agent_mcp-0.1.16/airbyte_agent_mcp/models.py +145 -0
  56. airbyte_agent_mcp-0.1.16/airbyte_agent_mcp/registry_client.py +103 -0
  57. airbyte_agent_mcp-0.1.16/airbyte_agent_mcp/secret_manager.py +94 -0
  58. airbyte_agent_mcp-0.1.16/airbyte_agent_mcp/server.py +265 -0
  59. airbyte_agent_mcp-0.1.16/configured_connectors.yaml.example +33 -0
  60. airbyte_agent_mcp-0.1.16/pyproject.toml +41 -0
  61. airbyte_agent_mcp-0.1.16/tests/__init__.py +0 -0
  62. airbyte_agent_mcp-0.1.16/tests/test_config.py +100 -0
  63. airbyte_agent_mcp-0.1.16/tests/test_connector_manager.py +533 -0
  64. airbyte_agent_mcp-0.1.16/tests/test_models.py +80 -0
  65. airbyte_agent_mcp-0.1.16/tests/test_registry_client.py +144 -0
  66. airbyte_agent_mcp-0.1.16/tests/test_secrets.py +94 -0
  67. airbyte_agent_mcp-0.1.16/tests/test_server.py +178 -0
@@ -0,0 +1,3 @@
1
+ # Copy to .env and fill in your actual values
2
+
3
+ STRIPE_API_KEY=
@@ -0,0 +1,26 @@
1
+ # Python
2
+ __pycache__/
3
+ *.py[cod]
4
+ *$py.class
5
+ *.egg-info/
6
+ dist/
7
+ build/
8
+ .eggs/
9
+
10
+ # Testing
11
+ .pytest_cache/
12
+ .coverage
13
+ htmlcov/
14
+
15
+ # Virtual environments
16
+ .venv/
17
+ venv/
18
+
19
+ # IDE
20
+ .idea/
21
+ .vscode/
22
+ *.swp
23
+
24
+ # OS
25
+ .DS_Store
26
+ Thumbs.db
@@ -0,0 +1,86 @@
1
+ # Changelog
2
+
3
+ ## [0.1.16] - 2025-12-12
4
+ - Updated airbyte-agent-mcp package
5
+ - Source commit: 8cd69753
6
+ - SDK version: 0.1.0
7
+
8
+ ## [0.1.15] - 2025-12-12
9
+ - Updated airbyte-agent-mcp package
10
+ - Source commit: 9f7f8a98
11
+ - SDK version: 0.1.0
12
+
13
+ ## [0.1.14] - 2025-12-12
14
+ - Updated airbyte-agent-mcp package
15
+ - Source commit: 5cc8eaa0
16
+ - SDK version: 0.1.0
17
+
18
+ ## [0.1.13] - 2025-12-11
19
+ - Updated airbyte-agent-mcp package
20
+ - Source commit: dfe01f50
21
+ - SDK version: 0.1.0
22
+
23
+ ## [0.1.12] - 2025-12-11
24
+ - Updated airbyte-agent-mcp package
25
+ - Source commit: 8c06aa10
26
+ - SDK version: 0.1.0
27
+
28
+ ## [0.1.11] - 2025-12-11
29
+ - Updated airbyte-agent-mcp package
30
+ - Source commit: 11427ac3
31
+ - SDK version: 0.1.0
32
+
33
+ ## [0.1.10] - 2025-12-11
34
+ - Updated airbyte-agent-mcp package
35
+ - Source commit: bdd5df6d
36
+ - SDK version: 0.1.0
37
+
38
+ ## [0.1.9] - 2025-12-11
39
+ - Updated airbyte-agent-mcp package
40
+ - Source commit: ec3dcc78
41
+ - SDK version: 0.1.0
42
+
43
+ ## [0.1.8] - 2025-12-10
44
+ - Updated airbyte-agent-mcp package
45
+ - Source commit: 334e113b
46
+ - SDK version: 0.1.0
47
+
48
+ ## [0.1.7] - 2025-12-10
49
+ - Updated airbyte-agent-mcp package
50
+ - Source commit: 30c77ce6
51
+ - SDK version: 0.1.0
52
+
53
+ ## [0.1.6] - 2025-12-10
54
+ - Updated airbyte-agent-mcp package
55
+ - Source commit: 92482e66
56
+ - SDK version: 0.1.0
57
+
58
+ ## [0.1.5] - 2025-12-10
59
+ - Updated airbyte-agent-mcp package
60
+ - Source commit: b3c6a176
61
+ - SDK version: 0.1.0
62
+
63
+ ## [0.1.4] - 2025-12-10
64
+ - Updated airbyte-agent-mcp package
65
+ - Source commit: b3c6a176
66
+ - SDK version: 0.1.0
67
+
68
+ ## [0.1.3] - 2025-12-10
69
+ - Updated airbyte-agent-mcp package
70
+ - Source commit: b3c6a176
71
+ - SDK version: 0.1.0
72
+
73
+ ## [0.1.2] - 2025-12-10
74
+ - Updated airbyte-agent-mcp package
75
+ - Source commit: b3c6a176
76
+ - SDK version: 0.1.0
77
+
78
+ ## [0.1.1] - 2025-12-10
79
+ - Updated airbyte-agent-mcp package
80
+ - Source commit: b3c6a176
81
+ - SDK version: 0.1.0
82
+
83
+ ## [0.1.0] - 2025-12-09
84
+ - Updated airbyte-agent-mcp package
85
+ - Source commit: b3c6a176
86
+ - SDK version: 0.1.0
@@ -0,0 +1,134 @@
1
+ Metadata-Version: 2.4
2
+ Name: airbyte-agent-mcp
3
+ Version: 0.1.16
4
+ Summary: MCP server that exposes Airbyte Connector SDK as MCP tools
5
+ Author-email: Airbyte Support <support@airbyte.io>
6
+ Requires-Python: >=3.13
7
+ Requires-Dist: click>=8.0.0
8
+ Requires-Dist: fastmcp>=2.10.5
9
+ Requires-Dist: httpx>=0.24.0
10
+ Requires-Dist: jinja2>=3.0.0
11
+ Requires-Dist: jsonpath-ng>=1.6.1
12
+ Requires-Dist: jsonref>=1.1.0
13
+ Requires-Dist: jsonschema>=4.0.0
14
+ Requires-Dist: opentelemetry-api>=1.37.0
15
+ Requires-Dist: opentelemetry-sdk>=1.37.0
16
+ Requires-Dist: pydantic>=2.0.0
17
+ Requires-Dist: python-dotenv>=1.0.0
18
+ Requires-Dist: pyyaml>=6.0
19
+ Requires-Dist: segment-analytics-python>=2.2.0
20
+ Provides-Extra: dev
21
+ Requires-Dist: pytest-asyncio<1.0.0,>=0.24.0; extra == 'dev'
22
+ Requires-Dist: pytest<9.0.0,>=8.3.3; extra == 'dev'
23
+ Requires-Dist: ruff==0.7.3; extra == 'dev'
24
+ Description-Content-Type: text/markdown
25
+
26
+ # Airbyte Agent MCP Server
27
+
28
+ MCP server that exposes the Airbyte Connector SDK as Model Context Protocol tools.
29
+
30
+ ## Features
31
+
32
+ - **Execute**: Run operations on any connector (primary tool)
33
+ - **List Entities**: Discover available entities in a connector
34
+ - **Describe Entity**: Get detailed schema for an entity
35
+ - **Validate Operation**: Check parameters before execution
36
+
37
+ ## Configuration
38
+
39
+ ### 1. Create configured_connectors.yaml
40
+
41
+ ```yaml
42
+ # Connector definitions
43
+ connectors:
44
+ # Load connector from the Airbyte registry (recommended)
45
+ - id: stripe
46
+ type: local
47
+ connector_name: stripe
48
+ description: "My Stripe API connector"
49
+ secrets:
50
+ token: STRIPE_API_KEY
51
+ ```
52
+
53
+ You can pin to a specific version from the registry:
54
+
55
+ ```yaml
56
+ connectors:
57
+ - id: stripe
58
+ type: local
59
+ connector_name: stripe
60
+ version: 0.1.0
61
+ description: "Stripe connector pinned to v0.1.0"
62
+ secrets:
63
+ token: STRIPE_API_KEY
64
+ ```
65
+
66
+ You can also load connectors from a local file path (version pinning not supported):
67
+
68
+ ```yaml
69
+ connectors:
70
+ - id: my_api
71
+ type: local
72
+ path: ./connectors/my-api/connector.yaml
73
+ description: "My custom API connector"
74
+ secrets:
75
+ token: MY_API_KEY
76
+ ```
77
+
78
+ See `configured_connectors.yaml.example` for more examples.
79
+
80
+ ### 2. Create .env file
81
+
82
+ ```bash
83
+ STRIPE_API_KEY=sk_test_your_stripe_api_key_here
84
+ ```
85
+
86
+ ## Running
87
+
88
+ ```bash
89
+ uv run airbyte_agent_mcp
90
+ ```
91
+
92
+ The server also takes in args for specific paths to the configured_connectors.yaml file and the env file. With custom paths:
93
+
94
+ ```bash
95
+ python -m airbyte_agent_mcp path/to/configured_connectors.yaml path/to/.env
96
+ ```
97
+
98
+ The default paths are `./configured_connectors.yaml` and `./.env`
99
+
100
+ ## Usage with Claude Code
101
+
102
+ Add to `~/.claude.json`:
103
+
104
+ ```json
105
+ "mcpServers": {
106
+ "airbyte-agent-mcp": {
107
+ "type": "stdio",
108
+ "command": "uv",
109
+ "args": [
110
+ "--directory",
111
+ "/path/to/sonar/airbyte-agent-mcp",
112
+ "run",
113
+ "airbyte_agent_mcp"
114
+ ],
115
+ "env": {}
116
+ }
117
+ },
118
+ ```
119
+
120
+ ## Development / Testing
121
+
122
+ ```bash
123
+ # Install dev dependencies
124
+ uv sync --all-extras
125
+
126
+ # Run tests
127
+ uv run pytest
128
+
129
+ # Format code
130
+ uv run ruff format .
131
+
132
+ # Lint code
133
+ uv run ruff check .
134
+ ```
@@ -0,0 +1,109 @@
1
+ # Airbyte Agent MCP Server
2
+
3
+ MCP server that exposes the Airbyte Connector SDK as Model Context Protocol tools.
4
+
5
+ ## Features
6
+
7
+ - **Execute**: Run operations on any connector (primary tool)
8
+ - **List Entities**: Discover available entities in a connector
9
+ - **Describe Entity**: Get detailed schema for an entity
10
+ - **Validate Operation**: Check parameters before execution
11
+
12
+ ## Configuration
13
+
14
+ ### 1. Create configured_connectors.yaml
15
+
16
+ ```yaml
17
+ # Connector definitions
18
+ connectors:
19
+ # Load connector from the Airbyte registry (recommended)
20
+ - id: stripe
21
+ type: local
22
+ connector_name: stripe
23
+ description: "My Stripe API connector"
24
+ secrets:
25
+ token: STRIPE_API_KEY
26
+ ```
27
+
28
+ You can pin to a specific version from the registry:
29
+
30
+ ```yaml
31
+ connectors:
32
+ - id: stripe
33
+ type: local
34
+ connector_name: stripe
35
+ version: 0.1.0
36
+ description: "Stripe connector pinned to v0.1.0"
37
+ secrets:
38
+ token: STRIPE_API_KEY
39
+ ```
40
+
41
+ You can also load connectors from a local file path (version pinning not supported):
42
+
43
+ ```yaml
44
+ connectors:
45
+ - id: my_api
46
+ type: local
47
+ path: ./connectors/my-api/connector.yaml
48
+ description: "My custom API connector"
49
+ secrets:
50
+ token: MY_API_KEY
51
+ ```
52
+
53
+ See `configured_connectors.yaml.example` for more examples.
54
+
55
+ ### 2. Create .env file
56
+
57
+ ```bash
58
+ STRIPE_API_KEY=sk_test_your_stripe_api_key_here
59
+ ```
60
+
61
+ ## Running
62
+
63
+ ```bash
64
+ uv run airbyte_agent_mcp
65
+ ```
66
+
67
+ The server also takes in args for specific paths to the configured_connectors.yaml file and the env file. With custom paths:
68
+
69
+ ```bash
70
+ python -m airbyte_agent_mcp path/to/configured_connectors.yaml path/to/.env
71
+ ```
72
+
73
+ The default paths are `./configured_connectors.yaml` and `./.env`
74
+
75
+ ## Usage with Claude Code
76
+
77
+ Add to `~/.claude.json`:
78
+
79
+ ```json
80
+ "mcpServers": {
81
+ "airbyte-agent-mcp": {
82
+ "type": "stdio",
83
+ "command": "uv",
84
+ "args": [
85
+ "--directory",
86
+ "/path/to/sonar/airbyte-agent-mcp",
87
+ "run",
88
+ "airbyte_agent_mcp"
89
+ ],
90
+ "env": {}
91
+ }
92
+ },
93
+ ```
94
+
95
+ ## Development / Testing
96
+
97
+ ```bash
98
+ # Install dev dependencies
99
+ uv sync --all-extras
100
+
101
+ # Run tests
102
+ uv run pytest
103
+
104
+ # Format code
105
+ uv run ruff format .
106
+
107
+ # Lint code
108
+ uv run ruff check .
109
+ ```
File without changes
@@ -0,0 +1,26 @@
1
+ """Entry point for running airbyte-agent-mcp server."""
2
+
3
+ import sys
4
+
5
+ from airbyte_agent_mcp.server import run_server
6
+
7
+
8
+ def main():
9
+ """Main entry point."""
10
+ # Support optional command-line arguments
11
+ config_path = "configured_connectors.yaml"
12
+ dotenv_path = ".env"
13
+
14
+ # Simple argument parsing
15
+ args = sys.argv[1:]
16
+ if len(args) >= 1:
17
+ config_path = args[0]
18
+ if len(args) >= 2:
19
+ dotenv_path = args[1]
20
+
21
+ # Run the server
22
+ run_server(config_path, dotenv_path)
23
+
24
+
25
+ if __name__ == "__main__":
26
+ main()
@@ -0,0 +1 @@
1
+ """Vendored connector-sdk runtime."""
@@ -0,0 +1,82 @@
1
+ """
2
+ Airbyte SDK - Async-first type-safe connector execution framework.
3
+
4
+ Provides:
5
+ - Async executor for all connectors
6
+ - Custom connector support
7
+ - Performance monitoring and instrumentation
8
+ - Connection pooling and concurrent execution
9
+ """
10
+
11
+ from __future__ import annotations
12
+
13
+ from .auth_strategies import AuthStrategy
14
+ from .constants import SDK_VERSION
15
+ from .executor import (
16
+ LocalExecutor,
17
+ HostedExecutor,
18
+ ExecutorProtocol,
19
+ ExecutionConfig,
20
+ ExecutionResult,
21
+ ExecutorError,
22
+ EntityNotFoundError,
23
+ ActionNotSupportedError,
24
+ MissingParameterError,
25
+ InvalidParameterError,
26
+ )
27
+ from .http_client import HTTPClient
28
+ from .types import ConnectorConfig, Action, AuthType, EntityDefinition
29
+ from .config_loader import load_connector_config
30
+ from .logging import RequestLogger, NullLogger, RequestLog, LogSession
31
+ from .performance import PerformanceMonitor, instrument
32
+ from .exceptions import (
33
+ HTTPClientError,
34
+ AuthenticationError,
35
+ RateLimitError,
36
+ NetworkError,
37
+ TimeoutError,
38
+ )
39
+ from .utils import save_download
40
+
41
+ __version__ = SDK_VERSION
42
+
43
+ __all__ = [
44
+ # All Executors
45
+ "LocalExecutor",
46
+ "HostedExecutor",
47
+ "ExecutorProtocol",
48
+ "HTTPClient",
49
+ # Execution Config and Result Types
50
+ "ExecutionConfig",
51
+ "ExecutionResult",
52
+ # Types
53
+ "ConnectorConfig",
54
+ "Action",
55
+ "AuthType",
56
+ "EntityDefinition",
57
+ "load_connector_config",
58
+ # Authentication
59
+ "AuthStrategy",
60
+ # Executor Exceptions
61
+ "ExecutorError",
62
+ "EntityNotFoundError",
63
+ "ActionNotSupportedError",
64
+ "MissingParameterError",
65
+ "InvalidParameterError",
66
+ # HTTP Exceptions
67
+ "HTTPClientError",
68
+ "AuthenticationError",
69
+ "RateLimitError",
70
+ "NetworkError",
71
+ "TimeoutError",
72
+ # Logging
73
+ "RequestLogger",
74
+ "NullLogger",
75
+ "RequestLog",
76
+ "LogSession",
77
+ # Performance monitoring
78
+ "PerformanceMonitor",
79
+ "instrument",
80
+ # Utilities
81
+ "save_download",
82
+ ]