AI待办事项管理工具

一个基于Ollama的AI代理工具,通过自然语言处理自动调用工具管理待办事项。

  • by jackdo68
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 jackdo69/mcp-demo

使用说明

MCP演示-Todo助手

一个代理AI演示,Ollama解释自然语言并自动调用工具来管理待办事项。

建筑

Frontend (React :5173)
├── Chat Panel (left)
│   └── SSE → MCP /chat/stream
└── Log Panels (right, tabbed)
    ├── Backend Tab → SSE → Backend /logs/stream
    ├── MCP Tab → SSE → MCP /logs/stream
    └── AI Tab → (from chat SSE events)

MCP Server (:3001) → Backend API (:3000)

数据流示例

当用户键入“创建一个名为buy milk的todo”时:

1. Frontend sends SSE request to MCP
   GET /chat/stream?message=create%20a%20todo%20called%20buy%20milk

2. MCP sends to Ollama with tool definitions
   → Ollama returns: tool_call: create_todo({title: "buy milk"})
   → MCP broadcasts: SSE event "tool_call"

3. MCP executes tool against Backend
   POST /todos {title: "buy milk"}
   → Backend returns: {id: 1, title: "buy milk", done: false}
   → Backend broadcasts: SSE log event
   → MCP broadcasts: SSE event "tool_result"

4. MCP sends result back to Ollama
   → Ollama returns: "I've created a todo called 'buy milk'"
   → MCP broadcasts: SSE event "done"

5. Frontend displays response with collapsible trace

快速开始

# Install dependencies
pnpm install

# Start all services
pnpm dev

# Open http://localhost:5173

服务

服务 端口 描述
前端 5173 React+Vite+顺风(暗模式)
MCP 3001 Ollama代理工具执行
后端 3000 用于todo的Express REST API

脚本

pnpm dev        # Start all services in parallel
pnpm ollama:ps  # Show running Ollama models

需求

  • Node.js 18+
  • pnpm
  • 奥拉玛与 qwen2.5:3b 模型已安装(ollama pull qwen2.5:3b)