mcp-server-appwrite 0.1.0__tar.gz → 0.1.2__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.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: mcp-server-appwrite
3
- Version: 0.1.0
3
+ Version: 0.1.2
4
4
  Summary: MCP (Model Context Protocol) server for Appwrite
5
5
  License-File: LICENSE
6
6
  Requires-Python: >=3.12
@@ -18,64 +18,50 @@ Currently the server supports the following tools:
18
18
 
19
19
  - [x] Databases
20
20
  - [x] Users
21
- - [x] Teams
22
- - [x] Messaging
23
- - [x] Locale
24
- - [x] Avatars
25
- - [x] Storage (Beta)
26
- - [x] Functions (Beta)
27
21
 
28
- > Please note that the Storage and Functions tools are currently in beta and methods like createFile and createDeployment are not yet supported.
22
+ > Please note that adding a lot of tools exceeds the context window of the LLM. As a result, we will make available a curated list of tools that are most commonly used.
29
23
 
30
- ## Local Development
24
+ ## Configuration
31
25
 
32
- Clone the repository
26
+ Create a `.env` file in the directory you're runing the server from:
33
27
 
34
- ```bash
35
- git clone https://github.com/appwrite/mcp.git
28
+ ```env
29
+ APPWRITE_API_KEY=your-api-key
30
+ APPWRITE_PROJECT_ID=your-project-id
31
+ APPWRITE_ENDPOINT=your-endpoint # Optional, defaults to https://cloud.appwrite.io/v1
36
32
  ```
33
+ > Note: Ensure that your API Key has the necessary scopes to access the resources you want to use.
37
34
 
38
- Install `uv`
39
-
40
- ```bash
41
- curl -LsSf https://astral.sh/uv/install.sh | sh
42
- ```
35
+ ## Installation
43
36
 
44
- Create virtual environment
37
+ ### Using uv (recommended)
38
+ When using [`uv`](https://docs.astral.sh/uv/) no specific installation is needed. We will
39
+ use [`uvx`](https://docs.astral.sh/uv/guides/tools/) to directly run *mcp-server-sentry*.
45
40
 
46
41
  ```bash
47
- uv venv
48
- source .venv/bin/activate
42
+ uvx run mcp-server-appwrite
49
43
  ```
50
44
 
51
- ## Configuration
45
+ ### Using pip
52
46
 
53
- Create a `.env` file in the root directory based on `.env.example`:
54
-
55
- ```env
56
- APPWRITE_API_KEY=your-api-key
57
- APPWRITE_PROJECT_ID=your-project-id
58
- APPWRITE_ENDPOINT=your-endpoint # Optional, defaults to https://cloud.appwrite.io/v1
47
+ ```bash
48
+ pip install mcp-server-appwrite
59
49
  ```
60
-
61
- Run the server
50
+ Then run the server using
62
51
 
63
52
  ```bash
64
- uv run -v --directory ./ mcp-server-appwrite
53
+ python -m mcp_server_appwrite
65
54
  ```
66
55
 
67
- ### Usage with Claude Desktop
56
+ ## Usage with Claude Desktop
68
57
 
69
58
  Add this to your `claude_desktop_config.json`:
70
59
 
71
60
  ```json
72
61
  "mcpServers": {
73
62
  "appwrite": {
74
- "command": "uv",
63
+ "command": "uvx",
75
64
  "args": [
76
- "run",
77
- "--directory",
78
- "<path-to-repository>",
79
65
  "mcp-server-appwrite"
80
66
  ],
81
67
  "env": {
@@ -86,23 +72,19 @@ Add this to your `claude_desktop_config.json`:
86
72
  }
87
73
  }
88
74
  ```
89
-
90
75
  Upon successful configuration, you should be able to see the server in the list of available servers in Claude Desktop.
91
76
 
92
77
  ![Claude Desktop Config](images/claude-desktop-integration.png)
93
78
 
94
- ### Usage with [Zed](https://github.com/zed-industries/zed)
79
+ ## Usage with [Zed](https://github.com/zed-industries/zed)
95
80
 
96
81
  Add to your Zed settings.json:
97
82
 
98
83
  ```json
99
84
  "context_servers": {
100
85
  "appwrite": {
101
- "command": "uv",
86
+ "command": "uvx",
102
87
  "args": [
103
- "run",
104
- "--directory",
105
- "<path-to-repository>",
106
88
  "mcp-server-appwrite"
107
89
  ],
108
90
  "env": {
@@ -114,16 +96,43 @@ Add to your Zed settings.json:
114
96
  }
115
97
  ```
116
98
 
117
- ### Usage with [Cursor](https://www.cursor.com/)
99
+ ## Usage with [Cursor](https://www.cursor.com/)
118
100
 
119
101
  Head to Cursor `Settings > Features > MCP Servers` and click on **Add New MCP Server**. Choose the type as `Command` and add the command below to the **Command** field.
