Skip to main content
Glama

TaskFlow: Appwrite OAuth2 サーバーを利用した MCP サーバー

TaskFlow は、Appwrite で構築された小さなタスク管理ツールです。Appwrite Function としてホストされるリモート MCP サーバーを同梱しているため、Claude Code などの AI ツールが、ユーザーの許可を得てユーザーのタスクを読み取り・管理できます。

面白いのは認証部分です。TaskFlow の Appwrite プロジェクトが OAuth2 サーバーの役割を担い、AI クライアントは自分自身を登録し、ユーザーは TaskFlow がホストする同意画面でアクセスを承認し、MCP サーバーはプロジェクトが発行したトークンを検証します。API キーは配布されません。ユーザーはいつでもツールとの接続を解除できます。

Appwrite ブログのチュートリアル「アプリを MCP サーバーにしよう」に付属するリポジトリです。

レイアウト

apps/taskflow          The TaskFlow web app (TanStack Start): tasks, sign-in,
                       the OAuth2 consent screen, and a connected apps page.
functions/taskflow-mcp The MCP server, deployed as an Appwrite Function.
scripts                One-time database provisioning.

Related MCP server: Motion MCP Server

セットアップ

  1. Appwrite プロジェクトを作成し、.env.example を .env にコピーして、エンドポイント、プロジェクト ID、API キー(スコープ: sessions.write、users.read、apps.read、databases.read、databases.write、tables.read、tables.write)、ランダムなセッションシークレットを設定します。

  2. データベースをインストールしてプロビジョニングします:

    pnpm install
    pnpm provision
  3. コンソールで Auth > OAuth2 server を開き、サーバーを有効にして、認可 URL を http://localhost:4100/oauth/consent に設定し、tasks.read と tasks.write スコープを追加します。

  4. Web アプリと MCP サーバーをデプロイします(Appwrite CLI を使用)。その後、コンソールでサイトの変数を設定します(.env と同じ値):

    appwrite login
    appwrite push site --site-id taskflow
    appwrite push function --function-id taskflow-mcp --activate
  5. OAuth2 サーバーの認可 URL を https://<SITE_DOMAIN>/oauth/consent に更新します。

  6. デプロイ出力の Function のドメインを使って、Claude Code から接続します:

    claude mcp add --transport http taskflow https://<FUNCTION_DOMAIN>/mcp

    Claude Code 内で /mcp を実行し、認証 を選択します。TaskFlow ユーザーとしてサインインし、アクセスを承認して、自分のタスクについて Claude に質問してください。

ライブデモ

このリポジトリのデプロイ結果です: アプリは taskflow.appwrite.network、MCP サーバーは https://taskflow-mcp.appwrite.network/mcp にあります。アカウントを作成し、上記のコマンドで Claude Code を接続して、会話からタスクを管理してください。

Maintenance

ActivitySlowing
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers