Token导航 LogoToken导航TokenDH.com
Dynamic MCP Demo logo
设计创作stdio官方级别未说明来源级核验

Dynamic MCP Demo

MCP Server

一个通过配置文件实现MCP工具动态加载的系统,支持多种HTTP方法和传输协议,提升系统可扩展性和可维护性。

工具数

3

提示词数

0

GitHub Stars

0

资源数

0
类型安全Python模块化设计

安装说明

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

作者 / 组织

Unexpectedlyc

提供方

Unexpectedlyc

最后核验

2026/5/17 20:23

快速接入

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

命令预览

pip install -r requirements.txt

详细介绍

dynamic-mcp-demo 🚀

通过配置文件实现 MCP 工具的动态加载 ⚙️

项目简介 📖

这是一个演示如何通过配置文件动态加载 MCP 工具的项目。该项目展示了如何使用配置驱动的方法来灵活加载和管理 MCP(Model Context Protocol)工具,从而提升系统的可扩展性和可维护性。

主要特性 ✨

  • 🔄 动态加载: 通过配置文件实现 MCP 工具的动态加载
  • ⚙️ 配置驱动: 使用 YAML 配置文件管理工具定义
  • 🛠️ 灵活性: 支持多种 HTTP 方法 (GET, POST, PUT, DELETE)
  • 📦 模块化设计: 工具注册与业务逻辑完全分离
  • 🌐 HTTP 代理: 支持路径参数、查询参数和请求体参数
  • 📝 类型安全: 支持参数类型验证 (str, int, float, bool)

支持的传输协议 📡

  • stdio: 标准输入输出传输
  • sse: Server-Sent Events 传输
  • http: HTTP 流式传输

快速开始 🚀

1. 安装依赖

pip install -r requirements.txt

2. 配置工具

修改config.yaml文件来定义您的工具:

server:
  ip: localhost
  port: 8080
  transport: sse

tools:
  - name: get_weather
    description: 获取指定城市的天气信息
    method: GET
    url: https://api.example.com/weather
    query_params:
      city: str
    timeout: 10

3. 启动后端服务

python Backend/mcp_server.py

4. 运行前端应用

python Frontend/app.py

配置说明 📝

服务器配置

字段类型描述
ipstring服务器 IP 地址(SSE/HTTP 传输时必需)
portinteger服务器端口(SSE/HTTP 传输时必需)
transportstring传输协议:stdio, sse, http

工具配置

字段类型描述
namestring工具名称(必须唯一)
descriptionstring工具描述信息
methodstringHTTP 方法:GET, POST, PUT, DELETE
urlstring目标 API 的 URL 模板
path_paramsobjectURL 路径参数及其类型
query_paramsobject查询字符串参数及其类型
body_paramsobject请求体参数及其类型
timeoutinteger请求超时时间(秒)

工具类型示例 💡

GET 请求示例

- name: get_weather
  description: 获取指定城市的天气信息
  method: GET
  url: https://api.example.com/weather
  query_params:
    city: str
  timeout: 10

POST 请求示例

- name: create_user
  description: 创建新用户
  method: POST
  url: https://api.example.com/users
  body_params:
    name: str
    email: str
    age: int
  timeout: 15

带路径参数的请求示例

- name: get_stock_price
  description: 获取股票价格
  method: GET
  url: https://api.example.com/stocks/{symbol}
  path_params:
    symbol: str
  timeout: 5

项目结构 🏗️

dynamic-mcp-demo/
├── Backend/
│   ├── mcp_server.py     # MCP 服务器主入口
│   └── register_tool.py  # 工具注册和创建逻辑
├── Frontend/
│   └── app.py           # 前端连接示例
├── config.yaml          # 工具配置文件
├── utils.py             # 通用工具函数
├── requirements.txt     # 依赖包列表
└── README.md            # 项目说明文档

贡献指南 🤝

欢迎提交 Issue 和 Pull Request 来帮助改进这个演示项目!

许可证 📄

MIT License


_该项目演示了如何使用 FastMCP 框架创建动态可配置的工具代理服务_

目录标签

目录标签

类型安全Python模块化设计动态加载本地部署配置驱动HTTP代理

接入字段

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

stdio

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

none

工具数量(toolCount,工具数)

3

资源数量(resourceCount,资源数)

0

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

0

权限和风险

stdionone部署方式未说明

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

安装前确认

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

来源信息

继续浏览同类 MCP