Skip to main content
Glama
scmdr

SourceSync.ai MCP Server

by scmdr

resyncDocuments

Reprocess documents matching specific criteria to update them after schema changes or configuration adjustments.

Instructions

Reprocesses documents that match the specified filter criteria. Useful for updating after schema changes.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
namespaceIdNo
documentIdsNo
tenantIdNo
filterConfigYes

Implementation Reference

  • src/index.ts:524-568 (registration)
    Registers the MCP tool named 'resyncDocuments' with input schema and handler function that processes parameters and calls the SourceSync client's resyncDocuments method.
    server.tool( 'resyncDocuments', 'Reprocesses documents that match the specified filter criteria. Useful for updating after schema changes.', ResyncDocumentsSchema.shape, async (params: any) => { return safeApiCall(async () => { const { namespaceId, documentIds, tenantId, filterConfig } = params // Create a client with the provided parameters const client = createClient({ namespaceId, tenantId }) // Add documentIds to filter if provided and not already in filter if (documentIds && documentIds.length > 0 && !filterConfig.documentIds) { filterConfig.documentIds = documentIds } // Call the resyncDocuments method with properly structured parameters return await client.resyncDocuments({ filterConfig: { ...filterConfig, // Convert string enum values to their SourceSync enum equivalents documentTypes: filterConfig.documentTypes?.map( (type: string) => SourceSyncDocumentType[ type as keyof typeof SourceSyncDocumentType ], ), documentIngestionSources: filterConfig.documentIngestionSources?.map( (source: string) => SourceSyncIngestionSource[ source as keyof typeof SourceSyncIngestionSource ], ), documentIngestionStatuses: filterConfig.documentIngestionStatuses?.map( (status: string) => SourceSyncIngestionStatus[ status as keyof typeof SourceSyncIngestionStatus ], ), }, }) }) }, )
  • The core implementation of resyncDocuments in the SourceSyncApiClient class, which sends a POST request to /v1/documents/resync with the filterConfig.
    public async resyncDocuments({ filterConfig, }: Omit< SourceSyncResyncDocumentsRequest, 'namespaceId' >): Promise<SourceSyncResyncDocumentsResponse> { return this.client .url(`/v1/documents/resync`) .json({ namespaceId: this.namespaceId, filterConfig, } satisfies SourceSyncResyncDocumentsRequest) .post() .json<SourceSyncResyncDocumentsResponse>() }
  • Zod schema definition for the input parameters of the resyncDocuments tool.
    export const ResyncDocumentsSchema = z.object({ namespaceId: namespaceIdSchema.optional(), documentIds: z.array(z.string()).optional(), tenantId: tenantIdSchema, filterConfig: FilterConfigSchema, })
  • TypeScript type definitions for the SourceSyncResyncDocumentsRequest and SourceSyncResyncDocumentsResponse used by the client.
    export type SourceSyncResyncDocumentsRequest = { namespaceId: string filterConfig: SourceSyncDocumentFilterConfig } export type SourceSyncResyncDocumentsResponse = SourceSyncApiResponse<{ itemsQueued: number itemsSkipped: number documents: { id: string status: 'QUEUED_FOR_RESYNC' | 'NOT_ELIGIBLE_FOR_RESYNC' error: string | null }[] }>

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/scmdr/sourcesyncai-mcp'

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