使用说明
AppWrite MCP服务器
一个强大的 模型上下文协议(MCP)服务器 它提供了与Appwrite数据库操作的无缝集成。该项目将一个漂亮、现代的web界面与一个强大的MCP服务器相结合,用于数据库交互,该服务器使用Next.js 15、React 19和最新的web技术构建。
🌟 特性
- 🔥 MCP服务器集成:完整的模型上下文协议服务器实现
- 🗄️ 数据库操作:完成Appwrite数据库的CRUD操作
- ⚡ 迅速的:使用Next.js 15和Turbo优化速度
- 🔒 安全:基于安全最佳实践和类型安全操作构建
- 🎨 漂亮的UI:采用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 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
- 应用程序写入_ API _键:您的Appwrite API密钥(具有数据库权限)
- 数据库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框架
- 反应19.0.0 -UI库
- TypeScript 5 -类型安全
- 顺风CSS 4 -造型
- 帧运动 -动画
- Radix UI -可访问组件
- Shadcn/ui -UI组件库
后端和数据库
- 应用程序17.0.0 -后端即服务
- @vercel/mcp适配器 -MCP服务器实现
- 萨德 -架构验证
开发工具
- ESLint -代码linting
- PostCSS -CSS处理
- 包子 -包管理器和运行时
📁 项目结构
├── 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以提高代码质量
🤝 贡献
欢迎投稿!请随时提交拉取请求。对于重大更改,请先打开一个问题来讨论您想要更改的内容。
- 分叉项目
- 创建功能分支(
git checkout -b feature/AmazingFeature) - 提交您的更改(
git commit -m 'Add some AmazingFeature') - 推到分支(
git push origin feature/AmazingFeature) - 打开拉取请求
📄 许可证
此项目根据MIT许可证获得许可-请参阅 许可证 文件以获取详细信息。
🙏 致谢
📞 支持
如果您有任何问题或需要帮助,请:
- 在GitHub上打开一个问题
- 检查文档
- 联系维护人员
内置于❤️ 靠近 Ramkrishna Swarnkar
文件夹: https://ramx.in |GitHub: @冲压式发动机
