airbyte-agent-mcp 0.1.7__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.7/.env.example +3 -0
  2. airbyte_agent_mcp-0.1.7/.gitignore +26 -0
  3. airbyte_agent_mcp-0.1.7/CHANGELOG.md +41 -0
  4. airbyte_agent_mcp-0.1.7/PKG-INFO +132 -0
  5. airbyte_agent_mcp-0.1.7/README.md +109 -0
  6. airbyte_agent_mcp-0.1.7/airbyte_agent_mcp/__init__.py +0 -0
  7. airbyte_agent_mcp-0.1.7/airbyte_agent_mcp/__main__.py +26 -0
  8. airbyte_agent_mcp-0.1.7/airbyte_agent_mcp/_vendored/__init__.py +1 -0
  9. airbyte_agent_mcp-0.1.7/airbyte_agent_mcp/_vendored/connector_sdk/__init__.py +82 -0
  10. airbyte_agent_mcp-0.1.7/airbyte_agent_mcp/_vendored/connector_sdk/auth_strategies.py +979 -0
  11. airbyte_agent_mcp-0.1.7/airbyte_agent_mcp/_vendored/connector_sdk/auth_template.py +135 -0
  12. airbyte_agent_mcp-0.1.7/airbyte_agent_mcp/_vendored/connector_sdk/config_loader.py +753 -0
  13. airbyte_agent_mcp-0.1.7/airbyte_agent_mcp/_vendored/connector_sdk/constants.py +78 -0
  14. airbyte_agent_mcp-0.1.7/airbyte_agent_mcp/_vendored/connector_sdk/exceptions.py +23 -0
  15. airbyte_agent_mcp-0.1.7/airbyte_agent_mcp/_vendored/connector_sdk/executor/__init__.py +31 -0
  16. airbyte_agent_mcp-0.1.7/airbyte_agent_mcp/_vendored/connector_sdk/executor/hosted_executor.py +189 -0
  17. airbyte_agent_mcp-0.1.7/airbyte_agent_mcp/_vendored/connector_sdk/executor/local_executor.py +1370 -0
  18. airbyte_agent_mcp-0.1.7/airbyte_agent_mcp/_vendored/connector_sdk/executor/models.py +189 -0
  19. airbyte_agent_mcp-0.1.7/airbyte_agent_mcp/_vendored/connector_sdk/extensions.py +599 -0
  20. airbyte_agent_mcp-0.1.7/airbyte_agent_mcp/_vendored/connector_sdk/http/__init__.py +37 -0
  21. airbyte_agent_mcp-0.1.7/airbyte_agent_mcp/_vendored/connector_sdk/http/adapters/__init__.py +9 -0
  22. airbyte_agent_mcp-0.1.7/airbyte_agent_mcp/_vendored/connector_sdk/http/adapters/httpx_adapter.py +257 -0
  23. airbyte_agent_mcp-0.1.7/airbyte_agent_mcp/_vendored/connector_sdk/http/config.py +98 -0
  24. airbyte_agent_mcp-0.1.7/airbyte_agent_mcp/_vendored/connector_sdk/http/exceptions.py +119 -0
  25. airbyte_agent_mcp-0.1.7/airbyte_agent_mcp/_vendored/connector_sdk/http/protocols.py +114 -0
  26. airbyte_agent_mcp-0.1.7/airbyte_agent_mcp/_vendored/connector_sdk/http/response.py +102 -0
  27. airbyte_agent_mcp-0.1.7/airbyte_agent_mcp/_vendored/connector_sdk/http_client.py +618 -0
  28. airbyte_agent_mcp-0.1.7/airbyte_agent_mcp/_vendored/connector_sdk/logging/__init__.py +11 -0
  29. airbyte_agent_mcp-0.1.7/airbyte_agent_mcp/_vendored/connector_sdk/logging/logger.py +265 -0
  30. airbyte_agent_mcp-0.1.7/airbyte_agent_mcp/_vendored/connector_sdk/logging/types.py +93 -0
  31. airbyte_agent_mcp-0.1.7/airbyte_agent_mcp/_vendored/connector_sdk/observability/__init__.py +11 -0
  32. airbyte_agent_mcp-0.1.7/airbyte_agent_mcp/_vendored/connector_sdk/observability/models.py +19 -0
  33. airbyte_agent_mcp-0.1.7/airbyte_agent_mcp/_vendored/connector_sdk/observability/redactor.py +90 -0
  34. airbyte_agent_mcp-0.1.7/airbyte_agent_mcp/_vendored/connector_sdk/observability/session.py +94 -0
  35. airbyte_agent_mcp-0.1.7/airbyte_agent_mcp/_vendored/connector_sdk/performance/__init__.py +6 -0
  36. airbyte_agent_mcp-0.1.7/airbyte_agent_mcp/_vendored/connector_sdk/performance/instrumentation.py +59 -0
  37. airbyte_agent_mcp-0.1.7/airbyte_agent_mcp/_vendored/connector_sdk/performance/metrics.py +95 -0
  38. airbyte_agent_mcp-0.1.7/airbyte_agent_mcp/_vendored/connector_sdk/schema/__init__.py +75 -0
  39. airbyte_agent_mcp-0.1.7/airbyte_agent_mcp/_vendored/connector_sdk/schema/base.py +143 -0
  40. airbyte_agent_mcp-0.1.7/airbyte_agent_mcp/_vendored/connector_sdk/schema/components.py +251 -0
  41. airbyte_agent_mcp-0.1.7/airbyte_agent_mcp/_vendored/connector_sdk/schema/connector.py +134 -0
  42. airbyte_agent_mcp-0.1.7/airbyte_agent_mcp/_vendored/connector_sdk/schema/extensions.py +108 -0
  43. airbyte_agent_mcp-0.1.7/airbyte_agent_mcp/_vendored/connector_sdk/schema/operations.py +143 -0
  44. airbyte_agent_mcp-0.1.7/airbyte_agent_mcp/_vendored/connector_sdk/schema/security.py +207 -0
  45. airbyte_agent_mcp-0.1.7/airbyte_agent_mcp/_vendored/connector_sdk/secrets.py +184 -0
  46. airbyte_agent_mcp-0.1.7/airbyte_agent_mcp/_vendored/connector_sdk/telemetry/__init__.py +10 -0
  47. airbyte_agent_mcp-0.1.7/airbyte_agent_mcp/_vendored/connector_sdk/telemetry/config.py +33 -0
  48. airbyte_agent_mcp-0.1.7/airbyte_agent_mcp/_vendored/connector_sdk/telemetry/events.py +58 -0
  49. airbyte_agent_mcp-0.1.7/airbyte_agent_mcp/_vendored/connector_sdk/telemetry/tracker.py +153 -0
  50. airbyte_agent_mcp-0.1.7/airbyte_agent_mcp/_vendored/connector_sdk/types.py +140 -0
  51. airbyte_agent_mcp-0.1.7/airbyte_agent_mcp/_vendored/connector_sdk/utils.py +62 -0
  52. airbyte_agent_mcp-0.1.7/airbyte_agent_mcp/_vendored/connector_sdk/validation.py +382 -0
  53. airbyte_agent_mcp-0.1.7/airbyte_agent_mcp/config.py +97 -0
  54. airbyte_agent_mcp-0.1.7/airbyte_agent_mcp/connector_manager.py +329 -0
  55. airbyte_agent_mcp-0.1.7/airbyte_agent_mcp/models.py +137 -0
  56. airbyte_agent_mcp-0.1.7/airbyte_agent_mcp/registry_client.py +103 -0
  57. airbyte_agent_mcp-0.1.7/airbyte_agent_mcp/secret_manager.py +94 -0
  58. airbyte_agent_mcp-0.1.7/airbyte_agent_mcp/server.py +236 -0
  59. airbyte_agent_mcp-0.1.7/configured_connectors.yaml.example +33 -0
  60. airbyte_agent_mcp-0.1.7/pyproject.toml +39 -0
  61. airbyte_agent_mcp-0.1.7/tests/__init__.py +0 -0
  62. airbyte_agent_mcp-0.1.7/tests/test_config.py +100 -0
  63. airbyte_agent_mcp-0.1.7/tests/test_connector_manager.py +533 -0
  64. airbyte_agent_mcp-0.1.7/tests/test_models.py +66 -0
  65. airbyte_agent_mcp-0.1.7/tests/test_registry_client.py +144 -0
  66. airbyte_agent_mcp-0.1.7/tests/test_secrets.py +94 -0
  67. airbyte_agent_mcp-0.1.7/tests/test_server.py +100 -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,41 @@
