使用说明

项目简介

本项目是一个简单的 MCP 服务器,专注于提供 Markdown 格式化功能。它通过定义一个名为 'format_markdown' 的工具,允许 MCP 客户端调用该工具将纯文本转换为 Markdown 格式的文本。

主要功能点

  • Markdown 格式化工具: 提供 'format_markdown' 工具,支持将纯文本转换为 Markdown 格式,包括标题、粗体、斜体和代码块等常用 Markdown 语法。
  • 可配置的格式化选项: 'format_markdown' 工具允许客户端自定义格式化选项,例如是否转换标题、粗体、斜体和代码块。
  • 支持 Stdio 和 SSE 传输协议: 服务器支持通过标准输入输出 (stdio) 和服务器发送事件 (SSE) 两种传输协议与 MCP 客户端进行通信。

安装步骤

  1. 安装 'mcp-server' 库 (如果尚未安装): 假设 'mcp-server' 库是运行此服务器的依赖库,您需要先安装它。

    pip install mcp-server

    注意:根据仓库信息,我们推测需要安装 'mcp-server' 库。如果实际运行中提示缺少库,请根据提示安装。

  2. 保存 'markdown_server.py' 文件: 将 'markdown_server.py' 文件保存到您的本地计算机。

服务器配置

MCP 客户端需要配置服务器的启动命令和参数才能连接到此 Markdown 格式化 MCP 服务器。以下是不同传输协议的配置示例,请根据您的需求选择其一进行配置:

1. Stdio 传输配置 (默认)

{
  "serverName": "MarkdownFormatter",
  "command": "python",
  "args": ["markdown_server.py"]
}
  • serverName: 服务器名称,这里设置为 "MarkdownFormatter"。
  • command: 启动服务器的命令,这里使用 'python' 解释器。
  • args: 传递给 'python' 命令的参数,这里指定运行 'markdown_server.py' 文件。
  • 说明: 这是最简单的配置方式,服务器将通过标准输入输出与客户端通信。

2. SSE 传输配置

{
  "serverName": "MarkdownFormatter",
  "command": "python",
  "args": ["markdown_server.py", "--transport", "sse", "--host", "0.0.0.0", "--port", "3000"]
}
  • serverName: 服务器名称,同上。
  • command: 启动服务器的命令,同上。
  • args: 传递给 'python' 命令的参数,包括:
    • '"markdown_server.py"': 运行 'markdown_server.py' 文件。
    • '"--transport"': 指定传输协议为 'sse' (Server-Sent Events)。
    • '"--host"': 指定服务器绑定的主机地址为 '0.0.0.0' (监听所有网络接口)。
    • '"--port"': 指定服务器监听的端口为 '3000'。
  • 说明: 此配置使用 SSE 协议,允许客户端通过 HTTP 连接接收服务器推送的事件。您可以根据需要修改 '--host' 和 '--port' 参数。

基本使用方法

  1. 启动服务器: 根据您选择的传输协议配置,在 MCP 客户端中配置好服务器信息后,启动 MCP 客户端,客户端会自动尝试连接并启动服务器。 或者,您也可以手动在命令行中运行 'markdown_server.py' 文件来启动服务器。例如,使用 stdio 传输:

    python markdown_server.py

    或者使用 SSE 传输 (指定端口和主机):

    python markdown_server.py --transport sse --host 0.0.0.0 --port 3000
  2. 调用 'format_markdown' 工具: 在 MCP 客户端中,您可以调用名为 'format_markdown' 的工具,并传递以下参数:

    • 'text': 需要格式化为 Markdown 的纯文本内容 (字符串类型,必需)。
    • 'headings': 是否转换类似标题的行 (布尔类型,可选,默认为 'True')。
    • 'bold': 是否将全大写单词加粗 (布尔类型,可选,默认为 'True')。
    • 'italics': 是否将引号内的文本转换为斜体 (布尔类型,可选,默认为 'True')。
    • 'code_blocks': 是否将缩进文本格式化为代码块 (布尔类型,可选,默认为 'True')。
  3. 获取 Markdown 格式化结果: 服务器将执行 'format_markdown' 工具,并将格式化后的 Markdown 文本作为结果返回给 MCP 客户端。

示例 (假设使用 MCP 客户端发送工具调用请求):

{
  "jsonrpc": "2.0",
  "method": "Tool.format_markdown",
  "params": {
    "text": "SECTION 1: Introduction\nThis is some plain text.\n\"This is quoted text\".\n    Indented code.",
    "headings": true,
    "bold": true,
    "italics": true,
    "code_blocks": true
  },
  "id": 1
}

预期响应 (MCP 服务器返回):

{
  "jsonrpc": "2.0",
  "result": "## SECTION 1: Introduction\nThis is some plain text.\n*This is quoted text*.\n\n```\nIndented code.\n```",
  "id": 1
}

信息

分类

开发者工具