Metadata-Version: 2.3
Name: docmind-parser-mcp
Version: 0.1.1
Summary: An MCP server for the 'docmind_parser' library.
Author-email: 足溪 <sanchuan.ssc@alibaba-inc.com>
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Requires-Python: <4.0,>=3.10
Requires-Dist: docmind-doc-json-sdk>=1.1.0
Requires-Dist: mcp-server>=0.1.4
Requires-Dist: pyyaml>=6.0.2
Requires-Dist: sse-starlette>=2.3.5
Requires-Dist: typing-extensions>=4.13.2
Requires-Dist: typing-inspection>=0.4.1
Requires-Dist: uvicorn>=0.34.2
Description-Content-Type: text/markdown

# MCP 服务构建

## 包构建
1、cd  docmind-parse-mcp && uv build
3、上传oss或者pypi

## 测试
- 其他mcp client
```json
{
  "mcpServers": {
    "markitdown": {
      "name": "docmind-parser-mcp",
      "command": "uvx",
      "args": [
        "--with",
        "https://docmind-api-cn-hangzhou.oss-cn-hangzhou.aliyuncs.com/sdk/doc_json_sdk-1.0.3-py3-none-any.whl",
        "--with",
        "https://docmind-api-cn-hangzhou.oss-cn-hangzhou.aliyuncs.com/sdk/docmind_parser_mcp-0.1.1-py3-none-any.whl",
        "docmind-parser-mcp"
      ],
      "env": {
        "SERVER_PROTOCOL_MODE": "stdio",
        "ALIBABA_CLOUD_ACCESS_KEY_ID": "YOUR_ALIBABA_CLOUD_ACCESS_KEY_ID",
        "ALIBABA_CLOUD_ACCESS_KEY_SECRET": "YOUR_ALIBABA_CLOUD_ACCESS_KEY_SECRET"
      }
    }
  }
}
```
- uvx 测试
```shell
uvx --with 'https://docmind-api-cn-hangzhou.oss-cn-hangzhou.aliyuncs.com/sdk/doc_json_sdk-1.0.3-py3-none-any.whl' --with "https://docmind-api-cn-hangzhou.oss-cn-hangzhou.aliyuncs.com/sdk/docmind_parser_mcp-0.1.1-py3-none-any.whl"  docmind-parser-mcp
```
- python 脚本测试
```python

import asyncio

from mcp.client.stdio import stdio_client
from mcp import ClientSession, StdioServerParameters

# 为 stdio 连接创建服务器参数
server_params = StdioServerParameters(
    # 服务器执行的命令，这里我们使用 uv 来运行 web_search.py
    command='uvx',
    # 运行的参数
    args=['--with', 'https://docmind-api-cn-hangzhou.oss-cn-hangzhou.aliyuncs.com/sdk/doc_json_sdk-1.0.3-py3-none-any.whl',
          '--with', 'https://docmind-api-cn-hangzhou.oss-cn-hangzhou.aliyuncs.com/sdk/docmind_parser_mcp-0.1.1-py3-none-any.whl',
          'docmind-parser-mcp'],
    # 环境变量，默认为 None，表示使用当前环境变量
    env={
        "ALIBABA_CLOUD_ACCESS_KEY_ID": "YOUR_ALIBABA_CLOUD_ACCESS_KEY_ID",
        "ALIBABA_CLOUD_ACCESS_KEY_SECRET": "YOUR_ALIBABA_CLOUD_ACCESS_KEY_SECRET"
    }
)
async def main():
    # 创建 stdio 客户端
    async with stdio_client(server_params) as (stdio, write):
        # 创建 ClientSession 对象
        async with ClientSession(stdio, write) as session:
            # 初始化 ClientSession
            await session.initialize()

            # 列出可用的工具
            response = await session.list_tools()
            print(response)

            # 调用工具
            response = await session.call_tool('convert_to_markdown', {'uri': 'https://duguang-guji.oss-cn-hangzhou.aliyuncs.com/tmp/test2.md'})
            print(response)


if __name__ == '__main__':
    asyncio.run(main())
```


docmind-parser-mcp 是一个 Python 包和命令行实用程序，用于将各种文件转换为 Markdown（例如，用于索引、文本分析等）。
    
支持的文档格式：pdf、word、ppt、pptx、【xls、xlsx、xlsm】和图片，图片支持jpg、jpeg、png、bmp、gif，其余格式支持markdown、html、epub、mobi、rtf、txt

支持本地文件和url文件两种方式

源码构建：
    1.安装依赖
        cd到docmind-parser-mcp项目目录下
        pip install .
    2.服务启动之前必须设置的相关环境变量
        1.该命令行程序依赖阿里云文档智能解析的能力，所以，需要进行开通，获取AccessKey ID、AccessKey Secret，设置环境变量。
            export  ALIBABA_CLOUD_ACCESS_KEY_SECRET=YOUR_ALIBABA_CLOUD_ACCESS_KEY_SECRET 
            export  ALIBABA_CLOUD_ACCESS_KEY_ID=YOUR_ALIBABA_CLOUD_ACCESS_KEY_ID 
        2.设置mcp的启动模式SERVER_PROTOCOL_MODE ,有两种可选模式 [stdio | sse]
            stdio模式：该模式只需要设置一个环境变量
            export  SERVER_PROTOCOL_MODE=stdio
    3.启动服务
        python -m docmind_parser_mcp._docmind_mcp.py


mcp服务器（使用镜像），配置mcp-server的配置文件
本地源码构建配置stdio：
{
  "mcpServers": {
    "docmind-parser-mcp": {
     "name": "docmind-parser-mcp",
      "command": "uv",#本地uv命令。
      "args": [
        "--directory",
        "/Users/chengshuai/PycharmProjects/docmind-parser-mcp/src/docmind_parser_mcp",# 项目路径
        "run",
        "server.py"
      ],
      "env": {
        "SERVER_PROTOCOL_MODE": "stdio",
        "ALIBABA_CLOUD_ACCESS_KEY_ID": "YOUR_ALIBABA_CLOUD_ACCESS_KEY_ID",
        "ALIBABA_CLOUD_ACCESS_KEY_SECRET": "YOUR_ALIBABA_CLOUD_ACCESS_KEY_SECRET"
      }
    }
  }
}

python项目已提交到pipy。
stdio模式
{
  "mcpServers": {
    "markitdown": {
      "name": "docmind-parser-mcp",
      "command": "uvx",
      "args": [
        "docmind-parser-mcp"
      ],
      "env": {
        "SERVER_PROTOCOL_MODE": "stdio",
        "ALIBABA_CLOUD_ACCESS_KEY_ID": "YOUR_ALIBABA_CLOUD_ACCESS_KEY_ID",
        "ALIBABA_CLOUD_ACCESS_KEY_SECRET": "YOUR_ALIBABA_CLOUD_ACCESS_KEY_SECRET"
      }
    }
  }
}



远程配置sse模式
{
  "mcpServers": {
    "markitdown": {
      "url":"http://xxxx/sse",
      "transportType": "sse"
    }
  }
}



    


        