feat(app): 移除内置agents并添加CORS支持和技能上传优化

移除了agents/registry.json中的所有内置agents配置,将agents数组清空。
为web应用添加了CORS中间件支持,允许指定的前端地址跨域访问。
重构了技能上传功能,增加了LLM重写机制,自动规范化上传的技能格式。
新增了工具名称提取逻辑,从技能正文中自动识别Required Tools段落。
更新了技能学习候选者和草稿的载荷结构,添加评估报告统计信息。
修改了意图路由技能的说明,改进任务状态管理逻辑。
This commit is contained in:
2026-06-12 13:25:20 +08:00
parent fc9fd93c36
commit 8aeb97a5fc
76 changed files with 3382 additions and 553 deletions

View File

@ -5,9 +5,17 @@
"display_name": "outlook-mail",
"lineage": [],
"name": "outlook-mail",
"owners": ["system"],
"owners": [
"system"
],
"source_kind": "initial",
"status": "active",
"tags": ["outlook", "email", "calendar", "mcp", "microsoft"],
"tags": [
"outlook",
"email",
"calendar",
"mcp",
"microsoft"
],
"updated_at": "2026-05-26T00:00:00.000000+00:00"
}
}

View File

@ -19,35 +19,71 @@ tools:
- mcp_outlook_mcp_calendar_delta_sync
---
# Outlook MCP — 邮件与日历管理
# Outlook Mail
## Overview
通过 Outlook MCP 进行邮件收发、日历管理和会议安排。支持 Graph API 和 on-prem Exchange。
## When to Use
- Use when the task requires Outlook Mail guidance.
## Required Tools
- `mcp_outlook_mcp_mail_list_folders`
- `mcp_outlook_mcp_mail_list_messages`
- `mcp_outlook_mcp_mail_search_messages`
- `mcp_outlook_mcp_mail_get_message`
- `mcp_outlook_mcp_mail_send_email`
- `mcp_outlook_mcp_mail_reply_to_message`
- `mcp_outlook_mcp_mail_forward_message`
- `mcp_outlook_mcp_mail_move_message`
- `mcp_outlook_mcp_mail_delta_sync`
- `mcp_outlook_mcp_calendar_list_events`
- `mcp_outlook_mcp_calendar_create_event`
- `mcp_outlook_mcp_calendar_update_event`
- `mcp_outlook_mcp_calendar_get_schedule`
- `mcp_outlook_mcp_calendar_find_meeting_times`
- `mcp_outlook_mcp_calendar_delta_sync`
## Workflow
- Identify whether the user's request matches the skill's trigger conditions.
- Read the relevant source guidance below and apply only the steps that fit the current task.
- Use the required tools deliberately and keep tool output tied to the user's goal.
### Source Guidance
### Outlook MCP — 邮件与日历管理
通过 MCP server 连接 OutlookMicrosoft Graph / on-prem Exchange提供邮件和日历的完整操作能力。
## 邮件工具
#### 邮件工具
### mcp_outlook_mcp_mail_list_folders
##### mcp_outlook_mcp_mail_list_folders
列出 Outlook 邮件文件夹。
- `top` (int, 默认 50): 返回数量上限
### mcp_outlook_mcp_mail_list_messages
##### mcp_outlook_mcp_mail_list_messages
列出指定文件夹的邮件。
- `folder` (str, 默认 "inbox"): 文件夹名
- `top` (int, 默认 20): 返回条数
- `skip` (int, 默认 0): 跳过的条数
- `unread_only` (bool, 默认 false): 仅未读
### mcp_outlook_mcp_mail_search_messages
##### mcp_outlook_mcp_mail_search_messages
搜索邮件(使用 Graph search 语义)。
- `query` (str): 搜索关键词
- `folder` (str | None): 限定文件夹
- `top` (int, 默认 20): 返回条数
### mcp_outlook_mcp_mail_get_message
##### mcp_outlook_mcp_mail_get_message
读取单封邮件的完整内容。
- `message_id` (str): 邮件 ID
- `changekey` (str | None): EWS changekeyon-prem 需要)
### mcp_outlook_mcp_mail_send_email
##### mcp_outlook_mcp_mail_send_email
发送新邮件。**幂等操作**,支持 idempotency_key。
- `subject` (str): 主题
- `body` (str): 正文(支持 HTML
@ -56,14 +92,14 @@ tools:
- `bcc_recipients` (list[str] | None): 密送
- `idempotency_key` (str | None): 幂等键,防止重复发送
### mcp_outlook_mcp_mail_reply_to_message
##### mcp_outlook_mcp_mail_reply_to_message
回复一封邮件。
- `message_id` (str): 原邮件 ID
- `comment` (str): 回复内容
- `changekey` (str | None): EWS changekey
- `idempotency_key` (str | None)
### mcp_outlook_mcp_mail_forward_message
##### mcp_outlook_mcp_mail_forward_message
转发邮件给其他人。
- `message_id` (str): 原邮件 ID
- `to_recipients` (list[str]): 转发目标
@ -72,30 +108,30 @@ tools:
- `changekey` (str | None)
- `idempotency_key` (str | None)
### mcp_outlook_mcp_mail_move_message
##### mcp_outlook_mcp_mail_move_message
移动邮件到其他文件夹。
- `message_id` (str): 邮件 ID
- `destination_folder` (str): 目标文件夹
- `changekey` (str | None)
- `idempotency_key` (str | None)
### mcp_outlook_mcp_mail_delta_sync
##### mcp_outlook_mcp_mail_delta_sync
增量同步邮件变更。支持游标持久化,适合长期同步场景。
- `folder` (str, 默认 "inbox"): 文件夹
- `delta_link` (str | None): 增量链接(续传时提供)
- `top` (int, 默认 50)
- `persist_cursor` (bool, 默认 true): 是否持久化游标
## 日历工具
#### 日历工具
### mcp_outlook_mcp_calendar_list_events
##### mcp_outlook_mcp_calendar_list_events
列出日历事件或日历视图。
- `start_time` (str | None): ISO 开始时间,与 end_time 成对提供
- `end_time` (str | None): ISO 结束时间
- `top` (int, 默认 20)
- `skip` (int, 默认 0)
### mcp_outlook_mcp_calendar_create_event
##### mcp_outlook_mcp_calendar_create_event
创建日历事件或正式会议邀请。**幂等操作**。
- `subject` (str): 主题
- `start_time` (str): ISO 开始时间
@ -109,13 +145,13 @@ tools:
- `transaction_id` (str | None): 事务 ID
- `idempotency_key` (str | None)
### mcp_outlook_mcp_calendar_update_event
##### mcp_outlook_mcp_calendar_update_event
更新已有日历事件。
- `event_id` (str): 事件 ID
- `subject` / `start_time` / `end_time` / `timezone` / `body` / `location` / `attendees`: 可选更新字段
- `idempotency_key` (str | None)
### mcp_outlook_mcp_calendar_get_schedule
##### mcp_outlook_mcp_calendar_get_schedule
查询与会人忙闲状态。
- `schedules` (list[str]): 要查询的人员列表
- `start_time` (str): ISO 开始
@ -123,7 +159,7 @@ tools:
- `availability_view_interval` (int, 默认 30): 时间间隔(分钟)
- `timezone` (str, 默认 "UTC")
### mcp_outlook_mcp_calendar_find_meeting_times
##### mcp_outlook_mcp_calendar_find_meeting_times
推荐最佳会议时间。
- `attendees` (list[str]): 参会人
- `start_time` (str): 时间范围开始
@ -132,7 +168,7 @@ tools:
- `timezone` (str, 默认 "UTC")
- `max_candidates` (int, 默认 10): 候选数
### mcp_outlook_mcp_calendar_delta_sync
##### mcp_outlook_mcp_calendar_delta_sync
增量同步日历事件变更。
- `start_time` (str): 同步窗口开始
- `end_time` (str): 同步窗口结束
@ -141,10 +177,25 @@ tools:
- `persist_cursor` (bool, 默认 true)
- `cursor_key` (str, 默认 "calendar:primary")
## 使用原则
#### 使用原则
1. 邮件操作优先使用幂等键idempotency_key防止重复发送
2. 日历时间参数统一使用 ISO 8601 格式
3. 增量同步时优先使用返回的 delta_link 续传,避免全量拉取
4. 发送邮件前确认收件人地址格式正确
5. 创建会议时明确时区,避免跨时区混淆
## Validation
- Verify the requested outcome with the most direct available check.
- Report any skipped step, unavailable dependency, or remaining uncertainty explicitly.
## Boundaries
- Do not broaden the task beyond the user's request.
- Do not use tools that are not listed or clearly available in the current runtime.
## Anti-Patterns
- Do not summarize the skill instead of applying it.
- Do not claim completion without validation evidence.

View File

@ -1,12 +1,28 @@
{
"change_reason": "Initial skill for Outlook MCP mail and calendar operations",
"content_hash": "placeholder",
"content_hash": "b63cb304dccb498387044c36d257a32cbf84ebe34ed003df209d7094f93f7599",
"created_at": "2026-05-26T00:00:00.000000+00:00",
"created_by": "system",
"frontmatter": {
"description": "通过 Outlook MCP 进行邮件收发、日历管理和会议安排。支持 Graph API 和 on-prem Exchange。",
"name": "outlook-mail",
"tools": ["mcp_outlook_mcp_mail_list_folders", "mcp_outlook_mcp_mail_list_messages", "mcp_outlook_mcp_mail_search_messages", "mcp_outlook_mcp_mail_get_message", "mcp_outlook_mcp_mail_send_email", "mcp_outlook_mcp_mail_reply_to_message", "mcp_outlook_mcp_mail_forward_message", "mcp_outlook_mcp_mail_move_message", "mcp_outlook_mcp_mail_delta_sync", "mcp_outlook_mcp_calendar_list_events", "mcp_outlook_mcp_calendar_create_event", "mcp_outlook_mcp_calendar_update_event", "mcp_outlook_mcp_calendar_get_schedule", "mcp_outlook_mcp_calendar_find_meeting_times", "mcp_outlook_mcp_calendar_delta_sync"]
"tools": [
"mcp_outlook_mcp_mail_list_folders",
"mcp_outlook_mcp_mail_list_messages",
"mcp_outlook_mcp_mail_search_messages",
"mcp_outlook_mcp_mail_get_message",
"mcp_outlook_mcp_mail_send_email",
"mcp_outlook_mcp_mail_reply_to_message",
"mcp_outlook_mcp_mail_forward_message",
"mcp_outlook_mcp_mail_move_message",
"mcp_outlook_mcp_mail_delta_sync",
"mcp_outlook_mcp_calendar_list_events",
"mcp_outlook_mcp_calendar_create_event",
"mcp_outlook_mcp_calendar_update_event",
"mcp_outlook_mcp_calendar_get_schedule",
"mcp_outlook_mcp_calendar_find_meeting_times",
"mcp_outlook_mcp_calendar_delta_sync"
]
},
"parent_version": null,
"provenance": {
@ -15,8 +31,24 @@
},
"review_state": "published",
"skill_name": "outlook-mail",
"summary": "Outlook MCP — 邮件与日历管理。通过 MCP server 连接 Outlook提供邮件和日历的完整操作能力。",
"summary_hash": "placeholder",
"tool_hints": ["mcp_outlook_mcp_mail_list_folders", "mcp_outlook_mcp_mail_list_messages", "mcp_outlook_mcp_mail_search_messages", "mcp_outlook_mcp_mail_get_message", "mcp_outlook_mcp_mail_send_email", "mcp_outlook_mcp_mail_reply_to_message", "mcp_outlook_mcp_mail_forward_message", "mcp_outlook_mcp_mail_move_message", "mcp_outlook_mcp_mail_delta_sync", "mcp_outlook_mcp_calendar_list_events", "mcp_outlook_mcp_calendar_create_event", "mcp_outlook_mcp_calendar_update_event", "mcp_outlook_mcp_calendar_get_schedule", "mcp_outlook_mcp_calendar_find_meeting_times", "mcp_outlook_mcp_calendar_delta_sync"],
"summary": "# Outlook Mail ## Overview 通过 Outlook MCP 进行邮件收发、日历管理和会议安排。支持 Graph API 和 on-prem Exchange。",
"summary_hash": "b4c9b010447a1df9fe4196f9e1af7c962529445382cfed8d17b3796afc79a6bb",
"tool_hints": [
"mcp_outlook_mcp_mail_list_folders",
"mcp_outlook_mcp_mail_list_messages",
"mcp_outlook_mcp_mail_search_messages",
"mcp_outlook_mcp_mail_get_message",
"mcp_outlook_mcp_mail_send_email",
"mcp_outlook_mcp_mail_reply_to_message",
"mcp_outlook_mcp_mail_forward_message",
"mcp_outlook_mcp_mail_move_message",
"mcp_outlook_mcp_mail_delta_sync",
"mcp_outlook_mcp_calendar_list_events",
"mcp_outlook_mcp_calendar_create_event",
"mcp_outlook_mcp_calendar_update_event",
"mcp_outlook_mcp_calendar_get_schedule",
"mcp_outlook_mcp_calendar_find_meeting_times",
"mcp_outlook_mcp_calendar_delta_sync"
],
"version": "v0001"
}