关于 AppWrite MCP Server
AppWrite MCP Server 将 Appwrite 数据库操作开放给 MCP 客户端,并附带用于演示和查看文档的 Web 界面。它适合需要通过 AI 工具读取和管理文档的 Appwrite 项目。
主要功能
- 01按 ID 获取文档
- 02列出集合文档
- 03创建、更新和删除文档
- 04清空集合
- 05提供 Web 演示界面
适用场景
- 01通过 MCP 查询集合中的文档
- 02创建或修改 Appwrite 数据
- 03删除单条文档或清空集合
MCP 相关
提供 MCP 端点,供兼容客户端连接 Appwrite 数据库;公开文档查询、增删改和集合清理工具。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
AppWrite MCP 服务
功能强大的 模型上下文协议(MCP)服务,可与 Appwrite 数据库操作无缝集成。本项目将美观现代的 Web 界面与功能强大的数据库交互 MCP 服务相结合,采用 Next.js 15、React 19 和最新的 Web 技术构建。
🌟 功能
- 🔥 MCP 服务集成:完整实现模型上下文协议服务
- 🗄️ 数据库操作:支持 Appwrite 数据库的完整 CRUD 操作
- ⚡ 极速运行:使用 Next.js 15 和 Turbo 进行速度优化
- 🔒 安全可靠:遵循安全最佳实践,并采用类型安全的操作
- 🎨 精美界面:采用 Tailwind CSS 和 Framer Motion 构建的现代化响应式界面
- 📱 响应式设计:全面适配所有设备
- 🌙 现代技术栈:Next.js 15、React 19、TypeScript 和最新依赖项
可用的 MCP 工具
该服务提供 7 个强大的数据库工具:
creatorInfo- 获取创建者的详细信息getDocument- 根据文档的唯一 ID 检索文档listDocuments- 列出集合中的所有文档createDocument- 在数据库中创建新文档updateDocument- 更新现有文档deleteDocument- 从数据库中删除文档clearCollection- 清空集合中的所有文档
🚀 快速开始
前置条件
- Node.js 18+ 或 Bun
- Appwrite 账号和项目
- 已配置 Appwrite 数据库和集合
1. 克隆代码仓库
git clone https://github.com/ramxcodes/mcp-server.git
cd mcp-server
2. 安装依赖项
使用 npm:
npm install
使用 bun(推荐):
bun install
3. 配置环境
在根目录中创建 .env 文件:
APPWRITE_ENDPOINT=https://YOURID.cloud.appwrite.io/v1
APPWRITE_PROJECT_ID=YOUR-PROJECT-ID
APPWRITE_API_KEY=YOUR-API-KEY
DATABASE_ID=YOUR-DB-ID
将占位值替换为你的实际 Appwrite 凭据:
- APPWRITE_ENDPOINT:你的 Appwrite 实例端点
- APPWRITE_PROJECT_ID:你的 Appwrite 项目 ID
- APPWRITE_API_KEY:你的 Appwrite API 密钥(需具有数据库权限)
- DATABASE_ID:你的 Appwrite 数据库 ID
4. 运行开发服务
npm run dev
# or
bun dev
打开 http://localhost:3000 查看应用。
📖 使用方法
Web 界面
Web 应用提供:
- 主视觉区:介绍 MCP 服务的功能
- 代码展示:交互式示例和文档
- MCP 演示:实时展示服务功能
- 视频展示:可视化指南和教程
- 文档链接:快速访问相关资源
MCP 服务端点
MCP 服务可通过以下地址访问:
https://your-domain.com/mcp
你可以使用任何兼容 MCP 的客户端,通过此端点与 Appwrite 数据库交互。
MCP 使用示例
// Connect to the MCP server
mcp.connect('https://your-domain.com/mcp')
// List all documents
await mcp.listDocuments({ collectionId: 'company_names' })
// Create a new document
await mcp.createDocument({
company_name: 'Example Corp',
company_id: 12345
})
// Get a specific document
await mcp.getDocument({ documentId: 'doc_id_here' })
🛠️ 技术栈
前端
- Next.js 15.3.3 - 使用 App Router 的 React 框架
- React 19.0.0 - UI 库
- TypeScript 5 - 类型安全
- Tailwind CSS 4 - 样式
- Framer Motion - 动画
- Radix UI - 无障碍组件
- Shadcn/ui - UI 组件库
后端与数据库
- Appwrite 17.0.0 - 后端即服务
- @vercel/mcp-adapter - MCP 服务实现
- Zod - 模式验证
开发工具
- ESLint - 代码检查
- PostCSS - CSS 处理
- Bun - 包管理器和运行时
📁 项目结构
├── src/
│ ├── app/
│ │ ├── [transport]/
│ │ │ └── route.ts # MCP server endpoint
│ │ ├── layout.tsx # Root layout
│ │ ├── page.tsx # Homepage
│ │ └── globals.css # Global styles
│ ├── components/
│ │ ├── ui/ # Shadcn UI components
│ │ ├── magicui/ # Additional UI components
│ │ ├── hero-section.tsx # Hero section component
│ │ ├── code-showcase.tsx # Code examples component
│ │ ├── mcp-demo.tsx # MCP demo component
│ │ └── ... # Other components
│ ├── lib/
│ │ └── tools/
│ │ └── appwrite.ts # Appwrite tools and handlers
│ └── hooks/ # Custom React hooks
├── public/ # Static assets
├── .env # Environment variables
├── next.config.ts # Next.js configuration
├── tailwind.config.js # Tailwind CSS configuration
├── tsconfig.json # TypeScript configuration
└── package.json # Dependencies and scripts
🔧 配置
Appwrite 设置
- 创建一个 Appwrite 项目
- 创建一个数据库
- 创建一个集合(例如,
company_names) - 在集合中设置以下属性:
company_name(字符串)company_id(整数)
- 创建一个具有数据库权限的 API 密钥
- 使用凭据更新
.env文件
MCP 客户端配置
要将此服务与 MCP 客户端配合使用,请进行以下配置:
{
"server_url": "https://your-domain.com/mcp",
"capabilities": [
"database_operations",
"document_management"
]
}
📝 可用脚本
dev- 使用 Turbo 启动开发服务器build- 构建用于生产环境的应用程序start- 启动生产服务器lint- 运行 ESLint 以检查代码质量
🤝 参与贡献
欢迎贡献!请随时提交拉取请求。对于重大更改,请先提交 issue,讨论你希望进行的更改。
- 复刻项目
- 创建功能分支(
git checkout -b feature/AmazingFeature) - 提交更改(
git commit -m 'Add some AmazingFeature') - 推送到分支(
git push origin feature/AmazingFeature) - 提交拉取请求
📄 许可证
本项目基于 MIT 许可证授权,详情请参阅 LICENSE 文件。
🙏 致谢
📞 支持
如果你有任何问题或需要帮助,请:
- 在 GitHub 上提交 issue
- 查阅文档
- 联系维护者
由 Ramkrishna Swarnkar 倾情打造 ❤️
个人作品集:https://ramx.in | GitHub:@ramxcodes
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。