Docugami Model Context Protocol (MCP) Server Tools (Preview)

Download OpenAPI specification:

documents

Upload, delete, and view details of documents.

List documents

Authorizations:
api-key
Request Body schema: application/json
name
string

Filters documents by name, excluding any prefix.

prefix
string

Filters documents by name beginning with this prefix.

limit
integer <int32> [ 1 .. 100 ]
Default: 30

Maximum number of items to return.

cursor
string

Opaque continuation token used to get additional items when a previous query returned more than limit items.

docsetId
string

Filters documents by docset.

status
string (document-status)
Enum: "New" "Ingesting" "Ingested" "Processing" "Ready" "Error" "OverQuota"

Filters documents by status.

minPages
integer <int32> >= 0

Filters documents by minimum number of pages in the document.

maxPages
integer <int32> >= 0

Filters documents by maximum number of pages in the document.

minSize
integer <int32> >= 0

Filters documents by minimum file size in bytes.

maxSize
integer <int32> >= 0

Filters documents by maximum file size in bytes.

samples
boolean

Whether or not to return sample documents.

metadata
object[]

Filters documents by metadata value.

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "prefix": "string",
  • "limit": 30,
  • "cursor": "string",
  • "docsetId": "string",
  • "status": "Ready",
  • "minPages": 0,
  • "maxPages": 0,
  • "minSize": 0,
  • "maxSize": 0,
  • "samples": true,
  • "metadata": null
}

Response samples

Content type
application/json
{}

Get a document

Authorizations:
api-key
Request Body schema: application/json
id
required
string

The ID of the document to retrieve.

Responses

Request samples

Content type
application/json
{
  • "id": "string"
}

Response samples

Content type
application/json
{}

Upload a document

The maximum request size is 300 MB. The allowed file extensions are: .pdf, .docx, .doc, .txt, .html, and .zip. For zip archive uploads, only files with .pdf, .docx, .txt, .html, or .doc extensions within the archive will be processed.

Authorizations:
api-key
Request Body schema: application/json
fileName
required
string

File name.

base64Content
required
string <base64-encoded>

Binary file. Must be a .pdf, .docx, .doc, .html, .txt, or .zip.

docsetIds
required
string

Optional. If a single docset ID is provided the document will be assigned to that docset. If multiple docset IDs are provided in a '|' delimited list (e.g. 'id1|id2|id3') then the document will be classified into one of the provided docsets based on its similarities to existing files in that docset.

Responses

Request samples

Content type
application/json
{
  • "fileName": "string",
  • "base64Content": "string",
  • "docsetIds": "string"
}

Response samples

Content type
application/json
{}

docsets

Associate documents into sets.

List docsets

Authorizations:
api-key
Request Body schema: application/json
name
string

Filters documents by name, excluding any prefix.

limit
integer <int32> [ 1 .. 100 ]
Default: 30

Maximum number of items to return.

cursor
string

Opaque continuation token used to get additional items when a previous query returned more than limit items.

minDocuments
integer <int32> >= 0

Minimum number of documents in the docset.

maxDocuments
integer <int32> >= 0

Maximum number of documents in the docset.

samples
boolean

Whether or not to return sample documents.

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "limit": 30,
  • "cursor": "string",
  • "minDocuments": 0,
  • "maxDocuments": 0,
  • "samples": true
}

Response samples

Content type
application/json
{
  • "docsets": [],
  • "next": [
    ]
}

Get a docset

Authorizations:
api-key
Request Body schema: application/json
id
required
string

The ID of the docset to retrieve.

Responses

Request samples

Content type
application/json
{
  • "id": "string"
}

Response samples

Content type
application/json
{}

Delete a docset

Deleting a docset does not delete any documents it contains.

Authorizations:
api-key
Request Body schema: application/json
id
required
string

The ID of the docset to delete.

Responses

Request samples

Content type
application/json
{
  • "id": "string"
}

Response samples

Content type
application/json
true

List documents in a docset

Authorizations:
api-key
Request Body schema: application/json
id
required
string

The ID of the docset to retrieve documents for.

prefix
string

Filters documents by name beginning with this prefix.

limit
integer <int32> [ 1 .. 100 ]
Default: 30

Maximum number of items to return.

cursor
string

Opaque continuation token used to get additional items when a previous query returned more than limit items.

status
string (document-status)
Enum: "New" "Ingesting" "Ingested" "Processing" "Ready" "Error" "OverQuota"

Filters documents by status.

minPages
integer <int32> >= 0

