sitebay-mcp 0.1.1751179164__py3-none-any.whl → 0.1.1751180311__py3-none-any.whl

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.
sitebay_mcp/exceptions.py CHANGED
@@ -2,6 +2,8 @@
2
2
  Custom exceptions for SiteBay MCP Server
3
3
  """
4
4
 
5
+ from typing import Optional, Dict, Any
6
+
5
7
 
6
8
  class SiteBayError(Exception):
7
9
  """Base exception for SiteBay MCP operations"""
@@ -16,7 +18,7 @@ class AuthenticationError(SiteBayError):
16
18
  class APIError(SiteBayError):
17
19
  """Raised when SiteBay API returns an error"""
18
20
 
19
- def __init__(self, message: str, status_code: int = None, response_data: dict = None):
21
+ def __init__(self, message: str, status_code: Optional[int] = None, response_data: Optional[Dict[Any, Any]] = None):
20
22
  super().__init__(message)
21
23
  self.status_code = status_code
22
24
  self.response_data = response_data
@@ -25,7 +27,7 @@ class APIError(SiteBayError):
25
27
  class ValidationError(SiteBayError):
26
28
  """Raised when request validation fails"""
27
29
 
28
- def __init__(self, message: str, field_errors: dict = None):
30
+ def __init__(self, message: str, field_errors: Optional[Dict[Any, Any]] = None):
29
31
  super().__init__(message)
30
32
  self.field_errors = field_errors or {}
31
33
 
sitebay_mcp/resources.py CHANGED
@@ -23,7 +23,7 @@ async def get_site_config_resource(ctx: Context, site_fqdn: str) -> str:
23
23
  JSON formatted site configuration
24
24
  """
25
25
  try:
26
- ctx.logger.info(f"Fetching configuration resource for: {site_fqdn}")
26
+ await ctx.info(f"Fetching configuration resource for: {site_fqdn}")
27
27
 
28
28
  from .server import initialize_client
29
29
  client = await initialize_client()
@@ -60,7 +60,7 @@ async def get_site_config_resource(ctx: Context, site_fqdn: str) -> str:
60
60
  return json.dumps(config, indent=2)
61
61
 
62
62
  except SiteBayError as e:
63
- ctx.logger.error(f"Error fetching config for {site_fqdn}: {str(e)}")
63
+ await ctx.error(f"Error fetching config for {site_fqdn}: {str(e)}")
64
64
  return f"Error: {str(e)}"
65
65
 
66
66
 
