AppWrite MCP Server について
AppWrite MCP Serverは、Appwriteのデータベース操作をMCPクライアントに公開し、デモやドキュメント確認用のWebインターフェースも備えています。AIツールで文書を参照・管理したいAppwriteプロジェクト向けです。
主な機能
- 01IDによる文書取得
- 02コレクション文書の一覧表示
- 03文書の作成・更新・削除
- 04コレクションの全消去
- 05デモ用Webインターフェース
活用シーン
- 01MCP経由でコレクション内の文書を検索
- 02Appwriteデータの作成や変更
- 03文書の削除やコレクションの全消去
MCP 対応
互換クライアントがAppwriteデータベースに接続するためのMCPエンドポイントを提供します。文書取得、CRUD、コレクション消去のツールを公開します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
AppWrite MCP サーバー
Appwrite のデータベース操作とシームレスに連携する、強力な Model Context Protocol (MCP) サーバーです。このプロジェクトは、Next.js 15、React 19、最新のウェブ技術を使用して構築された、洗練されたモダンなウェブインターフェースと、データベース操作に対応する堅牢な MCP サーバーを組み合わせています。
🌟 特徴
- 🔥 MCP サーバー統合:Model Context Protocol サーバーを完全に実装
- 🗄️ データベース操作: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 を使用する場合(推奨):
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 を開くと、アプリケーションを確認できます。
📖 使用方法
ウェブインターフェース
ウェブアプリケーションでは、以下を利用できます。
- ヒーローセクション: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 - Backend-as-a-Service
- @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(string)company_id(integer)
- データベース権限を持つ 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 のもとでライセンスされています。詳細は LICENSE ファイルを参照してください。
🙏 謝辞
- 優れたバックエンドサービスを提供する Appwrite
- MCP アダプターを提供する Vercel
- 美しい UI コンポーネントを提供する Shadcn/ui
- アクセシブルなコンポーネントを提供する Radix UI
📞 サポート
ご質問がある場合やサポートが必要な場合は、次の方法をご利用ください:
- GitHub で issue を開く
- ドキュメントを確認する
- メンテナーに連絡する
Ramkrishna Swarnkar が ❤️ を込めて作成
ポートフォリオ:https://ramx.in | GitHub:@ramxcodes
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。