关于 This section was written completely by using the SentinelCore agent and its tools(prompt->get the details from internet->write it to a file) via gemini 2.0 flash.
SentinelCore 被描述为基于 MCP 的 Agent 项目,其客户端协调聊天、大模型与工具,服务端则支持文件操作和网络检索。文档列出的工具涵盖文件系统、网页抓取、AI 搜索和向量索引搜索。
主要功能
- 01协调大模型与工具的聊天循环
- 02连接 MCP 服务并在失败时重试
- 03检查文件与文件夹并读写文件
- 04网页搜索与页面抓取
- 05创建向量索引并进行搜索
适用场景
- 01让大模型调用已连接的 MCP 工具
- 02通过工具读取或写入本地文件
- 03将网页内容采集为 Markdown
- 04按查询搜索已索引的内容
MCP 相关
客户端连接 MCP 服务、列出并调用其工具;服务端通过标准输入输出暴露文件系统、网络检索和向量搜索工具。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
本节完全使用 SentinelCore Agent 及其工具(提示词 -> 从互联网获取详细信息 -> 写入文件),通过 gemini 2.0 flash 编写。
USER-PROMPT:-Now first search for a github account named bhuvanmdev and scrape his fontpage and search for a repo that has something to do with MCP application. Then go to that repository and and scrape the client.py and server.py file contents and create a neat summary of it and write it to readme.md file in the current dir.
Sentinel Core Agent 摘要
本文档概述了此仓库中的 client.py 和 server.py 文件。
Client.py
client.py 文件负责管理用户、大模型(语言模型)和各种工具之间的交互。它会初始化并协调聊天会话,使大模型能够使用工具回答用户的查询。客户端负责处理服务连接、带重试机制的工具执行,以及与大模型提供商的通信。
主要组件:
- 配置: 从 JSON 文件加载环境变量(包括大模型 API 密钥)和服务配置。
- 服务: 管理与 MCP(微服务通信协议)服务的连接、列出可用工具、通过重试机制执行工具,并清理资源。
- 工具: 表示一个工具及其属性(名称、描述、输入架构),并提供一种将工具信息格式化以供大模型使用的方法。
- LLMClient: 管理与大模型的通信,可使用 Azure OpenAI 或 Google Gemini 模型。
- ChatSession: 协调用户、大模型和工具之间的交互。它会处理大模型的响应,在需要时执行工具,并管理主聊天会话循环。
客户端会为大模型设置一条系统消息,向其提供可用工具以及如何使用这些工具的说明。然后进入循环,接收用户输入、将其发送给大模型,并处理大模型的响应。如果响应包含工具调用,客户端就会执行该工具,并将结果发回大模型。此过程会持续进行,直到用户退出聊天会话。
Server.py
server.py 文件实现了一个包含多种工具的 MCP 服务,其中包括文件系统操作、网页抓取和 AI 驱动的搜索。它使用 fastmcp 库创建并运行服务。
主要工具:
- is_file_folder_present: 检查文件或文件夹是否存在于文件系统中。
- cur_datetimetime: 返回当前日期和时间。
- browser_ai_search: 使用 AI Agent(Brave Search)搜索网络并返回响应。
- read_file: 读取文件内容。
- write_file: 将内容写入文件(包括文本和二进制内容)。
- web_page_scrapper: 抓取网页并以 Markdown 格式返回内容。它还可以为内容建立索引,以便进行基于向量的搜索。
- get_all_vector_indexes: 获取当前目录中的所有向量嵌入索引。
- search_via_index: 通过向量嵌入索引搜索查询。
服务还会初始化异步网络爬虫(crawl4ai),并设置用于将内容向量化的嵌入模型。服务的生命周期通过异步上下文管理器进行管理,以确保爬虫正确启动和关闭。
服务通过 mcp.run(transport="stdio") 启动 MCP 服务循环,以便接收并处理来自客户端的工具调用。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。
