mcpField
M
MCP Server Demo

MCP Server Demo

本地服务
github.com/hannguyendd开发工具080 周前更新

关于 MCP Server Demo

MCP Server Demo 是一个 FastMCP 服务,通过自定义工具运行应用升级脚本,供希望将命令执行接入 MCP 客户端的开发者参考。

主要功能

  1. 01提供应用升级工具
  2. 02通过 subprocess 执行命令
  3. 03用环境变量配置命令目录
  4. 04通过 stdio 通信

适用场景

  1. 01从 MCP 客户端触发 update-apps.sh
  2. 02测试 stdio MCP 服务集成

MCP 相关

通过 stdio 向兼容 MCP 的客户端提供 upgrade_apps 工具。该工具运行 COMMAND_FOLDER_PATH 指定目录中的 update-apps.sh。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"demo-hannguyendd": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/inspector"
]
}
}
}
启动命令npx -y @modelcontextprotocol/inspector

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npm@modelcontextprotocol/inspector

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

MCP 服务演示

一个简单的 Model Context Protocol(MCP)服务实现示例,可通过 shell 脚本提供升级应用程序的工具功能。

概述

本项目实现了一个 FastMCP 服务,提供用于升级应用程序的自定义工具。该服务通过 stdio 传输方式进行通信,并可与兼容 MCP 的客户端集成。

功能

  • 提供用于升级应用程序的自定义工具的 MCP 服务
  • 通过 subprocess 执行命令
  • 环境变量配置
  • 用于客户端与服务端通信的 stdio 传输方式

前提条件

  • Python 3.12 或更高版本
  • uv 包管理器(用于依赖项管理)
  • 配置环境变量(COMMAND_FOLDER_PATH)

安装

  1. 克隆仓库:

    git clone <repository-url>
    cd mcp-server-demo
    
  2. 使用 uv 安装依赖项:

    uv pip install -e .
    
  3. 在项目根目录中创建 .env 文件,内容如下:

    COMMAND_FOLDER_PATH=/path/to/your/command/folder
    

    请确保命令文件夹中包含 update-apps.sh 脚本。

使用方法

可以直接使用 Python 运行该服务:

python main.py
与 VS Code MCP 扩展搭配使用

你可以使用 VS Code MCP 扩展及提供的 mcp.json 配置:

  1. 在 VS Code 中安装 MCP 扩展
  2. 在 VS Code 中打开项目
  3. 使用“Connect to MCP Server”命令,并选择“commander”服务
与 MCP Inspector 搭配使用

使用 MCP Inspector 工具测试和检查 MCP 服务:

npx @modelcontextprotocol/inspector \
  uv \
  --directory ${PWD} \
  run \
  main.py

此命令会运行 Inspector 工具,该工具连接到 MCP 服务,并允许你与可用工具交互以进行测试。

可用工具

upgrade_apps

此工具会执行位于 COMMAND_FOLDER_PATH 环境变量指定文件夹中的 update-apps.sh 脚本。

客户端使用示例:

result = await client.upgrade_apps()
print(result)

项目结构

  • main.py - 服务主实现
  • pyproject.toml - 项目依赖项和元数据
  • .vscode/mcp.json - VS Code MCP 配置
  • uv.lock - uv 包管理器的依赖锁定文件
  • .env - 环境变量(未包含在仓库中)

依赖项

  • mcp[cli] (>=1.6.0)
  • python-dotenv(必需,但未在 pyproject.toml 中明确提及)

开发

本项目使用 uv 管理 Python 包;与传统的 pip 相比,它能更快地解析和安装依赖项。

更新依赖项:

uv pip install -e .

许可证

[在此填写许可证信息]

贡献

[在此填写贡献指南]

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。