mcpField
W
Workers + Stytch TODO App MCP Server

Workers + Stytch TODO App MCP Server

本地服务
mcp-stytch-consumer-todo-list.maxwell-gerber42.workers.dev生产力2762 周前更新

关于 Workers + Stytch TODO App MCP Server

这是一个基于 Cloudflare Workers 的 TODO 应用示例,由 React 与 Vite 构建的静态网站、Hono REST API 和 MCP 服务组成。用户与客户端身份由 Stytch Consumer 认证管理,适合希望把全栈应用扩展给 AI Agent 使用的开发者。

主要功能

  1. 01静态网站、REST API 与 MCP 服务合并在一个 Worker 中
  2. 02REST API 基于 Hono 与 Workers KV 实现
  3. 03MCP 服务运行在 Workers Durable Objects 上
  4. 04使用 Stytch Consumer 进行用户与客户端认证
  5. 05提供 Streamable HTTP 方式的 /mcp 端点

适用场景

  1. 01为已有全栈应用增加 AI Agent 访问能力的参考实现
  2. 02学习在 Cloudflare Workers 上组合网站、API 与 MCP 服务
  3. 03基于 Stytch 认证测试 MCP 服务的 TODO 操作

MCP 相关

该项目是 MCP 服务,通过 /mcp 端点向 MCP 客户端提供服务,并使用 Stytch 管理访问身份。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"stytch-consumer-todo-list": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/inspector"
]
}
}
}
启动命令npx -y @modelcontextprotocol/inspector

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npm@modelcontextprotocol/inspector

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

Workers + Stytch TODO 应用 MCP 服务

这是一个 Workers 服务,组合了三个功能:

用户和客户端身份由 Stytch 管理。结合这三个功能,可以展示如何扩展传统的全栈应用,以供 AI Agent 使用。

此演示使用 Stytch Consumer 产品,该产品专为 Consumer SaaS 身份验证需求打造。 如果你对 Stytch 的 B2B 产品更感兴趣,请参阅此演示。

设置

按照以下步骤,使用你自己的 Stytch 凭据完成应用配置并运行。

在 Stytch 控制面板中
  1. 创建一个 Stytch 账户。在注册流程中,将 Consumer Authentication 选为你感兴趣的身份验证类型。账户设置完成后,系统会自动为你创建一个名为“My first project”的项目。

  2. 前往 Frontend SDKs,在 Test 环境中启用 Frontend SDK。

  3. 前往 Connected Apps,启用 Dynamic Client Registration。

  4. 前往 Project Settings,查看你的 Project ID 和 API 密钥。稍后会用到这些值。

在你的计算机上

在终端中克隆项目并安装依赖项:

git clone https://github.com/stytchauth/mcp-stytch-consumer-todo-list.git
cd mcp-stytch-consumer-todo-list
npm i

接下来,运行以下命令,从 .env.template 复制内容以创建 .env.local 文件。

cp .env.template .env.local

使用你选择的文本编辑器打开 .env.local,并使用 Project Settings 中的 public_token 设置环境变量。

# This is what a completed .env.local file will look like
VITE_STYTCH_PUBLIC_TOKEN=public-token-test-abc123-abcde-1234-0987-0000-abcd1234

运行以下命令,从 .dev.vars.template 复制内容以创建 .dev.vars 文件。

cp .dev.vars.template .dev.vars

使用你选择的文本编辑器打开 .dev.vars,并使用 Project Settings 中的 Project ID、Secret 和 Project Domain 设置环境变量。

// This is what a completed .dev.vars file will look like
STYTCH_PROJECT_ID=project-test-6c20cd16-73d5-44f7-852c-9a7e7b2ccf62
STYTCH_SECRET=your-stytch-secret-key
STYTCH_DOMAIN=https://cname-word-1234.customers.stytch.dev

在本地运行

完成上述所有设置步骤后,可以运行以下命令启动应用:

npm run dev

应用将在 http://localhost:3000 上提供,MCP 服务将在 http://localhost:3000/mcp 上提供。

使用 MCP Inspector 测试你的 MCP 服务

npx @modelcontextprotocol/inspector@latest

前往 Inspector 运行的 URL,并输入以下值:

  • 传输类型:Streamable HTTP
  • URL:http://localhost:3000/mcp

部署到 Cloudflare Workers

点击按钮——首次部署后,你需要配置环境变量。

部署到 Cloudflare

或者,如果你想手动操作,请按以下步骤进行:

  1. 为 TODO 应用创建一个 KV 命名空间
wrangler kv namespace create TODOS
  1. 使用你收到的 ID 更新 wrangler.jsonc 中的 KV 命名空间 ID:
"kv_namespaces": [
   {
      "binding": "TODOS",
      "id": "your-kv-namespace-id"
   }
]
  1. 上传 Stytch 环境变量,供 Worker 使用
npx wrangler secret bulk .dev.vars
  1. 部署 Worker
npm run deploy
  1. 授予你的部署访问 Stytch 项目的权限。假设你的 Stytch 项目部署在 https://mcp-stytch-consumer-todo-list.$YOUR_ACCOUNT_NAME.workers.dev:
    1. 将 https://mcp-stytch-consumer-todo-list.$YOUR_ACCOUNT_NAME.workers.dev/authenticate 添加为允许的重定向 URL
    2. 在 Frontend SDKs 配置中,将 https://mcp-stytch-consumer-todo-list.$YOUR_ACCOUNT_NAME.workers.dev 添加为允许的 Authorized Application

获取帮助并加入社区

:speech_balloon: Stytch 社区 Slack

加入讨论、提出问题,并为我们的新功能提供建议,欢迎访问 Slack 社区!

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。