Skip to main content
Glama
groupdocs-metadata

GroupDocs.Metadata MCP Server

Official

GroupDocs.Metadata MCP Server

MCP server that exposes GroupDocs.Metadata as AI-callable tools for Claude, Cursor, GitHub Copilot, and other MCP agents.

NuGet NuGet downloads Docker pulls MCP Registry Integration tests License: MIT

Installation

Install in VS Code Install in VS Code Insiders Add to Cursor Codex CLI setup Windsurf setup

One-click installs pre-fill every supported setting: edit the placeholder documents folder after install (output defaults to the same folder); an empty GROUPDOCS_LICENSE_PATH runs in evaluation mode - point it at your license to lift limits.

More clients - ready-made configs for Claude Code, Codex CLI, Visual Studio 2022, Cursor, Windsurf, Cline, and JetBrains Rider live in install/generated/.

Requires .NET 10 SDK.

Run directly with dnx (recommended — no install step):

dnx GroupDocs.Metadata.Mcp --yes

Pulls the latest stable release on every invocation. To pin to a specific version (recommended for shared configs and CI), append @<version>:

dnx GroupDocs.Metadata.Mcp@26.7.3 --yes

Or install as a global dotnet tool:

dotnet tool install -g GroupDocs.Metadata.Mcp
groupdocs-metadata-mcp

Or run via Docker:

docker run --rm -i \
  -v $(pwd)/documents:/data \
  ghcr.io/groupdocs-metadata/metadata-net-mcp:latest

Related MCP server: Nutrient Document Engine MCP Server

Native prerequisites

The underlying GroupDocs engine uses System.Drawing (GDI+) for some operations. When you run the server natively (via dnx or the global dotnet tool) on Linux or macOS, install the native libgdiplus library first:

Platform

Setup

Windows

Nothing — GDI+ is built into the OS.

Linux

sudo apt-get install -y libgdiplus libfontconfig1

macOS

brew install mono-libgdiplus

Docker

Nothing — the image already bundles libgdiplus.

Skipping this on Linux/macOS surfaces as DllNotFoundException: libgdiplus in the tool response. The simplest zero-setup option on Linux/macOS is the Docker image.

Available MCP Tools

Tool

Description

ReadMetadata

Reads all metadata properties (author, title, creation date, custom properties) and returns them as JSON

SearchMetadata

Searches within one document and returns only matching properties (filter by category, name, or value) — e.g. "show me the author", "does this have GPS?"

WriteMetadata

Sets, changes, or adds a property (Author, Title, Subject, Keywords, Comments, Copyright, Company, Manager) and saves the updated file

RemoveMetadata

Removes metadata and saves a cleaned file. Strips everything by default, or only specific categories (gps, author, comments, company, dates, software, copyright, keywords, personal)

GetDocumentInfo

Returns the file type, MIME type, page count, byte size, and encryption status as JSON — a lightweight structural check that does not enumerate metadata properties

Licensing

The MCP server itself is MIT; the underlying GroupDocs.Metadata engine requires a license for production use. Without one the server runs in evaluation mode:

  • A single server process can open at most 15 documents; further calls fail with an evaluation-cap error until the server restarts.

  • Saving metadata changes (write / remove) is blocked without a license.

To lift the limits, point GROUPDOCS_LICENSE_PATH at your GroupDocs.Total.lic:

Configuration

Variable

Description

Default

GROUPDOCS_MCP_STORAGE_PATH

Base folder for input and output files

current directory

GROUPDOCS_MCP_OUTPUT_PATH

(Optional) separate folder for output files

GROUPDOCS_MCP_STORAGE_PATH

GROUPDOCS_LICENSE_PATH

Path to GroupDocs license file

(evaluation mode)

Usage with Claude Desktop

{
  "mcpServers": {
    "groupdocs-metadata": {
      "type": "stdio",
      "command": "dnx",
      "args": ["GroupDocs.Metadata.Mcp", "--yes"],
      "env": {
        "GROUPDOCS_MCP_STORAGE_PATH": "/path/to/documents"
      }
    }
  }
}

To pin to a specific version, replace "GroupDocs.Metadata.Mcp" with "GroupDocs.Metadata.Mcp@26.7.3" in args. Pinning is recommended for shared / committed configs to avoid surprise upgrades.

Usage with VS Code / GitHub Copilot

NuGet.org generates a ready-to-use mcp.json snippet on the package page. Copy it directly into your .vscode/mcp.json.

Alternatively, add manually to .vscode/mcp.json:

{
  "inputs": [
    {
      "type": "promptString",
      "id": "storage_path",
      "description": "Base folder for input and output files.",
      "password": false
    }
  ],
  "servers": {
    "groupdocs-metadata": {
      "type": "stdio",
      "command": "dnx",
      "args": ["GroupDocs.Metadata.Mcp", "--yes"],
      "env": {
        "GROUPDOCS_MCP_STORAGE_PATH": "${input:storage_path}"
      }
    }
  }
}

Same pinning rule as above — swap "GroupDocs.Metadata.Mcp" for "GroupDocs.Metadata.Mcp@26.7.3" to lock to a specific release.

Usage with Docker Compose

cd docker
docker compose up

Edit docker/docker-compose.yml to point volumes at your local documents folder.

Documentation & guides

Step-by-step deployment guides and a published-package integration test suite live in the companion repo GroupDocs.Metadata.Mcp.Tests:

That repo also exercises every advertised tool against the published NuGet artifact on Linux, macOS, and Windows in CI — so the snippets above are verified end-to-end on every release.

License

MIT — see LICENSE

A
license - permissive license
-
quality - not tested
A
maintenance

Maintenance

Maintainers
Response time
2wRelease cycle
9Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

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/groupdocs-metadata/GroupDocs.Metadata.Mcp'

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