home / mcp / ibm content services mcp server

IBM Content Services MCP Server

Provides a standardized interface to access IBM FileNet Content Manager capabilities for AI models, enabling document management, property extraction, legal holds, and AI insights.

Installation
Add the following to your MCP client configuration file.

Configuration

View docs
{
  "mcpServers": {
    "ibm-ecm-ibm-content-services-mcp-server": {
      "command": "uvx",
      "args": [
        "--from",
        "git+https://github.com/ibm-ecm/ibm-content-services-mcp-server",
        "core-cs-mcp-server"
      ],
      "env": {
        "SCOPE": "openid",
        "PASSWORD": "your_password",
        "USERNAME": "your_username",
        "TOKEN_URL": "https://auth.example.com/token",
        "GRANT_TYPE": "password",
        "SERVER_URL": "https://your-graphql-server/content-services-graphql/graphql",
        "SSL_ENABLED": "true",
        "OBJECT_STORE": "your_object_store",
        "TOKEN_REFRESH": "1800"
      }
    }
  }
}

The IBM Content Services MCP Server exposes IBM FileNet Content Manager capabilities through a standardized interface, enabling AI models to manage content, extract metadata, perform legal holds, and access AI-assisted document insights across multiple specialized configurations.

How to use

Deploy and run the four MCP server configurations to match your workflows. You can run any combination of Core, Property Extraction and Classification, Legal Hold, and AI Document Insight servers. Each server exposes a set of tools your AI agent or MCP client can call to perform document management, metadata operations, search, classification, extraction, hold management, and AI-assisted insights.

How to install

Prerequisites you need before starting:

  • Ensure Node.js is installed on your machine.
  • Install or access the uvx runner as your MCP runtime.

Step-by-step commands to install and prepare each MCP server configuration from the provided sources. Use the exact commands shown to install and run the servers.

# Core Server
uvx --from git+https://github.com/ibm-ecm/ibm-content-services-mcp-server core-cs-mcp-server

# Property Extraction and Classification Server
uvx --from git+https://github.com/ibm-ecm/ibm-content-services-mcp-server property-extraction-and-classification-cs-mcp-server

# Legal Hold Server
uvx --from git+https://github.com/ibm-ecm/ibm-content-services-mcp-server legal-hold-cs-mcp-server

# AI Document Insight Server
uvx --from git+https://github.com/ibm-ecm/ibm-content-services-mcp-server ai-document-insight-cs-mcp-server

Additional sections

Configuration, security, and usage details are provided to help you operate the MCP servers effectively. Review the prerequisites for add-ons, environment variables, and authentication methods, and follow best practices to keep your deployment secure.

Available tools

get_document_versions

Retrieves a document’s version history including major/minor versions and IDs for each version.

get_document_text_extract

Extracts text content from a document using text extract annotations; requires the Persistent Text Extract add-on.

create_document

Creates a new document with specified properties and optional content upload; requires class determination first.

update_document_properties

Updates a document’s properties without changing its class; requires class property descriptions.

update_document_class

Changes a document’s class; may affect properties if the new class has different properties.

checkin_document

Checks in a document after checkout, with optional new content files.

checkout_document

Checks out a document for editing; can download content if a path is provided.

cancel_document_checkout

Cancels an active document checkout.

get_document_properties

Retrieves a document by ID or path with its properties.

delete_document_version

Deletes a specific document version by its document ID.

delete_version_series

Deletes an entire version series by its version series ID.

create_folder

Creates a folder in the repository with a name, parent, and optional class.

delete_folder

Deletes a folder by ID or path.

unfile_document

Removes a document from a folder without deleting the document.

file_document

Files a document into a folder.

update_folder

Updates a folder’s properties; requires class property descriptions.

get_folder_documents

Retrieves documents contained in a folder.

get_folder_detail

Retrieves detailed information about a folder.

list_root_classes

Lists root classes.

determine_class

Determines the appropriate class based on available classes and content.

get_class_property_descriptions

Retrieves property descriptions for a specified class.

get_searchable_property_descriptions

Retrieves descriptions of properties usable in search operations.

repository_object_search

Searches for repository objects based on criteria.

document_search

Searches for documents by content and/or metadata with full-text CBR, returning released versions.

lookup_documents_by_name

Searches by keywords against document names with confidence scores.

lookup_documents_by_path

Searches by folder path keywords and containment names.

property_extraction

Extracts class, properties metadata, and text content for AI property value extraction; determines class and retrieves text.

list_all_classes

Lists all available classes for a root type (needed for reclassification).

create_hold

Creates a new legal hold with a display name.

delete_hold

Removes a hold and releases all held objects.

add_object_to_hold

Places an object under a legal hold.

delete_object_from_hold

Removes an object from a hold without deleting the hold.

get_held_objects_for_hold

Lists objects currently under a specific hold.

get_holds_by_name

Searches for holds by display name.

document_smart_search

Performs a hybrid vector/metadata search returning released documents ranked by GenAI score.

document_quick_summary

Generates a concise AI-powered summary for provided document IDs.

document_compare_insights

Compares two documents to identify similarities, differences, and version changes.

document_qa_global

Answers natural language questions by scanning the repository.