Filters documents by minimum number of pages in the document.

maxPages
integer <int32> >= 0

Filters documents by maximum number of pages in the document.

minSize
integer <int32> >= 0

Filters documents by minimum file size in bytes.

maxSize
integer <int32> >= 0

Filters documents by maximum file size in bytes.

Responses

Request samples

Content type
application/json
{
  • "id": "string",
  • "prefix": "string",
  • "limit": 30,
  • "cursor": "string",
  • "status": "Ready",
  • "minPages": 0,
  • "maxPages": 0,
  • "minSize": 0,
  • "maxSize": 0
}

Response samples

Content type
application/json
{}

Add a document to a docset

The document is moved if it is already part of a docset.

Authorizations:
api-key
Request Body schema: application/json
docsetId
required
string

The ID of the docset to add the document to.

documentId
required
string

The ID of the document to add to the docset.

Responses

Request samples

Content type
application/json
{
  • "docsetId": "string",
  • "documentId": "string"
}

Response samples

Content type
application/json
{}

Remove a document from a docset

Removing a document from a docset does not delete the document.

Authorizations:
api-key
Request Body schema: application/json
docsetId
required
string

The ID of the docset to remove the document from.

documentId
required
string

The ID of the document to remove from the docset.

Responses

Request samples

Content type
application/json
{
  • "docsetId": "string",
  • "documentId": "string"
}

projects

Manage projects and associated artifacts.

List projects

List projects in the workspace. Projects are used to organize and manage artifacts created from documents in docsets.

Authorizations:
api-key
Request Body schema: application/json
name
string

Filters projects by name.

limit
integer <int32> [ 1 .. 100 ]
Default: 30

Maximum number of items to return.

cursor
string

Opaque continuation token used to get additional items when a previous query returned more than limit items.

docsetId
string

Filters projects by docset.

type
string (project-type)
Enum: "TabularReport" "Abstract" "ExcelExport" "AssistedAuthoring" "AutomationAnywhereDocumentAssembly" "AutomationAnywhereWorkFlow" "ZapierWorkFlow" "UiPathWorkFlow" "UiPathDocumentAssembly" "PowerAutomateWorkFlow" "DiligenceReport"

Filters projects by type.

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "limit": 30,
  • "cursor": "string",
  • "docsetId": "string",
  • "type": "TabularReport"
}

Response samples

Content type
application/json
{}

Get a project

Authorizations:
api-key
Request Body schema: application/json
id
required
string

The ID of the project to retrieve.

Responses

Request samples

Content type
application/json
{
  • "id": "string"
}

Response samples

Content type
application/json
{}

Delete a project

Authorizations:
api-key
Request Body schema: application/json
id
required
string

The ID of the project to delete.

Responses

Request samples

Content type
application/json
{
  • "id": "string"
}

Response samples

Content type
application/json
true

List artifacts

List the artifacts of the specified project from Docugami. Artifacts are created from documents in docsets associated with the project.

Authorizations:
api-key
Request Body schema: application/json
projectId
required
string

The ID of the project to retrieve artifacts for.

version
string

The version of the artifacts to retrieve. Use "latest" to get the latest version.

name
string

Filters artifacts by name.

documentId
string

Filters artifacts by document id.

limit
integer <int32> [ 1 .. 100 ]
Default: 30

Maximum number of items to return.

cursor
string

Opaque continuation token used to get additional items when a previous query returned more than limit items.

minSize
integer <int32>

Filters artifacts by minimum file size in bytes.

maxSize
integer <int32>

Filters artifacts by maximum file size in bytes

isReadOnly
boolean

Filters artifacts by read-only status.

Responses

Request samples

Content type
application/json
{
  • "projectId": "string",
  • "version": "1",
  • "name": "string",
  • "documentId": "string",
  • "limit": 30,
  • "cursor": "string",
  • "minSize": 0,
  • "maxSize": 0,
  • "isReadOnly": true
}

Response samples

Content type
application/json
{}

Downloads an artifact

Download an artifact from Docugami. The file content is returned as a base64-encoded string.

Authorizations:
api-key
Request Body schema: application/json
projectId
required
string

The ID of the project the artifact belongs to.

version
required
string

The version of the artifact to retrieve. Use "latest" to get the latest version.

artifactId
required
string

The ID of the artifact to download.

Responses

Request samples

Content type
application/json
{
  • "projectId": "string",
  • "version": "1",
  • "artifactId": "string"
}

Response samples

Content type
application/json
"string"