Token导航 LogoToken导航TokenDH.com
Autogen MCP (Zmrfzn) logo
AI代理stdio官方级别未说明来源级核验

Autogen MCP (Zmrfzn)

MCP Server

一个基于FastAPI的多工具代理服务,通过REST接口与外部交互,支持计算器、天气查询和文件读取等功能。

工具数

3

提示词数

0

GitHub Stars

0

资源数

0
Python模型集成AI代理

安装说明

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

作者 / 组织

zmrfzn

提供方

zmrfzn

最后核验

2026/5/17 20:21

运行时

Python

快速接入

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

命令预览

uv run mcp-test-tools

详细介绍

autogen与mcp测试

使用GitHub模型的MCP客户端、工具服务器和单代理FastAPI服务示例。

快速开始

1.先决条件

  • Python>=3.10
  • 紫外线 已安装(快速依赖性解析器)

2.克隆和安装

git clone 
cd mcp-testing
uv sync  # installs dependencies from pyproject.toml

3.环境文件

复制示例并根据需要进行定制:

cp .env.example server/.env
cp .env.example tools/.env

编辑每个 .env 添加您的 OPENAI_API_KEY (GitHub PAT与models.read)。可选:添加 OPENWEATHER_API_KEY 天气工具。

4.运行服务

首先启动工具服务器(默认端口8090):

uv run mcp-test-tools

在第二个终端中启动API服务器(默认端口8080):

uv run mcp-test-server

可选Streamlit客户端(如果存在):

uv run mcp-test-client

或者通过助手启动所有内容:

uv run run-all

5.测试终点

curl -s localhost:8080/health | jq
curl -s -X POST localhost:8080/chat -H 'Content-Type: application/json' -d '{"message":"add 3 and 5"}' | jq

服务器

服务器是系统的入口点。外部请求将进行交互 通过REST与服务器连接。服务器将包括一个代理编排器 它可以访问多种工具。这些工具单独提供 可通过MCP访问的服务。

LLM客户端

该应用程序通过与OpenAI兼容的API端点以GitHub模型为目标。 通过以下方式更改所有组件的模型 LLM_MODEL (默认值: gpt-4.1-mini). 使用官方 openai Python SDK指向GitHub模型的基本URL。

工具

工具在服务器发送事件(SSE)上公开的单独FastMCP进程中运行:

当前工具:

  1. calculator –基本算术(加/减/乘/除)
  2. get_weather –使用OpenWeather API获取城市的当前天气(需要 OPENWEATHER_API_KEY)
  3. read_file –从本地读取文本文件 data/ 目录(安全路径检查)

每个工具都会记录开始、结束、延迟和错误,并生成 request_id.

配置

两者 servertools 进程从加载环境变量 .env 文件。

GitHub模型所需的最小变量:

OPENAI_API_KEY=
# Optional overrides:
OPENAI_BASE_URL=https://models.inference.ai.azure.com
LLM_MODEL=gpt-4.1-mini

笔记:

  • OPENAI_BASE_URL 如果省略,则默认为内部值。
  • 你可以交换 LLM_MODEL 任何支持的GitHub模型(例如。 gpt-4.1, gpt-4.1-nano等等)。
  • 除非重新启用遥测仪器,否则不再需要新的Relic变量。

可选变量:

  • OPENWEATHER_API_KEY –启用 get_weather 工具。
  • LOG_LEVEL –调整日志的详细程度(DEBUG, INFO等等)。
  • TOOL_HOSTNAME / TOOL_PORT –覆盖默认工具服务器位置。
  • NEW_RELIC_ENABLED –设置为 1 如果满足以下条件,则启用仪器 newrelic.ini 存在。

端点

服务器(FastAPI):

  • GET /health –简单的活性检查。
  • POST /chat –身体 { "message": "..." };返回最终助理响应加上a request_id 以及持续时间。

执行

使用 uv 脚本:

  • uv run mcp-test-tools –启动MCP SSE服务器工具。
  • uv run mcp-test-server –启动FastAPI聊天服务器。
  • uv run mcp-test-client –(如果存在)启动Streamlit客户端。
  • uv run run-all –在一个流程管理器中启动工具+服务器(+客户端,如果可用)。

日志记录

结构化日志包括相关性ID(request_id)以及时间度量。 避免使用 message 在测井 extra;我们以前缀 user_message 相反。 所有日志都转到stdout;您可以使用日志转发器进行管道传输或收集。

安全说明

  • read_file 工具限制对的访问 data/ 仅目录。
  • 不要提交真正的API密钥。使用 .env 从VCS中排除的文件。
  • 天气工具具有较短的超时时间(5秒)和网络故障的错误处理功能。

延伸

通过装饰功能添加新工具 @mcp.tool("name")tools/tools_server.py. 代理人在 server/agent.py 如果包含适配器初始化,则会自动加载它们。

故障排除

问题原因修复
FileNotFoundError: ../newrelic.ini从其他CWD运行使用提供的条件初始化(NEW_RELIC_ENABLED)或移动 newrelic.ini 项目根。
401/型号错误错误或缺失 OPENAI_API_KEY重新生成PAT models.read 范围;再出口环境。
天气工具返回配置错误缺失 OPENWEATHER_API_KEY为两者添加密钥 tools/.envserver/.env 如果代理推理使用它
高延迟冷模型/客户端实例化每个请求考虑缓存 OpenAIChatCompletionClientapp.state.
除零错误用户要求无效操作计算器工具故意返回错误字符串;代理人应该处理。

下一个想法

  • 代理到代理转录端点(多代理聊天),用于更丰富的演示。
  • 通过MCP集成Azure资源工具以进行云状态检查。
  • 结构化JSON日志记录(用自定义格式化程序替换格式字符串)。

目录标签

目录标签

Python模型集成AI代理多工具代理本地部署FastAPIREST接口LLM集成工具服务器

接入字段

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

stdio

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

token

运行时(runtime,运行环境)

Python

工具数量(toolCount,工具数)

3

资源数量(resourceCount,资源数)

0

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

0

权限和风险

stdiotoken部署方式未说明

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

安装前确认

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

来源信息

继续浏览同类 MCP