120
102
 
121
103
  ```bash
122
- APPWRITE_PROJECT_ID=your-project-id APPWRITE_API_KEY=your-api-key uv run --directory <path_to_repository> mcp-server-appwrite
104
+ APPWRITE_PROJECT_ID=your-project-id APPWRITE_API_KEY=your-api-key uvx mcp-server-appwrite
123
105
  ```
124
106
 
125
107
  ![Cursor Settings](./images/cursor-integration.png)
126
108
 
109
+ ## Local Development
110
+
111
+ Clone the repository
112
+
113
+ ```bash
114
+ git clone https://github.com/appwrite/mcp.git
115
+ ```
116
+
117
+ Install `uv`
118
+
119
+ ```bash
120
+ curl -LsSf https://astral.sh/uv/install.sh | sh
121
+ ```
122
+
123
+ Create virtual environment
124
+
125
+ ```bash
126
+ uv venv
127
+ source .venv/bin/activate
128
+ ```
129
+
130
+ Run the server
131
+
132
+ ```bash
133
+ uv run -v --directory ./ mcp-server-appwrite
134
+ ```
135
+
127
136
  ## Debugging
128
137
 
129
138
  You can use the MCP inspector to debug the server.
@@ -149,7 +158,4 @@ This MCP server is licensed under the MIT License. This means you are free to us
149
158
  - https://github.com/punkpeye/awesome-mcp-servers
150
159
  - https://portkey.ai/mcp-servers
151
160
  - https://www.claudemcp.com/servers
152
- - Add support for SSE server
153
- - Release to PIP
154
- - ✅ Add support for env vars
155
- - Add suppport for resources
161
+ - Add support for SSE server
@@ -8,64 +8,50 @@ Currently the server supports the following tools:
8
8
 
9
9
  - [x] Databases
10
10
  - [x] Users
11
- - [x] Teams
12
- - [x] Messaging
13
- - [x] Locale
14
- - [x] Avatars
15
- - [x] Storage (Beta)
16
- - [x] Functions (Beta)
17
11
 
18
- > Please note that the Storage and Functions tools are currently in beta and methods like createFile and createDeployment are not yet supported.
12
+ > Please note that adding a lot of tools exceeds the context window of the LLM. As a result, we will make available a curated list of tools that are most commonly used.
19
13
 
20
- ## Local Development
14
+ ## Configuration
21
15
 
22
- Clone the repository
16
+ Create a `.env` file in the directory you're runing the server from:
23
17
 
24
- ```bash
25
- git clone https://github.com/appwrite/mcp.git
18
+ ```env
19
+ APPWRITE_API_KEY=your-api-key
20
+ APPWRITE_PROJECT_ID=your-project-id
21
+ APPWRITE_ENDPOINT=your-endpoint # Optional, defaults to https://cloud.appwrite.io/v1
26
22
  ```
23
+ > Note: Ensure that your API Key has the necessary scopes to access the resources you want to use.
27
24
 
28
- Install `uv`
29
-
30
- ```bash
31
- curl -LsSf https://astral.sh/uv/install.sh | sh
32
- ```
25
+ ## Installation
33
26
 
34
- Create virtual environment
27
+ ### Using uv (recommended)
28
+ When using [`uv`](https://docs.astral.sh/uv/) no specific installation is needed. We will
29
+ use [`uvx`](https://docs.astral.sh/uv/guides/tools/) to directly run *mcp-server-sentry*.
35
30
 
36
31
  ```bash
37
- uv venv
38
- source .venv/bin/activate
32
+ uvx run mcp-server-appwrite
39
33
  ```
40
34
 
41
- ## Configuration
35
+ ### Using pip
42
36
 
43
- Create a `.env` file in the root directory based on `.env.example`:
44
-
45
- ```env
46
- APPWRITE_API_KEY=your-api-key
47
- APPWRITE_PROJECT_ID=your-project-id
48
- APPWRITE_ENDPOINT=your-endpoint # Optional, defaults to https://cloud.appwrite.io/v1
37
+ ```bash
38
+ pip install mcp-server-appwrite
49
39
  ```
50
-
51
- Run the server
40
+ Then run the server using
52
41
 
53
42
  ```bash
54
- uv run -v --directory ./ mcp-server-appwrite
43
+ python -m mcp_server_appwrite
55
44
  ```
56
45
 
57
- ### Usage with Claude Desktop
46
+ ## Usage with Claude Desktop
58
47
 
59
48
  Add this to your `claude_desktop_config.json`:
60
49
 
61
50
  ```json
62
51
  "mcpServers": {
63
52
  "appwrite": {
64
- "command": "uv",
53
+ "command": "uvx",
65
54
  "args": [
66
- "run",
67
- "--directory",
68
- "<path-to-repository>",
69
55
  "mcp-server-appwrite"
70
56
  ],
71
57
  "env": {
@@ -76,23 +62,19 @@ Add this to your `claude_desktop_config.json`:
76
62
  }
77
63
  }
78
64
  ```
