Skip to main content
Glama
DumplingAI

Dumpling AI MCP Server

Official
by DumplingAI

write-pdf-metadata

Add or modify metadata like title, author, and keywords in PDF files using URL or base64 input to organize and categorize documents.

Instructions

Write metadata to PDF files.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
inputMethodYesInput method
filesYesArray of URLs or base64-encoded PDFs
metadataYesMetadata to write

Implementation Reference

  • The handler function that implements the tool logic by proxying requests to the external Dumpling AI API endpoint for writing PDF metadata.
    async ({ inputMethod, files, metadata }) => { const apiKey = process.env.DUMPLING_API_KEY; if (!apiKey) throw new Error("DUMPLING_API_KEY not set"); const response = await fetch(`${NWS_API_BASE}/api/v1/write-pdf-metadata`, { method: "POST", headers: { "Content-Type": "application/json", Authorization: `Bearer ${apiKey}`, }, body: JSON.stringify({ inputMethod, files, metadata }), }); if (!response.ok) throw new Error(`Failed: ${response.status} ${await response.text()}`); const data = await response.json(); return { content: [{ type: "text", text: JSON.stringify(data, null, 2) }] };
  • Input schema defined using Zod for validating the tool parameters: inputMethod, files, and metadata object.
    { inputMethod: z.enum(["url", "base64"]).describe("Input method"), files: z.array(z.string()).describe("Array of URLs or base64-encoded PDFs"), metadata: z .object({ Title: z.string().optional(), Author: z.string().optional(), Subject: z.string().optional(), Keywords: z.string().optional(), Creator: z.string().optional(), Producer: z.string().optional(), }) .describe("Metadata to write"), },
  • src/index.ts:821-854 (registration)
    The server.tool call that registers the 'write-pdf-metadata' tool with MCP server, including name, description, schema, and handler.
    server.tool( "write-pdf-metadata", "Write metadata to PDF files.", { inputMethod: z.enum(["url", "base64"]).describe("Input method"), files: z.array(z.string()).describe("Array of URLs or base64-encoded PDFs"), metadata: z .object({ Title: z.string().optional(), Author: z.string().optional(), Subject: z.string().optional(), Keywords: z.string().optional(), Creator: z.string().optional(), Producer: z.string().optional(), }) .describe("Metadata to write"), }, async ({ inputMethod, files, metadata }) => { const apiKey = process.env.DUMPLING_API_KEY; if (!apiKey) throw new Error("DUMPLING_API_KEY not set"); const response = await fetch(`${NWS_API_BASE}/api/v1/write-pdf-metadata`, { method: "POST", headers: { "Content-Type": "application/json", Authorization: `Bearer ${apiKey}`, }, body: JSON.stringify({ inputMethod, files, metadata }), }); if (!response.ok) throw new Error(`Failed: ${response.status} ${await response.text()}`); const data = await response.json(); return { content: [{ type: "text", text: JSON.stringify(data, null, 2) }] }; } );

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/DumplingAI/mcp-server-dumplingai'

If you have feedback or need assistance with the MCP directory API, please join our Discord server