import { useCallback, useState, useEffect } from 'react' import { createFileRoute } from '@tanstack/react-router' type Todo = { id: number title: string } export const Route = createFileRoute('/demo/mcp-todos')({ component: ORPCTodos, }) function ORPCTodos() { const [todos, setTodos] = useState([]) useEffect(() => { const eventSource = new EventSource('/demo/api/mcp-todos') eventSource.onmessage = (event) => { setTodos(JSON.parse(event.data)) } return () => eventSource.close() }, []) const [todo, setTodo] = useState('') const submitTodo = useCallback(async () => { await fetch('/demo/api/mcp-todos', { method: 'POST', body: JSON.stringify({ title: todo }), }) setTodo('') }, [todo]) return (

MCP

Todos

    {todos?.map((t) => (
  • {t.title}
  • ))}
setTodo(e.target.value)} onKeyDown={(e) => { if (e.key === 'Enter') { submitTodo() } }} placeholder="Enter a new todo..." className="demo-input" />
) }