Kri8tivemike/AppwriteMCP-Kri8tivemike
If you are the rightful owner of AppwriteMCP-Kri8tivemike and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.
A comprehensive Model Context Protocol (MCP) Server for Appwrite with 38+ tools covering database, storage, and user management operations.
AppwriteMCP-Kri8tivemike
A comprehensive Model Context Protocol (MCP) Server for Appwrite with 38+ tools covering database, storage, and user management operations. Designed for seamless integration with Cursor IDE and self-hosted Appwrite instances.
š Features
38 Comprehensive Tools
Database Operations (5 tools)
appwrite_list_databases
- List all databasesappwrite_create_database
- Create new databaseappwrite_get_database
- Get database detailsappwrite_update_database
- Update database nameappwrite_delete_database
- Delete database
Collection Operations (5 tools)
appwrite_list_collections
- List collections in databaseappwrite_create_collection
- Create new collectionappwrite_get_collection
- Get collection detailsappwrite_update_collection
- Update collectionappwrite_delete_collection
- Delete collection
Attribute Operations (9 tools)
appwrite_list_attributes
- List collection attributesappwrite_create_string_attribute
- Add string attributeappwrite_create_integer_attribute
- Add integer attributeappwrite_create_float_attribute
- Add float attributeappwrite_create_boolean_attribute
- Add boolean attributeappwrite_create_email_attribute
- Add email attributeappwrite_create_url_attribute
- Add URL attributeappwrite_create_datetime_attribute
- Add datetime attributeappwrite_delete_attribute
- Delete attribute
Document Operations (5 tools)
appwrite_list_documents
- List documents in collectionappwrite_create_document
- Create new documentappwrite_get_document
- Get document by IDappwrite_update_document
- Update documentappwrite_delete_document
- Delete document
Storage Operations (7 tools)
appwrite_list_buckets
- List storage bucketsappwrite_create_bucket
- Create new bucketappwrite_get_bucket
- Get bucket detailsappwrite_update_bucket
- Update bucketappwrite_delete_bucket
- Delete bucketappwrite_list_files
- List files in bucketappwrite_get_file
- Get file detailsappwrite_delete_file
- Delete file
User Management Operations (6 tools)
appwrite_list_users
- List all usersappwrite_create_user
- Create new userappwrite_get_user
- Get user detailsappwrite_update_user
- Update user informationappwrite_delete_user
- Delete userappwrite_update_user_status
- Block/unblock user
š Prerequisites
- Node.js 18+ and npm
- Appwrite instance (self-hosted or cloud)
- Cursor IDE with MCP support
- Appwrite API Key with appropriate permissions
š ļø Installation
1. Clone the Repository
git clone https://github.com/Kri8tivemike/AppwriteMCP-Kri8tivemike.git
cd AppwriteMCP-Kri8tivemike
2. Install Dependencies
npm install
3. Build the Project
npm run build
āļø Configuration
1. Environment Setup
Create a .env
file in the project root:
APPWRITE_ENDPOINT=https://your-appwrite-instance.com/v1
APPWRITE_PROJECT_ID=your-project-id
APPWRITE_API_KEY=your-api-key
APPWRITE_BUCKET_ID=default
2. Cursor IDE Configuration
Add to your Cursor MCP configuration file (mcp-config-custom.json
):
{
"mcpServers": {
"appwrite": {
"command": "node",
"args": ["./dist/index.js"],
"cwd": "/path/to/AppwriteMCP-Kri8tivemike",
"env": {
"APPWRITE_ENDPOINT": "https://your-appwrite-instance.com/v1",
"APPWRITE_PROJECT_ID": "your-project-id",
"APPWRITE_API_KEY": "your-api-key",
"APPWRITE_BUCKET_ID": "default"
}
}
}
}
š Usage
Testing the MCP Server
Run the test script to verify functionality:
# Windows PowerShell
.\test-mcp-server.ps1
# Linux/macOS
chmod +x test-mcp-server.sh
./test-mcp-server.sh
Using in Cursor IDE
- Restart Cursor IDE after configuration
- Open MCP Tools panel in Cursor
- See all 38 tools available for use
- Use tools directly in your conversations with Cursor
Example Usage
// Create a database
await appwrite_create_database({
databaseId: "my_database",
name: "My Application Database"
});
// Create a collection
await appwrite_create_collection({
databaseId: "my_database",
collectionId: "users",
name: "Users Collection"
});
// Add attributes
await appwrite_create_string_attribute({
databaseId: "my_database",
collectionId: "users",
key: "name",
size: 255,
required: true
});
// Create a document
await appwrite_create_document({
databaseId: "my_database",
collectionId: "users",
data: {
name: "John Doe",
email: "john@example.com"
}
});
š Project Structure
AppwriteMCP-Kri8tivemike/
āāā src/
ā āāā index.ts # Main MCP server implementation
āāā dist/ # Compiled JavaScript output
āāā .env # Environment variables (create this)
āāā .gitignore # Git ignore rules
āāā package.json # Project dependencies
āāā tsconfig.json # TypeScript configuration
āāā mcp-config-custom.json # Cursor MCP configuration
āāā test-mcp-server.ps1 # Windows test script
āāā test-mcp-server.sh # Linux/macOS test script
āāā README.md # This file
š§ Development
Building
npm run build
Testing
npm test
Adding New Tools
- Add tool definition to the
tools
array insrc/index.ts
- Add corresponding handler in the
switch
statement - Rebuild the project:
npm run build
- Test the new functionality
š”ļø Security
- Never commit your
.env
file or API keys - Use environment variables for all sensitive configuration
- Limit API key permissions to only what's needed
- Regularly rotate your API keys
š Documentation
Appwrite Documentation
MCP Documentation
š¤ Contributing
- Fork the repository
- Create a feature branch:
git checkout -b feature/amazing-feature
- Commit your changes:
git commit -m 'Add amazing feature'
- Push to the branch:
git push origin feature/amazing-feature
- Open a Pull Request
š License
This project is licensed under the MIT License - see the file for details.
š Acknowledgments
- Appwrite Team for the excellent backend platform
- Model Context Protocol team for the MCP specification
- Cursor IDE team for MCP integration
š Support
- Issues: GitHub Issues
- Discussions: GitHub Discussions
Made with ā¤ļø by Kri8tivemike