Token导航 LogoToken导航TokenDH.com
A7 MCP Server AI Agent And External Tool Integration logo
AI代理未说明官方级别未说明来源级核验

A7 MCP Server AI Agent And External Tool Integration

MCP Server

一个集成了AI代理、外部工具(如Google Calendar和Telegram Bot)和MCP服务器的自动化工作流系统,用于自然语言处理和任务自动化。

工具数

3

提示词数

0

GitHub Stars

0

资源数

0
AI代理任务自动化自然语言处理

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

dniamsaard4codework

提供方

dniamsaard4codework

最后核验

2026/5/17 20:22

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

A7:MCP服务器、AI代理和外部工具集成

NLU作业7 --MCP服务器、AI代理和外部工具集成 学生: 高级启动 \[st126235\]

______________________________________________________________________

概述

该项目使用 模型上下文协议(MCP) 在n8n上,通过本地部署 码头工人 (使用PostgreSQL后端)并使用 Cloudflare快速隧道 --取代ngrok作为隧道解决方案。代理已连接到 电报机器人 用于实时消息传递和 谷歌日历 完全 增删改查 事件管理(创建、读取、更新、删除),展示了一个实用的NLU驱动的调度助手,能够理解自然语言命令并采取实际行动。

基础设施说明: 此设置使用的不是ngrok(如指南中所述) cloudflared tunnel --url http://localhost:5678 其生成不需要帐户或令牌的临时公共HTTPS URL。该URL用作所有MCP和Telegram回调的n8n Webhook/Production URL。

______________________________________________________________________

任务1:MCP基础设施和服务器设置(3分)

1.1服务器部署——Docker+Cloudflare隧道(0.5分)

n8n是通过以下方式自托管的 Docker Compose 由a支持 PostgreSQL 16 用于持久工作流和凭证存储的数据库。本地实例通过以下方式公开 Cloudflare快速隧道:

cloudflared tunnel --url http://localhost:5678

