Token导航 LogoToken导航TokenDH.com
MCP Article For Learning logo
运维云端stdio官方级别未说明来源级核验

MCP Article For Learning

MCP Server

一个使用Python和Docker构建的开发仓库,用于安全学习和实验MCP(Model Context Protocol)机制以及LLM(如Gemini)作为ReAct代理自主使用工具的行为。

工具数

0

提示词数

0

GitHub Stars

0

资源数

0
文件操作Python云端部署

安装说明

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

作者 / 组织

NamelessOgya

提供方

NamelessOgya

最后核验

2026/5/17 20:19

运行时

Python

快速接入

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

命令预览

python playground/01_basic_mcp_client.py

详细介绍

MCP学习文章

使用Python和DockerMCP(模型上下文协议)的结构,LLM(Gemini)自主地利用工具ReAct代理中描述的场景,使用以下步骤创建明细表,以便在概念设计中分析体量的体积。

1.概述和目录配置

该项目是一个Docker容器,可在不污染主机环境(您的电脑或虚拟机)的情况下进行开发。由于将主机的UID/GID设置为接管容器,因此可以通过VScode等舒适地编辑文件。

  • playground/: 🌟 MCP学习用样本代码集
  • src/:系统核心模块组

- mcp/:实施自制MCP服务器(local_fs_mcp.py, google_drive_mcp.py) - llm/gcp/:Gemini协作客户端和GCP Secret Manager协作模块

  • tmp/:由示例代码或MCP服务器自动生成的文件放置处
  • scripts/:用于辅助容器启动和运行的命令组
  • test/: pytest 各模块的单体测试群

______________________________________________________________________

2.环境的启动、停止方法

使用Docker启动并销毁隔离的安全实验环境。

①赋予脚本执行权限(仅限第一次)

chmod +x scripts/*.sh

②启动集装箱

./scripts/start.sh

③进入集装箱中

./scripts/enter.sh

※以后的命令(脚本的执行等)全部在该容器中进行。作业结束后返回原来的终端时 exit 中所述修改相应参数的值。

④停止集装箱(清理) 如果您的工作已完全完成,并且您想要销毁Docker容器,请选择主机端(从容器 exit 中所述的工具,调整墙的布局和几何形状。

./scripts/stop.sh

※即使停止、废弃容器,也会装载主机侧的目录tmp/ 自动制作的文件和自己编辑的代码等不会消失,直接留在身边。

______________________________________________________________________

3.预准备(API密钥设置)

在存储库的根目录中 .env 的文件其中一个的规格化距离的幂函数。

方法A(面向简单、本地开发) .env 中描述的相应参数的值。

GEMINI_API_KEY=AIza...

方法B(面向安全・GCP运用) 将API密钥存储在GCP Secret Manager中,使用容器的认证信息动态地进行拉拽的高级设计。

GCP_PROJECT_ID=your-gcp-project-id
GEMINI_SECRET_ID=gemini-api-key

方法C(Google Drive MCP用:高安全设置) 使用Google Drive MCP时,可以在GCP的Secret Manager中保存服务帐户的JSON密钥并安全连接。另外,允许操作的文件夹名称也可以通过环境变量进行限制(定向复位栏对策)。

GCP_PROJECT_ID=your-gcp-project-id
DRIVE_CREDENTIALS_SECRET_ID=drive-credentials
ALLOWED_DRIVE_FOLDER_NAME=article-for-learning

【必须】使用Google Drive MCP时的驱动器侧准备

为了移动谷歌Drive MCP,为了保证安全,需要在自己的谷歌Drive方面制作“可以访问LLM的专用隔离文件夹”,邀请服务账户。

  1. 创建专用文件夹:在自己的Google Drive内,允许LLM操作、阅览的文件夹(例如:article-for-learning),模板名称将采用不同的格式。
  2. 授予访问权限(共享):按下创建的文件夹的“共享”按钮,将本次使用的GCP服务帐户的邮件地址(〇〇@〇〇.iam.gserviceaccount.com 等),作为“编辑”追加(邀请)。
  3. 注册环境变量:上述环境变量 ALLOWED_DRIVE_FOLDER_NAME 请在中设置正确的名称,所创建的文件夹一字一句都没错。这可以完全阻止对非指定文件夹的专用文件的访问。

______________________________________________________________________

4.学习步骤

在进入集装箱状态下playground/ 中描述的场景,使用以下步骤创建明细表,以便在概念设计中分析体量的体积。

第一步: 01_basic_mcp_client.py

“MCP客户端和MCP服务器是怎么对话的?」 不使用AI(LLM),从Python的纯粹的代码自制的「本地文件操作MCP服务器(src/mcp/local_fs_mcp.py),获取服务器的工具列表,或者手动 write_file 这是运行工具创建文件的基础脚本。

python playground/01_basic_mcp_client.py

第二步: 02_gemini_react_agent.py

“LLM如何自律地使用工具?(ReAct Agent)” 给Gemini MCP服务器的「文件操作的工具箱」,给予「日本的首都哪里调查,把那个保存到文件」的提示。 Gemini自己思考(Reasoning)、运行工具(Acting)、接受结果并进一步思考……可以体验完美的自主代理循环。

python playground/02_gemini_react_agent.py

※这里生成的文件是资料库内的 tmp/ 输出到文件夹。

步骤3: 03_gemini_drive_agent.py

“LLM理解外部云(Google Drive)的文件结构,下载所需的文件” 自制的高级“谷歌Drive MCP服务器(src/mcp/google_drive_mcp.py),Gemini用自然语言发出“寻找〇〇文件夹中的〇〇下载”的指示。 可以体验“一览获取文件夹内容”→“确定对象的文件ID”→“下载到保存地”这样复杂的自律行动和阻止无意中的外部文件的获取请求(定向复位对策)坚固的安全机制。

python playground/03_gemini_drive_agent.py

步骤4: 04_gemini_arxiv_agent.py

“LLM从arXiv获取并解释论文的源代码。” 自制的“ArXiv MCP服务器(src/mcp/arxiv_mcp.py将条目添加到文档注册表。 MCP工具在背面自动进行PDF和TeX源的下载·解压缩展开·文本数据的结合,可以体验将论文的全部文本直接传递给LLM(透明的数据提取机构)。

python playground/04_gemini_arxiv_agent.py

※提取的PDF、TeX文件组、已结合文本(raw_text),模板名称将采用不同的格式 tmp/arxiv/ 输出到文件夹。

______________________________________________________________________

5.运行测试

为了确认自制的MCP服务器和Gemini客户端是否正确动作,准备了单体测试。请在容器中执行以下操作:。

pytest test/ -v

目录标签

目录标签

文件操作Python云端部署ReAct代理本地部署模型上下文协议DockerGeminiGoogleDrive集成

接入字段

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

stdio

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

none

运行时(runtime,运行环境)

Python

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

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

0

权限和风险

stdionone部署方式未说明

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

安装前确认

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

来源信息

继续浏览同类 MCP