@@ -77,7 +77,7 @@ async def get_site_events_resource(ctx: Context, site_fqdn: str, limit: int = 50
77
77
  JSON formatted site events
78
78
  """
79
79
  try:
80
- ctx.logger.info(f"Fetching events resource for: {site_fqdn}")
80
+ await ctx.info(f"Fetching events resource for: {site_fqdn}")
81
81
 
82
82
  from .server import initialize_client
83
83
  client = await initialize_client()
@@ -106,7 +106,7 @@ async def get_site_events_resource(ctx: Context, site_fqdn: str, limit: int = 50
106
106
  return json.dumps(formatted_events, indent=2)
107
107
 
108
108
  except SiteBayError as e:
109
- ctx.logger.error(f"Error fetching events for {site_fqdn}: {str(e)}")
109
+ await ctx.error(f"Error fetching events for {site_fqdn}: {str(e)}")
110
110
  return f"Error: {str(e)}"
111
111
 
112
112
 
@@ -121,7 +121,7 @@ async def get_account_summary_resource(ctx: Context) -> str:
121
121
  JSON formatted account summary
122
122
  """
123
123
  try:
124
- ctx.logger.info("Fetching account summary resource")
124
+ await ctx.info("Fetching account summary resource")
125
125
 
126
126
  from .server import initialize_client
127
127
  client = await initialize_client()
@@ -167,5 +167,5 @@ async def get_account_summary_resource(ctx: Context) -> str:
167
167
  return json.dumps(summary, indent=2)
168
168
 
169
169
  except SiteBayError as e:
170
- ctx.logger.error(f"Error fetching account summary: {str(e)}")
170
+ await ctx.error(f"Error fetching account summary: {str(e)}")
171
171
  return f"Error: {str(e)}"
sitebay_mcp/server.py CHANGED
@@ -18,7 +18,7 @@ from . import resources
18
18
 
19
19
 
20
20
  # Create the MCP server instance
21
- mcp = FastMCP("SiteBay WordPress Hosting")
21
+ mcp: FastMCP = FastMCP("SiteBay WordPress Hosting")
22
22
 
23
23
 
24
24
  # Global client instance (will be initialized on startup)
@@ -86,19 +86,19 @@ async def sitebay_get_site(ctx: Context, fqdn: str) -> str:
86
86
  Detailed site information including status, versions, URLs, and configuration
87
87
  """
88
88
  try:
89
- ctx.logger.info(f"Fetching details for site: {fqdn}")
89
+ await ctx.info(f"Fetching details for site: {fqdn}")
90
90
 
91
91
  client = await initialize_client()
92
92
  result = await sites.sitebay_get_site(client, fqdn)
93
93
 
94
- ctx.logger.info(f"Successfully retrieved details for {fqdn}")
94
+ await ctx.info(f"Successfully retrieved details for {fqdn}")
95
95
  return result
96
96
 
97
97
  except SiteBayError as e:
98
- ctx.logger.error(f"SiteBay API error for {fqdn}: {str(e)}")
98
+ await ctx.error(f"SiteBay API error for {fqdn}: {str(e)}")
99
99
  return f"❌ SiteBay Error: {str(e)}"
100
100
  except Exception as e:
101
- ctx.logger.error(f"Unexpected error getting site {fqdn}: {str(e)}")
101
+ await ctx.error(f"Unexpected error getting site {fqdn}: {str(e)}")
102
102
  return f"❌ Unexpected error: {str(e)}"
103
103
 
104
104
 
@@ -131,37 +131,32 @@ async def sitebay_create_site(
131
131
  Success message with new site details and access information
132
132
  """
133
133
  try:
134
- ctx.logger.info(f"Starting site creation for: {fqdn}")
134
+ await ctx.info(f"Starting site creation for: {fqdn}")
135
135
 
136
136
  # Progress reporting
137
- progress = ctx.create_progress_token("site-creation")
138
- await ctx.report_progress(progress, "Initializing site creation...", 0.1)
139
137
 
140
138
  client = await initialize_client()
141
139
 
142
- await ctx.report_progress(progress, "Validating site configuration...", 0.2)
143
140
 
144
141
  # Basic validation
145
142
  if not fqdn or '.' not in fqdn:
146
143
  raise ValueError("Invalid domain name provided")
147
144
 
148
- await ctx.report_progress(progress, "Submitting site creation request to SiteBay...", 0.4)
149
145
 
150
146
  result = await sites.sitebay_create_site(
151
147
  client, fqdn, wp_title, wp_username, wp_password, wp_email,
152
148
  region_name, template_id, team_id
153
149
  )
154
150
 
155
- await ctx.report_progress(progress, "Site creation submitted successfully!", 1.0)
156
151
 
157
- ctx.logger.info(f"Successfully created site: {fqdn}")
152
+ await ctx.info(f"Successfully created site: {fqdn}")
158
153
  return result
159
154
 
160
155
  except ValueError as e:
161
- ctx.logger.error(f"Validation error creating site {fqdn}: {str(e)}")
156
+ await ctx.error(f"Validation error creating site {fqdn}: {str(e)}")
162
157
  return f"❌ Validation Error: {str(e)}"
163
158
  except ValidationError as e:
164
- ctx.logger.error(f"SiteBay validation error creating site {fqdn}: {str(e)}")
159
+ await ctx.error(f"SiteBay validation error creating site {fqdn}: {str(e)}")
165
160
 
166
161
  # Provide detailed feedback for the agent with field-specific errors
167
162
  error_msg = f"❌ Validation Error - Please check your input:\n{str(e)}\n"
@@ -174,10 +169,10 @@ async def sitebay_create_site(
174
169
  error_msg += "\nPlease adjust your parameters and try again."
175
170
  return error_msg
176
171
  except SiteBayError as e:
177
- ctx.logger.error(f"SiteBay API error creating site {fqdn}: {str(e)}")
172
+ await ctx.error(f"SiteBay API error creating site {fqdn}: {str(e)}")
178
173
  return f"❌ SiteBay Error: {str(e)}"
179
174
  except Exception as e:
180
- ctx.logger.error(f"Unexpected error creating site {fqdn}: {str(e)}")
175
+ await ctx.error(f"Unexpected error creating site {fqdn}: {str(e)}")
181
176
  return f"❌ Unexpected error: {str(e)}"
182
177
 
183
178
 
@@ -399,7 +394,7 @@ async def sitebay_list_teams(ctx: Context) -> str:
399
394
  Formatted list of teams with their details and member information
400
395
  """
401
396
  try:
402
- ctx.logger.info("Fetching teams from SiteBay")
397
+ await ctx.info("Fetching teams from SiteBay")
403
398
 
404
399
  client = await initialize_client()
405
400
  teams = await client.list_teams()
@@ -420,14 +415,14 @@ async def sitebay_list_teams(ctx: Context) -> str:
420
415
 
421
416
  result += "\n"
422
417
 
423
- ctx.logger.info("Successfully retrieved teams list")
418
+ await ctx.info("Successfully retrieved teams list")
424
419
  return result
425
420
 
426
421
  except SiteBayError as e:
427
- ctx.logger.error(f"SiteBay API error: {str(e)}")
422
+ await ctx.error(f"SiteBay API error: {str(e)}")
428
423
  return f"❌ SiteBay Error: {str(e)}"
429
424
  except Exception as e:
430
- ctx.logger.error(f"Unexpected error listing teams: {str(e)}")
425
+ await ctx.error(f"Unexpected error listing teams: {str(e)}")
431
426
  return f"❌ Unexpected error: {str(e)}"
432
427
 
433
428
 
@@ -438,7 +433,7 @@ async def sitebay_wordpress_proxy(
438
433
  site_fqdn: str,
439
434
  endpoint: str,
440
435
  method: str = "GET",
441
- data: dict = None
436
+ data: Optional[dict] = None
442
437
  ) -> str:
443
438
  """
444
439
  Proxy requests to a WordPress site's REST API.
@@ -453,7 +448,7 @@ async def sitebay_wordpress_proxy(
453
448
  WordPress API response
454
449
  """
455
450
  try:
456
- ctx.logger.info(f"WordPress proxy request to {site_fqdn}{endpoint}")
451
+ await ctx.info(f"WordPress proxy request to {site_fqdn}{endpoint}")
457
452
 
458
453
  client = await initialize_client()
459
454
  proxy_data = {
@@ -468,10 +463,10 @@ async def sitebay_wordpress_proxy(
468
463
  return f"✅ WordPress API Response:\n```json\n{result}\n```"
469
464
 
470
465
  except SiteBayError as e:
471
- ctx.logger.error(f"WordPress proxy error: {str(e)}")
466
+ await ctx.error(f"WordPress proxy error: {str(e)}")
472
467
  return f"❌ WordPress Proxy Error: {str(e)}"
473
468
  except Exception as e:
474
- ctx.logger.error(f"Unexpected proxy error: {str(e)}")
469
+ await ctx.error(f"Unexpected proxy error: {str(e)}")
475
470
  return f"❌ Unexpected error: {str(e)}"
476
471
 
477
472
 
@@ -482,7 +477,7 @@ async def sitebay_shopify_proxy(
482
477
  endpoint: str,
483
478
  access_token: str,
484
479
  method: str = "GET",
485
- data: dict = None
480
+ data: Optional[dict] = None
486
481
  ) -> str:
487
482
  """
488
483
  Proxy requests to a Shopify Admin API.
@@ -498,7 +493,7 @@ async def sitebay_shopify_proxy(
498
493
  Shopify API response
499
494
  """
500
495
  try:
501
- ctx.logger.info(f"Shopify proxy request to {shop_domain}{endpoint}")
496
+ await ctx.info(f"Shopify proxy request to {shop_domain}{endpoint}")
502
497
 
503
498
  client = await initialize_client()
504
499
  proxy_data = {
@@ -514,10 +509,10 @@ async def sitebay_shopify_proxy(
514
509
  return f"✅ Shopify API Response:\n```json\n{result}\n```"
515
510
 
516
511
  except SiteBayError as e:
517
- ctx.logger.error(f"Shopify proxy error: {str(e)}")
512
+ await ctx.error(f"Shopify proxy error: {str(e)}")
518
513
  return f"❌ Shopify Proxy Error: {str(e)}"
519
514
  except Exception as e:
520
- ctx.logger.error(f"Unexpected proxy error: {str(e)}")
515
+ await ctx.error(f"Unexpected proxy error: {str(e)}")
521
516
  return f"❌ Unexpected error: {str(e)}"
522
517
 
523
518
 
@@ -540,7 +535,7 @@ async def sitebay_posthog_proxy(
540
535
  PostHog API response
541
536
  """
542
537
  try:
543
- ctx.logger.info(f"PostHog proxy request to {endpoint}")
538
+ await ctx.info(f"PostHog proxy request to {endpoint}")
544
539
 
545
540
  client = await initialize_client()
546
541
  proxy_data = {
@@ -554,10 +549,10 @@ async def sitebay_posthog_proxy(
554
549
  return f"✅ PostHog API Response:\n```json\n{result}\n```"
555
550
 
556
551
  except SiteBayError as e:
557
- ctx.logger.error(f"PostHog proxy error: {str(e)}")
552
+ await ctx.error(f"PostHog proxy error: {str(e)}")
558
553
  return f"❌ PostHog Proxy Error: {str(e)}"
559
554
  except Exception as e:
560
- ctx.logger.error(f"Unexpected proxy error: {str(e)}")
555
+ await ctx.error(f"Unexpected proxy error: {str(e)}")
561
556
  return f"❌ Unexpected error: {str(e)}"
562
557
 
563
558
 
@@ -579,10 +574,8 @@ async def sitebay_staging_create(
579
574
  Staging site creation confirmation
580
575
  """
581
576
  try:
582
- ctx.logger.info(f"Creating staging site for {fqdn}")
577
+ await ctx.info(f"Creating staging site for {fqdn}")
583
578
 
584
- progress = ctx.create_progress_token("staging-creation")
585
- await ctx.report_progress(progress, "Creating staging environment...", 0.3)
586
579
 
587
580
  client = await initialize_client()
588
581
  staging_data = {}
@@ -591,16 +584,15 @@ async def sitebay_staging_create(
591
584
 
592
585
  result = await client.create_staging_site(fqdn, staging_data)
593
586
 
594
- await ctx.report_progress(progress, "Staging site created successfully!", 1.0)
595
587
 
596
- ctx.logger.info(f"Successfully created staging site for {fqdn}")
588
+ await ctx.info(f"Successfully created staging site for {fqdn}")
597
589
  return f"✅ **Staging Site Created**\n\nStaging environment for {fqdn} is now available for testing changes safely."
598
590
 
599
591
  except SiteBayError as e:
600
- ctx.logger.error(f"Error creating staging site: {str(e)}")
592
+ await ctx.error(f"Error creating staging site: {str(e)}")
601
593
  return f"❌ Staging Creation Error: {str(e)}"
602
594
  except Exception as e:
603
- ctx.logger.error(f"Unexpected staging error: {str(e)}")
595
+ await ctx.error(f"Unexpected staging error: {str(e)}")
604
596
  return f"❌ Unexpected error: {str(e)}"
605
597
 
606
598
 
@@ -616,19 +608,19 @@ async def sitebay_staging_delete(ctx: Context, fqdn: str) -> str:
616
608
  Staging deletion confirmation
617
609
  """
618
610
  try:
619
- ctx.logger.info(f"Deleting staging site for {fqdn}")
611
+ await ctx.info(f"Deleting staging site for {fqdn}")
620
612
 
621
613
  client = await initialize_client()
622
614
  await client.delete_staging_site(fqdn)
623
615
 
624
- ctx.logger.info(f"Successfully deleted staging site for {fqdn}")
616
+ await ctx.info(f"Successfully deleted staging site for {fqdn}")
625
617
  return f"✅ **Staging Site Deleted**\n\nThe staging environment for {fqdn} has been removed."
626
618
 
627
619
  except SiteBayError as e:
628
- ctx.logger.error(f"Error deleting staging site: {str(e)}")
620
+ await ctx.error(f"Error deleting staging site: {str(e)}")
629
621
  return f"❌ Staging Deletion Error: {str(e)}"
630
622
  except Exception as e:
631
- ctx.logger.error(f"Unexpected staging error: {str(e)}")
623
+ await ctx.error(f"Unexpected staging error: {str(e)}")
632
624
  return f"❌ Unexpected error: {str(e)}"
633
625
 
634
626
 
@@ -644,24 +636,21 @@ async def sitebay_staging_commit(ctx: Context, fqdn: str) -> str:
644
636
  Staging commit confirmation
645
637
  """
646
638
  try:
647
- ctx.logger.info(f"Committing staging changes for {fqdn}")
639
+ await ctx.info(f"Committing staging changes for {fqdn}")
648
640
 
649
- progress = ctx.create_progress_token("staging-commit")
650
- await ctx.report_progress(progress, "Syncing staging to live...", 0.5)
651
641
 
652
642
  client = await initialize_client()
653
643
  result = await client.commit_staging_site(fqdn)
654
644
 
655
- await ctx.report_progress(progress, "Staging committed to live successfully!", 1.0)
656
645
 
657
- ctx.logger.info(f"Successfully committed staging for {fqdn}")
646
+ await ctx.info(f"Successfully committed staging for {fqdn}")
658
647
  return f"✅ **Staging Committed to Live**\n\nChanges from staging have been synchronized to the live site {fqdn}."
659
648
 
660
649
  except SiteBayError as e:
661
- ctx.logger.error(f"Error committing staging: {str(e)}")
650
+ await ctx.error(f"Error committing staging: {str(e)}")
662
651
  return f"❌ Staging Commit Error: {str(e)}"
663
652
  except Exception as e:
664
- ctx.logger.error(f"Unexpected staging error: {str(e)}")
653
+ await ctx.error(f"Unexpected staging error: {str(e)}")
665
654
  return f"❌ Unexpected error: {str(e)}"
666
655
 
667
656
 
@@ -683,7 +672,7 @@ async def sitebay_backup_list_commits(
683
672
  List of available backup commits
684
673
  """
685
674
  try:
686
- ctx.logger.info(f"Fetching backup commits for {fqdn}")
675
+ await ctx.info(f"Fetching backup commits for {fqdn}")
687
676
 
688
677
  client = await initialize_client()
689
678
  commits = await client.get_backup_commits(fqdn, number_to_fetch)
@@ -701,14 +690,14 @@ async def sitebay_backup_list_commits(
701
690
  result += f" - Status: {'Completed' if commit.get('finished_at') else 'In Progress'}\n"
702
691
  result += "\n"
703
692
 
704
- ctx.logger.info(f"Successfully retrieved backup commits for {fqdn}")
693
+ await ctx.info(f"Successfully retrieved backup commits for {fqdn}")
705
694
  return result
706
695
 
707
696
  except SiteBayError as e:
708
- ctx.logger.error(f"Error fetching backup commits: {str(e)}")
697
+ await ctx.error(f"Error fetching backup commits: {str(e)}")
709
698
  return f"❌ Backup Error: {str(e)}"
710
699
  except Exception as e:
711
- ctx.logger.error(f"Unexpected backup error: {str(e)}")
700
+ await ctx.error(f"Unexpected backup error: {str(e)}")
712
701
  return f"❌ Unexpected error: {str(e)}"
713
702
 
714
703
 
@@ -731,10 +720,8 @@ async def sitebay_backup_restore(
731
720
  Restore operation confirmation
732
721
  """
733
722
  try:
734
- ctx.logger.info(f"Starting point-in-time restore for {fqdn}")
723
+ await ctx.info(f"Starting point-in-time restore for {fqdn}")
735
724
 
736
- progress = ctx.create_progress_token("backup-restore")
737
- await ctx.report_progress(progress, "Initializing restore operation...", 0.1)
738
725
 
739
726
  client = await initialize_client()
740
727
  restore_data = {
@@ -742,20 +729,18 @@ async def sitebay_backup_restore(
742
729
  "restore_type": restore_type
743
730
  }
744
731
 
745
- await ctx.report_progress(progress, "Submitting restore request...", 0.3)
746
732
 
747
733
  result = await client.create_restore(fqdn, restore_data)
748
734
 
749
- await ctx.report_progress(progress, "Restore operation initiated!", 1.0)
750
735
 
751
- ctx.logger.info(f"Successfully initiated restore for {fqdn}")
736
+ await ctx.info(f"Successfully initiated restore for {fqdn}")
752
737
  return f"✅ **Point-in-Time Restore Initiated**\n\nRestore operation for {fqdn} has been started. The site will be restored to the selected backup point."
753
738
 
754
739
  except SiteBayError as e:
755
- ctx.logger.error(f"Error starting restore: {str(e)}")
740
+ await ctx.error(f"Error starting restore: {str(e)}")
756
741
  return f"❌ Restore Error: {str(e)}"
757
742
  except Exception as e:
758
- ctx.logger.error(f"Unexpected restore error: {str(e)}")
743
+ await ctx.error(f"Unexpected restore error: {str(e)}")
759
744
  return f"❌ Unexpected error: {str(e)}"
760
745
 
761
746
 
@@ -769,7 +754,7 @@ async def sitebay_account_affiliates(ctx: Context) -> str:
769
754
  List of users who signed up using your affiliate links
770
755
  """
771
756
  try:
772
- ctx.logger.info("Fetching affiliate referrals")
757
+ await ctx.info("Fetching affiliate referrals")
773
758
 
774
759
  client = await initialize_client()
775
760
  affiliates = await client.get_affiliate_referrals()
@@ -785,14 +770,14 @@ async def sitebay_account_affiliates(ctx: Context) -> str:
785
770
  result += f" - Status: {affiliate.get('status', 'Unknown')}\n"
786
771
  result += "\n"
787
772
 
788
- ctx.logger.info("Successfully retrieved affiliate referrals")
773
+ await ctx.info("Successfully retrieved affiliate referrals")
789
774
  return result
790
775
 
791
776
  except SiteBayError as e:
792
- ctx.logger.error(f"Error fetching affiliates: {str(e)}")
777
+ await ctx.error(f"Error fetching affiliates: {str(e)}")
793
778
  return f"❌ Affiliate Error: {str(e)}"
794
779
  except Exception as e:
795
- ctx.logger.error(f"Unexpected affiliate error: {str(e)}")
780
+ await ctx.error(f"Unexpected affiliate error: {str(e)}")
796
781
  return f"❌ Unexpected error: {str(e)}"
797
782
 
798
783
 
@@ -815,7 +800,7 @@ async def sitebay_account_create_checkout(
815
800
  Stripe checkout URL
816
801
  """
817
802
  try:
818
- ctx.logger.info(f"Creating checkout session for {plan_name} plan")
803
+ await ctx.info(f"Creating checkout session for {plan_name} plan")
819
804
 
820
805
  client = await initialize_client()
821
806
  checkout_data = {
@@ -827,14 +812,14 @@ async def sitebay_account_create_checkout(
827
812
 
828
813
  result = await client.create_checkout_session(checkout_data)
829
814
 
830
- ctx.logger.info("Successfully created checkout session")
815
+ await ctx.info("Successfully created checkout session")
831
816
  return f"✅ **Checkout Session Created**\n\nPlan: {plan_name} ({interval}ly)\nCheckout URL: {result.get('url', 'URL not provided')}"
832
817
 
833
818
  except SiteBayError as e:
834
- ctx.logger.error(f"Error creating checkout: {str(e)}")
819
+ await ctx.error(f"Error creating checkout: {str(e)}")
835
820
  return f"❌ Checkout Error: {str(e)}"
836
821
  except Exception as e:
837
- ctx.logger.error(f"Unexpected checkout error: {str(e)}")
822
+ await ctx.error(f"Unexpected checkout error: {str(e)}")
838
823
  return f"❌ Unexpected error: {str(e)}"
839
824
 
840
825
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: sitebay-mcp
3
- Version: 0.1.1751179164
3
+ Version: 0.1.1751180311
4
4
  Summary: SiteBay MCP Server - WordPress hosting management through Claude Code
5
5
  Author-email: SiteBay <support@sitebay.org>
6
6
  License-File: LICENSE
@@ -1,14 +1,14 @@
1
1
  sitebay_mcp/__init__.py,sha256=RvWonHPlNJwFvYioSwHvLLRCuvmH0h6nmOR2rB95HKc,386
2
2
  sitebay_mcp/auth.py,sha256=idUbSdtIAMqrSLnzZ17VmhxLHox0SA81cb2ks2YrxUU,1739
3
3
  sitebay_mcp/client.py,sha256=MzEje2tpK0SIlf_znYtaQ2R6V-kdgoEuaO3KIExJFVU,14597
4
- sitebay_mcp/exceptions.py,sha256=vfg2-n0rAe3y7icBVt0XP6CK7esYzgMo8WXOTC5Iy4U,1067
5
- sitebay_mcp/resources.py,sha256=KaKhunW61HoXyvWdJw_dtW5ARypZCWDwqIQVi2jUwzo,5491
6
- sitebay_mcp/server.py,sha256=KDJTK_1BYzFz7n6jnEceSIck55a-wPfMc8H0ZeJ2On8,29344
4
+ sitebay_mcp/exceptions.py,sha256=3zt40zk8MD-k4-5NwxMzWcQDbexLcVOUsoNIREXwhWg,1157
5
+ sitebay_mcp/resources.py,sha256=wWJoFlR9rRBxx64t8U_JXSWZ8JC7Z9O3wiZvdMDnnOA,5485
6
+ sitebay_mcp/server.py,sha256=ssMCobCxWb-KQLPVvVORlAW0NFlDd9LzIbzXTuspL0I,28122
7
7
  sitebay_mcp/tools/__init__.py,sha256=5QxQGl_HgkH-7uFqY3puZmTqeVQkE-yxym43EcRr6zc,108
8
8
  sitebay_mcp/tools/operations.py,sha256=Nus863sqREI_V9OPHOuiO-FOMz6u6MtLcr04LNVcFdk,8797
9
9
  sitebay_mcp/tools/sites.py,sha256=R6SlMr9qdtWnYZ2F0FhoX2cmm-KIS7I1wmCWWjWFMsU,8345
10
- sitebay_mcp-0.1.1751179164.dist-info/METADATA,sha256=xY8TotcCaUPXuk0b4qWfjRj3uPzYJNjXuilhNwpbxks,8161
11
- sitebay_mcp-0.1.1751179164.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
12
- sitebay_mcp-0.1.1751179164.dist-info/entry_points.txt,sha256=kOW3HHmOw1mAqzbDliyWzaHwS-tAwISRFdQHBa9QvRc,56
13
- sitebay_mcp-0.1.1751179164.dist-info/licenses/LICENSE,sha256=PjkyMZfBImLXpO5eKb_sI__W1JMf1jL51n1O7H4a1I0,1062
14
- sitebay_mcp-0.1.1751179164.dist-info/RECORD,,
10
+ sitebay_mcp-0.1.1751180311.dist-info/METADATA,sha256=YIMyUXuEdRJ3_XrFqakHo5OTFRrUmvbK4p2CP7r-k0A,8161
11
+ sitebay_mcp-0.1.1751180311.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
12
+ sitebay_mcp-0.1.1751180311.dist-info/entry_points.txt,sha256=kOW3HHmOw1mAqzbDliyWzaHwS-tAwISRFdQHBa9QvRc,56
13
+ sitebay_mcp-0.1.1751180311.dist-info/licenses/LICENSE,sha256=PjkyMZfBImLXpO5eKb_sI__W1JMf1jL51n1O7H4a1I0,1062
14
+ sitebay_mcp-0.1.1751180311.dist-info/RECORD,,