项目简介

MCPML (MCP Server Markup Language) 是一个Python框架,旨在简化Model Context Protocol (MCP) 服务器的构建过程。它提供了一套工具和库,帮助开发者快速搭建符合MCP协议的应用后端,以便为大型语言模型 (LLM) 客户端提供上下文信息和功能扩展。

主要功能点

  • MCP服务器框架: 使用Python快速构建符合MCP标准的服务器端应用。
  • 命令行工具: 所有服务器功能都可通过命令行界面 (CLI) 访问和操作,方便管理和测试。
  • OpenAI Agent SDK 支持: 可以将工具实现为OpenAI Agent或者简单的Python函数,灵活集成各种功能。
  • Agent-to-MCP 集成: Agent可以通过配置轻松使用MCP服务器提供的服务,实现更强大的功能组合。
  • 可扩展架构: 允许开发者轻松添加自定义工具和服务,满足不同的应用场景需求。
  • 动态加载: 支持从执行目录动态加载自定义Agent类型和工具实现,提高灵活性和可配置性。
  • 结构化输出: 支持使用Pydantic模型定义结构化输出,方便数据处理和集成。

安装步骤

  1. 确保已安装Python环境 (Python 3.8 或更高版本)。

  2. 使用pip安装MCPML框架:

    pip install git+https://github.com/a5c-ai/mcpml#egg=mcpml
  3. 配置环境变量 (可选):如果使用OpenAI Agent功能,请设置OpenAI API密钥或Azure OpenAI配置。可以在项目根目录下创建 '.env' 文件并添加以下内容:

    OpenAI API Key:

    OPENAI_API_KEY=your_openai_api_key

    Azure OpenAI:

    AZURE_OPENAI_ENDPOINT=https://your-azure-openai-endpoint.openai.azure.com
    AZURE_OPENAI_API_KEY=your_azure_openai_api_key
    OPENAI_API_VERSION=api_version

服务器配置

MCP服务器启动命令配置示例 (JSON格式,用于MCP客户端配置连接信息):

{
  "servers": [
    {
      "name": "mcpml-server",
      "command": "mcpml",
      "args": ["run"]
      // "args": ["run", "--transport=sse"]  // 如果需要使用 SSE 传输协议,可以添加此参数
    }
  ]
}

配置参数说明:

  • 'name': 服务器名称,客户端用于识别和引用。
  • 'command': 启动MCP服务器的命令,这里为 'mcpml',假设 'mcpml' 命令已添加到系统PATH环境变量中。
  • 'args': 启动命令的参数列表。
    • 'run': 运行MCP服务器的子命令。
    • '--transport=sse' (可选): 指定使用SSE (Server-Sent Events) 传输协议,默认为 'stdio'。

注意: MCP客户端需要根据此配置信息启动MCPML服务器进程并建立连接。

基本使用方法

  1. 启动MCP服务器:

    在命令行中执行以下命令启动MCPML服务器 (默认使用 'stdio' 传输协议,配置文件为默认的 'mcpml.yaml'):

    mcpml run

    或者,指定配置文件路径或GitHub仓库URL启动服务器:

    mcpml run -c mcpml.yaml
    mcpml run -c https://github.com/a5c-ai/some-mcpml-server

    使用 SSE 传输协议启动服务器:

    mcpml run --transport=sse
  2. 列出可用工具:

    使用 'tools list' 命令查看服务器提供的工具列表:

    mcpml tools list

    以JSON格式输出工具列表:

    mcpml tools list --format=json
  3. 运行指定工具:

    使用 'tools <工具名称> run' 命令运行特定工具,并传递参数。例如,运行名为 'search' 的工具,并传递 'query' 参数:

    mcpml tools search run --query "Model Context Protocol"

    如果工具需要JSON格式的参数,可以使用 JSON 字符串作为输入:

    mcpml tools some-tool run '{"arg1": "value1", "arg2": "value2"}'

    或者使用命令行参数:

    mcpml tools some-tool run --arg1 value1 --arg2 value2

请参考 MCPML仓库 README 获取更详细的使用说明和配置选项。

信息

分类

开发者工具