79
-
80
65
  Upon successful configuration, you should be able to see the server in the list of available servers in Claude Desktop.
81
66
 
82
67
  ![Claude Desktop Config](images/claude-desktop-integration.png)
83
68
 
84
- ### Usage with [Zed](https://github.com/zed-industries/zed)
69
+ ## Usage with [Zed](https://github.com/zed-industries/zed)
85
70
 
86
71
  Add to your Zed settings.json:
87
72
 
88
73
  ```json
89
74
  "context_servers": {
90
75
  "appwrite": {
91
- "command": "uv",
76
+ "command": "uvx",
92
77
  "args": [
93
- "run",
94
- "--directory",
95
- "<path-to-repository>",
96
78
  "mcp-server-appwrite"
97
79
  ],
98
80
  "env": {
@@ -104,16 +86,43 @@ Add to your Zed settings.json:
104
86
  }
105
87
  ```
106
88
 
107
- ### Usage with [Cursor](https://www.cursor.com/)
89
+ ## Usage with [Cursor](https://www.cursor.com/)
108
90
 
109
91
  Head to Cursor `Settings > Features > MCP Servers` and click on **Add New MCP Server**. Choose the type as `Command` and add the command below to the **Command** field.
110
92
 
111
93
  ```bash
112
- APPWRITE_PROJECT_ID=your-project-id APPWRITE_API_KEY=your-api-key uv run --directory <path_to_repository> mcp-server-appwrite
94
+ APPWRITE_PROJECT_ID=your-project-id APPWRITE_API_KEY=your-api-key uvx mcp-server-appwrite
113
95
  ```
114
96
 
115
97
  ![Cursor Settings](./images/cursor-integration.png)
116
98
 
99
+ ## Local Development
100
+
101
+ Clone the repository
102
+
103
+ ```bash
104
+ git clone https://github.com/appwrite/mcp.git
105
+ ```
106
+
107
+ Install `uv`
108
+
109
+ ```bash
110
+ curl -LsSf https://astral.sh/uv/install.sh | sh
111
+ ```
112
+
113
+ Create virtual environment
114
+
115
+ ```bash
116
+ uv venv
117
+ source .venv/bin/activate
118
+ ```
119
+
120
+ Run the server
121
+
122
+ ```bash
123
+ uv run -v --directory ./ mcp-server-appwrite
124
+ ```
125
+
117
126
  ## Debugging
118
127
 
119
128
  You can use the MCP inspector to debug the server.
@@ -139,7 +148,4 @@ This MCP server is licensed under the MIT License. This means you are free to us
139
148
  - https://github.com/punkpeye/awesome-mcp-servers
140
149
  - https://portkey.ai/mcp-servers
141
150
  - https://www.claudemcp.com/servers
142
- - Add support for SSE server
143
- - Release to PIP
144
- - ✅ Add support for env vars
145
- - Add suppport for resources
151
+ - Add support for SSE server
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "mcp-server-appwrite"
3
- version = "0.1.0"
3
+ version = "0.1.2"
4
4
  description = "MCP (Model Context Protocol) server for Appwrite"
5
5
  readme = "README.md"
6
6
  requires-python = ">=3.12"
@@ -39,25 +39,15 @@ client.set_key(api_key)
39
39
  # Initialize tools manager and register services
40
40
  tools_manager = ToolManager()
41
41
  tools_manager.register_service(Service(Users(client), "users"))
42
- tools_manager.register_service(Service(Teams(client), "teams"))
42
+ # tools_manager.register_service(Service(Teams(client), "teams"))
43
43
  tools_manager.register_service(Service(Databases(client), "databases"))
44
- tools_manager.register_service(Service(Storage(client), "storage"))
45
- tools_manager.register_service(Service(Functions(client), "functions"))
46
- tools_manager.register_service(Service(Messaging(client), "messaging"))
47
- tools_manager.register_service(Service(Locale(client), "locale"))
48
- tools_manager.register_service(Service(Avatars(client), "avatars"))
44
+ # tools_manager.register_service(Service(Storage(client), "storage"))
45
+ # tools_manager.register_service(Service(Functions(client), "functions"))
46
+ # tools_manager.register_service(Service(Messaging(client), "messaging"))
49
47
 
50
48
  async def serve() -> Server:
51
49
  server = Server("Appwrite MCP Server")
52
50
 
53
- # @server.list_resources()
54
- # async def handle_list_resources() -> list[types.Resource]:
55
- # return tools_manager.get_all_resources()
56
-
57
- # @server.read_resource()
58
- # async def handle_read_resource(resource_id: str) -> str:
59
- # return tools_manager.get_resource(resource_id)
60
-
61
51
  @server.list_tools()
62
52
  async def handle_list_tools() -> list[types.Tool]:
63
53
  return tools_manager.get_all_tools()