1010from dotenv import load_dotenv
1111from appwrite .client import Client
1212from appwrite .services .databases import Databases
13+ from appwrite .services .tables_db import TablesDB
1314from appwrite .services .users import Users
1415from appwrite .services .teams import Teams
1516from appwrite .services .storage import Storage
2425
2526def parse_args ():
2627 parser = argparse .ArgumentParser (description = 'Appwrite MCP Server' )
27- parser .add_argument ('--databases ' , action = 'store_true' , help = 'Enable Databases service' )
28+ parser .add_argument ('--tables-db ' , action = 'store_true' , help = 'Enable TablesDB service' )
2829 parser .add_argument ('--users' , action = 'store_true' , help = 'Enable Users service' )
2930 parser .add_argument ('--teams' , action = 'store_true' , help = 'Enable Teams service' )
3031 parser .add_argument ('--storage' , action = 'store_true' , help = 'Enable Storage service' )
@@ -33,6 +34,7 @@ def parse_args():
3334 parser .add_argument ('--locale' , action = 'store_true' , help = 'Enable Locale service' )
3435 parser .add_argument ('--avatars' , action = 'store_true' , help = 'Enable Avatars service' )
3536 parser .add_argument ('--sites' , action = 'store_true' , help = 'Enable Sites service' )
37+ parser .add_argument ('--databases' , action = 'store_true' , help = 'Enable Legacy Databases service' )
3638 parser .add_argument ('--all' , action = 'store_true' , help = 'Enable all services' )
3739 return parser .parse_args ()
3840
@@ -60,13 +62,13 @@ def parse_args():
6062def register_services (args ):
6163 # If --all is specified, enable all services
6264 if args .all :
63- args .databases = args .users = args .teams = args .storage = True
65+ args .tables_db = args .users = args .teams = args .storage = True
6466 args .functions = args .messaging = args .locale = args .avatars = True
6567 args .sites = True
6668
6769 # Register services based on CLI arguments
68- if args .databases :
69- tools_manager .register_service (Service (Databases (client ), "databases " ))
70+ if args .tables_db :
71+ tools_manager .register_service (Service (TablesDB (client ), "tables_db " ))
7072 if args .users :
7173 tools_manager .register_service (Service (Users (client ), "users" ))
7274 if args .teams :
@@ -83,12 +85,14 @@ def register_services(args):
8385 tools_manager .register_service (Service (Avatars (client ), "avatars" ))
8486 if args .sites :
8587 tools_manager .register_service (Service (Sites (client ), "sites" ))
86-
87- # If no services were specified, enable databases by default
88- if not any ([args .databases , args .users , args .teams , args .storage ,
89- args .functions , args .messaging , args .locale , args .avatars ]):
88+ if args .databases :
9089 tools_manager .register_service (Service (Databases (client ), "databases" ))
9190
91+ # If no services were specified, enable tables_db by default
92+ if not any ([args .databases , args .tables_db , args .users , args .teams , args .storage ,
93+ args .functions , args .messaging , args .locale , args .avatars , args .sites ]):
94+ tools_manager .register_service (Service (TablesDB (client ), "tables_db" ))
95+
9296async def serve () -> Server :
9397 server = Server ("Appwrite MCP Server" )
9498
@@ -130,7 +134,7 @@ async def _run():
130134 write_stream ,
131135 InitializationOptions (
132136 server_name = "appwrite" ,
133- server_version = "0.2.0 " ,
137+ server_version = "0.2.8 " ,
134138 capabilities = server .get_capabilities (
135139 notification_options = NotificationOptions (),
136140 experimental_capabilities = {},
0 commit comments