awslabs.syntheticdata-mcp-server 0.0.2__tar.gz → 1.0.1__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 (30) hide show
  1. {awslabs_syntheticdata_mcp_server-0.0.2 → awslabs_syntheticdata_mcp_server-1.0.1}/PKG-INFO +1 -1
  2. awslabs_syntheticdata_mcp_server-1.0.1/awslabs/__init__.py +15 -0
  3. awslabs_syntheticdata_mcp_server-1.0.1/awslabs/syntheticdata_mcp_server/__init__.py +17 -0
  4. {awslabs_syntheticdata_mcp_server-0.0.2 → awslabs_syntheticdata_mcp_server-1.0.1}/awslabs/syntheticdata_mcp_server/pandas_interpreter.py +9 -6
  5. {awslabs_syntheticdata_mcp_server-0.0.2 → awslabs_syntheticdata_mcp_server-1.0.1}/awslabs/syntheticdata_mcp_server/server.py +10 -21
  6. awslabs_syntheticdata_mcp_server-1.0.1/awslabs/syntheticdata_mcp_server/storage/__init__.py +21 -0
  7. {awslabs_syntheticdata_mcp_server-0.0.2 → awslabs_syntheticdata_mcp_server-1.0.1}/awslabs/syntheticdata_mcp_server/storage/base.py +9 -6
  8. {awslabs_syntheticdata_mcp_server-0.0.2 → awslabs_syntheticdata_mcp_server-1.0.1}/awslabs/syntheticdata_mcp_server/storage/loader.py +9 -6
  9. {awslabs_syntheticdata_mcp_server-0.0.2 → awslabs_syntheticdata_mcp_server-1.0.1}/awslabs/syntheticdata_mcp_server/storage/s3.py +14 -0
  10. {awslabs_syntheticdata_mcp_server-0.0.2 → awslabs_syntheticdata_mcp_server-1.0.1}/pyproject.toml +1 -1
  11. awslabs_syntheticdata_mcp_server-1.0.1/tests/__init__.py +14 -0
  12. {awslabs_syntheticdata_mcp_server-0.0.2 → awslabs_syntheticdata_mcp_server-1.0.1}/tests/test_server.py +9 -25
  13. {awslabs_syntheticdata_mcp_server-0.0.2 → awslabs_syntheticdata_mcp_server-1.0.1}/uv.lock +2 -1
  14. awslabs_syntheticdata_mcp_server-0.0.2/awslabs/__init__.py +0 -12
  15. awslabs_syntheticdata_mcp_server-0.0.2/awslabs/syntheticdata_mcp_server/__init__.py +0 -16
  16. awslabs_syntheticdata_mcp_server-0.0.2/awslabs/syntheticdata_mcp_server/storage/__init__.py +0 -7
  17. awslabs_syntheticdata_mcp_server-0.0.2/tests/__init__.py +0 -11
  18. {awslabs_syntheticdata_mcp_server-0.0.2 → awslabs_syntheticdata_mcp_server-1.0.1}/.gitignore +0 -0
  19. {awslabs_syntheticdata_mcp_server-0.0.2 → awslabs_syntheticdata_mcp_server-1.0.1}/.pre-commit-config.yaml +0 -0
  20. {awslabs_syntheticdata_mcp_server-0.0.2 → awslabs_syntheticdata_mcp_server-1.0.1}/.python-version +0 -0
  21. {awslabs_syntheticdata_mcp_server-0.0.2 → awslabs_syntheticdata_mcp_server-1.0.1}/CHANGELOG.md +0 -0
  22. {awslabs_syntheticdata_mcp_server-0.0.2 → awslabs_syntheticdata_mcp_server-1.0.1}/LICENSE +0 -0
  23. {awslabs_syntheticdata_mcp_server-0.0.2 → awslabs_syntheticdata_mcp_server-1.0.1}/NOTICE +0 -0
  24. {awslabs_syntheticdata_mcp_server-0.0.2 → awslabs_syntheticdata_mcp_server-1.0.1}/README.md +0 -0
  25. {awslabs_syntheticdata_mcp_server-0.0.2 → awslabs_syntheticdata_mcp_server-1.0.1}/tests/conftest.py +0 -0
  26. {awslabs_syntheticdata_mcp_server-0.0.2 → awslabs_syntheticdata_mcp_server-1.0.1}/tests/test_constants.py +0 -0
  27. {awslabs_syntheticdata_mcp_server-0.0.2 → awslabs_syntheticdata_mcp_server-1.0.1}/tests/test_pandas_interpreter.py +0 -0
  28. {awslabs_syntheticdata_mcp_server-0.0.2 → awslabs_syntheticdata_mcp_server-1.0.1}/tests/test_storage/__init__.py +0 -0
  29. {awslabs_syntheticdata_mcp_server-0.0.2 → awslabs_syntheticdata_mcp_server-1.0.1}/tests/test_storage/test_loader.py +0 -0
  30. {awslabs_syntheticdata_mcp_server-0.0.2 → awslabs_syntheticdata_mcp_server-1.0.1}/tests/test_storage/test_s3.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: awslabs.syntheticdata-mcp-server
