import gradio as gr # タスクを保持するリスト tasks = [] # タスクを追加する関数 def add_task(task): if task: tasks.append(task) return "\n".join(f"{i+1}. {t}" for i, t in enumerate(tasks)) # タスクを削除する関数(インデックス指定) def delete_task(index): try: index = int(index) - 1 if 0 <= index < len(tasks): tasks.pop(index) except ValueError: pass return "\n".join(f"{i+1}. {t}" for i, t in enumerate(tasks)) # Gradioインターフェースの構築 with gr.Blocks() as demo: gr.Markdown("## ✅ シンプルToDoアプリ") with gr.Row(): task_input = gr.Textbox(label="タスクを入力") add_button = gr.Button("追加") task_display = gr.Textbox(label="現在のタスク一覧", lines=10) with gr.Row(): delete_input = gr.Textbox(label="削除するタスク番号") delete_button = gr.Button("削除") add_button.click(add_task, inputs=task_input, outputs=task_display) delete_button.click(delete_task, inputs=delete_input, outputs=task_display) demo.launch(mcp_server=True)