awslabs.lambda-tool-mcp-server 2.0.9__tar.gz → 2.0.10__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.
- {awslabs_lambda_tool_mcp_server-2.0.9 → awslabs_lambda_tool_mcp_server-2.0.10}/PKG-INFO +1 -1
- {awslabs_lambda_tool_mcp_server-2.0.9 → awslabs_lambda_tool_mcp_server-2.0.10}/awslabs/lambda_tool_mcp_server/__init__.py +1 -1
- {awslabs_lambda_tool_mcp_server-2.0.9 → awslabs_lambda_tool_mcp_server-2.0.10}/awslabs/lambda_tool_mcp_server/server.py +12 -2
- {awslabs_lambda_tool_mcp_server-2.0.9 → awslabs_lambda_tool_mcp_server-2.0.10}/pyproject.toml +1 -1
- {awslabs_lambda_tool_mcp_server-2.0.9 → awslabs_lambda_tool_mcp_server-2.0.10}/tests/conftest.py +29 -25
- {awslabs_lambda_tool_mcp_server-2.0.9 → awslabs_lambda_tool_mcp_server-2.0.10}/tests/test_integration.py +11 -9
- {awslabs_lambda_tool_mcp_server-2.0.9 → awslabs_lambda_tool_mcp_server-2.0.10}/tests/test_server.py +2 -2
- {awslabs_lambda_tool_mcp_server-2.0.9 → awslabs_lambda_tool_mcp_server-2.0.10}/uv.lock +1 -1
- {awslabs_lambda_tool_mcp_server-2.0.9 → awslabs_lambda_tool_mcp_server-2.0.10}/.gitignore +0 -0
- {awslabs_lambda_tool_mcp_server-2.0.9 → awslabs_lambda_tool_mcp_server-2.0.10}/.python-version +0 -0
- {awslabs_lambda_tool_mcp_server-2.0.9 → awslabs_lambda_tool_mcp_server-2.0.10}/CHANGELOG.md +0 -0
- {awslabs_lambda_tool_mcp_server-2.0.9 → awslabs_lambda_tool_mcp_server-2.0.10}/Dockerfile +0 -0
- {awslabs_lambda_tool_mcp_server-2.0.9 → awslabs_lambda_tool_mcp_server-2.0.10}/LICENSE +0 -0
- {awslabs_lambda_tool_mcp_server-2.0.9 → awslabs_lambda_tool_mcp_server-2.0.10}/NOTICE +0 -0
- {awslabs_lambda_tool_mcp_server-2.0.9 → awslabs_lambda_tool_mcp_server-2.0.10}/README.md +0 -0
- {awslabs_lambda_tool_mcp_server-2.0.9 → awslabs_lambda_tool_mcp_server-2.0.10}/awslabs/__init__.py +0 -0
- {awslabs_lambda_tool_mcp_server-2.0.9 → awslabs_lambda_tool_mcp_server-2.0.10}/docker-healthcheck.sh +0 -0
- {awslabs_lambda_tool_mcp_server-2.0.9 → awslabs_lambda_tool_mcp_server-2.0.10}/examples/README.md +0 -0
- {awslabs_lambda_tool_mcp_server-2.0.9 → awslabs_lambda_tool_mcp_server-2.0.10}/examples/sample_functions/customer-create/app.py +0 -0
- {awslabs_lambda_tool_mcp_server-2.0.9 → awslabs_lambda_tool_mcp_server-2.0.10}/examples/sample_functions/customer-id-from-email/app.py +0 -0
- {awslabs_lambda_tool_mcp_server-2.0.9 → awslabs_lambda_tool_mcp_server-2.0.10}/examples/sample_functions/customer-info-from-id/app.py +0 -0
- {awslabs_lambda_tool_mcp_server-2.0.9 → awslabs_lambda_tool_mcp_server-2.0.10}/examples/sample_functions/template.yml +0 -0
- {awslabs_lambda_tool_mcp_server-2.0.9 → awslabs_lambda_tool_mcp_server-2.0.10}/tests/.gitignore +0 -0
- {awslabs_lambda_tool_mcp_server-2.0.9 → awslabs_lambda_tool_mcp_server-2.0.10}/tests/README.md +0 -0
- {awslabs_lambda_tool_mcp_server-2.0.9 → awslabs_lambda_tool_mcp_server-2.0.10}/tests/__init__.py +0 -0
- {awslabs_lambda_tool_mcp_server-2.0.9 → awslabs_lambda_tool_mcp_server-2.0.10}/tests/test_format_lambda_response.py +0 -0
- {awslabs_lambda_tool_mcp_server-2.0.9 → awslabs_lambda_tool_mcp_server-2.0.10}/tests/test_integration_coverage.py +0 -0
- {awslabs_lambda_tool_mcp_server-2.0.9 → awslabs_lambda_tool_mcp_server-2.0.10}/tests/test_register_lambda_functions.py +0 -0
- {awslabs_lambda_tool_mcp_server-2.0.9 → awslabs_lambda_tool_mcp_server-2.0.10}/tests/test_schema_integration.py +0 -0
- {awslabs_lambda_tool_mcp_server-2.0.9 → awslabs_lambda_tool_mcp_server-2.0.10}/tests/test_server_coverage.py +0 -0
- {awslabs_lambda_tool_mcp_server-2.0.9 → awslabs_lambda_tool_mcp_server-2.0.10}/tests/test_server_coverage_additional.py +0 -0
- {awslabs_lambda_tool_mcp_server-2.0.9 → awslabs_lambda_tool_mcp_server-2.0.10}/uv-requirements.txt +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: awslabs.lambda-tool-mcp-server
|
|
3
|
-
Version: 2.0.
|
|
3
|
+
Version: 2.0.10
|
|
4
4
|
Summary: An AWS Labs Model Context Protocol (MCP) server for AWS Lambda Tools
|
|
5
5
|
Project-URL: Homepage, https://awslabs.github.io/mcp/
|
|
6
6
|
Project-URL: Documentation, https://awslabs.github.io/mcp/servers/lambda-tool-mcp-server/
|
|
@@ -264,14 +264,24 @@ def filter_functions_by_tag(functions, tag_key, tag_value):
|
|
|
264
264
|
return tagged_functions
|
|
265
265
|
|
|
266
266
|
|
|
267
|
+
def get_all_lambda_functions():
|
|
268
|
+
"""Retrieve all available Lambda functions using pagination."""
|
|
269
|
+
paginator = lambda_client.get_paginator('list_functions')
|
|
270
|
+
all_functions = []
|
|
271
|
+
|
|
272
|
+
for page in paginator.paginate():
|
|
273
|
+
all_functions.extend(page.get('Functions', []))
|
|
274
|
+
|
|
275
|
+
return all_functions
|
|
276
|
+
|
|
277
|
+
|
|
267
278
|
def register_lambda_functions():
|
|
268
279
|
"""Register Lambda functions as individual tools."""
|
|
269
280
|
try:
|
|
270
281
|
logger.info('Registering Lambda functions as individual tools...')
|
|
271
|
-
functions = lambda_client.list_functions()
|
|
272
282
|
|
|
273
283
|
# Get all functions
|
|
274
|
-
all_functions =
|
|
284
|
+
all_functions = get_all_lambda_functions()
|
|
275
285
|
logger.info(f'Total Lambda functions found: {len(all_functions)}')
|
|
276
286
|
|
|
277
287
|
# First filter by function name if prefix or list is set
|
{awslabs_lambda_tool_mcp_server-2.0.9 → awslabs_lambda_tool_mcp_server-2.0.10}/tests/conftest.py
RENAMED
|
@@ -10,31 +10,35 @@ def mock_lambda_client():
|
|
|
10
10
|
"""Create a mock boto3 Lambda client."""
|
|
11
11
|
mock_client = MagicMock()
|
|
12
12
|
|
|
13
|
-
# Mock list_functions response
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
13
|
+
# Mock list_functions paginator response
|
|
14
|
+
paginator_mock = MagicMock()
|
|
15
|
+
paginator_mock.paginate.return_value = [
|
|
16
|
+
{
|
|
17
|
+
'Functions': [
|
|
18
|
+
{
|
|
19
|
+
'FunctionName': 'test-function-1',
|
|
20
|
+
'FunctionArn': 'arn:aws:lambda:us-east-1:123456789012:function:test-function-1',
|
|
21
|
+
'Description': 'Test function 1 description',
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
'FunctionName': 'test-function-2',
|
|
25
|
+
'FunctionArn': 'arn:aws:lambda:us-east-1:123456789012:function:test-function-2',
|
|
26
|
+
'Description': 'Test function 2 description',
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
'FunctionName': 'prefix-test-function-3',
|
|
30
|
+
'FunctionArn': 'arn:aws:lambda:us-east-1:123456789012:function:prefix-test-function-3',
|
|
31
|
+
'Description': 'Test function 3 with prefix',
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
'FunctionName': 'other-function',
|
|
35
|
+
'FunctionArn': 'arn:aws:lambda:us-east-1:123456789012:function:other-function',
|
|
36
|
+
'Description': '', # Empty description
|
|
37
|
+
},
|
|
38
|
+
]
|
|
39
|
+
}
|
|
40
|
+
]
|
|
41
|
+
mock_client.get_paginator.return_value = paginator_mock
|
|
38
42
|
|
|
39
43
|
# Mock list_tags response
|
|
40
44
|
def mock_list_tags(Resource):
|
|
@@ -34,15 +34,17 @@ with pytest.MonkeyPatch().context() as CTX:
|
|
|
34
34
|
def test_tool_registration(self, mock_lambda_client, mock_create_lambda_tool):
|
|
35
35
|
"""Test that Lambda functions are registered as tools."""
|
|
36
36
|
# Set up the mock
|
|
37
|
-
mock_lambda_client.
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
37
|
+
mock_lambda_client.get_paginator.return_value.paginate.return_value = [
|
|
38
|
+
{
|
|
39
|
+
'Functions': [
|
|
40
|
+
{
|
|
41
|
+
'FunctionName': 'test-function',
|
|
42
|
+
'FunctionArn': 'arn:aws:lambda:us-east-1:123456789012:function:test-function',
|
|
43
|
+
'Description': 'Test function description',
|
|
44
|
+
},
|
|
45
|
+
]
|
|
46
|
+
}
|
|
47
|
+
]
|
|
46
48
|
|
|
47
49
|
# Call the function
|
|
48
50
|
register_lambda_functions()
|
{awslabs_lambda_tool_mcp_server-2.0.9 → awslabs_lambda_tool_mcp_server-2.0.10}/tests/test_server.py
RENAMED
|
@@ -416,8 +416,8 @@ with pytest.MonkeyPatch().context() as CTX:
|
|
|
416
416
|
@patch('awslabs.lambda_tool_mcp_server.server.lambda_client')
|
|
417
417
|
def test_register_error_handling(self, mock_lambda_client):
|
|
418
418
|
"""Test error handling in register_lambda_functions."""
|
|
419
|
-
# Make
|
|
420
|
-
mock_lambda_client.
|
|
419
|
+
# Make get_paginator raise an exception
|
|
420
|
+
mock_lambda_client.get_paginator.side_effect = Exception('Error listing functions')
|
|
421
421
|
|
|
422
422
|
# Should not raise an exception
|
|
423
423
|
register_lambda_functions()
|
|
File without changes
|
{awslabs_lambda_tool_mcp_server-2.0.9 → awslabs_lambda_tool_mcp_server-2.0.10}/.python-version
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{awslabs_lambda_tool_mcp_server-2.0.9 → awslabs_lambda_tool_mcp_server-2.0.10}/awslabs/__init__.py
RENAMED
|
File without changes
|
{awslabs_lambda_tool_mcp_server-2.0.9 → awslabs_lambda_tool_mcp_server-2.0.10}/docker-healthcheck.sh
RENAMED
|
File without changes
|
{awslabs_lambda_tool_mcp_server-2.0.9 → awslabs_lambda_tool_mcp_server-2.0.10}/examples/README.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{awslabs_lambda_tool_mcp_server-2.0.9 → awslabs_lambda_tool_mcp_server-2.0.10}/tests/.gitignore
RENAMED
|
File without changes
|
{awslabs_lambda_tool_mcp_server-2.0.9 → awslabs_lambda_tool_mcp_server-2.0.10}/tests/README.md
RENAMED
|
File without changes
|
{awslabs_lambda_tool_mcp_server-2.0.9 → awslabs_lambda_tool_mcp_server-2.0.10}/tests/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{awslabs_lambda_tool_mcp_server-2.0.9 → awslabs_lambda_tool_mcp_server-2.0.10}/uv-requirements.txt
RENAMED
|
File without changes
|