3
- Version: 0.0.2
3
+ Version: 1.0.1
4
4
  Summary: An AWS Labs Model Context Protocol (MCP) server for syntheticdata
5
5
  Project-URL: homepage, https://awslabs.github.io/mcp/
6
6
  Project-URL: docs, https://awslabs.github.io/mcp/servers/syntheticdata-mcp-server/
@@ -0,0 +1,15 @@
1
+ # Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+ #
7
+ # http://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+
15
+ # It is intentionally minimal to support PEP 420 namespace packages.
@@ -0,0 +1,17 @@
1
+ # Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+ #
7
+ # http://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+
15
+ """SyntheticData MCP Server package."""
16
+
17
+ __version__ = '0.0.0'
@@ -1,13 +1,16 @@
1
1
  # Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
2
2
  #
3
- # Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance
4
- # with the License. A copy of the License is located at
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
5
6
  #
6
- # http://www.apache.org/licenses/LICENSE-2.0
7
+ # http://www.apache.org/licenses/LICENSE-2.0
7
8
  #
8
- # or in the 'license' file accompanying this file. This file is distributed on an 'AS IS' BASIS, WITHOUT WARRANTIES
9
- # OR CONDITIONS OF ANY KIND, express or implied. See the License for the specific language governing permissions
10
- # and limitations under the License.
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
11
14
 
12
15
 
13
16
  import ast
@@ -1,17 +1,19 @@
1
1
  # Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
2
2
  #
3
- # Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance
4
- # with the License. A copy of the License is located at
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
5
6
  #
6
- # http://www.apache.org/licenses/LICENSE-2.0
7
+ # http://www.apache.org/licenses/LICENSE-2.0
7
8
  #
8
- # or in the 'license' file accompanying this file. This file is distributed on an 'AS IS' BASIS, WITHOUT WARRANTIES
9
- # OR CONDITIONS OF ANY KIND, express or implied. See the License for the specific language governing permissions
10
- # and limitations under the License.
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
11
14
 
12
15
  """AWS syntheticdata MCP Server implementation."""
13
16
 
14
- import argparse
15
17
  import os
16
18
  import pandas as pd
17
19
  import re
@@ -756,20 +758,7 @@ def _validate_table_data(table_name: str, records: List[Dict]) -> Dict:
756
758
 
757
759
  def main():
758
760
  """Run the MCP server with CLI argument support."""
