@un-markdown/mcp-server
Advanced tools
+34
-1
| #!/usr/bin/env node | ||
| export {}; | ||
| export declare function createSandboxServer(): import("@modelcontextprotocol/sdk/server").Server<{ | ||
| method: string; | ||
| params?: { | ||
| [x: string]: unknown; | ||
| _meta?: { | ||
| [x: string]: unknown; | ||
| progressToken?: string | number | undefined; | ||
| "io.modelcontextprotocol/related-task"?: { | ||
| taskId: string; | ||
| } | undefined; | ||
| } | undefined; | ||
| } | undefined; | ||
| }, { | ||
| method: string; | ||
| params?: { | ||
| [x: string]: unknown; | ||
| _meta?: { | ||
| [x: string]: unknown; | ||
| progressToken?: string | number | undefined; | ||
| "io.modelcontextprotocol/related-task"?: { | ||
| taskId: string; | ||
| } | undefined; | ||
| } | undefined; | ||
| } | undefined; | ||
| }, { | ||
| [x: string]: unknown; | ||
| _meta?: { | ||
| [x: string]: unknown; | ||
| progressToken?: string | number | undefined; | ||
| "io.modelcontextprotocol/related-task"?: { | ||
| taskId: string; | ||
| } | undefined; | ||
| } | undefined; | ||
| }>; |
+29
-19
@@ -6,24 +6,34 @@ #!/usr/bin/env node | ||
| import { registerTools } from "./tools.js"; | ||
| const apiKey = process.env.UNMARKDOWN_API_KEY; | ||
| if (!apiKey) { | ||
| process.stderr.write("Error: UNMARKDOWN_API_KEY environment variable is required.\n" + | ||
| "Get your API key at https://unmarkdown.com/account/api\n"); | ||
| process.exit(1); | ||
| function createServerInstance(apiKey, baseUrl) { | ||
| const client = new UnmarkdownClient(apiKey, baseUrl); | ||
| const server = new McpServer({ | ||
| name: "unmarkdown", | ||
| version: "1.0.1", | ||
| }); | ||
| registerTools(server, client); | ||
| return server; | ||
| } | ||
| const baseUrl = process.env.UNMARKDOWN_API_URL; | ||
| const client = new UnmarkdownClient(apiKey, baseUrl); | ||
| const server = new McpServer({ | ||
| name: "unmarkdown", | ||
| version: "1.0.1", | ||
| }); | ||
| registerTools(server, client); | ||
| async function main() { | ||
| // Smithery sandbox: allows scanning tools without real credentials | ||
| export function createSandboxServer() { | ||
| return createServerInstance("um_sandbox").server; | ||
| } | ||
| // CLI entry point | ||
| const isMainModule = process.argv[1]?.endsWith("index.js") || | ||
| process.argv[1]?.endsWith("index.cjs"); | ||
| if (isMainModule) { | ||
| const apiKey = process.env.UNMARKDOWN_API_KEY; | ||
| if (!apiKey) { | ||
| process.stderr.write("Error: UNMARKDOWN_API_KEY environment variable is required.\n" + | ||
| "Get your API key at https://unmarkdown.com/account/api\n"); | ||
| process.exit(1); | ||
| } | ||
| const server = createServerInstance(apiKey, process.env.UNMARKDOWN_API_URL); | ||
| const transport = new StdioServerTransport(); | ||
| await server.connect(transport); | ||
| process.stderr.write("Unmarkdown MCP server running on stdio\n"); | ||
| server.connect(transport).then(() => { | ||
| process.stderr.write("Unmarkdown MCP server running on stdio\n"); | ||
| }).catch((err) => { | ||
| process.stderr.write(`Fatal: ${err}\n`); | ||
| process.exit(1); | ||
| }); | ||
| } | ||
| main().catch((err) => { | ||
| process.stderr.write(`Fatal: ${err}\n`); | ||
| process.exit(1); | ||
| }); | ||
| //# sourceMappingURL=index.js.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAE3C,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC;AAC9C,IAAI,CAAC,MAAM,EAAE,CAAC;IACZ,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,+DAA+D;QAC7D,0DAA0D,CAC7D,CAAC;IACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AAED,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC;AAC/C,MAAM,MAAM,GAAG,IAAI,gBAAgB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAErD,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC;IAC3B,IAAI,EAAE,YAAY;IAClB,OAAO,EAAE,OAAO;CACjB,CAAC,CAAC;AAEH,aAAa,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAE9B,KAAK,UAAU,IAAI;IACjB,MAAM,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAC;IAC7C,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAChC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,0CAA0C,CAAC,CAAC;AACnE,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;IACnB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC;IACxC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"} | ||
| {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAE3C,SAAS,oBAAoB,CAAC,MAAc,EAAE,OAAgB;IAC5D,MAAM,MAAM,GAAG,IAAI,gBAAgB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACrD,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC;QAC3B,IAAI,EAAE,YAAY;QAClB,OAAO,EAAE,OAAO;KACjB,CAAC,CAAC;IACH,aAAa,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9B,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,mEAAmE;AACnE,MAAM,UAAU,mBAAmB;IACjC,OAAO,oBAAoB,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC;AACnD,CAAC;AAED,kBAAkB;AAClB,MAAM,YAAY,GAChB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,UAAU,CAAC;IACrC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,WAAW,CAAC,CAAC;AAEzC,IAAI,YAAY,EAAE,CAAC;IACjB,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC;IAC9C,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,+DAA+D;YAC7D,0DAA0D,CAC7D,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,MAAM,GAAG,oBAAoB,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;IAE5E,MAAM,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAC;IAC7C,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE;QAClC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,0CAA0C,CAAC,CAAC;IACnE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;QACf,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC;QACxC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;AACL,CAAC"} |
+3
-2
| { | ||
| "name": "@un-markdown/mcp-server", | ||
| "version": "1.0.1", | ||
| "version": "1.0.2", | ||
| "mcpName": "io.github.unmarkdown/mcp-server", | ||
| "description": "MCP server for the Unmarkdown API — convert markdown, manage documents, publish pages", | ||
@@ -19,3 +20,3 @@ "license": "MIT", | ||
| "type": "git", | ||
| "url": "https://github.com/UnMarkdown/mcp-server" | ||
| "url": "git+https://github.com/UnMarkdown/mcp-server.git" | ||
| }, | ||
@@ -22,0 +23,0 @@ "homepage": "https://unmarkdown.com", |
+14
-0
| # Unmarkdown MCP Server | ||
| [](https://www.npmjs.com/package/@un-markdown/mcp-server) | ||
| [](https://github.com/UnMarkdown/mcp-server/blob/main/LICENSE) | ||
| [](https://smithery.ai/server/@nicholasbrooks/unmarkdown) | ||
| A [Model Context Protocol](https://modelcontextprotocol.io) (MCP) server that connects AI assistants to the [Unmarkdown](https://unmarkdown.com) API. Convert markdown to beautifully formatted documents, manage your document library, and publish pages to the web, all from inside Claude, Cursor, VS Code, or any MCP-compatible client. | ||
| **Also available as:** [Chrome Extension](https://chromewebstore.google.com/detail/unmarkdown/cfpkknmdjnkeelcdndkgmlmagekofhoa) | [Web App](https://unmarkdown.com) | [REST API](https://docs.unmarkdown.com/api/overview) | ||
| ## Features | ||
@@ -249,4 +255,12 @@ | ||
| ## See Also | ||
| - **[Chrome Extension](https://chromewebstore.google.com/detail/unmarkdown/cfpkknmdjnkeelcdndkgmlmagekofhoa)** — Detect and convert markdown on any AI chat page (ChatGPT, Claude, Gemini) | ||
| - **[Web App](https://unmarkdown.com)** — Full editor with 62 templates, publishing, AI actions, and analytics | ||
| - **[REST API](https://docs.unmarkdown.com/api/overview)** — Programmatic access to all conversion and document features | ||
| - **[Smithery](https://smithery.ai/server/@nicholasbrooks/unmarkdown)** — Install via the Smithery MCP registry | ||
| - **[npm](https://www.npmjs.com/package/@un-markdown/mcp-server)** — `@un-markdown/mcp-server` on npm | ||
| ## License | ||
| MIT. See [LICENSE](LICENSE) for details. |
URL strings
Supply chain riskPackage contains fragments of external URLs or IP addresses, which the package may be accessing at runtime.
URL strings
Supply chain riskPackage contains fragments of external URLs or IP addresses, which the package may be accessing at runtime.
60918
5.46%495
9.51%266
5.56%