diff --git a/README.md b/README.md index fdefa72..f9a3243 100644 --- a/README.md +++ b/README.md @@ -88,7 +88,7 @@ Both the `uv` and `pip` setup processes require certain arguments to enable MCP | Argument | Description | | --- | --- | -| `--databases` | Enables the Databases API | +| `--tables-db` | Enables the TablesDB API | | `--users` | Enables the Users API | | `--teams` | Enables the Teams API | | `--storage` | Enables the Storage API | @@ -98,6 +98,7 @@ Both the `uv` and `pip` setup processes require certain arguments to enable MCP | `--avatars` | Enables the Avatars API | | `--sites` | Enables the Sites API | | `--all` | Enables all Appwrite APIs | +| `--databases` | Enables the Legacy Databases API | ## Usage with Claude Desktop diff --git a/pyproject.toml b/pyproject.toml index bb14ef0..c806942 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,11 +1,11 @@ [project] name = "mcp-server-appwrite" -version = "0.2.7" +version = "0.2.8" description = "MCP (Model Context Protocol) server for Appwrite" readme = "README.md" requires-python = ">=3.12" dependencies = [ - "appwrite>=11.1.0", + "appwrite>=13.4.1", "docstring-parser>=0.16", "mcp[cli]>=1.3.0", ] diff --git a/server.json b/server.json index 75979bc..4522d6b 100644 --- a/server.json +++ b/server.json @@ -2,14 +2,14 @@ "$schema": "https://static.modelcontextprotocol.io/schemas/2025-09-16/server.schema.json", "name": "io.github.appwrite/mcp-for-api", "description": "MCP (Model Context Protocol) server for Appwrite", - "version": "0.2.7", + "version": "0.2.8", "repository": { "url": "https://github.com/appwrite/mcp-for-api", "source": "github" }, "packages": [ { - "version": "0.2.7", + "version": "0.2.8", "registryType": "pypi", "identifier": "mcp-server-appwrite", "transport": { diff --git a/src/mcp_server_appwrite/server.py b/src/mcp_server_appwrite/server.py index 078087e..3ce12d2 100644 --- a/src/mcp_server_appwrite/server.py +++ b/src/mcp_server_appwrite/server.py @@ -10,6 +10,7 @@ from dotenv import load_dotenv from appwrite.client import Client from appwrite.services.databases import Databases +from appwrite.services.tables_db import TablesDB from appwrite.services.users import Users from appwrite.services.teams import Teams from appwrite.services.storage import Storage @@ -24,7 +25,7 @@ def parse_args(): parser = argparse.ArgumentParser(description='Appwrite MCP Server') - parser.add_argument('--databases', action='store_true', help='Enable Databases service') + parser.add_argument('--tables-db', action='store_true', help='Enable TablesDB service') parser.add_argument('--users', action='store_true', help='Enable Users service') parser.add_argument('--teams', action='store_true', help='Enable Teams service') parser.add_argument('--storage', action='store_true', help='Enable Storage service') @@ -33,6 +34,7 @@ def parse_args(): parser.add_argument('--locale', action='store_true', help='Enable Locale service') parser.add_argument('--avatars', action='store_true', help='Enable Avatars service') parser.add_argument('--sites', action='store_true', help='Enable Sites service') + parser.add_argument('--databases', action='store_true', help='Enable Legacy Databases service') parser.add_argument('--all', action='store_true', help='Enable all services') return parser.parse_args() @@ -60,13 +62,13 @@ def parse_args(): def register_services(args): # If --all is specified, enable all services if args.all: - args.databases = args.users = args.teams = args.storage = True + args.tables_db = args.users = args.teams = args.storage = True args.functions = args.messaging = args.locale = args.avatars = True args.sites = True # Register services based on CLI arguments - if args.databases: - tools_manager.register_service(Service(Databases(client), "databases")) + if args.tables_db: + tools_manager.register_service(Service(TablesDB(client), "tables_db")) if args.users: tools_manager.register_service(Service(Users(client), "users")) if args.teams: @@ -83,12 +85,14 @@ def register_services(args): tools_manager.register_service(Service(Avatars(client), "avatars")) if args.sites: tools_manager.register_service(Service(Sites(client), "sites")) - - # If no services were specified, enable databases by default - if not any([args.databases, args.users, args.teams, args.storage, - args.functions, args.messaging, args.locale, args.avatars]): + if args.databases: tools_manager.register_service(Service(Databases(client), "databases")) + # If no services were specified, enable tables_db by default + if not any([args.databases, args.tables_db, args.users, args.teams, args.storage, + args.functions, args.messaging, args.locale, args.avatars, args.sites]): + tools_manager.register_service(Service(TablesDB(client), "tables_db")) + async def serve() -> Server: server = Server("Appwrite MCP Server") @@ -130,7 +134,7 @@ async def _run(): write_stream, InitializationOptions( server_name="appwrite", - server_version="0.2.0", + server_version="0.2.8", capabilities=server.get_capabilities( notification_options=NotificationOptions(), experimental_capabilities={}, diff --git a/uv.lock b/uv.lock index ee275ad..b2a3e4d 100644 --- a/uv.lock +++ b/uv.lock @@ -27,14 +27,14 @@ wheels = [ [[package]] name = "appwrite" -version = "11.1.0" +version = "13.4.1" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "requests" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/9b/d9/0a393a63f9119cb5667de6ed7ae77aae530b2a8a100a561525eaa1b68fd5/appwrite-11.1.0.tar.gz", hash = "sha256:92efe2640380afde7e1d4ae1db514da48426213c46ad478401753e4a715e9ec0", size = 54257, upload-time = "2025-07-26T17:28:02.984Z" } +sdist = { url = "https://files.pythonhosted.org/packages/30/bc/c8e9671e00fc2feda1acc5b457e8f0277e5d44dc636d0c0e990167b470d6/appwrite-13.4.1.tar.gz", hash = "sha256:f6725133b57837f962970c6f665713ca430e2c12b5cd231f355612251cf168fd", size = 62458, upload-time = "2025-10-09T11:07:05.131Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/83/97/c8d7270dac3b510db542436e476e9dc7f4c2aab656a2d535d900ae5a53e4/appwrite-11.1.0-py3-none-any.whl", hash = "sha256:1dd28c6074eaaabd896f6e92255c6a74e0768bc00ddbadfdd465f5fd387d3733", size = 67548, upload-time = "2025-07-26T17:28:01.684Z" }, + { url = "https://files.pythonhosted.org/packages/ae/7a/990c43b44bc5c0abe6d4ccf2dd46232e17133043e77ebed99a43a0f0be4c/appwrite-13.4.1-py3-none-any.whl", hash = "sha256:0a6abca5120a9fa1ca0423a9e476c4e7edbb43c524970d5b8eff36aa66a92eec", size = 78976, upload-time = "2025-10-09T11:07:03.819Z" }, ] [[package]] @@ -205,7 +205,7 @@ cli = [ [[package]] name = "mcp-server-appwrite" -version = "0.2.0" +version = "0.2.8" source = { editable = "." } dependencies = [ { name = "appwrite" }, @@ -215,7 +215,7 @@ dependencies = [ [package.metadata] requires-dist = [ - { name = "appwrite", specifier = ">=11.1.0" }, + { name = "appwrite", specifier = ">=13.4.1" }, { name = "docstring-parser", specifier = ">=0.16" }, { name = "mcp", extras = ["cli"], specifier = ">=1.3.0" }, ]