这创建了一个稳定的HTTPS端点(例如。, https://twiki-council-appointments-injuries.trycloudflare.com)n8n用作 WEBHOOK_URL,使所有Webhook和MCP SSE端点都可以从互联网上访问。

Cloudflare Tunnel Terminal *Cloudflare快速隧道在终端中运行——生成的公共HTTPS URL被打印出来,并在整个分配过程中用作n8n Webhook URL。*

n8n Accessed via Cloudflare URL *n8n欢迎页面通过Cloudflare公共URL加载到浏览器中,确认隧道处于活动状态,并且可以从互联网访问实例。*

n8n Workflows Overview *n8n工作流仪表板显示所有工作流。两者 MCP服务器客户端 已标记 发表 (绿色徽章),确认它们是活动的,可以通过公共隧道URL访问。*

______________________________________________________________________

1.2 MCP服务器工作流程——3个内部工具(1 pt)

一个名为的专用工作流 “MCP服务器” 充当工具提供者。一 MCP服务器触发器 节点是入口点;三个内部工具节点从中分支出来:

工具节点类型功能
计算器内置计算器计算算术表达式
日期与时间代码工具(Date_and_Time)返回亚洲/曼谷的当前日期/时间(UTC+7)
获取_最新_新闻HTTP请求工具通过以下方式获取BBC新闻RSS api.rss2json.com -不需要API密钥

工作流程已切换 活跃的 (已出版)。结果 生产URL (结束于 /sse)是AI代理客户端连接到的SSE端点。

MCP Server Workflow *MCP服务器工作流:MCP服务器触发器连接到计算器、日期和时间以及HTTP请求(Get_Latest_News)。这 ↑ 发表 右上角的指示器确认工作流处于活动状态,在SSE端点上显示所有三个工具。*

______________________________________________________________________

1.3 AI代理客户端(1.5分)

第二个工作流名为 “客户端” 包含AI代理。它被配置为 工具代理 具有以下组件:

组件配置
触发收到聊天消息时(聊天触发器)
AI代理类型工具代理
聊天模型OpenAI聊天模型节点→ 格罗克API(llama-3.3-70b-versatile),基本URL: https://api.groq.com/openai/v1
记忆简单内存——窗口缓冲内存,上下文窗口长度:10
工具MCP客户端--SSE端点设置为MCP服务器生产URL

通过直接在n8n中聊天来验证代理。执行日志显示MCP客户端在MCP服务器上发现和调用工具。

Client Side — MCP News Query *客户端工作流执行新闻查询。用户询问BBC的最新新闻;代理调用MCP客户端→ HTTP请求工具,返回结构化的BBC标题。右侧的执行日志确认了完整的工具调用链:AI Agent→ 简单记忆→ Groq聊天模型→ MCP客户端→ HTTP请求。*

______________________________________________________________________

任务2:电报和谷歌日历集成(3分)

2.1 Telegram Bot API(0.5分)

客户端工作流扩展为使用 电报 作为消息传递渠道:

  • 当收到聊天消息时 触发器被替换为 电报触发器 节点(监听 message 更新,凭证:来自BotFather的Bot令牌)。
  • A. 发短信 在AI代理输出后添加节点,将代理的回复路由回用户的Telegram聊天。
  • 机器人被命名为 “ST126235 NLP A7调度机器人”.

流量: Telegram Trigger → AI Agent → Send a text message

Telegram Workflow in n8n *客户端工作流更新为电报触发器(左)和发送短信节点(右)。执行日志显示电报发送成功,输出确认 message_id 以及聊天详情。*

Telegram Bot — Date & News *实时电报对话:机器人正确地将今天的日期报告为 2026年3月30日 (曼谷时区)使用日期和时间MCP工具,并使用Get_Latest_News MCP工具获取BBC新闻头版头条——这两个工具都是通过MCP服务器透明调用的。*

______________________________________________________________________

2.2谷歌日历工具(0.5分)

谷歌日历 节点通过OAuth 2.0凭据添加到AI代理的工具集(启用Google云控制台-日历API,将URI设置重定向到Cloudflare隧道URL),提供完整的 增删改查 能力:

工具节点动作目的
创建事件CREATE创建带有标题、日期范围和全天标志的新日历事件
获得许多活动READ列出日期范围内即将发生的事件
举办活动READ通过ID或查询特定日期检索单个事件
更新事件更新修改事件标题、日期或描述
删除事件DELETE从日历中永久删除事件

代理的系统提示配置为将亚洲/曼谷(UTC+7)视为默认时区,并始终使用ISO 8601日期格式。

Google Calendar Tools — Full CRUD Workflow *AI Agent,所有五个谷歌日历工具可见。执行日志显示代理使用Google日历直接链接确认所有四个项目阶段事件。*

Final Client Side Workflow — All Tools *最终客户端工作流状态:电报触发器→ AI 代理→ 发送短信。AI Agent有8个工具:Groq聊天模型、简单记忆、MCP客户端和所有五个谷歌日历工具(创建、获取多个、获取一个、更新、删除)。执行日志确认日历事件创建成功。*

______________________________________________________________________

2.3自动化项目进度安排(1分)

通过Telegram向机器人发送自然语言调度命令,请求创建四个全天项目阶段事件:

*“请为我的项目创建4个谷歌日历事件:* *1.“第一阶段:文献综述”2026年4月7日至4月20日* *2.“第二阶段:项目建议书”2026年4月21日至5月4日* *3.“第三阶段:更新进展”2026年5月5日至5月18日* *4.“第四阶段:最终(演示)”2026年5月19日至5月25日* *每一个都应该是一整天的活动。"*

代理解析意图,调用 在Google日历中创建事件 四次,并回复确认摘要。

|#|事件|开始|结束| | - | ----- | ----- | --- | |1|第一阶段:文献综述|2026-04-07|2026年04月20日| |2|第二阶段:项目建议书|2026-04-21|2026年05月4日| |3 |第三阶段:更新进度|2026-05-05 |2026年05月18日| |4|第四阶段:决赛(演讲)|2026-05-19|2026年5月25日|

Telegram — Scheduling Command & Confirmation *电报对话:用户通过MCP工具验证日期并获取新闻后,发送项目调度命令。该机器人确认所有四个阶段都是在谷歌日历中创建的,并带有确切的日期范围。*

谷歌日历——2026年4月(创建后):

Google Calendar April 2026 *2026年4月日历视图确认 “第一阶段:文献综述” (4月7日至20日)和 “第二阶段:项目建议书” (4月21日)被创建为全天事件。*

谷歌日历——2026年5月(创建后):

Google Calendar May 2026 *2026年5月日历视图确认 “第二阶段:项目建议书” (5月4日结束), “第三阶段:更新进度” (5月5日至18日),以及 “第四阶段:最终(演示)” (5月19日至25日)——日历上可见的所有四个阶段。*

______________________________________________________________________

2.4交互验证——完整CRUD(1 pt)

通过完整的 创建→ Read → 更新→ 删除 循环,所有这些都是通过Telegram中的自然语言触发的。

阅读——获取众多活动

*“我即将进行的项目阶段是什么?你能在我的日历上列出下个月的所有活动吗?”*

n8n — Get Many Execution *n8n执行日志:AI代理调用 在谷歌日历中获取许多活动,检索所有四个项目阶段,并将其返回给Telegram用户。*

Telegram — Get Many *Bot列出了所有四个项目阶段事件的确切日期范围,确认这些事件是实时的,并且可以从谷歌日历中读取。*

______________________________________________________________________

阅读--按日期获取一个事件

*“2026年4月12日我有什么活动?”*

n8n — Get One Execution *n8n执行日志: 在谷歌日历中获取活动 返回2026年4月12日的“第一阶段:文献综述”事件详细信息(ID、摘要、开始/结束时间)。*

Telegram — Get One *Bot正确识别出2026年4月12日,用户 “第一阶段:文献综述” --演示按日期查找单个事件。*

______________________________________________________________________

更新事件

*“将文献综述更新为2026年4月10日开始,2026年04月21日结束”*

n8n — Update Execution *n8n执行日志: 更新Google日历中的事件 成功修改“第一阶段:文献综述”活动——新开始:2026-04-10,新结束:2026年04月21日。输出确认更新的事件ID和时间戳。*

Telegram — Update Confirmation *Bot确认更新:“‘第一阶段:文献综述’活动已更新为2026年4月10日开始,2026年04月21日结束。”*

Google Calendar — After Update *2026年4月日历显示 “第一阶段:文献综述” 现在从4月10日开始(从4月7日开始),反映了Telegram的更新命令。*

______________________________________________________________________

删除事件

*“删除第一阶段:文献综述”*

Google Calendar — Before Delete *2026年4月的日历显示了删除前的状态——“第一阶段:文献综述”(4月10日至21日)和“第二阶段:项目建议书”可见。“事件已保存”吐司确认日历已生效。*

n8n — Delete Execution *n8n执行日志: 删除Google日历中的事件 回报 success: true --该事件已被永久删除。*

Telegram — Delete Confirmation *Bot确认:“事件‘第一阶段:文献综述’已从您的谷歌日历中删除。”*

Google Calendar — After Delete *删除后的2026年4月日历——“第一阶段:文献综述”消失了。只剩下“第二阶段:项目建议书”(4月21日以上)和一个无关的事件,确认删除成功。*

______________________________________________________________________

最终状态

CRUD循环后,重新添加事件以恢复原始计划:

*“添加‘第一阶段:文献综述’2026年4月7日至4月20日”*

Telegram — Full CRUD Conversation *显示完整CRUD周期的完整电报对话线程:创建(×4)→ 得到很多→ 更新→ 得到一个→ 删除→ 重新创建。该机器人通过自然语言正确处理每一个操作,展示了端到端的谷歌日历管理。*

______________________________________________________________________

架构概述

                   ┌─────────────────────────────────────────────────┐
                   │              MCP Server Workflow                │
                   │  MCP Server Trigger ──► Calculator              │
                   │                    ──► Date & Time (Code Tool)  │
                   │                    ──► Get_Latest_News (HTTP)   │
                   └───────────────────────┬─────────────────────────┘
                                           │ Production URL (SSE)
                   ┌───────────────────────▼─────────────────────────┐
                   │             Client Side Workflow                │
                   │  Telegram Trigger                               │
                   │       ↓                                         │
                   │  AI Agent  (Groq llama-3.3-70b-versatile)      │
                   │    ├── Simple Memory (Window Buffer, k=10)      │
                   │    ├── MCP Client ──► MCP Server (SSE)         │
                   │    ├── Create an event in Google Calendar       │
                   │    ├── Get many events in Google Calendar       │
                   │    ├── Get an event in Google Calendar          │
                   │    ├── Update an event in Google Calendar       │
                   │    └── Delete an event in Google Calendar       │
                   │       ↓                                         │
                   │  Send a text message (Telegram)                 │
                   └─────────────────────────────────────────────────┘
                                           ↑
                   cloudflared tunnel --url http://localhost:5678
                   (Cloudflare Quick Tunnel — public HTTPS, no account needed)
组件详细信息
n8n通过Docker自托管,PostgreSQL 16后端,端口5678
隧道Cloudflare快速隧道(cloudflared)--不需要帐户或令牌
LLM格罗克API- llama-3.3-70b-versatile (免费版,兼容OpenAI)
记忆窗口缓冲存储器——上下文窗口10圈
MCP工具计算器、日期和时间(代码)、Get_Latest_News(通过HTTP的BBC RSS)
消息传递电报Bot API-ST126235 NLP A7时间表Bot
日历谷歌日历API通过OAuth 2.0-完整的CRUD(创建,获取多个,获取一个,更新,删除)

______________________________________________________________________

设置

1.配置 local_n8n/.env

.env 该文件保存数据库凭据和n8n用作其文件的公共隧道URL WEBHOOK_URL:

# Database Config
DB_USER=n8n_admin
DB_PASSWORD=your_password
DB_NAME=n8n_db

# Tunnel URL (update this each time cloudflared generates a new URL)
NGROK_URL=https://.trycloudflare.com
变量名为 NGROK_URL 为了与 docker-compose.yaml 模板,但值是 Cloudflare快速隧道 URL。

2.启动堆栈

cd local_n8n
docker compose up -d

3.启动Cloudflare隧道

cloudflared tunnel --url http://localhost:5678
# → Copy the generated HTTPS URL into local_n8n/.env as NGROK_URL, then restart:
docker compose restart n8n

4.配置n8n工作流

- Create / import the MCP Server workflow, publish it, note the Production URL (ends in /sse)
- Create the Client Side workflow:
    - Configure Groq API credentials (llama-3.3-70b-versatile)
    - Set MCP Client SSE Endpoint to the MCP Server Production URL
    - Configure Telegram Bot credentials (Bot Token from BotFather)
    - Configure Google Calendar OAuth2 credentials (5 nodes: Create, Get Many, Get One, Update, Delete)
- Activate the Client Side workflow

______________________________________________________________________

参考文献

______________________________________________________________________

目录标签

目录标签

AI代理任务自动化自然语言处理本地部署GoogleCalendar集成TelegramBot

接入字段

传输方式(transport,传输协议)

未说明

鉴权方式(authType,认证方式)

oauth

工具数量(toolCount,工具数)

3

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

未说明oauth部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

仍需确认:installCommand

来源信息

继续浏览同类 MCP