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

Adk MCP Demo

MCP Server

一个展示Google的Agent Development Kit (ADK)与FastMCP服务器集成的演示项目,通过HTTP端点提供多种工具,用于执行基于用户交互的任务。

工具数

3

提示词数

0

GitHub Stars

1

资源数

0
任务自动化Python云端部署

安装说明

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

作者 / 组织

c0dyhi11

提供方

c0dyhi11

最后核验

2026/5/17 20:20

运行时

Python

快速接入

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

命令预览

python3 -m venv venv

详细介绍

ADK与FastMCP集成演示

该项目由两个主要部分组成:

  1. A. FastMCP服务器 该工具通过一个HTTP端点暴露了多个功能。
  2. ADK代理 该系统连接到MCP服务器,以使用其工具根据用户交互执行一系列任务。

概述

本演示的目标是展示ADK代理如何利用托管在FastMCP服务器上的外部工具。

MCP服务器

位于 mcp_server/ 目录,服务器是使用(某种技术或框架)构建的 fastmcp 库。它会自动发现并注册放置在其内的任何工具 mcp_server/tools/ 目录。

以下工具包含在内:

  • generate_random_number(max_number: int) -> int返回1到(某个数)之间的随机整数 max_number
  • is_prime(n: int) -> bool检查给定的整数 n 是一个质数。
  • calculate_pi_to_digits(digits: int) -> str计算圆周率π的指定小数位数的值。

ADK 代理

位于 agents/mcp_demo/,的 Random_Prime_Number_Pi_Calculating_Agent 是(一个) LlmAgent 配置为使用Gemini模型。它性格古怪,使用90年代的嘻哈俚语说话。

代理遵循以下逻辑:

  1. 它要求用户输入一个正整数。
  2. 它使用的是 generate_random_number 以用户号码为最大值的工具。
  3. 如果随机数小于或等于10它告诉用户数字,并以玩笑的方式建议,如果需要工具来计算如此少位数的π,那么他们可能“不够书呆子”。然后,交互等待用户输入新的数字。
  4. 如果随机数大于10,它使用了 is_prime 用于检查素数的工具。
  5. 如果这个数不是质数它会通知用户,然后循环返回生成一个新的随机数。
  6. 如果这个数是质数,它使用了 calculate_pi_to_digits 一个用于计算π到这么多位数的工具。然后,它将质数和计算出的π值呈现给用户,完成整个循环。

入门指南

按照以下说明设置并运行演示。

先决条件

  • Python 3.8或更高版本
  • pip (Python 包安装程序)

安装

  1. 克隆仓库:
   git clone https://github.com/c0dyhi11/adk-mcp-demo.git
   cd adk-mcp-demo
  1. 设置一个虚拟环境(推荐):
   python3 -m venv venv
   source venv/bin/activate
   # On Windows, use: venv\Scripts\activate
  1. 安装所需的依赖项:

这个项目依赖于 google-adk 并且 fastmcp 这些都包含在附带的requirements.txt文件中。

   pip install -r requirements.txt

如何运行演示程序

该演示需要在两个不同的终端中运行两个独立的进程:MCP服务器和ADK代理。

步骤1:启动MCP服务器

在你的第一个终端中,从项目目录的根目录运行MCP服务器。

python mcp_server/main.py

你应该看到输出信息,表明服务器已启动并发现了工具:

Discovered and loaded tool package: tools.calc_pi
Discovered and loaded tool package: tools.is_prime
Discovered and loaded tool package: tools.random_num
INFO:     Started server process [XXXXX]
INFO:     Waiting for application startup.
INFO:     Application startup complete.
INFO:     Uvicorn running on http://0.0.0.0:9000 (Press CTRL+C to quit)

你可以选择在另一个终端中运行测试脚本来验证服务器是否正常工作:

python mcp_server/test_fastmcp_server.py

它应该输出类似这样的内容:

[Tool(name='calculate_pi_to_digits', title=None, description='Calculates Pi to a given number of digits.', inputSchema={'properties': {'digits': {'type': 'integer'}}, 'required': ['digits'], 'type': 'object'}, outputSchema={'properties': {'result': {'type': 'string'}}, 'required': ['result'], 'type': 'object', 'x-fastmcp-wrap-result': True}, icons=None, annotations=None, meta={'_fastmcp': {'tags': []}}), Tool(name='is_prime', title=None, description='Checks if a number is prime.', inputSchema={'properties': {'n': {'type': 'integer'}}, 'required': ['n'], 'type': 'object'}, outputSchema={'properties': {'result': {'type': 'boolean'}}, 'required': ['result'], 'type': 'object', 'x-fastmcp-wrap-result': True}, icons=None, annotations=None, meta={'_fastmcp': {'tags': []}}), Tool(name='generate_random_number', title=None, description='Returns a random number between 1 and max_number.', inputSchema={'properties': {'max_number': {'default': 100, 'type': 'integer'}}, 'type': 'object'}, outputSchema={'properties': {'result': {'type': 'integer'}}, 'required': ['result'], 'type': 'object', 'x-fastmcp-wrap-result': True}, icons=None, annotations=None, meta={'_fastmcp': {'tags': []}})]

步骤2:运行ADK代理

你需要创建一个 .env 文件在 agents/mcp_demo/ 包含您环境配置的目录,您可以使用此目录与Google Cloud的Vertex AI或Google AI Studio配合使用:

对于Google Cloud Vertex AI

你的 .env 文件应该如下所示:

GOOGLE_GENAI_USE_VERTEXAI=1
GOOGLE_CLOUD_PROJECT=
GOOGLE_CLOUD_LOCATION=us-central1

对于Google Cloud Vertex AI,您还需要对您的环境进行身份验证。这需要使用gcloud CLI。 按照说明安装 gcloud CLI 在这里

配置您的GCP项目:

gcloud config set project 
gcloud auth application-default login

对于Google AI Studio

你的 .env 文件应该看起来像这样:

GOOGLE_GENAI_USE_VERTEXAI=0
GOOGLE_API_KEY=

在第二个终端(确保您的虚拟环境已激活)中,使用 adk 用于运行代理的命令行工具。

cd agents
adk web

你应该看到类似这样的输出,表明服务器已启动:

INFO:     Started server process [XXXXX]
INFO:     Waiting for application startup.

+-----------------------------------------------------------------------------+
| ADK Web Server started                                                      |
|                                                                             |
| For local testing, access at http://127.0.0.1:8000.                         |
+-----------------------------------------------------------------------------+

INFO:     Application startup complete.
INFO:     Uvicorn running on http://127.0.0.1:8000 (Press CTRL+C to quit)

步骤3:在网页用户界面中与代理进行交互

在您的网络浏览器中,导航至 http://127.0.0.1:8000,然后使用ADK网页界面开始与代理聊天。

目录标签

目录标签

任务自动化Python云端部署工具集成本地部署HTTP端点随机数生成素数检测Pi计算

接入字段

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

stdio

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

session

运行时(runtime,运行环境)

Python

工具数量(toolCount,工具数)

3

资源数量(resourceCount,资源数)

0

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

0

权限和风险

stdiosession部署方式未说明

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

安装前确认

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

来源信息

继续浏览同类 MCP