IBM Content Services MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| SCOPE | No | OAuth scope | |
| PASSWORD | No | Authentication password | |
| USERNAME | No | Authentication username | |
| CLIENT_ID | No | OAuth client ID | |
| LOG_LEVEL | No | Logging level | |
| TOKEN_URL | No | OAuth token URL | |
| GRANT_TYPE | No | OAuth grant type | |
| SERVER_URL | No | Content Services GraphQL API endpoint URL | |
| SSL_ENABLED | No | Whether SSL is enabled. Can be true, false, or path to certificate | |
| OBJECT_STORE | No | Object store identifier | |
| POOL_MAXSIZE | No | Maximum pool size | |
| CLIENT_SECRET | No | OAuth client secret | |
| TOKEN_REFRESH | No | Token refresh interval in seconds | |
| ZENIAM_IAM_URL | No | IAM route URL | |
| ZENIAM_ZEN_URL | No | Zen exchange route URL | |
| REQUEST_TIMEOUT | No | Request timeout in seconds | |
| ZENIAM_IAM_USER | No | IAM user for password grant | |
| POOL_CONNECTIONS | No | Number of connection pool connections | |
| RESOURCES_FOLDER | No | Folder path for MCP resources | |
| ZENIAM_CLIENT_ID | No | IAM client ID for client_credentials | |
| ZENIAM_IAM_SCOPE | No | IAM scope | |
| TOKEN_SSL_ENABLED | No | Whether SSL is enabled for token endpoint | |
| ZENIAM_IAM_PASSWORD | No | IAM password for password grant | |
| ZENIAM_CLIENT_SECRET | No | IAM client secret for client_credentials | |
| ZENIAM_IAM_GRANT_TYPE | No | IAM grant type | |
| ZENIAM_IAM_SSL_ENABLED | No | SSL enabled for IAM route | |
| ZENIAM_ZEN_SSL_ENABLED | No | SSL enabled for Zen exchange | |
| RESOURCES_PREFIX_VALIDATION | No | Prefix validation mode |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| logging | {} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| extensions | {
"io.modelcontextprotocol/ui": {}
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| get_document_versionsA | Retrieves all versions in the version series that includes the specified document. This returns all versions (past, current, and future) that belong to the same version series. |
| get_document_text_extractC | Retrieves a document's text extract content. |
| create_documentB | PREREQUISITES IN ORDER: To use this tool, you MUST call two other tools first in a specific sequence.
Description: Creates a document in the content repository with specified properties. |
| update_document_propertiesA | PREREQUISITES: Before using this tool, you MUST call ONE of these tools first:
Description: Updates an existing document's properties in the content repository. This tool ONLY updates properties and does NOT change the document's class. To change a document's class, use the update_document_class tool instead. |
| update_document_classA | PREREQUISITES: Before using this tool, you MUST call ONE of these tools first:
Description: Changes a document's class in the content repository. WARNING: Changing a document's class can result in loss of properties if the new class does not have the same properties as the old class. Properties that don't exist in the new class will be removed from the document. This tool ONLY changes the document's class and does NOT update any properties. To update properties after changing the class, use the update_document_properties tool. |
| checkin_documentC | Checks in a document in the content repository with specified properties. |
| checkout_documentC | Checks out a document in the content repository. |
| delete_version_seriesA | Deletes an entire version series (all versions of a document) in the content repository. |
| delete_document_versionC | Deletes a specific document version in the content repository. |
| get_document_propertiesA | Retrieves a document's properties from the content repository by ID or path. Note: Use this tool ONLY when you need to retrieve a document using its ID or file path. For searching documents by other properties, use the repository_search tool instead. |
| cancel_document_checkoutA | Cancels a document checkout in the content repository. |
| document_searchA | PREREQUISITES IN ORDER: To use this tool, you MUST call two other tools first in a specific sequence.
Description: This tool will execute a request to search for documents based on content and the metadata criteria. |
| create_folderB | PREREQUISITES IN ORDER: To use this tool, you MUST call two other tools first in a specific sequence.
Creates a folder in the content repository with specified properties. This tool interfaces with the GraphQL API to create a new folder object with the provided parameters. |
| delete_folderB | Deletes a folder in the content repository. This tool interfaces with the GraphQL API to delete a folder object with the provided id. :param id_or_path string Yes The unique identifier or path for the folder. If not provided, an error will be returned. :returns: If successful, return the folder id. Else, return a ToolError instance that describes the error. |
| unfile_documentA | Unfile a document from a folder in the content repository. This tool interfaces with the GraphQL API to unfile document from folder with the provided ids. :param folder_id_or_path string Yes The unique identifier or path for the folder. If not provided, an error will be returned. :param document_id string Yes The unique identifier for the document. If not provided, an error will be returned. :returns: If successful, return the folder id. Else, return a ToolError instance that describes the error. |
| file_documentB | File a document to a folder in the content repository. This tool interfaces with the GraphQL API to create a referential containment relationship between a document and a folder. :param document_id_or_path string Yes The unique identifier or path for the document. :param folder_id_or_path string Yes The unique identifier or path for the folder. :returns: If successful, returns the reference containment relationship ID Else, return a ToolError instance that describes the error. |
| update_folderA | PREREQUISITES IN ORDER: To use this tool, you MUST call two other tools first in a specific sequence.
Description: Updates an existing folder in the content repository with specified properties. |
| get_folder_documentsB | Retrieves a folder's contained documents. |
| get_folder_detailB | Description: Get an existing folder in the content repository information given a folder id |
| list_root_classesA | List all available root class types in the repository. This tool should be called first to get a list of valid root class names before using the list_all_classes tool. :returns: A list of all available root class types (e.g., ["Document", "Folder", "Annotation", "CustomObject"]) |
| determine_classA | Find classes that match the given keywords by looking for substring matches in class names and descriptions. IMPORTANT:
To get a list of all valid class names that can be used with this tool, you MUST first call the |
| get_class_property_descriptionsA | Retrieves ALL properties of a class including system properties. IMPORTANT: Use this tool ONLY for general document updates where you need to see ALL properties of a class, including system-owned and hidden properties. DO NOT use this tool for property extraction workflows. |
| get_searchable_property_descriptionsA | Retrieves only the searchable properties of a class. |
| repository_object_searchB | PREREQUISITES IN ORDER: To use this tool, you MUST call two other tools first in a specific sequence.
Description: This tool retrieves repository objects other than Document instances. |
| lookup_documents_by_nameD | – |
| lookup_documents_by_pathB | PREREQUISITE: To use this tool, you MUST call the determine_class tool first to get the class_symbolic_name. If the user does not specify a specific clas then call determine_class with the root Document class. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
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/mohamedarif-m/filenet-mcp-localfile'
If you have feedback or need assistance with the MCP directory API, please join our Discord server