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 dayong@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
toolsarray insrc/index.ts - Add corresponding handler in the
switchstatement - Rebuild the project:
npm run build - Test the new functionality
🛡️ Security
- Never commit your
.envfile 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