759
- parser = argparse.ArgumentParser(
760
- description='MCP server for generating synthetic data based on business use cases'
761
- )
762
- parser.add_argument('--sse', action='store_true', help='Use SSE transport')
763
- parser.add_argument('--port', type=int, default=8888, help='Port to run the server on')
764
-
765
- args = parser.parse_args()
766
-
767
- # Run server with appropriate transport
768
- if args.sse:
769
- mcp.settings.port = args.port
770
- mcp.run(transport='sse')
771
- else:
772
- mcp.run()
761
+ mcp.run()
773
762
 
774
763
 
775
764
  if __name__ == '__main__':
@@ -0,0 +1,21 @@
1
+ # Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+ #
7
+ # http://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+
15
+ """Storage module for synthetic data loading."""
16
+
17
+ from .base import DataTarget
18
+ from .s3 import S3Target
19
+ from .loader import UnifiedDataLoader
20
+
21
+ __all__ = ['DataTarget', 'S3Target', 'UnifiedDataLoader']
@@ -1,13 +1,16 @@
1
1
  # Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
2
2
  #
3
- # Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance
4
- # with the License. A copy of the License is located at
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
5
6
  #
6
- # http://www.apache.org/licenses/LICENSE-2.0
7
+ # http://www.apache.org/licenses/LICENSE-2.0
7
8
  #
8
- # or in the 'license' file accompanying this file. This file is distributed on an 'AS IS' BASIS, WITHOUT WARRANTIES
9
- # OR CONDITIONS OF ANY KIND, express or implied. See the License for the specific language governing permissions
10
- # and limitations under the License.
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
11
14
 
12
15
 
13
16
  """Base classes for data storage targets."""
@@ -1,13 +1,16 @@
1
1
  # Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
2
2
  #
3
- # Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance
4
- # with the License. A copy of the License is located at
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
5
6
  #
6
- # http://www.apache.org/licenses/LICENSE-2.0
7
+ # http://www.apache.org/licenses/LICENSE-2.0
7
8
  #
8
- # or in the 'license' file accompanying this file. This file is distributed on an 'AS IS' BASIS, WITHOUT WARRANTIES
9
- # OR CONDITIONS OF ANY KIND, express or implied. See the License for the specific language governing permissions
10
- # and limitations under the License.
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
11
14
 
12
15
 
13
16
  """Unified data loader implementation."""
@@ -1,3 +1,17 @@
1
+ # Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+ #
7
+ # http://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+
1
15
  """S3 storage target implementation."""
2
16
 
3
17
  import asyncio
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "awslabs.syntheticdata-mcp-server"
3
- version = "0.0.2"
3
+ version = "1.0.1"
4
4
  description = "An AWS Labs Model Context Protocol (MCP) server for syntheticdata"
5
5
  readme = "README.md"
6
6
  requires-python = ">=3.10"
@@ -0,0 +1,14 @@
1
+ # Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+ #
7
+ # http://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+ """Test package for syntheticdata MCP server."""
@@ -1,7 +1,6 @@
1
1
  """Tests for syntheticdata MCP server functionality."""
2
2
 
3
3
  import os
