Skip to main content
Glama

TaskFlow:一个由 Appwrite OAuth2 服务器驱动的 MCP 服务器

TaskFlow 是一个基于 Appwrite 构建的小型任务管理器。它附带一个远程 MCP 服务器,以 Appwrite Function 的形式托管,因此像 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. 使用部署输出中的函数域名,从 Claude Code 连接:

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

    在 Claude Code 中运行 /mcp 并选择 Authenticate。以 TaskFlow 用户身份登录,批准访问,然后向 Claude 询问你的任务。

在线演示

本仓库的部署成果:应用位于 taskflow.appwrite.network,MCP 服务器位于 https://taskflow-mcp.appwrite.network/mcp。创建一个账户,使用上面的命令连接 Claude Code,然后在对话中管理你的任务。

Maintenance

ActivityStale
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers