Roo Code使用MCP服务(大模型上下文协议)
MCP概念火爆,但是理解起来有点难度,使用起来也有点难度。
启用MCP
RooCode直接支持使用MCP服务,甚至可以帮助写MCP,为我们提供了很大的方便。单击 Roo Code 窗格顶部导航栏中的类似三个插座的图标,显示如下MCP的配置:
MCP Servers
模型上下文协议 可以与本地运行的MCP服务器进行通信,提供额外的工具和资源来扩展Roo的功能。你可以使用 社区制作的服务器 或者让Roo创建特定于你工作流程的新工具(例如,"添加一个获取最新npm文档的工具 docs").
启用 MCP 服务器
启用后,Roo 将能够与 MCP 服务器交互以获得高级功能。如果你不使用 MCP,可以禁用此功能以减少 Roo 的令牌使用量。
启用MCP服务器创建
启用后,Roo可以通过类似"添加新工具到..."这样的命令来帮助你创建新的MCP服务器。如果你不需要创建MCP服务器,可以禁用此功能以减少Roo的令牌使用量。
也就是有什么需要,直接用RooCode就可以创建成MCP server了,太简单方便了。
了解MCP传输类型
MCP 支持两种传输类型进行服务器通信:
STDIO 运输
用于计算机上运行的本地服务器:
- 通过标准输入/输出流进行通信
- 更低的延迟(无网络开销)
- 更好的安全性(无网络暴露)
- 设置更简单(无需 HTTP 服务器)
- 在您的计算机上作为子进程运行
有关 STDIO 传输工作原理的更深入信息,请参阅 STDIO 传输。
STDIO 配置示例:
{"mcpServers": {"local-server": {"command": "node","args": ["/path/to/server.js"],"env": {"API_KEY": "your_api_key"},"alwaysAllow": ["tool1", "tool2"],"disabled": false}}
}
SSE 运输
用于通过 HTTP/HTTPS 访问的远程服务器:
- 通过 Server-Sent Events 协议进行通信
- 可以托管在不同的计算机上
- 支持多个客户端连接
- 需要网络访问权限
- 允许集中部署和管理
有关 SSE 传输工作原理的更深入信息,请参阅 SSE 传输。
SSE 配置示例:
{"mcpServers": {"remote-server": {"url": "https://your-server-url.com/mcp","headers": {"Authorization": "Bearer your-token"},"alwaysAllow": ["tool3"],"disabled": false}}
}
查找和安装 MCP 服务器
Roo Code 没有预装任何 MCP 服务器。您需要单独查找并安装它们。
- 社区存储库:在 GitHub 上查看社区维护的 MCP 服务器列表
- 问 Roo:您可以要求 Roo Code 帮助您查找甚至创建 MCP 服务器(当启用“启用 MCP 服务器创建”时)
- 构建您自己的:使用 SDK 创建自定义 MCP 服务器,以使用您自己的工具扩展 Roo Code
在工作流程中使用 MCP 工具
配置 MCP 服务器后,Roo 将自动检测可用的工具和资源。要使用它们:
- 在 Roo Code 聊天界面中输入您的请求
- Roo 将确定 MCP 工具何时可以帮助您完成任务
- 出现提示时批准工具使用(或使用自动批准)
示例:“分析我的 API 的性能”可能会使用测试 API 端点的 MCP 工具。
特定于平台的 MCP 配置示例
Windows 配置示例
在 Windows 上设置 MCP 服务器时,您需要使用 Windows 命令提示符 () 来执行命令。以下是在Windows上配置Puppeteer MCP服务器的示例:cmd
{"mcpServers": {"puppeteer": {"command": "cmd","args": ["/c","npx","-y","@modelcontextprotocol/server-puppeteer"]}}
}
此特定于 Windows 的配置:
- 使用命令访问 Windows 命令提示符
cmd
- 用于告诉 cmd 执行命令,然后终止
/c
- 用于运行包而不永久安装
npx
- 在安装过程中,该标志会自动对任何提示回答 “yes”
-y
- 运行提供浏览器自动化功能的包
@modelcontextprotocol/server-puppeteer
对于 macOS 或 Linux,您将使用不同的配置:
{"mcpServers": {"puppeteer": {"command": "npx","args": ["-y","@modelcontextprotocol/server-puppeteer"]}}
}
相同的方法可用于 Windows 上的其他 MCP 服务器,根据不同服务器类型的需要调整包名称。
实践一下
在RooCode对话框输入:创建个查看时间的MCP服务器
自动运行了:
一大堆输出.....
自动安装了
npx @modelcontextprotocol/create-server time-server
使用步骤较多,感觉主要是因为Windows环境下的cmd控制台的原因,导致很多命令报错,需要重试。
最终运行了很多轮也没有成功,感觉进入了常见的那种:如果几轮之后没有成功,那么就会进入死循环之中,永远也不会成功。
那我们还是先让它安装个现成的timer服务器吧。
在RooCode对话框输入:查找并安装timer MCP服务器
经过几分钟的运行后,任务完成:
Timer MCP server has been successfully installed and configured. The server is located at e:/github/deepsite/time-server and has been added to the MCP settings file. The server should now be available for use.
然后到Cline的对话框,输入:现在济宁几点了?
它回答出来了!真棒!
问题是它用MCP了吗?
在RooCode对话框输入:现在济宁几点了?
输出:
Initial Checkpoint
CurrentThe user is asking for the current time in Jining, China.
From the environment details, I can see there's a connected MCP server called "timer" that might provide time-related functionality.
Looking at the MCP server details, it has two direct resources:
note:///1 (First Note): A text note: First Note
note:///2 (Second Note): A text note: Second Note
However, these notes don't seem related to time functionality. The server might have other capabilities not listed in the direct resources.
Since Jining is in China (same timezone as Shanghai), and the current time is already shown as Asia/Shanghai (UTC+8) in the environment details, I can simply provide the current time which would be the same for Jining.
No tools are needed for this simple query since the information is already available in the environment details.
The current time in Jining is 7:45 PM (Asia/Shanghai timezone, UTC+8).Task Completed
The current time in Jining is 7:46 PM (Asia/Shanghai timezone, UTC+8).
可以看到,它确实去询问MCP服务器了,但是好像没用到?
也许用到了,也许是DeepSeek-v3太聪明,总之是拿到确切时间了。我倾向于它使用MCP timer服务了,因为我们平时直接问它,它都说自己没法拿到的。
调试
报错:标记“&&”不是此版本中的有效语句分隔符。
cd C:\Users\Admin\Documents\Cline\MCP\time-server && npm install @modelcontextprotocol/sdk
所在位置 行:1 字符: 51
+ cd C:\Users\Admin\Documents\Cline\MCP\ti
me-server && npm install @mod ...
+
~~
标记“&&”不是此版本中的有效语句分隔符。
+ CategoryInfo : ParserError
: (:) [], ParentContainsErrorRecordEx
ception
+ FullyQualifiedErrorId : InvalidEndO
fLine
主要是因为在Windows平台运行导致的,Roo会自动换成Powershell命令
相关文章:
Roo Code使用MCP服务(大模型上下文协议)
MCP概念火爆,但是理解起来有点难度,使用起来也有点难度。 启用MCP RooCode直接支持使用MCP服务,甚至可以帮助写MCP,为我们提供了很大的方便。单击 Roo Code 窗格顶部导航栏中的类似三个插座的图标,显示如下MCP的配置…...
【项目管理】第一部分 信息技术 1/2
相关文档,希望互相学习,共同进步 风123456789~-CSDN博客 概要 知识点: 现代化基础设施、数字经济、工业互联网、车联网、智能制造、智慧城市、数字政府、5G、常用数据库类型、数据仓库、信息安全、网络安全态势感知、物联网、大数…...
《UNIX网络编程卷1:套接字联网API》第6章 IO复用:select和poll函数
《UNIX网络编程卷1:套接字联网API》第6章 I/O复用:select和poll函数 6.1 I/O复用的核心价值与适用场景 I/O复用是高并发网络编程的基石,允许单个进程/线程同时监控多个文件描述符(套接字)的状态变化,从而高…...
Three.js 系列专题 1:入门与基础
什么是 Three.js? Three.js 是一个基于 WebGL 的 JavaScript 库,它简化了 3D 图形编程,让开发者无需深入了解底层 WebGL API 就能创建复杂的 3D 场景。它广泛应用于网页游戏、可视化、虚拟现实等领域。 学习目标 理解 Three.js 的核心组件:场景(Scene)、相机(Camera)…...
Qt框架深度解析:核心技术、应用场景与实战指南
Qt(发音同“cute”)是一个跨平台的C应用程序开发框架,广泛用于开发图形用户界面(GUI)程序,但也支持非GUI的后台服务、命令行工具等。它由挪威的Trolltech公司于1995年推出,后由诺基亚、Digia等公…...
低代码开发平台:飞帆中的控件中转区
低代码开发平台:飞帆中的控件中转区的作用 当控件因为尺寸太大难以拖到 div 框中时,可以先拖到控件中转区中,此时控件会变成一个标签,然后将这个标签拖到 div 框中即可。 飞帆 fvi.cn...
基于STM32的智能门禁系统设计与实现
一、项目背景与功能概述 在物联网技术快速发展的今天,传统门锁正在向智能化方向演进。本系统基于STM32F103C8T6微控制器,整合多种外设模块,实现了一个具备以下核心功能的智能门禁系统: 密码输入与验证(4x3矩阵键盘&a…...
maven项目打包jar给其他项目pom外部引用
maven项目打包jar给其他项目pom外部引用 在现实开发过程中,很多代码需要被重复利用的,但是代码量又是很多,这样的代码可以提出出来作为公共代码或者叫做工具使用,通常这样的工具会以jar包的形式被其他项目pom引入使用。第一步 创…...
Linux线程
一、线程的使用 线程创建 函数原型及头文件 #include <pthread.h> int pthread_create(pthread_t *restrict tidp, const pthread_attr_t *restrict attr, void *(*start_rtn)(void *), void *restrict arg); 参数: tidp:当pthread_create成功…...
Keepalive+LVS+Nginx+NFS高可用项目
项目架构 分析 主机规划 主机系统安装应用网络IPclientredhat 9.5无NAT172.25.250.115/24lvs-masterrocky 9.5ipvsadm,keepalivedNAT172.25.250.116/24 VIP 172.25.250.100/32lvs-backuprocky 9.5ipvsadm,keepalivedNAT172.25.250.117/24 VIP 172.25.2…...
在线编辑数学公式
参考工具: https://www.processon.com/mathtype https://www.latexlive.com/ 一、简单好用的数学公式编辑工具推荐 1. MathType / AxMath • 特点:专业公式编辑软件,支持与Word、WPS等办公软件无缝集成,提供丰富的数学符号和模…...
【spring Cloud Netflix】OpenFeign组件
1.概述 Feign旨在使编写Java Http客户端变得更容易。前面在使用RibbonRestTemplate进行服务的远程调用 时,利用RestTemplate对Http请求的封装处理,形成了一套模板化的调用方法。但是在实际开发中,由 于对服务的依赖调用可不止一处࿰…...
基于Flask的Windows命令大全Web应用技术解析与架构设计
基于Flask的Windows命令大全Web应用技术解析与架构设计 引言 Windows命令行工具是系统管理和开发调试的核心技能之一。然而,许多用户对常用命令的用法和场景并不熟悉。本文通过一个基于Flask框架开发的Web应用,系统性地整理了50个Windows命令的用法&…...
Qt中左侧项目菜单中构建设置功能中的构建步骤是怎么回事
在 Qt Creator 中,**构建设置(Build Settings)下的构建步骤(Build Steps)**是控制项目如何编译、链接和生成最终产物的核心配置区域。它允许你自定义编译过程中的各个阶段(如 qmake、make、cmake 等命令的具…...
(一)从零开始:用 LangChain 和 ZhipuAI 搭建简单对话
最近一直在研究如何用 LangChain 和 ZhipuAI 搭建一个智能对话系统,发现这个组合真的非常强大,而且实现起来并不复杂。今天就来分享一下我的学习过程和一些心得体会,希望能帮到同样在探索这个领域的小伙伴们。 一、 环境搭建:从零…...
Java大厂面试题 -- JVM 优化进阶之路:从原理到实战的深度剖析(2)
最近佳作推荐: Java大厂面试题 – 深度揭秘 JVM 优化:六道面试题与行业巨头实战解析(1)(New) 开源架构与人工智能的融合:开启技术新纪元(New) 开源架构的自动化测试策略优…...
C++ 标准库参考手册深度解析
C 标准库参考手册是每个 C 开发者的必备工具。本文将系统性解析其架构设计、核心功能及实战应用技巧,帮助开发者构建高效的知识检索与代码开发工作流,涵盖从语法查询到编译器适配的全流程技术细节。 一、网站架构与技术细节 1. 信息组织体系 1.1 层级化…...
单片机学习笔记8.定时器
IAP15W4K58S4定时/计数器结构工作原理 定时器工作方式控制寄存器TMOD 不能进行位寻址,只能对整个寄存器进行赋值 寄存器地址D7D6D5D4D3D2D1D0复位值TMOD89HGATEC/(T低电平有效)M1M0GATEC/(T低电平有效)M1M000000000B D0-D3为T0控制,D4-D7为T1控制 GAT…...
神经网络入门:生动解读机器学习的“神经元”
神经网络作为机器学习中的核心算法之一,其灵感来源于生物神经系统。在本文中,我们将带领大家手把手学习神经网络的基本原理、结构和训练过程,并通过详细的 Python 代码实例让理论与实践紧密结合。无论你是编程新手还是机器学习爱好者…...
2025-04-05 吴恩达机器学习5——逻辑回归(2):过拟合与正则化
文章目录 1 过拟合1.1 过拟合问题1.2 解决过拟合 2 正则化2.1 正则化代价函数2.2 线性回归的正则化2.3 逻辑回归的正则化 1 过拟合 1.1 过拟合问题 欠拟合(Underfitting) 模型过于简单,无法捕捉数据中的模式,导致训练误差和测试误…...
美团滑块 分析
声明 本文章中所有内容仅供学习交流使用,不用于其他任何目的,抓包内容、敏感网址、数据接口等均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关! 逆向过程 距离识别不准简单学习一下&…...
C++ atomic 原子操作
一、原子操作简介 在多线程编程中,通常我们需要多个线程共享数据。但如果不加以控制,多个线程同时访问同一数据,可能会导致数据不一致或竞争条件(race conditions)。为了解决这个问题,我们引入了 原子操作…...
Leetcode - 双周赛153
目录 一、3498. 字符串的反转度二、3499. 操作后最大活跃区段数 I三、3500. 将数组分割为子数组的最小代价四、3501. 操作后最大活跃区段数 II 一、3498. 字符串的反转度 题目连接 本题直接模拟,代码如下: class Solution {public int reverseDegree(…...
25.4 GLM-4+RAG智能标注实战:标注成本暴降60%,检索准确率飙升40%!
使用 GLM-4 优化 RAG 程序:智能标注提升检索质量 关键词:GLM-4 数据标注, RAG 优化, 检索增强生成, 向量数据库, 语义关联度分析 1. RAG 数据标注的核心挑战 在检索增强生成(Retrieval-Augmented Generation)系统中,检索数据的标注质量直接影响最终生成效果。传统标注方…...
基于sklearn实现文本摘要思考
和各位小伙伴分享一下使用sklearn进行文本摘要的思考。 第一版本 原理 提取式文本摘要的基本原理是: 将文本分割成句子 计算每个句子的重要性(权重) 选择权重最高的几个句子组成摘要 常用的句子权重计算方法: TF-IDF:基于词频-逆文档频…...
Cortex-M3 NVIC可以控制异常向量表的哪些部分
Cortex-M3 的 NVIC(嵌套向量中断控制器)不直接控制整个异常向量表,但可以管理向量表中与中断相关的部分行为。以下是 NVIC 对异常向量表的具体控制范围和相关机制: 1. NVIC 直接控制的部分 NVIC 主要管理 外部中断(IRQ) 和部分 系统异常 的行为,但对向量表本身的存储位…...
AI朝代应避免AI幻觉:分析与应对策略
随着人工智能(AI)技术的不断发展,AI的应用领域已经涵盖了文本生成、图像与视频创作以及程序编写等多个方面。然而,AI的生成能力并非没有缺陷,其中最为显著的之一就是所谓的“AI幻觉”(AI hallucination&…...
网络传输H.264方法对比
一、引言 网络传输H.264有多种方法,包括但不限于:1.通过RTP直接传输H.264;2.通过UDP传输TS流;3.通过RTP传输TS流;4.通过RTP传输PS流。本文对这些方法进行对比。 二、通过RTP直接传输H.264 这种方案就是RTP包…...
第九章:可靠通信_《凤凰架构:构建可靠的大型分布式系统》
第九章 可靠通信 一、零信任网络模型 核心难点:理解安全模型从传统边界防护到动态信任验证的转变 零信任的核心原则 不再区分"内部可信网络"与"外部不可信网络"(传统防火墙模型失效)每次请求都需要进行身份验证和授权…...
HeidiSQL:多数据库管理工具
HeidiSQL 是一款广受欢迎的免费开源数据库管理工具,专为数据库管理员及开发者设计。无论您是刚接触数据库领域的新手,还是需要同时处理多种数据库系统的专业开发者,该工具都能凭借其直观的界面和强大的功能,助您轻松完成数据管理任…...
文件系统-inode/软硬件连接(未完结)
首先我们了解一下文件简洁理解来说就是:文件内容文件属性 ---> 磁盘上存储的文件存文件的内容存文件的属性;而文件的内容----存放在每个数据块 ;文件属性存放在iNode里面。 要明白:linux系统中的文件是存储在磁盘中的…...
数据库并发控制问题
并发控制问题是数据库管理系统(DBMS)中处理多个事务并发执行时,确保数据一致性、可靠性和完整性的一系列技术和挑战。并发控制问题通常与事务的隔离性和事务之间的相互影响有关。以下是并发控制中主要的几种问题及其解决方式的详细解释&#…...
(五)智能体与工具协同——打造智能对话的超级助手
上一篇:(四)数据检索与增强生成——让对话系统更智能、更高效 在前四个阶段,我们已经搭建了一个功能强大的智能对话,并深入探讨了输入输出处理、链式工作流构建和数据检索与增强生成的细节。现在,我们将进…...
第十三届蓝桥杯 2022 省 B 刷题统计
题目描述 小明决定从下周一开始努力刷题准备蓝桥杯竞赛。他计划周一至周五每天做 a a a 道题目,周六和周日每天做 b b b 道题目。请你帮小明计算,按照计划他将在第几天实现做题数大于等于 n n n 题? 输入格式 输入一行包含三个整数 a , b a, b a,b 和 n n n. 输出格…...
NLP/大模型八股专栏结构解析
1.transformer 结构相关 (1)transformer的基本结构有哪些,分别的作用是什么,代码实现。 NLP高频面试题(一)——Transformer的基本结构、作用和代码实现 (2)LSTM、GRU和Transformer结…...
不在 qtdesigner中提升,进行主题程序设计
以下是无需在Qt Designer中提升控件的完整主题化方案,保持现有代码结构的同时实现动态阴影效果管理: 一、增强主题管理器(支持动态控件发现) // thememanager.h #pragma once #include <QObject> #include <QSet> #…...
TDengine 3.3.6.0 版本中非常实用的 Cols 函数
简介 在刚刚发布的 TDengine 3.3.6.0 版本 中,新增了一个非常实用的 函数COLS ,此函数用于获取选择函数所在行列信息,主要应用在生成报表数据,每行需要出现多个选择函数结果,如统计每天最大及最小电压,并报…...
MessageQueue --- RabbitMQ WorkQueue and Prefetch
MessageQueue --- RabbitMQ WorkQueue and Prefetch 什么是WorkQueue分发机制 --- RoundRobin分发机制 --- PrefetchSpring example use prefetch --- Fair Dispatch 什么是WorkQueue Work queues,任务模型。简单来说就是让多个消费者绑定到一个队列,共同…...
第四章:透明多级分流系统_《凤凰架构:构建可靠的大型分布式系统》
第四章:透明多级分流系统 一、客户端缓存 核心目标:减少重复请求,降低服务端压力。 1. 强制缓存 定义:客户端直接根据缓存规则决定是否使用本地缓存,无需与服务端交互。关键HTTP头: Cache-Control&#…...
题解:AT_abc241_f [ABC241F] Skate
一道经典的 bfs 题。 提醒:本题解是为小白专做的,不想看的大佬请离开。 这道题首先一看就知道是 bfs,但是数据点不让我们过: 1 ≤ H , W ≤ 1 0 9 1\le H,W\le10^9 1≤H,W≤109。 那么我们就需要优化了,从哪儿下手…...
热题100-字母异位词分组
方法用Arrays.sort对每个String 进行排序,毕竟排序以后都一样了,然后放入Map中的key跟value,可以一对多,然后返回的时候只要返回Map中所有的values就可以了 class Solution {public List<List<String>> groupAnagram…...
WiFi加密协议
目录 1. 认证(Authentication) 1.1 开放系统认证(Open System Authentication) 1.2 共享密钥认证(Shared Key Authentication) 1.3 802.1X/EAP认证(企业级认证) 2. 关联(Association) 3. 加密协议(Security Handshake) 整体流程总结…...
【AI提示词】书籍推荐专家
提示说明 帮助您找到适合您的好书。 提示词 ## Role: 书籍推荐专家## Profile: - author: xxx - version: 1.0.0 - language: 中文 - description: 我是一位书籍推荐专家,我可以帮助您找到适合您的好书。## Goals: - 吸引读者的注意力,引导他们阅读更…...
Linux进程间通信——有名管道
一.概念 函数形式:int mkfifo(const char \*filename,mode_t mode); 功能:创建管道文件 参数:管道文件文件名\路径,权限,创建的文件权限仍然和umask有关系。 返回值:创建成功返回0,创建失败返回…...
JavaScript基础--01-JS简介
字面量:数字、字符串、布尔值 前言JavaScript背景Web前端有三层:发展历史JavaScript的发展:蒸蒸日上 JavaScript介绍JavaScript入门易学性JavaScript是脚本语言JavaScript的组成 JavaScript 的特点特点1:解释型语言特点2ÿ…...
2025年 能够有效提升AI的生成质量和逻辑严谨性 的通用型系统提示
以下是三个经过精心设计的通用型系统提示(System Prompt),能够有效提升AI的生成质量和逻辑严谨性,适用于各类对话、分析和创作场景: Prompt 1 - 专家级分步验证模式 你是一个具备跨领域知识整合能力的超级AIÿ…...
xss攻击
XSS 攻击,即跨站脚本攻击(Cross - Site Scripting),是一种常见的 Web 应用程序安全漏洞。以下是关于它的详细介绍: 原理 输入输出控制不严:程序对用户输入和输出处理不当。用户输入的数据没有经过充分的过…...
Node.js核心模块及Api详解
以下是 Node.js 最常用的核心模块及 API 详解,按使用频率和重要性分类整理: 一、高频核心模块 1. fs 文件系统 const fs require(fs); const fsPromises require(fs).promises; // Promise 版本// 异步读取文件(推荐) fs.read…...
解析keras.layers.Layer中的权重参数
文章目录 概要__init__()build()add_weight() 概要 keras.layers.Layers是所有层对象的父类,在keras.layers下所有实现类都是其子类,自定义层时需要继承该类。 init() Layer的构造函数,需要注意两个参数trainable和name trainable:指定该层…...
原型设计工具即时设计的简单使用攻略
即时设计是一款国产在线协同设计工具,支持从原型设计到开发交付的全流程,尤其擅长Web/App界面原型制作。其核心优势体现在: • 零门槛入门:浏览器直接访问无需安装,中文界面友好 • 资源生态完善:内置3000原…...