4
- import pytest
5
4
  from awslabs.syntheticdata_mcp_server.server import (
6
5
  ExecutePandasCodeInput,
7
6
  LoadToStorageInput,
@@ -16,7 +15,6 @@ from awslabs.syntheticdata_mcp_server.server import (
16
15
  get_data_gen_instructions,
17
16
  load_to_storage,
18
17
  main,
19
- mcp,
20
18
  validate_and_save_data,
21
19
  )
22
20
  from pytest import mark
@@ -349,34 +347,20 @@ def test_get_entity_example_data() -> None:
349
347
  assert all('description' in record for record in custom_data)
350
348
 
351
349
 
352
- @pytest.mark.parametrize(
353
- 'args,expected_port,expected_sse',
354
- [
355
- ([], 8888, False), # Default values
356
- (['--port', '9999'], 9999, False), # Custom port
357
- (['--sse'], 8888, True), # SSE enabled
358
- (['--sse', '--port', '7777'], 7777, True), # Both custom
359
- ],
360
- )
361
- def test_main_cli_arguments(mock_cli_args, monkeypatch, args, expected_port, expected_sse) -> None:
362
- """Test CLI argument handling."""
363
- # Update mock CLI args
364
- mock_cli_args.extend(args)
365
-
366
- # Mock FastMCP.run to capture arguments
367
- run_args = {}
350
+ def test_main_cli_arguments(monkeypatch) -> None:
351
+ """Test that main() calls mcp.run() without arguments."""
352
+ # Mock FastMCP.run to verify it's called
353
+ run_called = False
368
354
 
369
355
  def mock_run(self, **kwargs):
370
- run_args.update(kwargs)
356
+ nonlocal run_called
357
+ run_called = True
358
+ assert not kwargs # Verify no arguments are passed
371
359
 
372
360
  monkeypatch.setattr('mcp.server.fastmcp.FastMCP.run', mock_run)
373
361
 
374
362
  # Run main
375
363
  main()
376
364
 
377
- # Verify settings
378
- if expected_sse:
379
- assert run_args.get('transport') == 'sse'
380
- assert mcp.settings.port == expected_port
381
- else:
382
- assert not run_args # Default stdio transport
365
+ # Verify run was called
366
+ assert run_called
@@ -1,4 +1,5 @@
1
1
  version = 1
2
+ revision = 1
2
3
  requires-python = ">=3.10"
3
4
  resolution-markers = [
4
5
  "python_full_version >= '3.12'",
@@ -41,7 +42,7 @@ wheels = [
41
42
 
42
43
  [[package]]
43
44
  name = "awslabs-syntheticdata-mcp-server"
44
- version = "0.0.1"
45
+ version = "1.0.9223372036854775807"
45
46
  source = { editable = "." }
46
47
  dependencies = [
47
48
  { name = "boto3" },
@@ -1,12 +0,0 @@
1
- # This file is part of the awslabs namespace.
2
- # Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3
- #
4
- # Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance
5
- # with the License. A copy of the License is located at
6
- #
7
- # http://www.apache.org/licenses/LICENSE-2.0
8
- #
9
- # or in the 'license' file accompanying this file. This file is distributed on an 'AS IS' BASIS, WITHOUT WARRANTIES
10
- # OR CONDITIONS OF ANY KIND, express or implied. See the License for the specific language governing permissions
11
- # and limitations under the License.
12
- # It is intentionally minimal to support PEP 420 namespace packages.
@@ -1,16 +0,0 @@
1
- #
2
- # Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3
- #
4
- # Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance
5
- # with the License. A copy of the License is located at
6
- #
7
- # http://www.apache.org/licenses/LICENSE-2.0
8
- #
9
- # or in the 'license' file accompanying this file. This file is distributed on an 'AS IS' BASIS, WITHOUT WARRANTIES
10
- # OR CONDITIONS OF ANY KIND, express or implied. See the License for the specific language governing permissions
11
- # and limitations under the License.
12
-
13
-
14
- """SyntheticData MCP Server package."""
15
-
16
- __version__ = '0.0.0'
@@ -1,7 +0,0 @@
1
- """Storage module for synthetic data loading."""
2
-
3
- from .base import DataTarget
4
- from .s3 import S3Target
5
- from .loader import UnifiedDataLoader
6
-
7
- __all__ = ['DataTarget', 'S3Target', 'UnifiedDataLoader']
@@ -1,11 +0,0 @@
1
- # Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
2
- #
3
- # Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance
4
- # with the License. A copy of the License is located at
5
- #
6
- # http://www.apache.org/licenses/LICENSE-2.0
7
- #
8
- # or in the 'license' file accompanying this file. This file is distributed on an 'AS IS' BASIS, WITHOUT WARRANTIES
9
- # OR CONDITIONS OF ANY KIND, express or implied. See the License for the specific language governing permissions
10
- # and limitations under the License.
11
- """Test package for syntheticdata MCP server."""