待办事项插件

一个面向WordPress的现代待办事项插件,通过WordPress Abilities API提供MCP工具功能,适用于任务管理和AI代理集成。

  • by shamim0902
  • PHP
  • 本地部署
  • 更新于
在 GitHub 查看 hasanuzzamanbe/my-todo-sample-ability-api

使用说明

我的ToDo插件

一个现代的、面向对象的WordPress待办事项列表插件,其功能如下 MCP(模型上下文协议)工具 通过WordPress能力API。

🚀 特性

  • ✅ 面向对象的体系结构 -干净、可维护的代码结构
  • ✅ 模块化设计 -跨多个类的独立关注点
  • ✅ MCP集成 -通过REST API为人工智能代理公开工具
  • ✅ 现代管理界面 -简洁、响应迅速的WordPress管理用户界面
  • ✅ 翻译就绪 -全面的国际化支持
  • ✅ 安全第一 -适当的消毒、验证和能力检查
  • ✅ 自动同步 -可选MCP服务器同步

📦 需求

  • WordPress 5.0或更高版本
  • PHP 7.4或更高版本
  • 能力API插件 (必填)

🏗️ 建筑

该插件遵循现代WordPress开发实践,具有干净的OOP结构:

my-todo/
├── my-todo.php                          # Main plugin file
├── includes/
│   ├── class-my-todo-plugin.php         # Main plugin class (Singleton)
│   ├── class-my-todo-post-type.php      # Post type handler
│   ├── class-my-todo-admin.php          # Admin interface
│   └── class-my-todo-mcp-handler.php    # MCP abilities handler
├── languages/
│   └── my-todo.pot                      # Translation template
└── .gitignore                           # Git ignore rules

班级职责

  • MyTodoPlugin -主插件编排器,处理初始化和依赖关系
  • MyTodoPostType -管理自定义帖子类型和数据操作
  • MyTodoAdmin -处理WordPress管理界面和表单处理
  • MyTodoMCPHandler -管理MCP能力注册和执行

🔧 安装

  1. 安装并激活 API能力 插件
  2. 将此插件上传到 /wp-content/plugins/my-todo/
  3. 通过WordPress中的“插件”菜单激活插件
  4. 通过以下方式访问 我的任务 WordPress管理中的菜单

🛠️ 可用的MCP工具

1. 全部列表

姓名: my-todo/list
端点: GET /wp/v2/abilities/my-todo/list/run
说明: 检索所有待办事项
输入: 无
输出: 待办事项数组 id 和 title

2.全部添加

姓名: my-todo/add
端点: POST /wp/v2/abilities/my-todo/add/run
说明: 创建新的待办事项
输入: { "title": "Todo text" }
输出: { "success": true, "id": 123 }
许可: 需要 manage_options

3.删除待办事项

姓名: my-todo/delete
端点: POST /wp/v2/abilities/my-todo/delete/run
说明: 按ID删除待办事项
输入: { "id": 123 }
输出: { "success": true, "deleted": 123 }
许可: 需要 manage_options

📖 用法

通过WordPress管理员

  1. 首选 我的任务 在管理菜单中
  2. 使用简单界面添加、查看和删除待办事项

通过REST API

看 MCP_TOOLS_GUIDE.md 获取完整的API文档和示例。

快速测试

# Edit the test script with your credentials
nano test-mcp-tools.sh

# Run the test
./test-mcp-tools.sh

🔐 认证

所有REST API端点都需要身份验证:

  • 应用程序密码 (推荐)
  • Cookie身份验证(同源)
  • 自定义身份验证插件

创建应用程序密码

  1. 首选 用户→ 您的个人资料 在WordPress管理员
  2. 滚动到 应用程序密码 章节
  3. 输入名称(例如“MCP工具”)
  4. 点击 添加新应用程序密码
  5. 复制生成的密码

🧪 测试

运行附带的测试脚本:

cd /path/to/my-todo/
./test-mcp-tools.sh

或者使用cURL手动测试:

# List all abilities
curl -u 'username:app-password' \
  https://your-site.local/wp-json/wp/v2/abilities

# List todos
curl -u 'admin:lmub 2Kuv YYku bM8y Bzn7 H1DT' \
  https://localhost:10003/wp-json/wp/v2/abilities/my-todo/list/run


# Add todo
curl -X POST \
  -u 'username:app-password' \
  -H "Content-Type: application/json" \
  -d '{"input":{"title":"New todo"}}' \
  https://your-site.local/wp-json/wp/v2/abilities/my-todo/add/run

⚙️ MCP服务器同步(可选)

配置与外部MCP服务器的自动同步:

  1. 首选 我的任务→ MCP设置
  2. 输入您的MCP服务器URL
  3. 保存设置

Todos将在添加/删除操作后自动同步。

📚 文档

🤖 AI代理集成

此插件遵循 模型上下文协议(MCP) 标准,使其与支持MCP的AI代理兼容。

AI代理可以:

  1. 发现 可用工具通过 /wp/v2/abilities
  2. 理解 通过JSON模式的需求
  3. 执行 验证操作
  4. 处理错误 结构化响应

🔒 安全

  • 所有端点都需要WordPress身份验证
  • 添加/删除操作需要 manage_options 能力
  • 通过JSON模式进行输入验证
  • 通过JSON模式进行输出验证
  • 适当的消毒和逃生
  • 管理员表单的Nonce验证

🐛 故障排除

能力没有出现?

  • 确保 API能力 插件已安装并激活
  • 检查您的WordPress REST API是否可访问
  • 在访问端点时验证您是否经过身份验证

权限错误?

  • 确保您的用户拥有 manage_options 能力(通常是管理员角色)
  • 检查您的应用程序密码是否有效

404错误?

  • 验证永久链接设置(未设置为“纯”)
  • 检查REST API是否未被安全插件阻止

📝 许可证

此插件根据GPL v2或更高版本获得许可。

👨‍💻 作者

哈萨努扎曼


版本: 3.1
最后更新时间: 2025