1
+ # Changelog
2
+
3
+ ## [0.1.7] - 2025-12-10
4
+ - Updated airbyte-agent-mcp package
5
+ - Source commit: 30c77ce6
6
+ - SDK version: 0.1.0
7
+
8
+ ## [0.1.6] - 2025-12-10
9
+ - Updated airbyte-agent-mcp package
10
+ - Source commit: 92482e66
11
+ - SDK version: 0.1.0
12
+
13
+ ## [0.1.5] - 2025-12-10
14
+ - Updated airbyte-agent-mcp package
15
+ - Source commit: b3c6a176
16
+ - SDK version: 0.1.0
17
+
18
+ ## [0.1.4] - 2025-12-10
19
+ - Updated airbyte-agent-mcp package
20
+ - Source commit: b3c6a176
21
+ - SDK version: 0.1.0
22
+
23
+ ## [0.1.3] - 2025-12-10
24
+ - Updated airbyte-agent-mcp package
25
+ - Source commit: b3c6a176
26
+ - SDK version: 0.1.0
27
+
28
+ ## [0.1.2] - 2025-12-10
29
+ - Updated airbyte-agent-mcp package
30
+ - Source commit: b3c6a176
31
+ - SDK version: 0.1.0
32
+
33
+ ## [0.1.1] - 2025-12-10
34
+ - Updated airbyte-agent-mcp package
35
+ - Source commit: b3c6a176
36
+ - SDK version: 0.1.0
37
+
38
+ ## [0.1.0] - 2025-12-09
39
+ - Updated airbyte-agent-mcp package
40
+ - Source commit: b3c6a176
41
+ - SDK version: 0.1.0
@@ -0,0 +1,132 @@
1
+ Metadata-Version: 2.4
2
+ Name: airbyte-agent-mcp
3
+ Version: 0.1.7
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: fastmcp>=2.10.5
8
+ Requires-Dist: httpx>=0.24.0
9
+ Requires-Dist: jinja2>=3.0.0
10
+ Requires-Dist: jsonpath-ng>=1.6.1
11
+ Requires-Dist: jsonref>=1.1.0
12
+ Requires-Dist: opentelemetry-api>=1.37.0
13
+ Requires-Dist: opentelemetry-sdk>=1.37.0
14
+ Requires-Dist: pydantic>=2.0.0
15
+ Requires-Dist: python-dotenv>=1.0.0
16
+ Requires-Dist: pyyaml>=6.0
17
+ Requires-Dist: segment-analytics-python>=2.2.0
18
+ Provides-Extra: dev
19
+ Requires-Dist: pytest-asyncio<1.0.0,>=0.24.0; extra == 'dev'
20
+ Requires-Dist: pytest<9.0.0,>=8.3.3; extra == 'dev'
21
+ Requires-Dist: ruff==0.7.3; extra == 'dev'
22
+ Description-Content-Type: text/markdown
23
+
24
+ # Airbyte Agent MCP Server
25
+
26
+ MCP server that exposes the Airbyte Connector SDK as Model Context Protocol tools.
27
+
28
+ ## Features
29
+
30
+ - **Execute**: Run operations on any connector (primary tool)
31
+ - **List Entities**: Discover available entities in a connector
32
+ - **Describe Entity**: Get detailed schema for an entity
33
+ - **Validate Operation**: Check parameters before execution
34
+
35
+ ## Configuration
36
+
37
+ ### 1. Create configured_connectors.yaml
38
+
39
+ ```yaml
40
+ # Connector definitions
41
+ connectors:
42
+ # Load connector from the Airbyte registry (recommended)
43
+ - id: stripe
44
+ type: local
45
+ connector_name: stripe
46
+ description: "My Stripe API connector"
47
+ secrets:
48
+ token: STRIPE_API_KEY
49
+ ```
50
+
51
+ You can pin to a specific version from the registry:
52
+
53
+ ```yaml
54
+ connectors:
55
+ - id: stripe
56
+ type: local
57
+ connector_name: stripe
58
+ version: 0.1.0
59
+ description: "Stripe connector pinned to v0.1.0"
60
+ secrets:
61
+ token: STRIPE_API_KEY
62
+ ```
63
+
64
+ You can also load connectors from a local file path (version pinning not supported):
65
+
66
+ ```yaml
67
+ connectors:
68
+ - id: my_api
69
+ type: local
70
+ path: ./connectors/my-api/connector.yaml
71
+ description: "My custom API connector"
72
+ secrets:
73
+ token: MY_API_KEY
74
+ ```
75
+
76
+ See `configured_connectors.yaml.example` for more examples.
77
+
78
+ ### 2. Create .env file
79
+
80
+ ```bash
81
+ STRIPE_API_KEY=sk_test_your_stripe_api_key_here
82
+ ```
83
+
84
+ ## Running
85
+
86
+ ```bash
87
+ uv run airbyte_agent_mcp
88
+ ```
89
+
90
+ The server also takes in args for specific paths to the configured_connectors.yaml file and the env file. With custom paths:
91
+
92
+ ```bash
93
+ python -m airbyte_agent_mcp path/to/configured_connectors.yaml path/to/.env
94
+ ```
95
+
96
+ The default paths are `./configured_connectors.yaml` and `./.env`
97
+
98
+ ## Usage with Claude Code
99
+
100
+ Add to `~/.claude.json`:
101
+
102
+ ```json
103
+ "mcpServers": {
104
+ "airbyte-agent-mcp": {
105
+ "type": "stdio",
106
+ "command": "uv",
107
+ "args": [
108
+ "--directory",
109
+ "/path/to/sonar/airbyte-agent-mcp",
110
+ "run",
111
+ "airbyte_agent_mcp"
112
+ ],
113
+ "env": {}
114
+ }
115
+ },
116
+ ```
117
+
118
+ ## Development / Testing
119
+
120
+ ```bash
121
+ # Install dev dependencies
122
+ uv sync --all-extras
123
+
124
+ # Run tests
125
+ uv run pytest
126
+
127
+ # Format code
128
+ uv run ruff format .
129
+
130
+ # Lint code
131
+ uv run ruff check .
132
+ ```
@@ -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
+ ]