From bc2e5ea76c888e626967b714a0240960774bb478 Mon Sep 17 00:00:00 2001 From: GitHub Action Date: Mon, 21 Apr 2025 04:58:21 +0000 Subject: [PATCH 1/2] Update repo with server manifest from issue #82 --- .../servers/markitdown-mcp@microsoft.json | 82 +++++++++++++++++++ 1 file changed, 82 insertions(+) create mode 100644 mcp-registry/servers/markitdown-mcp@microsoft.json diff --git a/mcp-registry/servers/markitdown-mcp@microsoft.json b/mcp-registry/servers/markitdown-mcp@microsoft.json new file mode 100644 index 00000000..224d752b --- /dev/null +++ b/mcp-registry/servers/markitdown-mcp@microsoft.json @@ -0,0 +1,82 @@ +{ + "display_name": "MarkItDown MCP Server", + "license": "Microsoft", + "tags": [ + "markdown", + "conversion", + "MCP", + "STDIO", + "SSE", + "server", + "AutoGen", + "document conversion" + ], + "installations": { + "python": { + "type": "python", + "command": "markitdown-mcp", + "args": [ + "--sse", + "--host", + "127.0.0.1", + "--port", + "3001" + ], + "description": "Run the MCP server using SSE" + }, + "docker": { + "type": "docker", + "command": "docker", + "args": [ + "run", + "-it", + "--rm", + "-v", + "/home/user/data:/workdir", + "markitdown-mcp:latest" + ], + "description": "Run the Docker container with local file access" + } + }, + "examples": [ + { + "title": "", + "description": "", + "prompt": "Convert this webpage to markdown: https://github.com/microsoft/markitdown" + }, + { + "title": "", + "description": "", + "prompt": "Please convert the following URL to markdown: https://example.com" + }, + { + "title": "", + "description": "", + "prompt": "Convert this local file to markdown: file:///workdir/example.txt" + }, + { + "title": "", + "description": "", + "prompt": "Can you convert this data URI to markdown? data:text/html,

Hello World

" + }, + { + "title": "", + "description": "", + "prompt": "Convert https://microsoft.github.io/autogen/ to markdown format" + } + ], + "name": "@microsoft/markitdown-mcp", + "repository": { + "type": "git", + "url": "https://github.com/microsoft/markitdown/tree/main/packages/markitdown-mcp" + }, + "homepage": "https://github.com/microsoft/markitdown/tree/main/packages/markitdown-mcp", + "author": { + "name": "microsoft" + }, + "description": "The `markitdown-mcp` package provides a lightweight STDIO and SSE MCP server for calling MarkItDown.", + "categories": [ + "Media Creation" + ], + "is_official": false +} \ No newline at end of file From 4532fca4ae4cabd454ed81ba67f0b18c748d6800 Mon Sep 17 00:00:00 2001 From: Jonathan Wang Date: Mon, 21 Apr 2025 13:09:21 +0800 Subject: [PATCH 2/2] chore: add tools --- ...own-mcp@microsoft.json => markitdown.json} | 61 +++++++++++-------- src/mcpm/commands/info.py | 4 +- 2 files changed, 39 insertions(+), 26 deletions(-) rename mcp-registry/servers/{markitdown-mcp@microsoft.json => markitdown.json} (62%) diff --git a/mcp-registry/servers/markitdown-mcp@microsoft.json b/mcp-registry/servers/markitdown.json similarity index 62% rename from mcp-registry/servers/markitdown-mcp@microsoft.json rename to mcp-registry/servers/markitdown.json index 224d752b..4e7d0eb5 100644 --- a/mcp-registry/servers/markitdown-mcp@microsoft.json +++ b/mcp-registry/servers/markitdown.json @@ -1,41 +1,33 @@ { "display_name": "MarkItDown MCP Server", - "license": "Microsoft", + "license": "MIT", "tags": [ "markdown", "conversion", - "MCP", - "STDIO", - "SSE", "server", "AutoGen", "document conversion" ], "installations": { "python": { - "type": "python", - "command": "markitdown-mcp", + "type": "uvx", + "command": "uvx", "args": [ - "--sse", - "--host", - "127.0.0.1", - "--port", - "3001" + "markitdown-mcp" ], "description": "Run the MCP server using SSE" + } + }, + "arguments": { + "HOST": { + "description": "Host to bind to, default to 127.0.0.1", + "required": false, + "example": "127.0.0.1" }, - "docker": { - "type": "docker", - "command": "docker", - "args": [ - "run", - "-it", - "--rm", - "-v", - "/home/user/data:/workdir", - "markitdown-mcp:latest" - ], - "description": "Run the Docker container with local file access" + "PORT": { + "description": "Port to bind to, default to 3001", + "required": false, + "example": "3001" } }, "examples": [ @@ -65,7 +57,7 @@ "prompt": "Convert https://microsoft.github.io/autogen/ to markdown format" } ], - "name": "@microsoft/markitdown-mcp", + "name": "markitdown", "repository": { "type": "git", "url": "https://github.com/microsoft/markitdown/tree/main/packages/markitdown-mcp" @@ -78,5 +70,24 @@ "categories": [ "Media Creation" ], - "is_official": false + "is_official": true, + "tools": [ + { + "name": "convert_to_markdown", + "description": "Convert a resource described by an http:, https:, file: or data: URI to markdown", + "inputSchema": { + "properties": { + "uri": { + "title": "Uri", + "type": "string" + } + }, + "required": [ + "uri" + ], + "title": "convert_to_markdownArguments", + "type": "object" + } + } + ] } \ No newline at end of file diff --git a/src/mcpm/commands/info.py b/src/mcpm/commands/info.py index ddcbd1af..5f959732 100644 --- a/src/mcpm/commands/info.py +++ b/src/mcpm/commands/info.py @@ -51,6 +51,7 @@ def _display_server_info(server): display_name = server.get("display_name", name) description = server.get("description", "No description") license_info = server.get("license", "Unknown") + is_official = server.get("is_official", False) # Get author info author_info = server.get("author", {}) @@ -81,6 +82,7 @@ def _display_server_info(server): console.print(f"Package: {package}") console.print(f"Author: {author_name}" + (f" ({author_email})" if author_email else "")) console.print(f"License: {license_info}") + console.print(f"Official: {is_official}") console.print("") # URLs section @@ -143,7 +145,7 @@ def _display_server_info(server): console.print("[bold yellow]Examples:[/]") for i, example in enumerate(examples): if "title" in example: - console.print(f"[bold]{i+1}. {example['title']}[/]") + console.print(f"[bold]{i + 1}. {example['title']}[/]") if "description" in example: console.print(f" {example['description']}") if "code" in example: